diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c6c8b36 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.gitignore b/.gitignore index b383c25..3ca3939 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ **/IntegrationServer/WmRepository4/ **/IntegrationServer/XAStore/ **/IntegrationServer/packages/Wm*/ + +node_modules diff --git a/README.en.md b/README.en.md deleted file mode 100644 index f70434a..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# three-practice - -#### Description -Web 3D练习,从入门到入土 - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 33743bf..bb31bae 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,75 @@ -# three-practice +# three-toolkit #### 介绍 -Web 3D练习,从入门到入土 +Web 3D,从入门到入土 -#### 软件架构 -软件架构说明 +#### 示例 +这是图片的描述0 +这是图片的描述1 +这是图片的描述1 +这是图片的描述1 +这是图片的描述1 +#### 功能 +**已实现功能** +1. **基础组件设置** + - **渲染器**:配置 WebGL 渲染器的各项参数,如抗锯齿、sRGB 输出编码、尺寸调整、设备像素比、背景颜色,并添加窗口 resize 事件监听。 + - **相机**:创建透视相机,设定视角、宽高比、近/远裁剪面距离,设置初始位置和更新投影矩阵。 + - **灯光** + - **环境光**:添加全局环境光。 + - **定向光**:创建定向光,可调整颜色和强度。 + - **场景** + - **场景创建**:初始化场景对象。 + - **雾效**:添加雾效,可调节雾的颜色、起始距离和结束距离。 + - **交互功能** + - **OrbitControls**:实现相机的旋转、平移、缩放交互。 + - **GUI 控制面板** + - **光照控制**:调整环境光和定向光的颜色和强度。 + - **雾效控制**:调整雾的颜色、起始距离和结束距离。 + - **辅助工具** + - **坐标轴辅助线** + - **网格辅助** + - **平面辅助** + - **点光源辅助** + - **聚光灯辅助** + - **方向光辅助** + - **相机辅助** -#### 安装教程 +2. **3D模型加载** + - 使用模型加载器(如 `THREE.GLTFLoader`、`THREE.ObjectLoader`)加载多种格式(`.gltf`, `.glb`, `.obj`, `.fbx` 等)的 3D 模型。 + - 对加载的模型进行位置、旋转、缩放和材质属性的调整。 -1. xxxx -2. xxxx -3. xxxx +3. **动画与关键帧** + - 定义并播放关键帧动画,利用 `THREE.AnimationMixer` 和 `THREE.KeyframeTrack` 进行控制。 + - 通过 `THREE.AnimationClip`、`THREE.AnimationAction` 等 API 实现精细的动画管理。 -#### 使用说明 +4. **粒子系统** + - 使用 `THREE.Points` 或 `THREE.PointsMaterial` 创建粒子系统,实现诸如烟雾、火焰、星空、雪花等效果。 + - 结合 `THREE.ShaderMaterial` 和自定义着色器实现复杂的粒子效果。 -1. xxxx -2. xxxx -3. xxxx +5. **物理模拟** + - 集成第三方物理引擎(如 Cannon.js 或 Ammo.js),使用对应的插件(如 `THREE.CannonPhysics` 或 `THREE.AmmoPhysics`)。 + - 为场景对象添加物理属性,处理碰撞检测、重力、刚体动力学等。 -#### 参与贡献 +6. **用户交互** + - 实现除 OrbitControls 以外的交互方式,如射线拾取(`THREE.Raycaster`)、鼠标拖拽旋转、触摸手势识别(如集成 Hammer.js)。 + - 根据交互结果更新场景状态、触发特效或动画。 -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +7. **音频与音效** + - 添加背景音乐和空间化音效,利用 `THREE.AudioListener`、`THREE.Audio`、`THREE.PositionalAudio`。 + - 使用 `THREE.AudioLoader` 加载音频文件,并通过 `THREE.AudioAnalyser` 实现音频可视化。 +8. **后期处理效果** + - 使用 `THREE.EffectComposer` 结合 `THREE.ShaderPass` 实现景深、模糊、色彩校正、噪点、像素化等后期处理效果。 + - 利用 `THREE.ShaderLib` 提供的着色器或编写自定义 GLSL 着色器实现独特的视觉效果。 -#### 特技 +9. **多视图与分屏显示** + - 创建多个相机、渲染器和 canvas 元素,实现不同视角的并列显示或分屏布局。 + - 使用 `THREE.StereoCamera` 实现立体视图,或 `THREE.WebGLMultisampleRenderTarget` 提升抗锯齿效果。 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +**待实现功能** + +1. **性能优化** + - 使用 `THREE.LOD` 实现细节层次,根据相机距离自动切换模型的低模和高模版本。 + - 采用 `THREE.BufferGeometry`、`THREE.InstancedBufferGeometry`、`THREE.InstancedMesh` 优化相似对象的渲染。 + - 利用 `renderer.info` 监控渲染统计信息,据此调整渲染策略以降低 GPU 负荷。 diff --git a/docs/images/three(1).png b/docs/images/three(1).png new file mode 100644 index 0000000..2618516 Binary files /dev/null and b/docs/images/three(1).png differ diff --git a/docs/images/three(2).png b/docs/images/three(2).png new file mode 100644 index 0000000..86ea83b Binary files /dev/null and b/docs/images/three(2).png differ diff --git a/docs/images/three(3).png b/docs/images/three(3).png new file mode 100644 index 0000000..5ccf414 Binary files /dev/null and b/docs/images/three(3).png differ diff --git a/docs/images/three(4).png b/docs/images/three(4).png new file mode 100644 index 0000000..d01028c Binary files /dev/null and b/docs/images/three(4).png differ diff --git a/docs/images/three.png b/docs/images/three.png new file mode 100644 index 0000000..c33dd8a Binary files /dev/null and b/docs/images/three.png differ diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..a050dce --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,12 @@ +module.exports = { + env: { + es6: true, + node: true, + browser: true + }, + extends: ["eslint:recommended", "plugin:prettier/recommended"], + ignorePatterns: ['node_modules/', 'dist/'], + rules: { + "prettier/prettier": "error" + } +}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8547c0a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4040 @@ +{ + "name": "three-practice", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "three-practice", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "ammo.js": "^0.0.10", + "ammojs3": "^0.0.11", + "cannon-es": "^0.20.0", + "gsap": "^3.12.5", + "kokomi.js": "^1.9.99", + "lil-gui": "^0.19.2", + "lygia": "^1.1.3", + "stats.js": "^0.17.0", + "three": "^0.163.0", + "three-stdlib": "^2.30.3" + }, + "devDependencies": { + "@types/three": "^0.165.0", + "cz-conventional-changelog": "^3.3.0", + "eslint": "^9.5.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "prettier": "^3.3.2", + "typescript": "^5.5.2", + "vite": "^5.2.8", + "vite-plugin-glsl": "^1.3.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "19.0.3", + "resolved": "https://registry.npmmirror.com/@commitlint/config-validator/-/config-validator-19.0.3.tgz", + "integrity": "sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "19.0.0", + "resolved": "https://registry.npmmirror.com/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz", + "integrity": "sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.2.0", + "resolved": "https://registry.npmmirror.com/@commitlint/load/-/load-19.2.0.tgz", + "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/execute-rule": "^19.0.0", + "@commitlint/resolve-extends": "^19.1.0", + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.1.0", + "resolved": "https://registry.npmmirror.com/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz", + "integrity": "sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/types": "^19.0.3", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types": { + "version": "19.0.3", + "resolved": "https://registry.npmmirror.com/@commitlint/types/-/types-19.0.3.tgz", + "integrity": "sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.16.0.tgz", + "integrity": "sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/js": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.5.0.tgz", + "integrity": "sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.2", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.2.tgz", + "integrity": "sha512-kMCNaZCJugWI86xiEHaY338CU5JpD0B97p1j1IKNn/Zto8PgACjQx0UxbHjmOcLl/dDOBnItwD07KmCs75pxtQ==", + "dev": true + }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/draco3d": { + "version": "1.4.10", + "resolved": "https://registry.npmmirror.com/@types/draco3d/-/draco3d-1.4.10.tgz", + "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==" + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.14.2", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.14.2.tgz", + "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", + "dev": true, + "optional": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmmirror.com/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==" + }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", + "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", + "dev": true + }, + "node_modules/@types/three": { + "version": "0.165.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.165.0.tgz", + "integrity": "sha512-AJK8JZAFNBF0kBXiAIl5pggYlzAGGA8geVYQXAcPCEDRbyA+oEjkpUBcJJrtNz6IiALwzGexFJGZG2yV3WsYBw==", + "dev": true, + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/three/node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true + }, + "node_modules/@types/webxr": { + "version": "0.5.16", + "resolved": "https://registry.npmmirror.com/@types/webxr/-/webxr-0.5.16.tgz", + "integrity": "sha512-0E0Cl84FECtzrB4qG19TNTqpunw0F1YF0QZZnFMF6pDw1kNKJtrlTKlVB34stGIsHbZsYQ7H0tNjPfZftkHHoA==" + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "optional": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ammo.js": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/ammo.js/-/ammo.js-0.0.10.tgz", + "integrity": "sha512-jOv977u71jrDUzHfmQ99YaW90/y8YLn/3HFTmtLLzf5wJynAfG+/a1Ie5gbn0fE0uSAHxXVsFk4Bzq8qRPWqAA==" + }, + "node_modules/ammojs3": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/ammojs3/-/ammojs3-0.0.11.tgz", + "integrity": "sha512-pfnMm0XvTLjzCt+ytdpV3aIgooxQzexjkC2DbTyiGsAk8ECEBPxJ8gOQ/m0CE+d9pf9ToPMK8PZJR7jP1h6lOA==" + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/blueimp-md5": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz", + "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camera-controls": { + "version": "2.8.4", + "resolved": "https://registry.npmmirror.com/camera-controls/-/camera-controls-2.8.4.tgz", + "integrity": "sha512-pzVKpeZCRXIx2VOMB+E4OPjOhErHqhxrHYxcRLofOVgBeCeKSb8QAC2toc1onMllrxldRWXR8bl4K50hkrtwsg==", + "peerDependencies": { + "three": ">=0.126.1" + } + }, + "node_modules/cannon-es": { + "version": "0.20.0", + "resolved": "https://registry.npmmirror.com/cannon-es/-/cannon-es-0.20.0.tgz", + "integrity": "sha512-eZhWTZIkFOnMAJOgfXJa9+b3kVlvG+FX4mdkpePev/w/rP5V8NRquGyEozcjPfEoXUlb+p7d9SUcmDSn14prOA==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/commitizen": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/commitizen/-/commitizen-4.3.0.tgz", + "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", + "dev": true, + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "optional": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "dev": true, + "optional": true, + "dependencies": { + "jiti": "^1.19.1" + }, + "engines": { + "node": ">=v16" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=8.2", + "typescript": ">=4" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/draco3d": { + "version": "1.5.7", + "resolved": "https://registry.npmmirror.com/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "optional": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.5.0.tgz", + "integrity": "sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/config-array": "^0.16.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.5.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "dev": true, + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ev-emitter": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ev-emitter/-/ev-emitter-2.1.2.tgz", + "integrity": "sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==" + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "dev": true, + "optional": true, + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glsl-token-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/glsl-token-functions/-/glsl-token-functions-1.0.1.tgz", + "integrity": "sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==" + }, + "node_modules/glsl-token-string": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/glsl-token-string/-/glsl-token-string-1.0.1.tgz", + "integrity": "sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==" + }, + "node_modules/glsl-tokenizer": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", + "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", + "dependencies": { + "through2": "^0.6.3" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/gsap": { + "version": "3.12.5", + "resolved": "https://registry.npmmirror.com/gsap/-/gsap-3.12.5.tgz", + "integrity": "sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/imagesloaded": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/imagesloaded/-/imagesloaded-5.0.0.tgz", + "integrity": "sha512-/0JGSubc1MTCoDKVmonLHgbifBWHdyLkun+R/151E1c5n79hiSxcd7cB7mPXFgojYu8xnRZv7GYxzKoxW8BetQ==", + "dependencies": { + "ev-emitter": "^2.1.2" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "dev": true, + "optional": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "optional": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmmirror.com/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "optional": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "optional": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "optional": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "optional": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "optional": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kokomi.js": { + "version": "1.9.99", + "resolved": "https://registry.npmmirror.com/kokomi.js/-/kokomi.js-1.9.99.tgz", + "integrity": "sha512-8ZF+PUny8h0P/VFOo9FmCa1ipk1tzLBw7PD6pDeomuErqEcoxq+V7Ld0cLahykK9j9U9q129qKr/xmx/VBpwPw==", + "dependencies": { + "blueimp-md5": "^2.19.0", + "camera-controls": "^2.8.3", + "cannon-es": "^0.20.0", + "gsap": "^3.12.5", + "imagesloaded": "^5.0.0", + "maku.js": "^1.0.8", + "marcher.js": "^1.4.3", + "mitt": "^3.0.1", + "nipplejs": "^0.10.1", + "simplex-noise": "^4.0.1", + "stats.js": "^0.17.0", + "three-custom-shader-material": "^5.4.0", + "three-stdlib": "^2.29.6", + "three.interactive": "^1.7.0", + "troika-three-text": "^0.49.0" + }, + "peerDependencies": { + "three": ">=0.137" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lil-gui": { + "version": "0.19.2", + "resolved": "https://registry.npmmirror.com/lil-gui/-/lil-gui-0.19.2.tgz", + "integrity": "sha512-nU8j4ND702ouGfQZoaTN4dfXxacvGOAVK0DtmZBVcUYUAeYQXLQAjAN50igMHiba3T5jZyKEjXZU+Ntm1Qs6ZQ==" + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "optional": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "optional": true + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "optional": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "optional": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lygia": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/lygia/-/lygia-1.1.3.tgz", + "integrity": "sha512-CCcfEeETtYOHSHXQqdhHOgPvQ655CBcF7sijna9o/AVhUimT4PKtil4lmrXgLeebwzPUaUlEfV3IvkP2sXb85A==" + }, + "node_modules/maku.js": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/maku.js/-/maku.js-1.0.8.tgz", + "integrity": "sha512-YkLU0GVmalDSyGqe8X08Fdf3BQ4U0z4xwJ/vCorscIzsxlHZw8KMFxdVMdu4lg1KshJuN2KwrTVBw6qCWVd3lg==", + "peerDependencies": { + "three": ">=0.122.0" + } + }, + "node_modules/marcher.js": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/marcher.js/-/marcher.js-1.4.3.tgz", + "integrity": "sha512-59XN/v9mYbFUzDQkFJtP47AHTLD1lNGcZF4b29VzC+UzuQ4DWHm5s61xnokZc0tfTvRAa8furTytxvHKgeDrtg==" + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/nipplejs": { + "version": "0.10.2", + "resolved": "https://registry.npmmirror.com/nipplejs/-/nipplejs-0.10.2.tgz", + "integrity": "sha512-XGxFY8C2DOtobf1fK+MXINTzkkXJLjZDDpfQhOUZf4TSytbc9s4bmA0lB9eKKM8iDivdr9NQkO7DpIQfsST+9g==" + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simplex-noise": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/simplex-noise/-/simplex-noise-4.0.1.tgz", + "integrity": "sha512-zl/+bdSqW7HJOQ0oDbxrNYaF4F5ik0i7M6YOYmEoIJNtg16NpvWaTTM1Y7oV/7T0jFljawLgYPS81Uu2rsfo1A==" + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==" + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/three": { + "version": "0.163.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.163.0.tgz", + "integrity": "sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==" + }, + "node_modules/three-custom-shader-material": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/three-custom-shader-material/-/three-custom-shader-material-5.4.0.tgz", + "integrity": "sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==", + "dependencies": { + "glsl-token-functions": "^1.0.1", + "glsl-token-string": "^1.0.1", + "glsl-tokenizer": "^2.1.5", + "object-hash": "^3.0.0" + }, + "peerDependencies": { + "@react-three/fiber": ">=8.0", + "react": ">=18.0", + "three": ">=0.154" + }, + "peerDependenciesMeta": { + "@react-three/fiber": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/three-stdlib": { + "version": "2.30.3", + "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.30.3.tgz", + "integrity": "sha512-rYr8PqMljMza+Ct8kQk90Y7y+YcWoPu1thfYv5YGCp0hytNRbxSQWXY4GpdTGymCj3bDggEBpxso53C3pPwhIw==", + "dependencies": { + "@types/draco3d": "^1.4.0", + "@types/offscreencanvas": "^2019.6.4", + "@types/webxr": "^0.5.2", + "draco3d": "^1.4.1", + "fflate": "^0.6.9", + "potpack": "^1.0.1" + }, + "peerDependencies": { + "three": ">=0.128.0" + } + }, + "node_modules/three.interactive": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/three.interactive/-/three.interactive-1.7.0.tgz", + "integrity": "sha512-WuJijcJUT8cxiU3iP7FbqjN9EtU4xuVH/YR+jmEV4dG5ijNE8KeZcQtFRuK2dlJk4AGwCFte1GPUxAR7hYyo3g==", + "peerDependencies": { + "three": ">= 0.122.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "0.6.5", + "resolved": "https://registry.npmmirror.com/through2/-/through2-0.6.5.tgz", + "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", + "dependencies": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/troika-three-text": { + "version": "0.49.1", + "resolved": "https://registry.npmmirror.com/troika-three-text/-/troika-three-text-0.49.1.tgz", + "integrity": "sha512-lXGWxgjJP9kw4i4Wh+0k0Q/7cRfS6iOME4knKht/KozPu9GcFA9NnNpRvehIhrUawq9B0ZRw+0oiFHgRO+4Wig==", + "dependencies": { + "bidi-js": "^1.0.2", + "troika-three-utils": "^0.49.0", + "troika-worker-utils": "^0.49.0", + "webgl-sdf-generator": "1.1.1" + }, + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-three-utils": { + "version": "0.49.0", + "resolved": "https://registry.npmmirror.com/troika-three-utils/-/troika-three-utils-0.49.0.tgz", + "integrity": "sha512-umitFL4cT+Fm/uONmaQEq4oZlyRHWwVClaS6ZrdcueRvwc2w+cpNQ47LlJKJswpqtMFWbEhOLy0TekmcPZOdYA==", + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-worker-utils": { + "version": "0.49.0", + "resolved": "https://registry.npmmirror.com/troika-worker-utils/-/troika-worker-utils-0.49.0.tgz", + "integrity": "sha512-1xZHoJrG0HFfCvT/iyN41DvI/nRykiBtHqFkGaGgJwq5iXfIZFBiPPEHFpPpgyKM3Oo5ITHXP5wM2TNQszYdVg==" + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", + "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "optional": true + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", + "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.41", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-glsl": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/vite-plugin-glsl/-/vite-plugin-glsl-1.3.0.tgz", + "integrity": "sha512-SzEoLet9Bp5VSozjrhUiSc3xX1+u7rCTjXAsq4qWM3u8UjilI76A9ucX/T+CRGQCe25j50GSY+9mKSGUVPET1w==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.1.0" + }, + "engines": { + "node": ">= 16.15.1", + "npm": ">= 8.11.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webgl-sdf-generator": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz", + "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==" + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e1a9d62 --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "three-practice", + "version": "1.0.0", + "description": "web 3d", + "main": "src/main.ts", + "scripts": { + "dev": "vite", + "test": "echo \"Error: no test specified\" && exit 1", + "build": "tsc", + "prettier": "prettier --write \"src/**/*.ts\"", + "eslint": "eslint --fix \"src/**/*.ts\"" + }, + "author": "pzc", + "license": "ISC", + "dependencies": { + "ammo.js": "^0.0.10", + "ammojs3": "^0.0.11", + "cannon-es": "^0.20.0", + "gsap": "^3.12.5", + "kokomi.js": "^1.9.99", + "lil-gui": "^0.19.2", + "lygia": "^1.1.3", + "stats.js": "^0.17.0", + "three": "^0.163.0", + "three-stdlib": "^2.30.3" + }, + "devDependencies": { + "@types/three": "^0.165.0", + "cz-conventional-changelog": "^3.3.0", + "eslint": "^9.5.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "prettier": "^3.3.2", + "typescript": "^5.5.2", + "vite": "^5.2.8", + "vite-plugin-glsl": "^1.3.0" + } +} diff --git a/src/assets/data/china-mercator.d.ts b/src/assets/data/china-mercator.d.ts new file mode 100644 index 0000000..76ed395 --- /dev/null +++ b/src/assets/data/china-mercator.d.ts @@ -0,0 +1,41 @@ +// 定义 CRS(坐标参考系统)接口 +interface CrsProperties { + name: string; +} + +interface Crs { + type: "name"; + properties: CrsProperties; +} + +// 定义 Feature 属性接口 +interface FeatureProperties { + adcode: number; + name: string; + adchar?: null; // 可能为 null,使用 optional property + childrenNum: number; + level: string; + subFeatureIndex: number; + parent: { + adcode: number; + }; +} + +interface GeometryCoordinates { + // 这里需要根据具体的坐标数据结构进行定义,以下是一个示例 + type: "MultiPolygon"; + coordinates: number[][][][]; // 多边形坐标数组,具体维度根据实际数据结构调整 +} + +interface Feature { + type: "Feature"; + properties: FeatureProperties; + geometry: GeometryCoordinates; +} + +// 定义 FeatureCollection 接口 +interface FeatureCollection { + type: "FeatureCollection"; + crs: Crs; + features: Feature[]; +} diff --git a/src/assets/data/china-mercator.json b/src/assets/data/china-mercator.json new file mode 100644 index 0000000..a487c9c --- /dev/null +++ b/src/assets/data/china-mercator.json @@ -0,0 +1,41 @@ +{ +"type": "FeatureCollection", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::3857" } }, +"features": [ +{ "type": "Feature", "properties": { "adcode": 110000, "name": "北京市", "adchar": null, "childrenNum": 16.0, "level": "province", "subFeatureIndex": 0.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13047760.187547374516726, 4877903.57979082968086 ], [ 13036104.034985903650522, 4876771.274788965471089 ], [ 13036104.034985903650522, 4876771.274788965471089 ], [ 13035829.743760585784912, 4876638.019600016064942 ], [ 13035761.170954257249832, 4876571.392677641473711 ], [ 13035761.170954257249832, 4876571.392677641473711 ], [ 13035829.743760585784912, 4876638.019600016064942 ], [ 13024379.198298608884215, 4870310.461110298521817 ], [ 13016356.959194593131542, 4873907.119378941133618 ], [ 13000312.480986557900906, 4871043.209839393384755 ], [ 12997432.757079226896167, 4861318.779654590412974 ], [ 13000655.34501819871366, 4849529.621357552707195 ], [ 13016151.240775607526302, 4842069.782680181786418 ], [ 13018756.784777114167809, 4833810.717902792617679 ], [ 13013477.235287262126803, 4831679.354508215561509 ], [ 13013888.56080574169755, 4820689.410238842479885 ], [ 13003466.607438694685698, 4810298.952900063246489 ], [ 12992907.397139497101307, 4808500.569298690184951 ], [ 12992907.397139497101307, 4808500.569298690184951 ], [ 12993318.833977470174432, 4807967.734166254289448 ], [ 12993318.833977470174432, 4807967.734166254289448 ], [ 12993935.877914935350418, 4807301.730148783884943 ], [ 12993935.877914935350418, 4807301.730148783884943 ], [ 12991330.333913430571556, 4806369.254531280137599 ], [ 12991330.333913430571556, 4806369.254531280137599 ], [ 12980702.662127394229174, 4810831.767699961550534 ], [ 12971446.223828952759504, 4807501.526699784211814 ], [ 12962121.21272418089211, 4797510.662952044978738 ], [ 12961298.450367730110884, 4785321.877756336703897 ], [ 12950122.196131067350507, 4787453.190429582260549 ], [ 12940385.859507814049721, 4795778.931351350620389 ], [ 12935791.926761757582426, 4806369.254531280137599 ], [ 12924409.954106109216809, 4804570.854823834262788 ], [ 12924409.954106109216809, 4804570.854823834262788 ], [ 12908296.903091745451093, 4802372.800144449807703 ], [ 12903085.926408220082521, 4808034.337006084620953 ], [ 12903085.926408220082521, 4808034.337006084620953 ], [ 12896983.503242423757911, 4801440.350339824333787 ], [ 12896983.503242423757911, 4801440.350339824333787 ], [ 12896023.59527331404388, 4800907.602103394456208 ], [ 12896023.59527331404388, 4800907.602103394456208 ], [ 12893143.760046491399407, 4796045.309923433698714 ], [ 12893143.760046491399407, 4796045.309923433698714 ], [ 12885532.957780448719859, 4795379.232472601346672 ], [ 12885532.957780448719859, 4795379.232472601346672 ], [ 12883955.894554378464818, 4799242.405155022628605 ], [ 12883955.894554378464818, 4799308.949979163706303 ], [ 12883955.894554378464818, 4799242.405155022628605 ], [ 12883955.894554378464818, 4799308.949979163706303 ], [ 12883818.860261211171746, 4799908.450719209387898 ], [ 12883818.860261211171746, 4799908.450719209387898 ], [ 12882310.36984147131443, 4799974.999967570416629 ], [ 12882310.36984147131443, 4799974.999967570416629 ], [ 12882036.07861615717411, 4799841.901912932284176 ], [ 12882036.07861615717411, 4799841.901912932284176 ], [ 12882036.07861615717411, 4800974.157989998348057 ], [ 12882036.07861615717411, 4800974.157989998348057 ], [ 12881556.180291349068284, 4802239.670223509892821 ], [ 12881556.180291349068284, 4802239.670223509892821 ], [ 12879567.680227307602763, 4804770.596868636086583 ], [ 12879499.107420980930328, 4804770.596868636086583 ], [ 12879499.107420980930328, 4804770.596868636086583 ], [ 12879567.680227307602763, 4804770.596868636086583 ], [ 12879499.107420980930328, 4804770.596868636086583 ], [ 12879156.354708826169372, 4804970.487329862080514 ], [ 12879156.354708826169372, 4804970.487329862080514 ], [ 12867020.081183563917875, 4806435.846733319573104 ], [ 12855021.064590446650982, 4815294.393228724598885 ], [ 12855021.064590446650982, 4815294.393228724598885 ], [ 12857283.744560312479734, 4821888.264663415960968 ], [ 12857283.744560312479734, 4821888.264663415960968 ], [ 12851112.859907677397132, 4834809.788405935280025 ], [ 12851112.859907677397132, 4834809.788405935280025 ], [ 12864894.546826355159283, 4839272.280183412134647 ], [ 12858997.953399034217, 4842402.781301725655794 ], [ 12859957.861368145793676, 4851261.270771412178874 ], [ 12849192.932649964466691, 4858721.185050199739635 ], [ 12852346.947782611474395, 4870243.876707117073238 ], [ 12868459.998796973377466, 4883365.135739390738308 ], [ 12883544.569035897031426, 4884763.899728532880545 ], [ 12887795.637750310823321, 4891557.588706530630589 ], [ 12896709.212017109617591, 4887561.292842466384172 ], [ 12901783.15440746769309, 4900083.174330956302583 ], [ 12909599.675092497840524, 4904412.479326147586107 ], [ 12903977.261571003124118, 4917533.780277681536973 ], [ 12897669.119986221194267, 4919065.669081445783377 ], [ 12897669.119986221194267, 4919065.669081445783377 ], [ 12888481.254494106397033, 4930455.224222578108311 ], [ 12885875.821812091395259, 4944775.494044788181782 ], [ 12902811.635182905942202, 4956031.839391653425992 ], [ 12913645.025387926027179, 4951169.652684775181115 ], [ 12922901.463686367496848, 4957430.551549608819187 ], [ 12937574.597087319940329, 4974681.33240523468703 ], [ 12940591.466607309877872, 4981674.957183626480401 ], [ 12964795.329532017931342, 4978744.230371490120888 ], [ 12950259.341743722558022, 4998259.732725001871586 ], [ 12965823.810307458043098, 4996994.182204724289477 ], [ 12963766.848756579682231, 5009515.978853622451425 ], [ 12970897.752697816118598, 5009582.629607644863427 ], [ 12970897.752697816118598, 5009582.629607644863427 ], [ 12979742.754158284515142, 5008583.506023584865034 ], [ 12981593.99729017727077, 5020172.92615682631731 ], [ 12989684.809200523421168, 5018907.473502890206873 ], [ 12988519.182812428101897, 5008050.662415428087115 ], [ 12994347.314752908423543, 4997260.592479525133967 ], [ 13008609.011315887793899, 4987802.555530726909637 ], [ 13020470.993615839630365, 4969619.255604725331068 ], [ 13036721.078923368826509, 4969419.534986988641322 ], [ 13056262.436295691877604, 4962425.864376339130104 ], [ 13067438.69053235463798, 4965889.411980465054512 ], [ 13079574.852738128975034, 4964424.028219684958458 ], [ 13067781.554564, 4947905.893947705626488 ], [ 13062707.612173641100526, 4950903.176693487912416 ], [ 13048103.051579017192125, 4940645.983998626470566 ], [ 13049474.396386099979281, 4919731.762962048873305 ], [ 13058799.407490871846676, 4906610.456315932795405 ], [ 13058867.980297200381756, 4906610.456315932795405 ], [ 13058799.407490871846676, 4906610.456315932795405 ], [ 13058867.980297200381756, 4906610.456315932795405 ], [ 13067781.554564, 4899150.703588266856968 ], [ 13065244.583368821069598, 4891024.801621534861624 ], [ 13065244.583368821069598, 4891091.380226217210293 ], [ 13065244.583368821069598, 4891157.959279233589768 ], [ 13065244.583368821069598, 4891157.959279233589768 ], [ 13065244.583368821069598, 4891091.380226217210293 ], [ 13065244.583368821069598, 4891024.801621534861624 ], [ 13062707.612173641100526, 4885496.553600788116455 ], [ 13047760.187547374516726, 4877903.57979082968086 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 120000, "name": "天津市", "adchar": null, "childrenNum": 16.0, "level": "province", "subFeatureIndex": 1.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13047760.187547374516726, 4877903.57979082968086 ], [ 13062707.612173641100526, 4885496.553600788116455 ], [ 13065244.583368821069598, 4891024.801621534861624 ], [ 13065244.583368821069598, 4891091.380226217210293 ], [ 13065244.583368821069598, 4891157.959279233589768 ], [ 13065244.583368821069598, 4891157.959279233589768 ], [ 13065244.583368821069598, 4891091.380226217210293 ], [ 13065244.583368821069598, 4891024.801621534861624 ], [ 13067781.554564, 4899150.703588266856968 ], [ 13074569.594473591074347, 4902680.704503888264298 ], [ 13088008.528680117800832, 4897685.320361709222198 ], [ 13096990.675753245130181, 4883897.947171780280769 ], [ 13096990.675753245130181, 4883897.947171780280769 ], [ 13096853.530140589922667, 4883764.741624657064676 ], [ 13096853.530140589922667, 4883764.741624657064676 ], [ 13104395.75960030592978, 4877903.57979082968086 ], [ 13104395.75960030592978, 4877903.57979082968086 ], [ 13108783.97392737492919, 4876638.019600016064942 ], [ 13108783.97392737492919, 4876638.019600016064942 ], [ 13111458.090735211968422, 4861385.304194934666157 ], [ 13092808.179845161736012, 4861918.242856105789542 ], [ 13089996.917424667626619, 4865514.910601575858891 ], [ 13081494.779995841905475, 4852926.463175523094833 ], [ 13081494.779995841905475, 4852926.463175523094833 ], [ 13084237.358290513977408, 4842003.097311684861779 ], [ 13084237.358290513977408, 4842003.097311684861779 ], [ 13084580.222322158515453, 4840204.790331943891943 ], [ 13084580.222322158515453, 4840204.790331943891943 ], [ 13088694.145423915237188, 4826350.911576665006578 ], [ 13096099.340590462088585, 4822754.185450290329754 ], [ 13098156.302141342312098, 4813229.568815524689853 ], [ 13093288.078169971704483, 4808433.963355340994895 ], [ 13106315.686858016997576, 4802306.234962752088904 ], [ 13106315.686858016997576, 4802306.234962752088904 ], [ 13107618.458858769387007, 4806435.846733319573104 ], [ 13120783.101839983835816, 4807501.526699784211814 ], [ 13128325.331299697980285, 4804237.815851259045303 ], [ 13121263.000164791941643, 4787053.534830105490983 ], [ 13118657.567482775077224, 4768803.686999472789466 ], [ 13132644.97282044030726, 4766539.06301576923579 ], [ 13132644.97282044030726, 4766539.06301576923579 ], [ 13133742.026402210816741, 4764540.924494741484523 ], [ 13133742.026402210816741, 4764540.924494741484523 ], [ 13138130.352048771455884, 4762875.848188339732587 ], [ 13138130.352048771455884, 4762875.848188339732587 ], [ 13138404.53195459395647, 4763208.81266225874424 ], [ 13138404.53195459395647, 4763208.81266225874424 ], [ 13138473.10476092249155, 4763608.384560781531036 ], [ 13138473.10476092249155, 4763608.384560781531036 ], [ 13139844.449568005278707, 4753284.579478298313916 ], [ 13121400.145777450874448, 4739230.854132764041424 ], [ 13117629.086707336828113, 4729839.482039263471961 ], [ 13119617.4754518866539, 4715585.925631979480386 ], [ 13124348.55381059832871, 4714320.367028008215129 ], [ 13118726.140289103612304, 4700999.275977833196521 ], [ 13111046.653897240757942, 4702930.856949677690864 ], [ 13096305.05900944955647, 4697202.803881744854152 ], [ 13096373.520496288314462, 4691474.689644600264728 ], [ 13106864.157989155501127, 4686479.203303498215973 ], [ 13105561.385988399386406, 4675955.533695035614073 ], [ 13095550.758139833807945, 4668362.53856969345361 ], [ 13077723.609606236219406, 4666963.780763215385377 ], [ 13068261.452888809144497, 4660769.48648061323911 ], [ 13052491.265906086191535, 4658371.682557949796319 ], [ 13048103.051579017192125, 4670227.514364842325449 ], [ 13048103.051579017192125, 4670227.514364842325449 ], [ 13044057.701283590868115, 4667096.994328221306205 ], [ 13044057.701283590868115, 4667096.994328221306205 ], [ 13035281.272629449144006, 4662701.151012986898422 ], [ 13029110.276657324284315, 4679685.463635750114918 ], [ 13018962.503196097910404, 4677287.637620846740901 ], [ 13018551.066358124837279, 4677287.637620846740901 ], [ 13018551.066358124837279, 4677287.637620846740901 ], [ 13018893.930389771237969, 4677287.637620846740901 ], [ 13018962.503196097910404, 4677287.637620846740901 ], [ 13018893.930389771237969, 4677287.637620846740901 ], [ 13010734.545673094689846, 4676022.127631613984704 ], [ 13008677.584122218191624, 4684680.902493921108544 ], [ 12998392.665048336610198, 4684814.062077207490802 ], [ 12995170.077109362930059, 4690875.164725001901388 ], [ 12991878.916364058852196, 4711922.522717338986695 ], [ 13000244.019499721005559, 4728973.642925072461367 ], [ 13000244.019499721005559, 4728973.642925072461367 ], [ 13003535.180245021358132, 4728973.642925072461367 ], [ 13003535.180245021358132, 4728973.642925072461367 ], [ 13014642.861675355583429, 4737565.644781595095992 ], [ 13014574.288869028910995, 4737632.356925055384636 ], [ 13014574.288869028910995, 4737632.356925055384636 ], [ 13014642.861675355583429, 4737565.644781595095992 ], [ 13009431.773672342300415, 4743959.816856974735856 ], [ 13009431.773672342300415, 4743959.816856974735856 ], [ 13012448.754511820152402, 4753817.395996883511543 ], [ 13009980.356122970581055, 4772999.869143192656338 ], [ 13001683.825793640688062, 4785854.663501913659275 ], [ 13003466.607438694685698, 4810298.952900063246489 ], [ 13013888.56080574169755, 4820689.410238842479885 ], [ 13015122.760000165551901, 4823020.559813050553203 ], [ 13015122.760000165551901, 4823020.559813050553203 ], [ 13022596.527973044663668, 4813629.258241359144449 ], [ 13022596.527973044663668, 4813629.258241359144449 ], [ 13038503.860568420961499, 4810432.190066672861576 ], [ 13044194.846896247938275, 4814561.688097581267357 ], [ 13042754.929282836616039, 4825151.955342485569417 ], [ 13042754.929282836616039, 4825151.955342485569417 ], [ 13047280.289222564548254, 4831679.354508215561509 ], [ 13041795.021313725039363, 4839472.137845967896283 ], [ 13049954.406030401587486, 4844600.822601612657309 ], [ 13041315.011669425293803, 4848264.046712377108634 ], [ 13041177.866056766360998, 4857921.827276285737753 ], [ 13046457.526866113767028, 4864915.375459692440927 ], [ 13047760.187547374516726, 4877903.57979082968086 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 130000, "name": "河北省", "adchar": null, "childrenNum": 11.0, "level": "province", "subFeatureIndex": 2.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13067781.554564, 4899150.703588266856968 ], [ 13058867.980297200381756, 4906610.456315932795405 ], [ 13058799.407490871846676, 4906610.456315932795405 ], [ 13058867.980297200381756, 4906610.456315932795405 ], [ 13058799.407490871846676, 4906610.456315932795405 ], [ 13049474.396386099979281, 4919731.762962048873305 ], [ 13048103.051579017192125, 4940645.983998626470566 ], [ 13062707.612173641100526, 4950903.176693487912416 ], [ 13067781.554564, 4947905.893947705626488 ], [ 13079574.852738128975034, 4964424.028219684958458 ], [ 13067438.69053235463798, 4965889.411980465054512 ], [ 13056262.436295691877604, 4962425.864376339130104 ], [ 13036721.078923368826509, 4969419.534986988641322 ], [ 13020470.993615839630365, 4969619.255604725331068 ], [ 13008609.011315887793899, 4987802.555530726909637 ], [ 12994347.314752908423543, 4997260.592479525133967 ], [ 12988519.182812428101897, 5008050.662415428087115 ], [ 12989684.809200523421168, 5018907.473502890206873 ], [ 12981593.99729017727077, 5020172.92615682631731 ], [ 12979742.754158284515142, 5008583.506023584865034 ], [ 12970897.752697816118598, 5009582.629607644863427 ], [ 12970897.752697816118598, 5009582.629607644863427 ], [ 12963766.848756579682231, 5009515.978853622451425 ], [ 12965823.810307458043098, 4996994.182204724289477 ], [ 12950259.341743722558022, 4998259.732725001871586 ], [ 12964795.329532017931342, 4978744.230371490120888 ], [ 12940591.466607309877872, 4981674.957183626480401 ], [ 12937574.597087319940329, 4974681.33240523468703 ], [ 12922901.463686367496848, 4957430.551549608819187 ], [ 12913645.025387926027179, 4951169.652684775181115 ], [ 12902811.635182905942202, 4956031.839391653425992 ], [ 12885875.821812091395259, 4944775.494044788181782 ], [ 12888481.254494106397033, 4930455.224222578108311 ], [ 12897669.119986221194267, 4919065.669081445783377 ], [ 12897669.119986221194267, 4919065.669081445783377 ], [ 12903977.261571003124118, 4917533.780277681536973 ], [ 12909599.675092497840524, 4904412.479326147586107 ], [ 12901783.15440746769309, 4900083.174330956302583 ], [ 12896709.212017109617591, 4887561.292842466384172 ], [ 12887795.637750310823321, 4891557.588706530630589 ], [ 12883544.569035897031426, 4884763.899728532880545 ], [ 12868459.998796973377466, 4883365.135739390738308 ], [ 12852346.947782611474395, 4870243.876707117073238 ], [ 12849192.932649964466691, 4858721.185050199739635 ], [ 12859957.861368145793676, 4851261.270771412178874 ], [ 12858997.953399034217, 4842402.781301725655794 ], [ 12864894.546826355159283, 4839272.280183412134647 ], [ 12851112.859907677397132, 4834809.788405935280025 ], [ 12851112.859907677397132, 4834809.788405935280025 ], [ 12857283.744560312479734, 4821888.264663415960968 ], [ 12857283.744560312479734, 4821888.264663415960968 ], [ 12855021.064590446650982, 4815294.393228724598885 ], [ 12855021.064590446650982, 4815294.393228724598885 ], [ 12867020.081183563917875, 4806435.846733319573104 ], [ 12879156.354708826169372, 4804970.487329862080514 ], [ 12879156.354708826169372, 4804970.487329862080514 ], [ 12879499.107420980930328, 4804770.596868636086583 ], [ 12879567.680227307602763, 4804770.596868636086583 ], [ 12879499.107420980930328, 4804770.596868636086583 ], [ 12879499.107420980930328, 4804770.596868636086583 ], [ 12879567.680227307602763, 4804770.596868636086583 ], [ 12881556.180291349068284, 4802239.670223509892821 ], [ 12881556.180291349068284, 4802239.670223509892821 ], [ 12882036.07861615717411, 4800974.157989998348057 ], [ 12882036.07861615717411, 4800974.157989998348057 ], [ 12882036.07861615717411, 4799841.901912932284176 ], [ 12882036.07861615717411, 4799841.901912932284176 ], [ 12882310.36984147131443, 4799974.999967570416629 ], [ 12882310.36984147131443, 4799974.999967570416629 ], [ 12883818.860261211171746, 4799908.450719209387898 ], [ 12883818.860261211171746, 4799908.450719209387898 ], [ 12883955.894554378464818, 4799308.949979163706303 ], [ 12883955.894554378464818, 4799242.405155022628605 ], [ 12883955.894554378464818, 4799308.949979163706303 ], [ 12883955.894554378464818, 4799242.405155022628605 ], [ 12885532.957780448719859, 4795379.232472601346672 ], [ 12885532.957780448719859, 4795379.232472601346672 ], [ 12893143.760046491399407, 4796045.309923433698714 ], [ 12893143.760046491399407, 4796045.309923433698714 ], [ 12896023.59527331404388, 4800907.602103394456208 ], [ 12896023.59527331404388, 4800907.602103394456208 ], [ 12896983.503242423757911, 4801440.350339824333787 ], [ 12896983.503242423757911, 4801440.350339824333787 ], [ 12903085.926408220082521, 4808034.337006084620953 ], [ 12903085.926408220082521, 4808034.337006084620953 ], [ 12908296.903091745451093, 4802372.800144449807703 ], [ 12924409.954106109216809, 4804570.854823834262788 ], [ 12924409.954106109216809, 4804570.854823834262788 ], [ 12935791.926761757582426, 4806369.254531280137599 ], [ 12940385.859507814049721, 4795778.931351350620389 ], [ 12950122.196131067350507, 4787453.190429582260549 ], [ 12961298.450367730110884, 4785321.877756336703897 ], [ 12962121.21272418089211, 4797510.662952044978738 ], [ 12971446.223828952759504, 4807501.526699784211814 ], [ 12980702.662127394229174, 4810831.767699961550534 ], [ 12991330.333913430571556, 4806369.254531280137599 ], [ 12991330.333913430571556, 4806369.254531280137599 ], [ 12993935.877914935350418, 4807301.730148783884943 ], [ 12993935.877914935350418, 4807301.730148783884943 ], [ 12993318.833977470174432, 4807967.734166254289448 ], [ 12993318.833977470174432, 4807967.734166254289448 ], [ 12992907.397139497101307, 4808500.569298690184951 ], [ 12992907.397139497101307, 4808500.569298690184951 ], [ 13003466.607438694685698, 4810298.952900063246489 ], [ 13001683.825793640688062, 4785854.663501913659275 ], [ 13009980.356122970581055, 4772999.869143192656338 ], [ 13012448.754511820152402, 4753817.395996883511543 ], [ 13009431.773672342300415, 4743959.816856974735856 ], [ 13009431.773672342300415, 4743959.816856974735856 ], [ 13014642.861675355583429, 4737565.644781595095992 ], [ 13014574.288869028910995, 4737632.356925055384636 ], [ 13014574.288869028910995, 4737632.356925055384636 ], [ 13014642.861675355583429, 4737565.644781595095992 ], [ 13003535.180245021358132, 4728973.642925072461367 ], [ 13003535.180245021358132, 4728973.642925072461367 ], [ 13000244.019499721005559, 4728973.642925072461367 ], [ 13000244.019499721005559, 4728973.642925072461367 ], [ 12991878.916364058852196, 4711922.522717338986695 ], [ 12995170.077109362930059, 4690875.164725001901388 ], [ 12998392.665048336610198, 4684814.062077207490802 ], [ 13008677.584122218191624, 4684680.902493921108544 ], [ 13010734.545673094689846, 4676022.127631613984704 ], [ 13018893.930389771237969, 4677287.637620846740901 ], [ 13018962.503196097910404, 4677287.637620846740901 ], [ 13018893.930389771237969, 4677287.637620846740901 ], [ 13018551.066358124837279, 4677287.637620846740901 ], [ 13018551.066358124837279, 4677287.637620846740901 ], [ 13018962.503196097910404, 4677287.637620846740901 ], [ 13029110.276657324284315, 4679685.463635750114918 ], [ 13035281.272629449144006, 4662701.151012986898422 ], [ 13044057.701283590868115, 4667096.994328221306205 ], [ 13044057.701283590868115, 4667096.994328221306205 ], [ 13048103.051579017192125, 4670227.514364842325449 ], [ 13048103.051579017192125, 4670227.514364842325449 ], [ 13052491.265906086191535, 4658371.682557949796319 ], [ 13068261.452888809144497, 4660769.48648061323911 ], [ 13077723.609606236219406, 4666963.780763215385377 ], [ 13095550.758139833807945, 4668362.53856969345361 ], [ 13095413.61252717860043, 4656706.563078317791224 ], [ 13111320.945122554898262, 4632395.597153592854738 ], [ 13128736.76813767105341, 4634327.176193567924201 ], [ 13124074.26258528791368, 4622138.268203400075436 ], [ 13114406.498768361285329, 4611747.884431580081582 ], [ 13110292.464347114786506, 4598759.78933959081769 ], [ 13102544.516468413174152, 4590101.028754941187799 ], [ 13089379.873487198725343, 4589434.998612190596759 ], [ 13081494.779995841905475, 4571451.564290585927665 ], [ 13073198.249666506424546, 4558796.436098779551685 ], [ 13062364.859461490064859, 4560128.556227461434901 ], [ 13054205.474744811654091, 4556665.088829707354307 ], [ 13034801.262985147535801, 4558196.981348478235304 ], [ 13026984.742300115525723, 4555799.226062506437302 ], [ 13000792.490630857646465, 4557331.131964233703911 ], [ 12993730.159495951607823, 4543344.021689266897738 ], [ 12961367.023174056783319, 4505312.298549232073128 ], [ 12955470.318427247926593, 4512239.207816541194916 ], [ 12955333.172814588993788, 4512106.008802745491266 ], [ 12955470.318427247926593, 4512239.207816541194916 ], [ 12955333.172814588993788, 4512106.008802745491266 ], [ 12950602.094455877318978, 4520298.444938173517585 ], [ 12945528.263385007157922, 4517168.060960528440773 ], [ 12943814.054546281695366, 4504379.715625538490713 ], [ 12939837.277057185769081, 4507576.846908202394843 ], [ 12939837.277057185769081, 4507576.846908202394843 ], [ 12938260.213831117376685, 4498984.733312170952559 ], [ 12944842.646641215309501, 4495654.426359888166189 ], [ 12939357.267412884160876, 4489659.98495941516012 ], [ 12931883.610759496688843, 4492790.430826324038208 ], [ 12918787.540584614500403, 4490525.849072933197021 ], [ 12911382.345418062061071, 4484731.156483575701714 ], [ 12909668.247898828238249, 4472542.364365123212337 ], [ 12903017.353601891547441, 4467946.495594815351069 ], [ 12898423.420855835080147, 4449763.272330080159009 ], [ 12888207.074588283896446, 4438107.289458192884922 ], [ 12890469.754558147862554, 4434777.053654761053622 ], [ 12881007.597840718924999, 4422854.580708871595562 ], [ 12877853.582708073779941, 4412397.472627036273479 ], [ 12855158.210203101858497, 4405737.039734557271004 ], [ 12842473.465546701103449, 4386554.582642470486462 ], [ 12833285.600054588168859, 4367771.862485189922154 ], [ 12836028.289668751880527, 4364374.92761551309377 ], [ 12836028.289668751880527, 4364374.92761551309377 ], [ 12842542.038353029638529, 4343194.424407756887376 ], [ 12853718.292589694261551, 4336334.021403001621366 ], [ 12853718.292589694261551, 4336334.021403001621366 ], [ 12855569.647041074931622, 4321147.921230936422944 ], [ 12836576.760799892246723, 4312755.674182238988578 ], [ 12824166.307368801906705, 4329606.840736432932317 ], [ 12824166.307368801906705, 4329606.840736432932317 ], [ 12808876.130030384287238, 4325277.462841899134219 ], [ 12801402.473376993089914, 4310024.798182001337409 ], [ 12792214.607884880155325, 4307760.264836254529655 ], [ 12792008.889465894550085, 4319949.023981503210962 ], [ 12756285.908272879198194, 4318550.409568204544485 ], [ 12728859.568728687241673, 4335867.824899583123624 ], [ 12709249.638550035655499, 4334202.686374532990158 ], [ 12709249.638550035655499, 4334202.686374532990158 ], [ 12697182.049150589853525, 4338731.862673913128674 ], [ 12696633.46669995971024, 4346125.07801472954452 ], [ 12688474.081983286887407, 4350121.403108455240726 ], [ 12680520.527005087584257, 4343993.601922883652151 ], [ 12677229.25494029559195, 4349455.291932037100196 ], [ 12670372.642224375158548, 4346258.283372601494193 ], [ 12660499.159988464787602, 4350720.786369130946696 ], [ 12657962.188793286681175, 4359046.489311532117426 ], [ 12640820.768322974443436, 4368904.090083628892899 ], [ 12644591.827393088489771, 4378362.175928047858179 ], [ 12632181.373962, 4391150.445997097529471 ], [ 12634718.345157178118825, 4403006.185817840509117 ], [ 12654876.746466966345906, 4409866.465060248970985 ], [ 12656659.528112024068832, 4422721.392210067249835 ], [ 12665161.665540849789977, 4418924.89972195867449 ], [ 12663858.893540097400546, 4432978.592693788930774 ], [ 12667218.627091728150845, 4437374.625869777053595 ], [ 12663516.140827944502234, 4449630.024452 ], [ 12665161.665540849789977, 4460286.924242204986513 ], [ 12671743.987031456083059, 4462484.943991400301456 ], [ 12679560.507716486230493, 4482400.009217453189194 ], [ 12692039.533953905105591, 4498451.919721252284944 ], [ 12694507.932342754676938, 4508242.851622126065195 ], [ 12704175.807479169219732, 4523295.722106886096299 ], [ 12704724.278610305860639, 4536883.247367570176721 ], [ 12689708.281177710741758, 4538082.13140637986362 ], [ 12695399.267505537718534, 4545875.07199786324054 ], [ 12687857.038045817986131, 4553601.276099320501089 ], [ 12685045.886944817379117, 4567788.177216072566807 ], [ 12676200.774164855480194, 4578045.44896696973592 ], [ 12676680.783809155225754, 4587236.979228528216481 ], [ 12669275.588642606511712, 4595362.902271085418761 ], [ 12670989.797481331974268, 4603355.607714774087071 ], [ 12659333.533600367605686, 4604154.79385791067034 ], [ 12658305.052824929356575, 4609683.107374732382596 ], [ 12642603.438648536801338, 4613013.423685853369534 ], [ 12637598.069064509123564, 4633661.122396540828049 ], [ 12644043.356261948123574, 4644584.321053911931813 ], [ 12641643.530679425224662, 4658571.54926866851747 ], [ 12647334.517007252201438, 4671093.353937446139753 ], [ 12657276.572049491107464, 4671892.699481451883912 ], [ 12659333.533600367605686, 4680684.640969729050994 ], [ 12672566.860707400366664, 4687145.278890019282699 ], [ 12674349.531032964587212, 4697202.803881744854152 ], [ 12665504.529572492465377, 4705328.580933191813529 ], [ 12664544.621603382751346, 4715918.910729581490159 ], [ 12679080.609391676262021, 4731371.367259658873081 ], [ 12696084.995568823069334, 4741162.415905140340328 ], [ 12702530.171446772292256, 4729173.324084555730224 ], [ 12728928.141535015776753, 4732437.013689391314983 ], [ 12733659.10857423953712, 4747023.650833656080067 ], [ 12743395.556516980752349, 4752685.122693158686161 ], [ 12736744.662220047786832, 4756548.30695154517889 ], [ 12743944.027648121118546, 4771934.104527464136481 ], [ 12742846.974066352471709, 4780393.076245805248618 ], [ 12753749.048397190868855, 4804237.815851259045303 ], [ 12735853.327057266607881, 4815494.204934734851122 ], [ 12734413.409443855285645, 4846665.480638976208866 ], [ 12715489.207328489050269, 4845200.148546511307359 ], [ 12709798.221000663936138, 4851061.466422387398779 ], [ 12695673.558730849996209, 4853792.328326601535082 ], [ 12692793.83482351899147, 4864782.279502600431442 ], [ 12680451.954198759049177, 4867646.270864349789917 ], [ 12685525.785269625484943, 4870510.362386619672179 ], [ 12689228.382852902635932, 4882299.453351650387049 ], [ 12695399.267505537718534, 4874173.558109655044973 ], [ 12701775.98189664632082, 4880434.457723386585712 ], [ 12698553.393957674503326, 4890491.897567126899958 ], [ 12698553.393957674503326, 4890491.897567126899958 ], [ 12716654.83371658436954, 4894821.37238182593137 ], [ 12718848.940880121663213, 4900349.58988491166383 ], [ 12742709.828453695401549, 4904945.405482184141874 ], [ 12749497.868363287299871, 4916201.642668659798801 ], [ 12740104.39577167853713, 4920264.641285292804241 ], [ 12725156.97114541195333, 4920264.641285292804241 ], [ 12720151.601561384275556, 4935117.646779258735478 ], [ 12721934.383206436410546, 4952168.635682634077966 ], [ 12713706.425683435052633, 4957896.686641077511013 ], [ 12705409.895354103296995, 4973682.252946317195892 ], [ 12695399.267505537718534, 4987469.609287921339273 ], [ 12698621.855444509536028, 4991332.661275121383369 ], [ 12687445.601207846775651, 5009849.089729586616158 ], [ 12670304.180737534537911, 5026766.930283362045884 ], [ 12681549.007780527696013, 5037756.801653699949384 ], [ 12690051.145209355279803, 5040754.03813087567687 ], [ 12682303.19733065366745, 5060669.047029182314873 ], [ 12684291.586075201630592, 5070193.686978548765182 ], [ 12676063.628552196547389, 5073523.989346916787326 ], [ 12682714.634168623015285, 5084247.392648410983384 ], [ 12701570.263477662578225, 5091907.060610988177359 ], [ 12716106.251265956088901, 5088376.983897229656577 ], [ 12713020.808939637616277, 5130071.975447570905089 ], [ 12729202.321440840139985, 5153050.938219975680113 ], [ 12747303.761199751868844, 5156980.602509638294578 ], [ 12742298.502935213968158, 5166771.685329977422953 ], [ 12747303.761199751868844, 5177628.287749343551695 ], [ 12775621.547226216644049, 5178760.687527728267014 ], [ 12782683.878361124545336, 5183089.99081704299897 ], [ 12790843.263077801093459, 5163308.144326179288328 ], [ 12793105.943047663196921, 5134801.082931153476238 ], [ 12786934.947075536474586, 5131537.278388130478561 ], [ 12790568.971852485090494, 5124543.831847012974322 ], [ 12790089.073527673259377, 5106693.455823282711208 ], [ 12786386.475944399833679, 5101831.254614079371095 ], [ 12812784.334713153541088, 5104828.51686861179769 ], [ 12829857.293696625158191, 5098167.913893479853868 ], [ 12843707.664741126820445, 5101564.926184622570872 ], [ 12837262.488863175734878, 5114885.934255532920361 ], [ 12874562.421962769702077, 5135400.434400401078165 ], [ 12892046.706464726477861, 5147855.637215223163366 ], [ 12903771.543152015656233, 5152784.528147630393505 ], [ 12914879.22458234988153, 5127674.188699632883072 ], [ 12924067.090074466541409, 5127541.037398209795356 ], [ 12926741.206882299855351, 5140329.328773042187095 ], [ 12934694.87317998893559, 5140329.328773042187095 ], [ 12939014.514700731262565, 5152184.983021227642894 ], [ 12947585.224935887381434, 5160577.402345169335604 ], [ 12958624.333559893071651, 5160111.121113758534193 ], [ 12956087.473684206604958, 5153850.213070590980351 ], [ 12969937.733409214764833, 5157113.865221379324794 ], [ 12975423.112637544050813, 5150253.554445647634566 ], [ 12994073.023527594283223, 5153650.388080725446343 ], [ 13011008.836898408830166, 5163707.753997879102826 ], [ 13012174.463286506012082, 5174897.486878004856408 ], [ 13000929.636243514716625, 5191016.06898208335042 ], [ 13014094.27922472730279, 5189684.029155939817429 ], [ 13011763.026448536664248, 5216059.696851063519716 ], [ 13014368.57045004144311, 5220322.555426529608667 ], [ 13014368.57045004144311, 5220322.555426529608667 ], [ 13016288.386388262733817, 5221854.440659689716995 ], [ 13016288.386388262733817, 5221854.440659689716995 ], [ 13016494.104807248339057, 5222254.110256369225681 ], [ 13016494.104807248339057, 5222320.597859503701329 ], [ 13016494.104807248339057, 5222254.110256369225681 ], [ 13016494.104807248339057, 5222320.597859503701329 ], [ 13017316.867163702845573, 5222720.287156823091209 ], [ 13017316.867163702845573, 5222720.287156823091209 ], [ 13018208.313645973801613, 5223386.423266431316733 ], [ 13018208.313645973801613, 5223386.423266431316733 ], [ 13021773.654297102242708, 5225251.34130734577775 ], [ 13021773.654297102242708, 5225251.34130734577775 ], [ 13022665.100779373198748, 5225184.682281807996333 ], [ 13022665.100779373198748, 5225184.682281807996333 ], [ 13023625.008748482912779, 5224984.858833729289472 ], [ 13023625.008748482912779, 5224984.858833729289472 ], [ 13023899.299973800778389, 5225118.023726274259388 ], [ 13023899.299973800778389, 5225118.023726274259388 ], [ 13024584.91671759262681, 5225984.018313522450626 ], [ 13024584.91671759262681, 5225984.018313522450626 ], [ 13024859.20794291049242, 5225984.018313522450626 ], [ 13024859.20794291049242, 5225984.018313522450626 ], [ 13024996.353555565699935, 5226183.712055046111345 ], [ 13024996.353555565699935, 5226183.712055046111345 ], [ 13039258.050118545070291, 5231712.107490085996687 ], [ 13039258.050118545070291, 5231712.107490085996687 ], [ 13040835.113344615325332, 5231712.107490085996687 ], [ 13040835.113344615325332, 5231712.107490085996687 ], [ 13053794.037906842306256, 5232644.512242708355188 ], [ 13053794.037906842306256, 5232644.512242708355188 ], [ 13070318.525759175419807, 5232045.033941180445254 ], [ 13067507.263338685035706, 5238838.783375822007656 ], [ 13067507.263338685035706, 5238838.783375822007656 ], [ 13072992.531247520819306, 5248896.239926212467253 ], [ 13081837.532707994803786, 5251227.440453002229333 ], [ 13081837.532707994803786, 5251227.440453002229333 ], [ 13100898.880436014384031, 5248696.518680119886994 ], [ 13111183.799509897828102, 5254091.537503154948354 ], [ 13121674.437002765014768, 5237706.580109930597246 ], [ 13137856.060823457315564, 5220389.180188738740981 ], [ 13142381.420763185247779, 5205735.944196470081806 ], [ 13133193.555271070450544, 5195478.599495428614318 ], [ 13147866.688672022894025, 5185754.210523872636259 ], [ 13146563.916671270504594, 5176762.496545840986073 ], [ 13153009.092549219727516, 5173165.730192787013948 ], [ 13149032.315060120075941, 5166172.15924921259284 ], [ 13157328.845389449968934, 5165705.903924529440701 ], [ 13159385.806940330192447, 5173165.730192787013948 ], [ 13168779.279531937092543, 5168303.645874705165625 ], [ 13162128.38523500226438, 5164440.490183838643134 ], [ 13170630.633983321487904, 5159178.627064344473183 ], [ 13165625.264399291947484, 5150519.893873422406614 ], [ 13173578.930696981027722, 5141927.760309415869415 ], [ 13168230.808400800451636, 5127008.152183608151972 ], [ 13154174.718937313184142, 5133069.269823549315333 ], [ 13150266.514254543930292, 5122478.929597313515842 ], [ 13159522.952552985399961, 5107492.741171381436288 ], [ 13161374.195684878155589, 5098567.640139457769692 ], [ 13169876.333113707602024, 5096635.982329891063273 ], [ 13165968.128430938348174, 5082116.108464135788381 ], [ 13174538.838666090741754, 5075721.965896550565958 ], [ 13174813.129891404882073, 5062201.052083826623857 ], [ 13193531.613587785512209, 5064665.460195600986481 ], [ 13211084.582215560600162, 5064199.220668198540807 ], [ 13218284.058963123708963, 5060269.407719926908612 ], [ 13229597.4588124435395, 5067729.20218463614583 ], [ 13234877.008302295580506, 5056806.01606997475028 ], [ 13243036.39301897212863, 5058071.390608995221555 ], [ 13269022.926269244402647, 5054141.698892330750823 ], [ 13273685.431821631267667, 5058870.652118306607008 ], [ 13274782.485403398051858, 5053675.522582925856113 ], [ 13261069.259971555322409, 5032827.9617331456393 ], [ 13251195.666416155174375, 5022304.331198805943131 ], [ 13243036.39301897212863, 5024035.990133789367974 ], [ 13241665.048211891204119, 5015044.235317962244153 ], [ 13248521.660927809774876, 5013445.762334823608398 ], [ 13244476.199312891811132, 5006318.901112819090486 ], [ 13244476.199312891811132, 5006318.901112819090486 ], [ 13236111.207496723160148, 5006585.41925981361419 ], [ 13230214.502749912440777, 4983007.049019811674953 ], [ 13237139.688272161409259, 4979476.866368839517236 ], [ 13253047.020867539569736, 4963025.344075684435666 ], [ 13267583.008655833080411, 4965289.903608239255846 ], [ 13265114.610266983509064, 4953500.820270475000143 ], [ 13280679.07883071526885, 4943310.188309410586953 ], [ 13310642.500889576971531, 4944775.494044788181782 ], [ 13313659.370409566909075, 4933785.613891378045082 ], [ 13312356.598408814519644, 4920664.282422824762762 ], [ 13318527.59438094124198, 4908342.191349582746625 ], [ 13316607.778442718088627, 4898551.169217814691365 ], [ 13330046.712649244815111, 4896220.008730079978704 ], [ 13329018.231873806566, 4881167.227826378308237 ], [ 13333817.771719358861446, 4873107.991580137982965 ], [ 13333817.771719358861446, 4873107.991580137982965 ], [ 13333886.344525687396526, 4872774.834669613279402 ], [ 13333886.344525687396526, 4872774.834669613279402 ], [ 13338000.37894693389535, 4873174.5952212754637 ], [ 13338000.37894693389535, 4873174.5952212754637 ], [ 13341428.685304896906018, 4868911.846433811821043 ], [ 13341428.685304896906018, 4868911.846433811821043 ], [ 13341154.394079579040408, 4866047.780405490659177 ], [ 13341154.394079579040408, 4866047.780405490659177 ], [ 13342114.302048688754439, 4864249.332352922298014 ], [ 13335120.543720111250877, 4858987.506721596233547 ], [ 13307214.194531619548798, 4849729.394931771792471 ], [ 13306734.184887319803238, 4838206.681887720711529 ], [ 13298986.237008614465594, 4838473.034546449780464 ], [ 13286850.074802841991186, 4825618.118580005131662 ], [ 13277045.16537326015532, 4793314.471596510149539 ], [ 13282050.423637799918652, 4780925.888734819367528 ], [ 13268268.625399628654122, 4774598.367867650464177 ], [ 13257709.52641992457211, 4756415.064105397090316 ], [ 13241322.184180246666074, 4741495.382131608203053 ], [ 13242076.485049860551953, 4746957.020253009162843 ], [ 13220409.593320330604911, 4740829.317136516794562 ], [ 13206627.795082159340382, 4744226.262726399116218 ], [ 13195040.104007525369525, 4734701.598228310234845 ], [ 13202993.770305214449763, 4717584.000210054218769 ], [ 13190377.59845514036715, 4708658.849730106070638 ], [ 13177761.426605064421892, 4717650.580838781781495 ], [ 13176458.765923803672194, 4723978.16516440641135 ], [ 13160757.040427921339869, 4726642.409507095813751 ], [ 13149169.460672777146101, 4748355.780322293750942 ], [ 13139844.449568005278707, 4753284.579478298313916 ], [ 13138473.10476092249155, 4763608.384560781531036 ], [ 13138473.10476092249155, 4763608.384560781531036 ], [ 13138404.53195459395647, 4763208.81266225874424 ], [ 13138404.53195459395647, 4763208.81266225874424 ], [ 13138130.352048771455884, 4762875.848188339732587 ], [ 13138130.352048771455884, 4762875.848188339732587 ], [ 13133742.026402210816741, 4764540.924494741484523 ], [ 13133742.026402210816741, 4764540.924494741484523 ], [ 13132644.97282044030726, 4766539.06301576923579 ], [ 13132644.97282044030726, 4766539.06301576923579 ], [ 13118657.567482775077224, 4768803.686999472789466 ], [ 13121263.000164791941643, 4787053.534830105490983 ], [ 13128325.331299697980285, 4804237.815851259045303 ], [ 13120783.101839983835816, 4807501.526699784211814 ], [ 13107618.458858769387007, 4806435.846733319573104 ], [ 13106315.686858016997576, 4802306.234962752088904 ], [ 13106315.686858016997576, 4802306.234962752088904 ], [ 13093288.078169971704483, 4808433.963355340994895 ], [ 13098156.302141342312098, 4813229.568815524689853 ], [ 13096099.340590462088585, 4822754.185450290329754 ], [ 13088694.145423915237188, 4826350.911576665006578 ], [ 13084580.222322158515453, 4840204.790331943891943 ], [ 13084580.222322158515453, 4840204.790331943891943 ], [ 13084237.358290513977408, 4842003.097311684861779 ], [ 13084237.358290513977408, 4842003.097311684861779 ], [ 13081494.779995841905475, 4852926.463175523094833 ], [ 13081494.779995841905475, 4852926.463175523094833 ], [ 13089996.917424667626619, 4865514.910601575858891 ], [ 13092808.179845161736012, 4861918.242856105789542 ], [ 13111458.090735211968422, 4861385.304194934666157 ], [ 13108783.97392737492919, 4876638.019600016064942 ], [ 13108783.97392737492919, 4876638.019600016064942 ], [ 13104395.75960030592978, 4877903.57979082968086 ], [ 13104395.75960030592978, 4877903.57979082968086 ], [ 13096853.530140589922667, 4883764.741624657064676 ], [ 13096853.530140589922667, 4883764.741624657064676 ], [ 13096990.675753245130181, 4883897.947171780280769 ], [ 13096990.675753245130181, 4883897.947171780280769 ], [ 13088008.528680117800832, 4897685.320361709222198 ], [ 13074569.594473591074347, 4902680.704503888264298 ], [ 13067781.554564, 4899150.703588266856968 ] ] ], [ [ [ 13013888.56080574169755, 4820689.410238842479885 ], [ 13013477.235287262126803, 4831679.354508215561509 ], [ 13018756.784777114167809, 4833810.717902792617679 ], [ 13016151.240775607526302, 4842069.782680181786418 ], [ 13000655.34501819871366, 4849529.621357552707195 ], [ 12997432.757079226896167, 4861318.779654590412974 ], [ 13000312.480986557900906, 4871043.209839393384755 ], [ 13016356.959194593131542, 4873907.119378941133618 ], [ 13024379.198298608884215, 4870310.461110298521817 ], [ 13035829.743760585784912, 4876638.019600016064942 ], [ 13035761.170954257249832, 4876571.392677641473711 ], [ 13035761.170954257249832, 4876571.392677641473711 ], [ 13035829.743760585784912, 4876638.019600016064942 ], [ 13036104.034985903650522, 4876771.274788965471089 ], [ 13036104.034985903650522, 4876771.274788965471089 ], [ 13047760.187547374516726, 4877903.57979082968086 ], [ 13046457.526866113767028, 4864915.375459692440927 ], [ 13041177.866056766360998, 4857921.827276285737753 ], [ 13041315.011669425293803, 4848264.046712377108634 ], [ 13049954.406030401587486, 4844600.822601612657309 ], [ 13041795.021313725039363, 4839472.137845967896283 ], [ 13047280.289222564548254, 4831679.354508215561509 ], [ 13042754.929282836616039, 4825151.955342485569417 ], [ 13042754.929282836616039, 4825151.955342485569417 ], [ 13044194.846896247938275, 4814561.688097581267357 ], [ 13038503.860568420961499, 4810432.190066672861576 ], [ 13022596.527973044663668, 4813629.258241359144449 ], [ 13022596.527973044663668, 4813629.258241359144449 ], [ 13015122.760000165551901, 4823020.559813050553203 ], [ 13015122.760000165551901, 4823020.559813050553203 ], [ 13013888.56080574169755, 4820689.410238842479885 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 140000, "name": "山西省", "adchar": null, "childrenNum": 11.0, "level": "province", "subFeatureIndex": 3.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12660499.159988464787602, 4350720.786369130946696 ], [ 12658853.635275557637215, 4336800.238060923293233 ], [ 12651654.158527994528413, 4324345.079093529842794 ], [ 12656453.809693034738302, 4304296.836591931059957 ], [ 12650077.095301926136017, 4299034.977782682515681 ], [ 12652202.740978624671698, 4278187.378960299305618 ], [ 12646374.609038140624762, 4272725.814496577717364 ], [ 12643494.773811317980289, 4250346.36814297363162 ], [ 12633141.281931109726429, 4234893.759673696942627 ], [ 12613874.215784100815654, 4229498.734582429751754 ], [ 12612297.263877522200346, 4222105.61086892709136 ], [ 12600229.674478080123663, 4225102.76702759694308 ], [ 12593167.343343170359731, 4209117.529723067767918 ], [ 12578768.501167533919215, 4213247.075382291339338 ], [ 12578219.91871690377593, 4204188.74724242836237 ], [ 12569237.771643776446581, 4197461.521809863857925 ], [ 12558884.279763566330075, 4199060.124561511911452 ], [ 12553056.14782308600843, 4191600.184284735936671 ], [ 12537697.397678336128592, 4199726.106886937282979 ], [ 12538725.878453776240349, 4194597.510788065381348 ], [ 12524944.08021560497582, 4193598.402540492359549 ], [ 12474342.358522143214941, 4201990.747173562645912 ], [ 12476536.465685676783323, 4193731.66626337589696 ], [ 12474685.222553785890341, 4171485.359562061261386 ], [ 12456652.355601202696562, 4174749.032047602813691 ], [ 12431008.575063081458211, 4162293.856104035396129 ], [ 12419969.466439075767994, 4142578.636446514632553 ], [ 12395011.413964241743088, 4141046.592490629758686 ], [ 12382395.24211416952312, 4135318.615401472430676 ], [ 12373001.769522558897734, 4137783.01973327063024 ], [ 12369642.035970928147435, 4130856.035832518246025 ], [ 12352706.222600109875202, 4123862.383251633029431 ], [ 12348660.760985191911459, 4127459.1691790279001 ], [ 12343518.357107998803258, 4115403.558537594042718 ], [ 12328570.932481732219458, 4116735.604484759271145 ], [ 12324182.718154659494758, 4110341.494189163204283 ], [ 12304504.215169679373503, 4107410.814784617628902 ], [ 12297990.4664854016155, 4112006.637073478195816 ], [ 12287362.68337987549603, 4109742.097777440678328 ], [ 12279683.308307504281402, 4110741.154653680045158 ], [ 12272003.933235129341483, 4120798.618077911436558 ], [ 12271044.025266019627452, 4137183.509019830264151 ], [ 12273786.603560693562031, 4155033.755882806610316 ], [ 12281397.517146229743958, 4165890.548070767428726 ], [ 12289008.319412276148796, 4200858.437164759263396 ], [ 12295247.776871237903833, 4208517.974794507957995 ], [ 12298333.3305170442909, 4220240.588425653986633 ], [ 12303681.452813226729631, 4224103.760871232487261 ], [ 12313006.463917996734381, 4250146.537724268622696 ], [ 12309441.011947380378842, 4259604.475261945277452 ], [ 12306286.996814733371139, 4283782.335648652166128 ], [ 12302104.389587158337235, 4284115.362974835559726 ], [ 12294905.024159085005522, 4323279.300690884701908 ], [ 12297921.893679074943066, 4334802.150802969001234 ], [ 12296276.368966165930033, 4346258.283372601494193 ], [ 12301213.054424375295639, 4367971.658670552074909 ], [ 12300458.864874253049493, 4381026.293693030253053 ], [ 12289076.892218602821231, 4394147.673001998104155 ], [ 12294905.024159085005522, 4402606.536179035902023 ], [ 12291476.717801123857498, 4409999.770729195326567 ], [ 12292505.198576563969254, 4433578.04580138809979 ], [ 12287774.120217848569155, 4442170.261649876832962 ], [ 12294630.732933770865202, 4440105.403511323966086 ], [ 12304709.933588664978743, 4458355.37441847845912 ], [ 12321988.610991125926375, 4479202.835352906025946 ], [ 12322537.082122264429927, 4487928.190622302703559 ], [ 12315337.716694191098213, 4491258.429746882990003 ], [ 12316846.095794439315796, 4499917.257244225591421 ], [ 12328090.922837430611253, 4502115.156532217748463 ], [ 12333644.874872088432312, 4518300.362801515497267 ], [ 12333781.909165255725384, 4531954.511377119459212 ], [ 12323771.281316688284278, 4537882.331279378384352 ], [ 12329599.413257170468569, 4543344.021689266897738 ], [ 12319040.202957974746823, 4551669.645189238712192 ], [ 12311292.25507927313447, 4568387.621335196308792 ], [ 12303338.588781584054232, 4573050.017620165832341 ], [ 12300938.763199063017964, 4583906.765331183560193 ], [ 12301830.209681333974004, 4606619.293644901365042 ], [ 12308138.239946626126766, 4609882.879014299251139 ], [ 12309441.011947380378842, 4621472.294327515177429 ], [ 12318766.023052152246237, 4623137.380770412273705 ], [ 12328296.641256416216493, 4631263.260288912802935 ], [ 12331724.947614377364516, 4641920.11818113271147 ], [ 12342489.876332558691502, 4643718.44673181604594 ], [ 12347563.707403425127268, 4661968.456830737181008 ], [ 12343106.920270025730133, 4667163.673000042326748 ], [ 12357505.762445662170649, 4699867.03206111304462 ], [ 12354283.17450668849051, 4717384.260946567170322 ], [ 12371904.715940792113543, 4730971.77877719886601 ], [ 12374647.294235466048121, 4743560.161230243742466 ], [ 12384040.878146566450596, 4765073.761026302352548 ], [ 12370464.798327380791306, 4774331.98176458850503 ], [ 12375607.202204575762153, 4782524.351678676903248 ], [ 12393982.933188803493977, 4782124.748119945637882 ], [ 12403102.225874589756131, 4793580.928962460719049 ], [ 12407901.877039631828666, 4811764.225772357545793 ], [ 12412358.664173031225801, 4817092.697801331058145 ], [ 12428403.142381064593792, 4814361.895030774176121 ], [ 12443693.319719484075904, 4806369.254531280137599 ], [ 12450275.641210090368986, 4810898.38961023837328 ], [ 12460217.696252329275012, 4809766.021979857236147 ], [ 12464468.87628623470664, 4836408.335679909214377 ], [ 12499574.702222291380167, 4894754.768648665398359 ], [ 12502317.280516965314746, 4903280.197956417687237 ], [ 12518567.477143984287977, 4909674.2888224106282 ], [ 12537903.116097323596478, 4900282.948866960592568 ], [ 12548873.651915, 4890425.322998957708478 ], [ 12561832.687796717509627, 4895620.652197725139558 ], [ 12567180.810092898085713, 4913470.885461300611496 ], [ 12607086.175874508917332, 4926192.537949656136334 ], [ 12614285.652622072026134, 4912538.462611863389611 ], [ 12641437.812260441482067, 4916734.47609581053257 ], [ 12667561.491123370826244, 4941511.811362691223621 ], [ 12674349.531032964587212, 4932586.602142069488764 ], [ 12684703.022913174703717, 4941045.575876485556364 ], [ 12697319.194763246923685, 4943110.271011243574321 ], [ 12695056.514793384820223, 4954766.321430161595345 ], [ 12698690.428250838071108, 4971617.420600734651089 ], [ 12705409.895354103296995, 4973682.252946317195892 ], [ 12713706.425683435052633, 4957896.686641077511013 ], [ 12721934.383206436410546, 4952168.635682634077966 ], [ 12720151.601561384275556, 4935117.646779258735478 ], [ 12725156.97114541195333, 4920264.641285292804241 ], [ 12740104.39577167853713, 4920264.641285292804241 ], [ 12749497.868363287299871, 4916201.642668659798801 ], [ 12742709.828453695401549, 4904945.405482184141874 ], [ 12718848.940880121663213, 4900349.58988491166383 ], [ 12716654.83371658436954, 4894821.37238182593137 ], [ 12698553.393957674503326, 4890491.897567126899958 ], [ 12698553.393957674503326, 4890491.897567126899958 ], [ 12701775.98189664632082, 4880434.457723386585712 ], [ 12695399.267505537718534, 4874173.558109655044973 ], [ 12689228.382852902635932, 4882299.453351650387049 ], [ 12685525.785269625484943, 4870510.362386619672179 ], [ 12680451.954198759049177, 4867646.270864349789917 ], [ 12692793.83482351899147, 4864782.279502600431442 ], [ 12695673.558730849996209, 4853792.328326601535082 ], [ 12709798.221000663936138, 4851061.466422387398779 ], [ 12715489.207328489050269, 4845200.148546511307359 ], [ 12734413.409443855285645, 4846665.480638976208866 ], [ 12735853.327057266607881, 4815494.204934734851122 ], [ 12753749.048397190868855, 4804237.815851259045303 ], [ 12742846.974066352471709, 4780393.076245805248618 ], [ 12743944.027648121118546, 4771934.104527464136481 ], [ 12736744.662220047786832, 4756548.30695154517889 ], [ 12743395.556516980752349, 4752685.122693158686161 ], [ 12733659.10857423953712, 4747023.650833656080067 ], [ 12728928.141535015776753, 4732437.013689391314983 ], [ 12702530.171446772292256, 4729173.324084555730224 ], [ 12696084.995568823069334, 4741162.415905140340328 ], [ 12679080.609391676262021, 4731371.367259658873081 ], [ 12664544.621603382751346, 4715918.910729581490159 ], [ 12665504.529572492465377, 4705328.580933191813529 ], [ 12674349.531032964587212, 4697202.803881744854152 ], [ 12672566.860707400366664, 4687145.278890019282699 ], [ 12659333.533600367605686, 4680684.640969729050994 ], [ 12657276.572049491107464, 4671892.699481451883912 ], [ 12647334.517007252201438, 4671093.353937446139753 ], [ 12641643.530679425224662, 4658571.54926866851747 ], [ 12644043.356261948123574, 4644584.321053911931813 ], [ 12637598.069064509123564, 4633661.122396540828049 ], [ 12642603.438648536801338, 4613013.423685853369534 ], [ 12658305.052824929356575, 4609683.107374732382596 ], [ 12659333.533600367605686, 4604154.79385791067034 ], [ 12670989.797481331974268, 4603355.607714774087071 ], [ 12669275.588642606511712, 4595362.902271085418761 ], [ 12676680.783809155225754, 4587236.979228528216481 ], [ 12676200.774164855480194, 4578045.44896696973592 ], [ 12685045.886944817379117, 4567788.177216072566807 ], [ 12687857.038045817986131, 4553601.276099320501089 ], [ 12695399.267505537718534, 4545875.07199786324054 ], [ 12689708.281177710741758, 4538082.13140637986362 ], [ 12704724.278610305860639, 4536883.247367570176721 ], [ 12704175.807479169219732, 4523295.722106886096299 ], [ 12694507.932342754676938, 4508242.851622126065195 ], [ 12692039.533953905105591, 4498451.919721252284944 ], [ 12679560.507716486230493, 4482400.009217453189194 ], [ 12671743.987031456083059, 4462484.943991400301456 ], [ 12665161.665540849789977, 4460286.924242204986513 ], [ 12663516.140827944502234, 4449630.024452 ], [ 12667218.627091728150845, 4437374.625869777053595 ], [ 12663858.893540097400546, 4432978.592693788930774 ], [ 12665161.665540849789977, 4418924.89972195867449 ], [ 12656659.528112024068832, 4422721.392210067249835 ], [ 12654876.746466966345906, 4409866.465060248970985 ], [ 12634718.345157178118825, 4403006.185817840509117 ], [ 12632181.373962, 4391150.445997097529471 ], [ 12644591.827393088489771, 4378362.175928047858179 ], [ 12640820.768322974443436, 4368904.090083628892899 ], [ 12657962.188793286681175, 4359046.489311532117426 ], [ 12660499.159988464787602, 4350720.786369130946696 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 150000, "name": "内蒙古自治区", "adchar": null, "childrenNum": 12.0, "level": "province", "subFeatureIndex": 4.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13770652.15151578374207, 5368586.453084580600262 ], [ 13766263.93718871101737, 5352334.697411732748151 ], [ 13766538.117094537243247, 5339346.585323980078101 ], [ 13756047.59092115983367, 5312504.597808294929564 ], [ 13749670.876530049368739, 5316167.853506359271705 ], [ 13749670.876530049368739, 5316167.853506359271705 ], [ 13745145.516590321436524, 5318432.357149470597506 ], [ 13721147.483404086902738, 5310905.979676250368357 ], [ 13712782.380268428474665, 5300715.370697046630085 ], [ 13711205.317042358219624, 5290657.936525700613856 ], [ 13717650.604239797219634, 5286395.167511322535574 ], [ 13698794.863611271604896, 5276870.606279774568975 ], [ 13679733.515883246436715, 5277070.471521041356027 ], [ 13673494.058424282819033, 5269810.418589854612947 ], [ 13668488.688840257003903, 5274939.047507422976196 ], [ 13668488.688840257003903, 5274939.047507422976196 ], [ 13662523.411287117749453, 5279534.865279126912355 ], [ 13650524.394694, 5277536.638088100589812 ], [ 13643736.354784408584237, 5285529.367941856384277 ], [ 13629611.803834084421396, 5288126.854575671255589 ], [ 13620081.074310328811407, 5286195.407224266789854 ], [ 13622686.618311833590269, 5277736.517502945847809 ], [ 13631874.483803950250149, 5277669.789455936290324 ], [ 13624949.298281699419022, 5263949.047596622258425 ], [ 13618709.729503246024251, 5261884.334988962858915 ], [ 13603625.270583814010024, 5271142.438104590401053 ], [ 13603693.732070650905371, 5263949.047596622258425 ], [ 13588952.137182861566544, 5268145.280800533480942 ], [ 13574347.46526874601841, 5264681.708547187969089 ], [ 13570370.687779646366835, 5246698.329668412916362 ], [ 13543767.110591907054186, 5226716.601275763474405 ], [ 13536979.070682317018509, 5235308.817486697807908 ], [ 13512912.353370264172554, 5232444.681914646178484 ], [ 13503587.34226549230516, 5226450.228326112963259 ], [ 13503587.34226549230516, 5226450.228326112963259 ], [ 13501393.235101956874132, 5219256.773756713606417 ], [ 13477326.517789904028177, 5198875.527108242735267 ], [ 13462242.058870473876595, 5202938.521274614147842 ], [ 13446334.726275095716119, 5193746.846476388163865 ], [ 13441329.356691066175699, 5194546.089399716816843 ], [ 13427890.422484539449215, 5184155.769265477545559 ], [ 13423365.062544813379645, 5186087.328062064014375 ], [ 13410268.992369927465916, 5176762.496545840986073 ], [ 13409171.938788160681725, 5163441.34568805526942 ], [ 13399915.50048971734941, 5160177.774116910994053 ], [ 13379345.662341956049204, 5138264.454712992534041 ], [ 13369060.743268072605133, 5115685.157003046944737 ], [ 13362341.276164809241891, 5117350.306559856981039 ], [ 13364123.946490373462439, 5127474.462441955693066 ], [ 13357198.872287614271045, 5145857.483813029713929 ], [ 13340263.058916795998812, 5181291.591741661541164 ], [ 13341291.539692237973213, 5193280.589888240210712 ], [ 13329909.567036585882306, 5192747.774728575721383 ], [ 13307351.340144276618958, 5204869.994138095527887 ], [ 13310711.073695907369256, 5214994.093857739120722 ], [ 13302963.125817205756903, 5219256.773756713606417 ], [ 13293295.250680791214108, 5207467.630135968327522 ], [ 13278690.690086167305708, 5200807.074982506223023 ], [ 13273479.713402641937137, 5191149.208106919191778 ], [ 13282187.569250456988811, 5178827.321134530939162 ], [ 13289866.94432283192873, 5174431.254076022654772 ], [ 13283147.477219568565488, 5156381.242794960737228 ], [ 13284244.530801333487034, 5141461.492349459789693 ], [ 13279787.743667935952544, 5127474.462441955693066 ], [ 13281296.23408767580986, 5109823.948200664483011 ], [ 13293295.250680791214108, 5099766.472128596156836 ], [ 13287261.511640815064311, 5096036.668459612876177 ], [ 13292198.197099022567272, 5087644.247520902194083 ], [ 13288907.036353722214699, 5074789.47927884105593 ], [ 13281021.94286236166954, 5071858.842821438796818 ], [ 13283353.195638552308083, 5061068.702874683775008 ], [ 13273685.431821631267667, 5058870.652118306607008 ], [ 13269022.926269244402647, 5054141.698892330750823 ], [ 13243036.39301897212863, 5058071.390608995221555 ], [ 13234877.008302295580506, 5056806.01606997475028 ], [ 13229597.4588124435395, 5067729.20218463614583 ], [ 13218284.058963123708963, 5060269.407719926908612 ], [ 13211084.582215560600162, 5064199.220668198540807 ], [ 13193531.613587785512209, 5064665.460195600986481 ], [ 13174813.129891404882073, 5062201.052083826623857 ], [ 13174538.838666090741754, 5075721.965896550565958 ], [ 13165968.128430938348174, 5082116.108464135788381 ], [ 13169876.333113707602024, 5096635.982329891063273 ], [ 13161374.195684878155589, 5098567.640139457769692 ], [ 13159522.952552985399961, 5107492.741171381436288 ], [ 13150266.514254543930292, 5122478.929597313515842 ], [ 13154174.718937313184142, 5133069.269823549315333 ], [ 13168230.808400800451636, 5127008.152183608151972 ], [ 13173578.930696981027722, 5141927.760309415869415 ], [ 13165625.264399291947484, 5150519.893873422406614 ], [ 13170630.633983321487904, 5159178.627064344473183 ], [ 13162128.38523500226438, 5164440.490183838643134 ], [ 13168779.279531937092543, 5168303.645874705165625 ], [ 13159385.806940330192447, 5173165.730192787013948 ], [ 13157328.845389449968934, 5165705.903924529440701 ], [ 13149032.315060120075941, 5166172.15924921259284 ], [ 13153009.092549219727516, 5173165.730192787013948 ], [ 13146563.916671270504594, 5176762.496545840986073 ], [ 13147866.688672022894025, 5185754.210523872636259 ], [ 13133193.555271070450544, 5195478.599495428614318 ], [ 13142381.420763185247779, 5205735.944196470081806 ], [ 13137856.060823457315564, 5220389.180188738740981 ], [ 13121674.437002765014768, 5237706.580109930597246 ], [ 13111183.799509897828102, 5254091.537503154948354 ], [ 13100898.880436014384031, 5248696.518680119886994 ], [ 13081837.532707994803786, 5251227.440453002229333 ], [ 13081837.532707994803786, 5251227.440453002229333 ], [ 13072992.531247520819306, 5248896.239926212467253 ], [ 13067507.263338685035706, 5238838.783375822007656 ], [ 13067507.263338685035706, 5238838.783375822007656 ], [ 13070318.525759175419807, 5232045.033941180445254 ], [ 13053794.037906842306256, 5232644.512242708355188 ], [ 13053794.037906842306256, 5232644.512242708355188 ], [ 13040835.113344615325332, 5231712.107490085996687 ], [ 13040835.113344615325332, 5231712.107490085996687 ], [ 13039258.050118545070291, 5231712.107490085996687 ], [ 13039258.050118545070291, 5231712.107490085996687 ], [ 13024996.353555565699935, 5226183.712055046111345 ], [ 13024996.353555565699935, 5226183.712055046111345 ], [ 13024859.20794291049242, 5225984.018313522450626 ], [ 13024859.20794291049242, 5225984.018313522450626 ], [ 13024584.91671759262681, 5225984.018313522450626 ], [ 13024584.91671759262681, 5225984.018313522450626 ], [ 13023899.299973800778389, 5225118.023726274259388 ], [ 13023899.299973800778389, 5225118.023726274259388 ], [ 13023625.008748482912779, 5224984.858833729289472 ], [ 13023625.008748482912779, 5224984.858833729289472 ], [ 13022665.100779373198748, 5225184.682281807996333 ], [ 13022665.100779373198748, 5225184.682281807996333 ], [ 13021773.654297102242708, 5225251.34130734577775 ], [ 13021773.654297102242708, 5225251.34130734577775 ], [ 13018208.313645973801613, 5223386.423266431316733 ], [ 13018208.313645973801613, 5223386.423266431316733 ], [ 13017316.867163702845573, 5222720.287156823091209 ], [ 13017316.867163702845573, 5222720.287156823091209 ], [ 13016494.104807248339057, 5222320.597859503701329 ], [ 13016494.104807248339057, 5222254.110256369225681 ], [ 13016494.104807248339057, 5222320.597859503701329 ], [ 13016494.104807248339057, 5222254.110256369225681 ], [ 13016288.386388262733817, 5221854.440659689716995 ], [ 13016288.386388262733817, 5221854.440659689716995 ], [ 13014368.57045004144311, 5220322.555426529608667 ], [ 13014368.57045004144311, 5220322.555426529608667 ], [ 13011763.026448536664248, 5216059.696851063519716 ], [ 13014094.27922472730279, 5189684.029155939817429 ], [ 13000929.636243514716625, 5191016.06898208335042 ], [ 13012174.463286506012082, 5174897.486878004856408 ], [ 13011008.836898408830166, 5163707.753997879102826 ], [ 12994073.023527594283223, 5153650.388080725446343 ], [ 12975423.112637544050813, 5150253.554445647634566 ], [ 12969937.733409214764833, 5157113.865221379324794 ], [ 12956087.473684206604958, 5153850.213070590980351 ], [ 12958624.333559893071651, 5160111.121113758534193 ], [ 12947585.224935887381434, 5160577.402345169335604 ], [ 12939014.514700731262565, 5152184.983021227642894 ], [ 12934694.87317998893559, 5140329.328773042187095 ], [ 12926741.206882299855351, 5140329.328773042187095 ], [ 12924067.090074466541409, 5127541.037398209795356 ], [ 12914879.22458234988153, 5127674.188699632883072 ], [ 12903771.543152015656233, 5152784.528147630393505 ], [ 12892046.706464726477861, 5147855.637215223163366 ], [ 12874562.421962769702077, 5135400.434400401078165 ], [ 12837262.488863175734878, 5114885.934255532920361 ], [ 12843707.664741126820445, 5101564.926184622570872 ], [ 12829857.293696625158191, 5098167.913893479853868 ], [ 12812784.334713153541088, 5104828.51686861179769 ], [ 12786386.475944399833679, 5101831.254614079371095 ], [ 12790089.073527673259377, 5106693.455823282711208 ], [ 12790568.971852485090494, 5124543.831847012974322 ], [ 12786934.947075536474586, 5131537.278388130478561 ], [ 12793105.943047663196921, 5134801.082931153476238 ], [ 12790843.263077801093459, 5163308.144326179288328 ], [ 12782683.878361124545336, 5183089.99081704299897 ], [ 12775621.547226216644049, 5178760.687527728267014 ], [ 12747303.761199751868844, 5177628.287749343551695 ], [ 12742298.502935213968158, 5166771.685329977422953 ], [ 12747303.761199751868844, 5156980.602509638294578 ], [ 12729202.321440840139985, 5153050.938219975680113 ], [ 12713020.808939637616277, 5130071.975447570905089 ], [ 12716106.251265956088901, 5088376.983897229656577 ], [ 12701570.263477662578225, 5091907.060610988177359 ], [ 12682714.634168623015285, 5084247.392648410983384 ], [ 12676063.628552196547389, 5073523.989346916787326 ], [ 12684291.586075201630592, 5070193.686978548765182 ], [ 12682303.19733065366745, 5060669.047029182314873 ], [ 12690051.145209355279803, 5040754.03813087567687 ], [ 12681549.007780527696013, 5037756.801653699949384 ], [ 12670304.180737534537911, 5026766.930283362045884 ], [ 12687445.601207846775651, 5009849.089729586616158 ], [ 12698621.855444509536028, 4991332.661275121383369 ], [ 12695399.267505537718534, 4987469.609287921339273 ], [ 12705409.895354103296995, 4973682.252946317195892 ], [ 12698690.428250838071108, 4971617.420600734651089 ], [ 12695056.514793384820223, 4954766.321430161595345 ], [ 12697319.194763246923685, 4943110.271011243574321 ], [ 12684703.022913174703717, 4941045.575876485556364 ], [ 12674349.531032964587212, 4932586.602142069488764 ], [ 12667561.491123370826244, 4941511.811362691223621 ], [ 12641437.812260441482067, 4916734.47609581053257 ], [ 12614285.652622072026134, 4912538.462611863389611 ], [ 12607086.175874508917332, 4926192.537949656136334 ], [ 12567180.810092898085713, 4913470.885461300611496 ], [ 12561832.687796717509627, 4895620.652197725139558 ], [ 12548873.651915, 4890425.322998957708478 ], [ 12537903.116097323596478, 4900282.948866960592568 ], [ 12518567.477143984287977, 4909674.2888224106282 ], [ 12502317.280516965314746, 4903280.197956417687237 ], [ 12499574.702222291380167, 4894754.768648665398359 ], [ 12464468.87628623470664, 4836408.335679909214377 ], [ 12460217.696252329275012, 4809766.021979857236147 ], [ 12450275.641210090368986, 4810898.38961023837328 ], [ 12443693.319719484075904, 4806369.254531280137599 ], [ 12428403.142381064593792, 4814361.895030774176121 ], [ 12412358.664173031225801, 4817092.697801331058145 ], [ 12407901.877039631828666, 4811764.225772357545793 ], [ 12403102.225874589756131, 4793580.928962460719049 ], [ 12393982.933188803493977, 4782124.748119945637882 ], [ 12375607.202204575762153, 4782524.351678676903248 ], [ 12370464.798327380791306, 4774331.98176458850503 ], [ 12363608.185611460357904, 4779260.691409952938557 ], [ 12373001.769522558897734, 4798110.056103021837771 ], [ 12371424.706296490505338, 4806036.155720642767847 ], [ 12344478.265077108517289, 4794979.693816944025457 ], [ 12327542.451706293970346, 4772200.571085004135966 ], [ 12323359.955798206850886, 4760944.296042665839195 ], [ 12312389.308661038056016, 4761477.086149089969695 ], [ 12303955.744038542732596, 4776263.512939079664648 ], [ 12293533.679352002218366, 4776396.730699006468058 ], [ 12288665.455380631610751, 4766405.831851554103196 ], [ 12272278.224460445344448, 4782524.351678676903248 ], [ 12261444.722935933619738, 4787120.142991543747485 ], [ 12269398.389233622699976, 4762009.904432630166411 ], [ 12240806.42330133356154, 4749155.05622429586947 ], [ 12207894.704528810456395, 4719049.304648514837027 ], [ 12209951.666079688817263, 4712455.455258833244443 ], [ 12203300.7717827539891, 4700866.047449175268412 ], [ 12195004.241453422233462, 4693872.42819581925869 ], [ 12190753.172739008441567, 4697868.866955078206956 ], [ 12178822.728952219709754, 4681750.262192680500448 ], [ 12171554.679398328065872, 4679019.447335586883128 ], [ 12174708.694530973210931, 4668429.225500268861651 ], [ 12164629.49387607909739, 4667829.771221002563834 ], [ 12153727.530864730477333, 4653243.105456806719303 ], [ 12139602.868594916537404, 4640654.711399781517684 ], [ 12126986.696744842454791, 4608750.60756085626781 ], [ 12129797.959165336564183, 4601357.346776484511793 ], [ 12141522.7958526276052, 4592299.091170569881797 ], [ 12135763.236718473955989, 4575181.483792648650706 ], [ 12126986.696744842454791, 4568254.408538772724569 ], [ 12119513.040091453120112, 4583307.271015238016844 ], [ 12111285.082568449899554, 4586171.363818362355232 ], [ 12114576.243313753977418, 4577912.25329646281898 ], [ 12111353.655374780297279, 4570052.784455493092537 ], [ 12111559.373793765902519, 4548938.864127889275551 ], [ 12109090.975404916331172, 4534818.552084415219724 ], [ 12090578.210127523168921, 4530688.980645233765244 ], [ 12081801.670153887942433, 4535817.578927452675998 ], [ 12071585.323886334896088, 4530755.487496695481241 ], [ 12056363.719354245811701, 4528490.977741634473205 ], [ 12046901.562636816874146, 4531688.034099956043065 ], [ 12037439.517238879576325, 4526159.778116977773607 ], [ 12025303.243713617324829, 4530089.4538593608886 ], [ 12020503.703868065029383, 4549405.095858449116349 ], [ 11983546.523480623960495, 4560328.360774055123329 ], [ 11965993.666172340512276, 4571651.304550190456212 ], [ 11957902.854261994361877, 4571051.954157061874866 ], [ 11959959.815812872722745, 4578378.516260111704469 ], [ 11947892.226413426920772, 4591832.766458711586893 ], [ 11932396.33065602183342, 4601224.133695126511157 ], [ 11912854.973283698782325, 4596428.616377731785178 ], [ 11885428.522420013323426, 4604154.79385791067034 ], [ 11860744.761170495301485, 4617609.077416198328137 ], [ 11853613.857229260727763, 4624669.362111841328442 ], [ 11866847.184336293488741, 4634993.131155632436275 ], [ 11871989.588213488459587, 4646116.37698991689831 ], [ 11873635.224245883524418, 4664765.79391479305923 ], [ 11878846.200929408892989, 4681483.8821158753708 ], [ 11906066.933374106884003, 4713254.620301419869065 ], [ 11907575.423793844878674, 4729506.46925837919116 ], [ 11895507.723074911162257, 4737099.389400972053409 ], [ 11888445.503259493038058, 4752418.740817436948419 ], [ 11889679.591134428977966, 4767404.96467363089323 ], [ 11883508.706481793895364, 4776463.268230446614325 ], [ 11875966.47702207788825, 4772999.869143192656338 ], [ 11866915.757142622023821, 4775597.45061803329736 ], [ 11856219.40123076736927, 4760411.390316551551223 ], [ 11844700.282962461933494, 4763541.788143533281982 ], [ 11831535.639981249347329, 4760477.966042876243591 ], [ 11831467.067174920812249, 4742494.490184238180518 ], [ 11816108.317030172795057, 4743626.769403324462473 ], [ 11810622.937801843509078, 4733835.773262912407517 ], [ 11806646.160312743857503, 4717184.382438873872161 ], [ 11796635.532464176416397, 4708658.849730106070638 ], [ 11800269.557241125032306, 4703730.130744644440711 ], [ 11788476.147747503593564, 4691474.689644600264728 ], [ 11789367.482910284772515, 4683282.189734269864857 ], [ 11783470.778163474053144, 4670427.327945675700903 ], [ 11785870.603745996952057, 4663566.922841290943325 ], [ 11779974.010318677872419, 4631396.436507172882557 ], [ 11784979.26858321391046, 4621405.628389194607735 ], [ 11774831.495121989399195, 4605819.916601051576436 ], [ 11775448.650378946214914, 4591433.217732200399041 ], [ 11782099.544675882905722, 4579977.04926847293973 ], [ 11777574.184736154973507, 4570985.330439509823918 ], [ 11778054.083060964941978, 4559928.755522545427084 ], [ 11773254.431895921006799, 4551203.452890056185424 ], [ 11757895.681751172989607, 4548206.175968681462109 ], [ 11755221.56494333781302, 4537016.48116457555443 ], [ 11723612.618171568959951, 4537416.052070963196456 ], [ 11700917.245666598901153, 4527824.947942392900586 ], [ 11691249.481849675998092, 4520231.864143365062773 ], [ 11673696.624541392549872, 4518366.931302694603801 ], [ 11666428.574987500905991, 4514437.166022229008377 ], [ 11623917.665204383432865, 4510707.310923933051527 ], [ 11622614.893203629180789, 4504046.76055692601949 ], [ 11609175.958997102454305, 4498918.14765642862767 ], [ 11597656.840728797018528, 4495987.535643896088004 ], [ 11571464.589059537276626, 4518100.519402694888413 ], [ 11541226.987094851210713, 4548938.864127889275551 ], [ 11510646.521098522469401, 4559928.755522545427084 ], [ 11506258.306771451607347, 4584706.003753837198019 ], [ 11507081.069127904251218, 4592099.235147210769355 ], [ 11525456.800112131983042, 4601557.240406012162566 ], [ 11522439.819272654131055, 4619207.738173941150308 ], [ 11512223.473005099222064, 4636791.524734998121858 ], [ 11561591.106823628768325, 4670893.527326719835401 ], [ 11582160.944971390068531, 4706660.671855145134032 ], [ 11595942.631890069693327, 4713121.517171023413539 ], [ 11600330.957536632195115, 4733702.542904189787805 ], [ 11596971.112665509805083, 4743493.553496354259551 ], [ 11582503.697683542966843, 4764407.719767030328512 ], [ 11587371.921654915437102, 4781791.733282096683979 ], [ 11573315.832191430032253, 4787120.142991543747485 ], [ 11559328.426853764802217, 4787852.861944435164332 ], [ 11532176.267215395346284, 4777195.930303824134171 ], [ 11504269.918026901781559, 4769269.970976057462394 ], [ 11466764.26650832220912, 4735967.123910862952471 ], [ 11421579.239917369559407, 4746357.651995750144124 ], [ 11405054.752065034583211, 4758280.04917904175818 ], [ 11385856.258724354207516, 4748955.26722233556211 ], [ 11335734.546675192192197, 4735034.638597906567156 ], [ 11346362.218461226671934, 4721780.150157808326185 ], [ 11362955.27911989018321, 4706127.900338928215206 ], [ 11348076.42729995213449, 4694338.700893462635577 ], [ 11329769.269122052937746, 4673158.125267572700977 ], [ 11318867.306110704317689, 4677487.446816614829004 ], [ 11310227.911749729886651, 4672358.823213433846831 ], [ 11305908.270228987559676, 4680618.016590942628682 ], [ 11277453.338589863851666, 4693472.884916570037603 ], [ 11280470.319429343566298, 4700000.104563927277923 ], [ 11270322.545968120917678, 4701731.921135485172272 ], [ 11265385.749190419912338, 4713521.118052557110786 ], [ 11268745.482742052525282, 4724644.268022336065769 ], [ 11256335.029310964047909, 4718116.94386257790029 ], [ 11239879.225584447383881, 4714053.991418961435556 ], [ 11238987.779102176427841, 4722512.864355560392141 ], [ 11224931.80095818080008, 4725376.90279208496213 ], [ 11228154.388897156342864, 4736966.25950281880796 ], [ 11225754.563314635306597, 4750354.016943290829659 ], [ 11225685.990508306771517, 4779926.852478701621294 ], [ 11200933.656452456489205, 4777329.160421557724476 ], [ 11187494.722245929762721, 4779194.135356168262661 ], [ 11187700.440664915367961, 4790850.040465348400176 ], [ 11168296.228905249387026, 4794846.373518398031592 ], [ 11166924.884098168462515, 4808966.823317918926477 ], [ 11159793.980156932026148, 4820289.727640045806766 ], [ 11146217.900337748229504, 4822754.185450290329754 ], [ 11136481.563714496791363, 4830680.16321955062449 ], [ 11121328.420669244602323, 4834876.425639563240111 ], [ 11112140.666496619582176, 4845599.815908128395677 ], [ 11095479.03303162753582, 4849662.803294511511922 ], [ 11074977.767690194770694, 4847930.996975183486938 ], [ 11123865.39186442270875, 4875239.239214851520956 ], [ 11132230.495000081136823, 4894688.165364407002926 ], [ 11150811.833083804696798, 4906344.017625954002142 ], [ 11150811.833083804696798, 4944908.64792303647846 ], [ 11158971.217800479382277, 4956231.580336351878941 ], [ 11158354.173863012343645, 4970685.03965680859983 ], [ 11143955.220367884263396, 4993996.869134081527591 ], [ 11138332.806846387684345, 4998792.482496521435678 ], [ 11095547.6058379560709, 5002455.797404094599187 ], [ 11083617.162051169201732, 4989734.25050042476505 ], [ 11040077.660173123702407, 4991465.861736172810197 ], [ 11039872.053073627874255, 4975147.555463773198426 ], [ 11031986.959582267329097, 4964757.070730021223426 ], [ 11025267.381159512326121, 4967288.065146567299962 ], [ 11018959.350894220173359, 4980342.753048956394196 ], [ 10997361.031971018761396, 4968953.291332198306918 ], [ 10998526.658359115943313, 4954899.464409752748907 ], [ 10986047.63212169893086, 4966955.083288551308215 ], [ 10983716.379345506429672, 4978877.55309649463743 ], [ 10972745.84352782741189, 4975080.992789793759584 ], [ 10979191.019405778497458, 4964956.989747962914407 ], [ 10947650.645440338179469, 4948904.984109470620751 ], [ 10946416.446245912462473, 5000391.054001908749342 ], [ 10937160.007947470992804, 5003388.272618575021625 ], [ 10906168.216432662680745, 5026766.930283362045884 ], [ 10868045.520976614207029, 5077520.237710600718856 ], [ 10866331.312137888744473, 5082981.848630085587502 ], [ 10892249.272581832483411, 5109690.746656243689358 ], [ 10832185.394170941784978, 5246032.209621381945908 ], [ 10817238.080864164978266, 5280866.899038578383625 ], [ 10931057.696101166307926, 5259353.272641425020993 ], [ 10970140.299526320770383, 5257088.76066914293915 ], [ 11076623.40372259169817, 5246498.503828188404441 ], [ 11128527.897416807711124, 5258554.13117291033268 ], [ 11162262.37854578346014, 5256755.705575212836266 ], [ 11168159.083292594179511, 5264881.617681595496833 ], [ 11223971.892989071086049, 5262683.607866802252829 ], [ 11269979.681936476379633, 5250827.903380091302097 ], [ 11308033.804586192592978, 5239971.122484430670738 ], [ 11332717.565835712477565, 5236707.388005744665861 ], [ 11362406.696669260039926, 5195811.607328407466412 ], [ 11404574.853740224614739, 5182557.146405160427094 ], [ 11414791.200007777661085, 5185288.045803717337549 ], [ 11433852.54773580096662, 5183889.238370526582003 ], [ 11468341.218414900824428, 5165173.132864706218243 ], [ 11512497.764230413362384, 5143393.087081130594015 ], [ 11562619.587599068880081, 5131470.675628951750696 ], [ 11586137.722460487857461, 5131803.694060932844877 ], [ 11636259.545829143375158, 5142260.844139708206058 ], [ 11635573.817765856161714, 5110489.983659752644598 ], [ 11653606.684718441218138, 5108025.585391604341567 ], [ 11680004.65480668283999, 5109291.153116258792579 ], [ 11689603.845817279070616, 5098767.360672856681049 ], [ 11714219.14557996019721, 5123744.46685363445431 ], [ 11721007.185489552095532, 5123611.220972124487162 ], [ 11771128.897538714110851, 5153383.961270850151777 ], [ 11801366.610822891816497, 5165772.59607114456594 ], [ 11868835.573080841451883, 5197543.436477210372686 ], [ 11887348.338358234614134, 5204736.812801660038531 ], [ 11916900.32357912696898, 5208932.999530903063715 ], [ 11941241.332116492092609, 5215593.54669364541769 ], [ 11945012.391186604276299, 5222986.705814490094781 ], [ 11963113.830945519730449, 5229980.354794193059206 ], [ 11975112.958858124911785, 5223053.349346126429737 ], [ 12015772.625509349629283, 5221654.536816894076765 ], [ 12024960.491001464426517, 5226117.197281347587705 ], [ 12049027.096994025632739, 5230180.13299910351634 ], [ 12055746.564097287133336, 5226849.790565649978817 ], [ 12081801.670153887942433, 5227582.44063544459641 ], [ 12116633.316184122115374, 5220455.65468384232372 ], [ 12136723.144687585532665, 5229913.662406448274851 ], [ 12166275.129908476024866, 5226450.228326112963259 ], [ 12194387.197515955194831, 5231978.477896261960268 ], [ 12209951.666079688817263, 5245099.690379036590457 ], [ 12234704.000135537236929, 5256689.126233250834048 ], [ 12257193.654221519827843, 5257754.754867780953646 ], [ 12260690.533385809510946, 5262616.986582919023931 ], [ 12293807.970577316358685, 5278735.523378710262477 ], [ 12297441.995354263111949, 5287527.475845841690898 ], [ 12315406.289500517770648, 5302247.322360010817647 ], [ 12327131.014868320897222, 5325625.784737604670227 ], [ 12330833.61245159432292, 5327091.08350588940084 ], [ 12358739.961640087887645, 5362325.540307499468327 ], [ 12376909.974205330014229, 5372449.540745101869106 ], [ 12395902.749127022922039, 5378577.166103919036686 ], [ 12407284.721782673150301, 5387502.288267032243311 ], [ 12419283.849695280194283, 5386902.931204618886113 ], [ 12444858.94610758125782, 5414810.629082166589797 ], [ 12462343.341929025948048, 5418074.27410875633359 ], [ 12463303.249898135662079, 5438122.616961776278913 ], [ 12453361.194855898618698, 5456172.711483433842659 ], [ 12442527.693331386893988, 5467096.015380498021841 ], [ 12430254.38551295734942, 5474888.790541040711105 ], [ 12418735.267244651913643, 5492006.396080560982227 ], [ 12412907.135304169729352, 5511055.614058176055551 ], [ 12402759.361842945218086, 5520913.290705841965973 ], [ 12409753.120171522721648, 5541427.748537614941597 ], [ 12419900.893632747232914, 5555081.854676940478384 ], [ 12418872.412857308983803, 5566138.405950867570937 ], [ 12426003.316798543557525, 5586719.399538499303162 ], [ 12441567.785362277179956, 5616691.896472509019077 ], [ 12455486.729213103652, 5628680.916667741723359 ], [ 12468102.901063179597259, 5635807.722641165368259 ], [ 12480444.781687939539552, 5633010.296138437464833 ], [ 12516647.66120576299727, 5632810.423126821406186 ], [ 12527961.061055084690452, 5621687.418446760624647 ], [ 12534543.382545689120889, 5610630.788519489578903 ], [ 12562449.731734184548259, 5596443.817265495657921 ], [ 12572186.068357437849045, 5596377.252452353946865 ], [ 12591933.14414874650538, 5590049.70895620342344 ], [ 12635198.354801477864385, 5586586.25654807779938 ], [ 12649391.47855812869966, 5581524.197620478458703 ], [ 12680109.090167116373777, 5608166.392710360698402 ], [ 12697661.947475399821997, 5610697.45839181356132 ], [ 12711649.464132556691766, 5627282.255556424148381 ], [ 12729065.287147672846913, 5640336.937174239195883 ], [ 12748263.780488353222609, 5666313.088776138611138 ], [ 12751760.548333151265979, 5682764.666371384635568 ], [ 12773358.867256352677941, 5690823.867797749117017 ], [ 12798865.502181816846132, 5681099.560185249894857 ], [ 12818818.185072621330619, 5684030.106760141439736 ], [ 12842336.319934045895934, 5683497.309683985076845 ], [ 12879636.253033636137843, 5694154.200020001269877 ], [ 12906034.22312187962234, 5721728.934683633968234 ], [ 12917004.758939556777477, 5730054.575497343204916 ], [ 12932500.654696961864829, 5730587.446715403348207 ], [ 12944979.680934378877282, 5744374.771974286064506 ], [ 12945185.399353366345167, 5754565.356121469289064 ], [ 12940111.568282499909401, 5760493.315957920625806 ], [ 12943334.156221475452185, 5775013.195561968721449 ], [ 12959172.916010521352291, 5801855.304265690036118 ], [ 12961984.067111525684595, 5802454.673532582819462 ], [ 12978234.263738548383117, 5827298.598629716783762 ], [ 12996061.412272142246366, 5833026.723803389817476 ], [ 13005043.559345273301005, 5841552.151264366693795 ], [ 13035212.699823120608926, 5837755.745882963761687 ], [ 13065793.165819449350238, 5838288.51850426569581 ], [ 13068055.845789313316345, 5854873.319212698377669 ], [ 13074226.730441948398948, 5865396.937107770703733 ], [ 13071141.288115629926324, 5874122.23925681039691 ], [ 13079574.852738128975034, 5877119.549982161261141 ], [ 13093699.515007941052318, 5876386.934329556301236 ], [ 13102750.234887398779392, 5863532.04220762476325 ], [ 13121331.572971120476723, 5868927.035160897299647 ], [ 13126199.796942491084337, 5878318.404382523149252 ], [ 13140872.930343443527818, 5882115.019818876869977 ], [ 13149512.213384928181767, 5889707.991481546312571 ], [ 13157123.126970466226339, 5890440.584632621146739 ], [ 13170904.925208635628223, 5899632.164352681487799 ], [ 13185440.912996931001544, 5893970.708335751667619 ], [ 13200936.808754334226251, 5892105.73777621705085 ], [ 13206833.513501146808267, 5896701.520480737090111 ], [ 13223426.462840320542455, 5891173.239010356366634 ], [ 13229803.065911939367652, 5904894.030343383550644 ], [ 13237482.552303804084659, 5905426.827589489519596 ], [ 13237276.833884818479419, 5898633.08548491820693 ], [ 13248315.942508824169636, 5900631.357201295904815 ], [ 13260726.395939912647009, 5883979.974331508390605 ], [ 13276290.864503646269441, 5884979.005934178829193 ], [ 13288701.317934734746814, 5877519.095914366655052 ], [ 13295078.032325845211744, 5883313.908378886990249 ], [ 13320104.546287516131997, 5881182.448061245493591 ], [ 13322435.79906371049583, 5874521.972744308412075 ], [ 13334229.208557328209281, 5881249.06862086802721 ], [ 13337588.942108960822225, 5888109.479685518890619 ], [ 13348490.905120311304927, 5888309.338557540439069 ], [ 13351096.449121819809079, 5895302.887651770375669 ], [ 13350410.832378022372723, 5926407.565735813230276 ], [ 13342731.345986157655716, 5928538.985820529051125 ], [ 13335531.980558084324002, 5944191.363563538528979 ], [ 13336834.752558836713433, 5951051.685900457203388 ], [ 13326755.551903944462538, 5974097.133424476720393 ], [ 13310231.064051607623696, 5982689.34757068939507 ], [ 13309339.7288888245821, 5991681.08718540892005 ], [ 13301248.916978480294347, 5996010.379565469920635 ], [ 13286370.065158542245626, 6012861.590845366939902 ], [ 13287741.409965625032783, 6020321.365140910260379 ], [ 13263948.983878886327147, 6030778.53629451803863 ], [ 13261960.595134338364005, 6051226.427296524867415 ], [ 13221780.826807921752334, 6068876.878965607844293 ], [ 13198948.420009786263108, 6105576.419926142320037 ], [ 13182903.941801752895117, 6109306.397619820199907 ], [ 13169053.570757253095508, 6107707.827389997430146 ], [ 13161442.768491206690669, 6114168.500323787331581 ], [ 13131410.773626016452909, 6108707.00288572628051 ], [ 13114954.96989949978888, 6109572.827210500836372 ], [ 13079300.672832306474447, 6066745.469713188707829 ], [ 13067164.399307038635015, 6047363.251956213265657 ], [ 13034938.408597802743316, 6077602.109371837228537 ], [ 13010940.264092082157731, 6089191.475322137586772 ], [ 12987627.847649645060301, 6088658.725234551355243 ], [ 12963492.557531263679266, 6079866.725427429191768 ], [ 12942648.539477676153183, 6086394.117214221507311 ], [ 12925438.43488154746592, 6075603.964943232014775 ], [ 12906308.514347195625305, 6054290.16979758720845 ], [ 12866334.464439766481519, 6093853.824647820554674 ], [ 12860643.478111945092678, 6132684.998154274187982 ], [ 12893349.478465478867292, 6150135.481322228908539 ], [ 12890743.93446397036314, 6192962.990409252233803 ], [ 12894172.240821933373809, 6200555.958831918425858 ], [ 12921735.837298272177577, 6244781.971086627803743 ], [ 12918444.676552968099713, 6253440.771718907169998 ], [ 12992975.969945825636387, 6419887.959660972468555 ], [ 12995032.931496703997254, 6419887.959660972468555 ], [ 13032058.573370983824134, 6393711.985546685755253 ], [ 13055371.101132912561297, 6383521.226477833464742 ], [ 13078409.226350031793118, 6382988.398546216078103 ], [ 13114474.960255201905966, 6363739.448514614254236 ], [ 13120988.820258967578411, 6376061.456407042220235 ], [ 13133536.419302714988589, 6380923.752822729758918 ], [ 13145123.999057859182358, 6380390.91835361532867 ], [ 13149306.606285434216261, 6389249.37806430645287 ], [ 13158631.506070714443922, 6391847.028701323084533 ], [ 13160825.613234249874949, 6400372.473788564093411 ], [ 13178927.052993161603808, 6409297.653938977047801 ], [ 13179681.353862777352333, 6415092.329093204811215 ], [ 13190857.608099441975355, 6419155.328897980973125 ], [ 13189760.554517673328519, 6423284.72661483194679 ], [ 13199702.6095599103719, 6434407.971994559280574 ], [ 13218284.058963123708963, 6437005.527089639566839 ], [ 13239128.077016711235046, 6444465.416024306789041 ], [ 13257298.08958195336163, 6443865.837394721806049 ], [ 13265183.183073312044144, 6451059.300201824866235 ], [ 13268200.052593301981688, 6461449.70489785540849 ], [ 13274165.330146437510848, 6459851.243436623364687 ], [ 13287124.366028156131506, 6480365.72137950360775 ], [ 13282530.433282099664211, 6484628.434230986982584 ], [ 13286918.647609172388911, 6508673.118171366862953 ], [ 13275948.111791495233774, 6506275.294534037820995 ], [ 13261000.687165228649974, 6513934.921458530239761 ], [ 13274919.519696561619639, 6524325.394756784662604 ], [ 13278484.971667183563113, 6551700.276906640268862 ], [ 13287261.511640815064311, 6556562.365281035192311 ], [ 13289729.798710172995925, 6565287.690534858964384 ], [ 13297134.993876725435257, 6567619.050225916318595 ], [ 13303443.024142015725374, 6579674.516581814736128 ], [ 13301728.926622778177261, 6599922.655820062384009 ], [ 13317567.686411827802658, 6623101.367698950693011 ], [ 13327852.605485709384084, 6630161.50733136665076 ], [ 13334777.679688468575478, 6650809.310221768915653 ], [ 13331692.237362151965499, 6658935.177829917520285 ], [ 13352193.502703584730625, 6686443.231529532931745 ], [ 13358638.678581535816193, 6702961.415024477057159 ], [ 13356718.862643314525485, 6711153.840918924659491 ], [ 13364123.946490373462439, 6719746.043459607288241 ], [ 13362272.703358480706811, 6725673.786021160893142 ], [ 13368032.262492634356022, 6742125.466850033961236 ], [ 13377562.992016389966011, 6742458.491823245771229 ], [ 13398818.446907950565219, 6762240.224183613434434 ], [ 13402726.651590719819069, 6769833.276669952087104 ], [ 13411777.371470177546144, 6773962.914149841293693 ], [ 13411914.517082832753658, 6779491.187446650117636 ], [ 13431455.874455157667398, 6786817.723989254795015 ], [ 13438381.05997740663588, 6802736.451086224988103 ], [ 13434678.462394133210182, 6806799.475693758577108 ], [ 13441535.075110053643584, 6814059.309644944965839 ], [ 13445923.289437122642994, 6828712.51773804333061 ], [ 13441260.783884737640619, 6837637.690500273369253 ], [ 13442426.410272834822536, 6846962.468796082772315 ], [ 13428164.713709853589535, 6858951.487311155535281 ], [ 13427753.276871882379055, 6865678.706609558314085 ], [ 13434952.753619445487857, 6877800.785081095993519 ], [ 13435089.899232102558017, 6893985.979658686555922 ], [ 13439340.967946518212557, 6896450.414426786825061 ], [ 13410406.13798258267343, 6917431.078534627333283 ], [ 13403275.234041348099709, 6912635.476728180423379 ], [ 13390384.770965961739421, 6913634.637428396381438 ], [ 13380236.997504737228155, 6905508.718959836289287 ], [ 13363849.766584547236562, 6909105.395961167290807 ], [ 13362272.703358480706811, 6917830.856697843410075 ], [ 13366249.592167070135474, 6928820.720812767744064 ], [ 13362615.567390123382211, 6942408.206804180517793 ], [ 13383116.832731558009982, 6953997.642636519856751 ], [ 13397378.529294539242983, 6965653.535889788530767 ], [ 13409034.793175501748919, 6985102.449771248735487 ], [ 13419525.319348877295852, 6997091.417326158843935 ], [ 13430015.956841746345162, 7002752.852601177059114 ], [ 13440300.875915627926588, 7020936.206882000900805 ], [ 13451888.56699026376009, 7028862.215574721805751 ], [ 13456619.645348975434899, 7037654.111261643469334 ], [ 13484045.984893169254065, 7034457.102105527184904 ], [ 13501461.807908287271857, 7037054.609102641232312 ], [ 13508318.420624207705259, 7043715.177091335877776 ], [ 13525254.233995022252202, 7045580.20400080177933 ], [ 13537801.833038767799735, 7031326.510783758014441 ], [ 13545344.062498485669494, 7027596.68603365495801 ], [ 13543698.537785580381751, 7014608.688097790814936 ], [ 13553640.592827817425132, 7010146.090093437582254 ], [ 13560702.923962725326419, 6994427.065659836865962 ], [ 13557137.471992107108235, 6986434.5320108756423 ], [ 13549320.951307075098157, 6982637.97117112763226 ], [ 13543424.246560266241431, 6966852.420249539427459 ], [ 13537596.114619782194495, 6963122.532873956486583 ], [ 13535470.580262577161193, 6950600.73485567048192 ], [ 13522717.26279984600842, 6940942.857699253596365 ], [ 13511198.144531538709998, 6924624.626405407674611 ], [ 13489942.689639979973435, 6909238.637164886109531 ], [ 13505918.595041684806347, 6904309.81817886326462 ], [ 13515997.795696580782533, 6890922.132862944155931 ], [ 13527448.34115856140852, 6883129.327979872003198 ], [ 13540887.275365086272359, 6880864.750000794418156 ], [ 13549183.805694416165352, 6857819.235670248046517 ], [ 13563308.356644740328193, 6851425.009273711591959 ], [ 13575170.338944688439369, 6854289.096053009852767 ], [ 13591146.244346396997571, 6877734.33297630213201 ], [ 13599785.527387881651521, 6893519.706528972834349 ], [ 13604105.168908623978496, 6885393.812725285999477 ], [ 13615555.714370600879192, 6886526.111467573791742 ], [ 13619052.593534890562296, 6875336.399883347563446 ], [ 13634891.353323938325047, 6862148.58477595448494 ], [ 13634205.625260652974248, 6853889.55157121643424 ], [ 13646204.753173258155584, 6848427.88025270588696 ], [ 13665677.537739254534245, 6848494.454850723966956 ], [ 13666637.445708364248276, 6832708.925643590278924 ], [ 13651004.404338302090764, 6824849.39460214227438 ], [ 13657106.716184604912996, 6795542.96577038243413 ], [ 13661837.794543320313096, 6796275.780021515674889 ], [ 13659575.114573458209634, 6780290.37017513718456 ], [ 13666911.736933678388596, 6760375.412554574199021 ], [ 13664374.765738500282168, 6754447.4985137777403 ], [ 13676305.209525287151337, 6729337.217380445450544 ], [ 13676099.491106299683452, 6706224.99328841548413 ], [ 13681584.870334630832076, 6695101.880286510102451 ], [ 13688509.94453739002347, 6690039.836894138716161 ], [ 13689881.289344472810626, 6680115.611593139357865 ], [ 13698863.436417600139976, 6678450.484715132042766 ], [ 13725055.688086859881878, 6666394.987122034654021 ], [ 13744117.035814879462123, 6672256.313673863187432 ], [ 13774286.0649732388556, 6616707.226279612630606 ], [ 13784228.231334967538714, 6588399.874949609860778 ], [ 13812134.580523461103439, 6544573.38601100910455 ], [ 13801781.088643250986934, 6535115.430976692587137 ], [ 13804180.914225772023201, 6521860.991266949102283 ], [ 13794718.757508344948292, 6511137.437676900066435 ], [ 13781416.968914473429322, 6525590.830196427181363 ], [ 13778879.997719295322895, 6506142.024931632913649 ], [ 13789233.489599505439401, 6493220.520850242115557 ], [ 13790124.824762288480997, 6482497.065082466229796 ], [ 13798489.92789794690907, 6478700.680059045553207 ], [ 13804455.205451088026166, 6484362.070142293348908 ], [ 13810488.944491064175963, 6480831.944100664928555 ], [ 13815082.877237120643258, 6487692.322934038005769 ], [ 13824682.179567206650972, 6483895.823080433532596 ], [ 13834624.234609443694353, 6486426.920018278062344 ], [ 13839766.749806132167578, 6477235.351319747045636 ], [ 13844634.862458011135459, 6491089.207223851233721 ], [ 13844154.964133203029633, 6509006.049029789865017 ], [ 13852588.528755700215697, 6513868.224731471389532 ], [ 13859239.423052636906505, 6515466.824290484189987 ], [ 13859788.005503261461854, 6505809.034732963889837 ], [ 13868015.963026268407702, 6497483.398067072965205 ], [ 13872609.784452833235264, 6486160.498198398388922 ], [ 13867673.098994623869658, 6477435.082536594942212 ], [ 13860199.331021746620536, 6474504.434946050867438 ], [ 13870964.259739927947521, 6458519.1378069864586 ], [ 13879397.824362425133586, 6451791.968446668237448 ], [ 13876038.090810792520642, 6445397.852621824480593 ], [ 13877752.299649517983198, 6423484.549031510017812 ], [ 13884951.776397082954645, 6414759.341575252823532 ], [ 13886185.864272017031908, 6405034.890560967847705 ], [ 13895373.729764129966497, 6420287.619247805327177 ], [ 13911898.217616466805339, 6417689.915113552473485 ], [ 13907715.610388891771436, 6423218.235342161729932 ], [ 13912446.68874760530889, 6429079.44725298602134 ], [ 13925611.443048309534788, 6410962.842625104822218 ], [ 13934730.624414600431919, 6416824.078334125690162 ], [ 13939735.993998629972339, 6411562.302160165272653 ], [ 13939393.129966987296939, 6389182.813114391639829 ], [ 13929656.793343737721443, 6389648.950896956957877 ], [ 13941038.76599938608706, 6375928.193134148605168 ], [ 13940353.149255588650703, 6357878.250297077931464 ], [ 13944329.926744690164924, 6353548.750340708531439 ], [ 13944055.635519372299314, 6329104.63682880345732 ], [ 13939393.129966987296939, 6306991.628710270859301 ], [ 13928011.157311338931322, 6296268.063675311394036 ], [ 13904561.595256242901087, 6306125.734110453166068 ], [ 13893522.48663224093616, 6293337.410304585471749 ], [ 13893591.059438567608595, 6278351.225403278134763 ], [ 13882551.950814561918378, 6261366.732985413633287 ], [ 13881249.178813809528947, 6248045.617260918952525 ], [ 13876380.954842435196042, 6237122.354582770727575 ], [ 13868084.424513105303049, 6206683.62467254884541 ], [ 13861570.675828827545047, 6199889.918148558586836 ], [ 13865478.99183108843863, 6185036.798634354025126 ], [ 13860130.869534907862544, 6181306.878681464120746 ], [ 13861364.957409840077162, 6169983.939530017785728 ], [ 13868152.997319435700774, 6157595.339180525392294 ], [ 13868015.963026268407702, 6148869.984077660366893 ], [ 13855262.64556353725493, 6123093.716025380417705 ], [ 13855673.971082014963031, 6136681.213483932428062 ], [ 13850257.275979505851865, 6137147.501726487651467 ], [ 13848680.324072930961847, 6151001.491023975424469 ], [ 13839012.448936516419053, 6164922.024083473719656 ], [ 13838601.123418033123016, 6191098.022283745929599 ], [ 13832498.700252236798406, 6196559.655889882706106 ], [ 13832498.700252236798406, 6196559.655889882706106 ], [ 13812408.871748775243759, 6179708.385712281800807 ], [ 13789507.78082481957972, 6153732.19498267583549 ], [ 13775383.229874497279525, 6139811.658453842625022 ], [ 13752139.274918898940086, 6110505.312715882435441 ], [ 13725741.304830653592944, 6099182.37888031359762 ], [ 13717787.638532964512706, 6080399.594596040435135 ], [ 13710793.991523876786232, 6070941.553121460601687 ], [ 13676168.063912631943822, 6053357.805326886475086 ], [ 13665951.717645077034831, 6042767.438381793908775 ], [ 13647096.088336041197181, 6031910.824256895110011 ], [ 13641473.674814542755485, 6023318.642107028514147 ], [ 13637428.32451911829412, 6007866.154538797214627 ], [ 13627554.730963716283441, 5999473.923863527365029 ], [ 13642913.592427954077721, 5970300.619479096494615 ], [ 13656626.81785979680717, 5957445.827871389687061 ], [ 13675139.58313718996942, 5949719.47598587628454 ], [ 13667597.353677473962307, 5942526.218654883094132 ], [ 13669654.31522835418582, 5932002.512155919335783 ], [ 13680624.851046029478312, 5935599.200505449436605 ], [ 13681927.623046781867743, 5910688.763660633005202 ], [ 13695229.411640651524067, 5896301.911513746716082 ], [ 13710519.700298562645912, 5899765.361821160651743 ], [ 13716964.876176511868834, 5917682.314330848865211 ], [ 13726701.324119254946709, 5919613.795165086165071 ], [ 13733969.262353658676147, 5915617.493665548972785 ], [ 13737328.995905291289091, 5931536.238351413048804 ], [ 13751110.794143456965685, 5933068.188031303696334 ], [ 13746105.424559431150556, 5916949.71671743504703 ], [ 13754950.537339391186833, 5913685.919186802580953 ], [ 13756527.489245969802141, 5924342.800431896001101 ], [ 13761944.184348480775952, 5917215.990374887362123 ], [ 13762629.912411767989397, 5897900.456760642118752 ], [ 13759475.897279119119048, 5891506.40199654456228 ], [ 13733077.927190875634551, 5889641.306639911606908 ], [ 13723067.299342308193445, 5886910.584302348084748 ], [ 13717719.177046127617359, 5875121.445117239840329 ], [ 13712439.51623678393662, 5879317.439766932278872 ], [ 13697423.630123676732183, 5879850.305141724646091 ], [ 13692555.406152309849858, 5872856.752498310059309 ], [ 13693583.886927748098969, 5850344.111815430223942 ], [ 13712165.2250114697963, 5820171.837721990421414 ], [ 13703731.66038897074759, 5807982.962346590124071 ], [ 13704828.713970739394426, 5801189.314645970240235 ], [ 13697423.630123676732183, 5796393.613598927855492 ], [ 13669242.878390381112695, 5792064.234428376890719 ], [ 13673219.767198968678713, 5766287.954934655688703 ], [ 13664717.518450651317835, 5753899.392987500876188 ], [ 13669174.416903540492058, 5742975.961025602184236 ], [ 13663551.892062555998564, 5733251.643173295073211 ], [ 13655735.37137752585113, 5732518.893809811212122 ], [ 13652307.065019564703107, 5743775.323047026060522 ], [ 13642776.446815298870206, 5751767.943236364983022 ], [ 13637154.0332938041538, 5746306.338261271826923 ], [ 13636194.125324692577124, 5757629.301383893936872 ], [ 13630640.284609522670507, 5767020.611217161640525 ], [ 13621315.273504754528403, 5767153.900678573176265 ], [ 13622480.89989285171032, 5757296.198793700896204 ], [ 13609796.155236447229981, 5747505.13857193198055 ], [ 13603350.979358498007059, 5757429.342429229058325 ], [ 13591146.244346396997571, 5761425.698704178445041 ], [ 13585455.25801857188344, 5773747.746402276679873 ], [ 13563514.075063725933433, 5784271.422401572577655 ], [ 13554531.927990600466728, 5780275.184741605073214 ], [ 13559742.904674122110009, 5774080.826123327948153 ], [ 13560634.351156394928694, 5760426.640988485887647 ], [ 13553640.592827817425132, 5747571.876375501975417 ], [ 13541367.285009386017919, 5740778.045612500980496 ], [ 13549115.232888087630272, 5732718.772041263990104 ], [ 13559948.623093111440539, 5730321.007124471478164 ], [ 13566188.191871562972665, 5735582.751147512346506 ], [ 13575307.484557347372174, 5734184.045062265358865 ], [ 13581341.223597325384617, 5720196.944797522388399 ], [ 13577227.300495568662882, 5715867.598194153979421 ], [ 13583603.903567187488079, 5699016.412702998146415 ], [ 13599168.372130922973156, 5691689.812677934765816 ], [ 13597385.701805360615253, 5668178.006664467044175 ], [ 13607602.048072911798954, 5665114.214185077697039 ], [ 13606573.567297473549843, 5654124.240078471601009 ], [ 13596905.692161059007049, 5650394.303454040549695 ], [ 13593203.205897273495793, 5643933.605508886277676 ], [ 13594300.25947904214263, 5632344.175089768134058 ], [ 13589294.88989501260221, 5622553.180927557870746 ], [ 13589774.899539314210415, 5608033.248011947609484 ], [ 13586483.738794010132551, 5607833.4560482557863 ], [ 13593751.67702841386199, 5586386.467323619872332 ], [ 13598962.765031427145004, 5578859.94541977532208 ], [ 13592448.905027657747269, 5570334.461965993046761 ], [ 13595603.031479794532061, 5555281.737030254676938 ], [ 13602802.396907869726419, 5552484.252749913372099 ], [ 13606367.848878487944603, 5540028.921478190459311 ], [ 13612813.024756437167525, 5539695.980819389224052 ], [ 13613430.180013393983245, 5513586.668483245186508 ], [ 13611167.500043530017138, 5505061.157143978402019 ], [ 13616515.622339710593224, 5501530.938098736107349 ], [ 13634822.780517609789968, 5502197.00371010042727 ], [ 13656283.95382815413177, 5509856.75008300691843 ], [ 13665677.537739254534245, 5522844.712400722317398 ], [ 13676305.209525287151337, 5527307.356087137013674 ], [ 13695092.37734748609364, 5542027.133317469619215 ], [ 13706268.631584150716662, 5544624.715520662255585 ], [ 13706611.384296301752329, 5522378.480458864942193 ], [ 13714222.297881839796901, 5518981.655185835435987 ], [ 13728346.848832160234451, 5493338.586398376151919 ], [ 13735340.607160739600658, 5490541.102012347429991 ], [ 13728826.858476461842656, 5478418.82291897200048 ], [ 13729306.756801271811128, 5469826.743958004750311 ], [ 13736917.670386806130409, 5462233.800118675455451 ], [ 13750767.93011181615293, 5418473.958255656063557 ], [ 13749259.551011567935348, 5402621.794659521430731 ], [ 13741168.739101219922304, 5400290.598106620833278 ], [ 13741168.739101219922304, 5400290.598106620833278 ], [ 13726221.314474953338504, 5396227.737880025058985 ], [ 13727455.513669380918145, 5387169.307335594668984 ], [ 13734929.170322768390179, 5383639.217658637091517 ], [ 13739043.204744016751647, 5374580.816257324069738 ], [ 13746448.288591073825955, 5380042.547596573829651 ], [ 13760024.368410259485245, 5367920.328264565207064 ], [ 13770652.15151578374207, 5368586.453084580600262 ] ] ], [ [ [ 13812134.580523461103439, 6544573.38601100910455 ], [ 13784228.231334967538714, 6588399.874949609860778 ], [ 13774286.0649732388556, 6616707.226279612630606 ], [ 13744117.035814879462123, 6672256.313673863187432 ], [ 13765989.645963398739696, 6677917.722907073795795 ], [ 13771474.913872236385942, 6692038.120479127392173 ], [ 13786079.474466860294342, 6686576.424092614091933 ], [ 13795404.485571630299091, 6674654.046015627682209 ], [ 13811585.9980728328228, 6678250.806292907334864 ], [ 13817894.13965761475265, 6682979.739648016169667 ], [ 13830236.020282372832298, 6682446.860588230192661 ], [ 13833870.045059319585562, 6675986.106986324302852 ], [ 13848885.931172426789999, 6669525.475286211818457 ], [ 13852245.664724055677652, 6684112.089418961666524 ], [ 13858210.942277194932103, 6688841.030177884735167 ], [ 13868975.870995378121734, 6685843.802737040445209 ], [ 13873364.085322448983788, 6679449.662633988074958 ], [ 13880837.741975836455822, 6680382.148913975805044 ], [ 13890848.369824403896928, 6690972.462965884245932 ], [ 13899830.516897531226277, 6688707.800664684735239 ], [ 13908538.484064834192395, 6700830.063456649892032 ], [ 13907029.993645096197724, 6709954.966983059421182 ], [ 13920194.636626306921244, 6715549.909495662897825 ], [ 13925954.195760460570455, 6738595.343280836008489 ], [ 13929451.074924750253558, 6734465.708682147786021 ], [ 13954066.263367939740419, 6732401.049748413264751 ], [ 13978064.407873662188649, 6702295.38597834482789 ], [ 13978064.407873662188649, 6702295.38597834482789 ], [ 13981218.423006311058998, 6695368.371835787780583 ], [ 13981218.423006311058998, 6695368.371835787780583 ], [ 13981492.714231625199318, 6694968.727019802667201 ], [ 13981492.714231625199318, 6694968.727019802667201 ], [ 13981835.578263266012073, 6694768.822710025124252 ], [ 13981835.578263266012073, 6694768.822710025124252 ], [ 13984372.549458445981145, 6690173.088149516843259 ], [ 13984372.549458445981145, 6690173.088149516843259 ], [ 13986155.219784008339047, 6687442.317880354821682 ], [ 13986155.219784008339047, 6687442.317880354821682 ], [ 13989309.234916655346751, 6682979.739648016169667 ], [ 13989309.234916655346751, 6682979.739648016169667 ], [ 13989583.526141969487071, 6682646.641606595367193 ], [ 13989583.526141969487071, 6682646.641606595367193 ], [ 13997674.338052315637469, 6670258.058388936333358 ], [ 13997674.338052315637469, 6670258.058388936333358 ], [ 13999182.717152563855052, 6661666.036939332261682 ], [ 14008507.728257335722446, 6660400.468561517074704 ], [ 14012690.224165419116616, 6649543.821826226077974 ], [ 14032848.736794702708721, 6629029.337746772915125 ], [ 14030037.474374208599329, 6623234.595104472711682 ], [ 14034425.688701277598739, 6614842.307656597346067 ], [ 14014061.568972503766418, 6587001.110269388183951 ], [ 13999388.435571549460292, 6576610.658832291141152 ], [ 14006862.203544428572059, 6569084.306666852906346 ], [ 14002611.02351052314043, 6564421.944904087111354 ], [ 14007273.529062911868095, 6544107.240487618371844 ], [ 13997400.046827001497149, 6537379.975575749762356 ], [ 13985332.457427557557821, 6523526.161703985184431 ], [ 13980669.951875170692801, 6524991.481294169090688 ], [ 13972784.858383808284998, 6501146.658934311009943 ], [ 13966819.580830672755837, 6497949.538202604278922 ], [ 13964899.76489245146513, 6483829.193643032573164 ], [ 13952146.447429720312357, 6474904.118408772163093 ], [ 13943712.882807221263647, 6464247.144612851552665 ], [ 13947689.660296320915222, 6451325.812075773254037 ], [ 13940695.90196773968637, 6438937.181476824916899 ], [ 13941587.237130522727966, 6419421.685563021339476 ], [ 13934730.624414600431919, 6416824.078334125690162 ], [ 13925611.443048309534788, 6410962.842625104822218 ], [ 13912446.68874760530889, 6429079.44725298602134 ], [ 13907715.610388891771436, 6423218.235342161729932 ], [ 13911898.217616466805339, 6417689.915113552473485 ], [ 13895373.729764129966497, 6420287.619247805327177 ], [ 13886185.864272017031908, 6405034.890560967847705 ], [ 13884951.776397082954645, 6414759.341575252823532 ], [ 13877752.299649517983198, 6423484.549031510017812 ], [ 13876038.090810792520642, 6445397.852621824480593 ], [ 13879397.824362425133586, 6451791.968446668237448 ], [ 13870964.259739927947521, 6458519.1378069864586 ], [ 13860199.331021746620536, 6474504.434946050867438 ], [ 13867673.098994623869658, 6477435.082536594942212 ], [ 13872609.784452833235264, 6486160.498198398388922 ], [ 13868015.963026268407702, 6497483.398067072965205 ], [ 13859788.005503261461854, 6505809.034732963889837 ], [ 13859239.423052636906505, 6515466.824290484189987 ], [ 13852588.528755700215697, 6513868.224731471389532 ], [ 13852588.528755700215697, 6540310.711521957069635 ], [ 13839561.031387142837048, 6539045.122503971680999 ], [ 13835789.860997540876269, 6542641.857342612929642 ], [ 13812134.580523461103439, 6544573.38601100910455 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 210000, "name": "辽宁省", "adchar": null, "childrenNum": 14.0, "level": "province", "subFeatureIndex": 5.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13273685.431821631267667, 5058870.652118306607008 ], [ 13283353.195638552308083, 5061068.702874683775008 ], [ 13281021.94286236166954, 5071858.842821438796818 ], [ 13288907.036353722214699, 5074789.47927884105593 ], [ 13292198.197099022567272, 5087644.247520902194083 ], [ 13287261.511640815064311, 5096036.668459612876177 ], [ 13293295.250680791214108, 5099766.472128596156836 ], [ 13281296.23408767580986, 5109823.948200664483011 ], [ 13279787.743667935952544, 5127474.462441955693066 ], [ 13284244.530801333487034, 5141461.492349459789693 ], [ 13283147.477219568565488, 5156381.242794960737228 ], [ 13289866.94432283192873, 5174431.254076022654772 ], [ 13282187.569250456988811, 5178827.321134530939162 ], [ 13273479.713402641937137, 5191149.208106919191778 ], [ 13278690.690086167305708, 5200807.074982506223023 ], [ 13293295.250680791214108, 5207467.630135968327522 ], [ 13302963.125817205756903, 5219256.773756713606417 ], [ 13310711.073695907369256, 5214994.093857739120722 ], [ 13307351.340144276618958, 5204869.994138095527887 ], [ 13329909.567036585882306, 5192747.774728575721383 ], [ 13341291.539692237973213, 5193280.589888240210712 ], [ 13340263.058916795998812, 5181291.591741661541164 ], [ 13357198.872287614271045, 5145857.483813029713929 ], [ 13364123.946490373462439, 5127474.462441955693066 ], [ 13362341.276164809241891, 5117350.306559856981039 ], [ 13369060.743268072605133, 5115685.157003046944737 ], [ 13379345.662341956049204, 5138264.454712992534041 ], [ 13399915.50048971734941, 5160177.774116910994053 ], [ 13409171.938788160681725, 5163441.34568805526942 ], [ 13410268.992369927465916, 5176762.496545840986073 ], [ 13423365.062544813379645, 5186087.328062064014375 ], [ 13427890.422484539449215, 5184155.769265477545559 ], [ 13441329.356691066175699, 5194546.089399716816843 ], [ 13446334.726275095716119, 5193746.846476388163865 ], [ 13462242.058870473876595, 5202938.521274614147842 ], [ 13477326.517789904028177, 5198875.527108242735267 ], [ 13501393.235101956874132, 5219256.773756713606417 ], [ 13503587.34226549230516, 5226450.228326112963259 ], [ 13503587.34226549230516, 5226450.228326112963259 ], [ 13512912.353370264172554, 5232444.681914646178484 ], [ 13536979.070682317018509, 5235308.817486697807908 ], [ 13543767.110591907054186, 5226716.601275763474405 ], [ 13570370.687779646366835, 5246698.329668412916362 ], [ 13574347.46526874601841, 5264681.708547187969089 ], [ 13588952.137182861566544, 5268145.280800533480942 ], [ 13603693.732070650905371, 5263949.047596622258425 ], [ 13603625.270583814010024, 5271142.438104590401053 ], [ 13618709.729503246024251, 5261884.334988962858915 ], [ 13624949.298281699419022, 5263949.047596622258425 ], [ 13631874.483803950250149, 5277669.789455936290324 ], [ 13622686.618311833590269, 5277736.517502945847809 ], [ 13620081.074310328811407, 5286195.407224266789854 ], [ 13629611.803834084421396, 5288126.854575671255589 ], [ 13643736.354784408584237, 5285529.367941856384277 ], [ 13650524.394694, 5277536.638088100589812 ], [ 13662523.411287117749453, 5279534.865279126912355 ], [ 13668488.688840257003903, 5274939.047507422976196 ], [ 13668488.688840257003903, 5274939.047507422976196 ], [ 13673494.058424282819033, 5269810.418589854612947 ], [ 13679733.515883246436715, 5277070.471521041356027 ], [ 13698794.863611271604896, 5276870.606279774568975 ], [ 13717650.604239797219634, 5286395.167511322535574 ], [ 13711205.317042358219624, 5290657.936525700613856 ], [ 13712782.380268428474665, 5300715.370697046630085 ], [ 13721147.483404086902738, 5310905.979676250368357 ], [ 13745145.516590321436524, 5318432.357149470597506 ], [ 13749670.876530049368739, 5316167.853506359271705 ], [ 13749670.876530049368739, 5316167.853506359271705 ], [ 13756047.59092115983367, 5312504.597808294929564 ], [ 13766538.117094537243247, 5339346.585323980078101 ], [ 13766263.93718871101737, 5352334.697411732748151 ], [ 13770652.15151578374207, 5368586.453084580600262 ], [ 13771337.768259577453136, 5375713.150097439996898 ], [ 13780457.060945361852646, 5387036.118313026614487 ], [ 13789439.208018492907286, 5380908.424274154938757 ], [ 13786902.236823312938213, 5375446.796323325484991 ], [ 13792044.752019997686148, 5367187.646133207716048 ], [ 13807266.356552090495825, 5354798.985135768540204 ], [ 13814534.406105982139707, 5356664.070554048754275 ], [ 13816385.649237876757979, 5349670.398811594583094 ], [ 13828864.675475290045142, 5348871.150943715125322 ], [ 13828864.675475290045142, 5348871.150943715125322 ], [ 13835104.244253745302558, 5347072.864884490147233 ], [ 13835241.389866402372718, 5337281.820931574329734 ], [ 13851011.576849121600389, 5323561.006317984312773 ], [ 13840726.657775241881609, 5311571.999306363984942 ], [ 13850668.71281747892499, 5308308.408391262404621 ], [ 13851697.193592917174101, 5301448.018573549576104 ], [ 13844703.435264339670539, 5294121.382576229982078 ], [ 13852108.630430890247226, 5293855.070129938423634 ], [ 13854234.164788095280528, 5285196.214254031889141 ], [ 13860885.059085031971335, 5292722.757021680474281 ], [ 13860885.059085031971335, 5292722.757021680474281 ], [ 13863627.637379704043269, 5291790.152137173339725 ], [ 13876998.110099395737052, 5307842.078430531546474 ], [ 13880083.552425712347031, 5319764.602803064510226 ], [ 13891054.088243387639523, 5329821.982419105246663 ], [ 13903395.968868149444461, 5331753.611462116241455 ], [ 13897225.084215514361858, 5316900.494185978546739 ], [ 13900447.672154488041997, 5310173.351982227526605 ], [ 13899282.045766390860081, 5285063.107864531688392 ], [ 13903533.114480804651976, 5279734.635543128475547 ], [ 13912172.397522289305925, 5281999.147383666597307 ], [ 13914503.650298481807113, 5273273.910461481660604 ], [ 13914503.650298481807113, 5273273.910461481660604 ], [ 13911418.207972167059779, 5269876.939318965189159 ], [ 13919234.728657195344567, 5253625.321270026266575 ], [ 13925748.47734147310257, 5254690.905834699980915 ], [ 13922594.462208827957511, 5236107.953701636753976 ], [ 13935690.643703201785684, 5225317.849989026784897 ], [ 13934456.444508779793978, 5207267.879331943579018 ], [ 13948169.669940618798137, 5204536.969064053148031 ], [ 13948992.432297073304653, 5182890.151894578710198 ], [ 13954271.981786927208304, 5187819.036563416942954 ], [ 13969493.697638507932425, 5181424.894899330101907 ], [ 13956123.336238307878375, 5161443.22111751884222 ], [ 13947415.369071004912257, 5154782.635335426777601 ], [ 13948238.242746947333217, 5141861.234633836895227 ], [ 13948238.242746947333217, 5141861.234633836895227 ], [ 13948032.524327963590622, 5140329.328773042187095 ], [ 13948032.524327963590622, 5140329.328773042187095 ], [ 13947483.941877331584692, 5136998.938455047085881 ], [ 13947483.941877331584692, 5136998.938455047085881 ], [ 13947483.941877331584692, 5136998.938455047085881 ], [ 13950500.922716813161969, 5127674.188699632883072 ], [ 13950500.922716813161969, 5127674.188699632883072 ], [ 13950980.821041623130441, 5126741.72069834638387 ], [ 13950980.821041623130441, 5126741.72069834638387 ], [ 13951117.966654278337955, 5111688.964007802307606 ], [ 13965105.48331143707037, 5112288.361343298107386 ], [ 13965036.910505106672645, 5100965.453710914589465 ], [ 13974430.383096715435386, 5083115.12633897177875 ], [ 13975938.873516457155347, 5071725.572283959947526 ], [ 13985880.928558694198728, 5063266.660879720933735 ], [ 13986909.409334132447839, 5051410.880315103568137 ], [ 13999388.435571549460292, 5046681.872710691764951 ], [ 13996988.609989028424025, 5038889.087170053273439 ], [ 14003022.460348496213555, 5037090.74357199203223 ], [ 13994246.031694356352091, 5026433.829637833870947 ], [ 13995822.983600931242108, 5020505.959650214761496 ], [ 13990063.535786269232631, 5008583.506023584865034 ], [ 13980532.806262513622642, 5002189.392319235019386 ], [ 13993697.449243724346161, 4992731.430492767132819 ], [ 13975596.009484812617302, 4972483.345490956678987 ], [ 13970110.741575973108411, 4972416.800959303975105 ], [ 13961951.356859300285578, 4958695.973674658685923 ], [ 13946044.024263920262456, 4961626.71303843613714 ], [ 13916972.048687333241105, 4944175.957765694707632 ], [ 13913338.023910386487842, 4935250.816097277216613 ], [ 13903533.114480804651976, 4935783.657767686061561 ], [ 13898390.710603607818484, 4928190.647756366990507 ], [ 13886528.728303661569953, 4920597.650086268782616 ], [ 13883580.43159, 4912471.739209745079279 ], [ 13872678.357259161770344, 4908275.642277860082686 ], [ 13846897.542427875101566, 4882432.639181213453412 ], [ 13846006.20726509578526, 4881766.582401445135474 ], [ 13841069.410487392917275, 4873174.5952212754637 ], [ 13845046.299295984208584, 4869044.997801994904876 ], [ 13830236.020282372832298, 4855390.879302666522563 ], [ 13822899.397922152653337, 4842935.573267330415547 ], [ 13819745.382789507508278, 4829015.066826335154474 ], [ 13815082.877237120643258, 4840337.992488758638501 ], [ 13803906.623000456020236, 4836941.096865154802799 ], [ 13784570.984047118574381, 4841470.355240875855088 ], [ 13769897.850646169856191, 4837940.191441453061998 ], [ 13766400.971481878310442, 4841470.355240875855088 ], [ 13760504.378054557368159, 4833277.834336131811142 ], [ 13752002.129306240007281, 4835275.968657957389951 ], [ 13736026.22390453517437, 4825884.569377537816763 ], [ 13734997.743129096925259, 4832078.914235251955688 ], [ 13722861.580923322588205, 4830213.908209104090929 ], [ 13720461.755340799689293, 4820955.729528669267893 ], [ 13693515.31412141956389, 4815960.351390184834599 ], [ 13689264.245407005771995, 4807235.132184895686805 ], [ 13676305.209525287151337, 4808966.823317918926477 ], [ 13671025.660035435110331, 4802173.105926705524325 ], [ 13645724.743528956547379, 4788385.637866465374827 ], [ 13635508.397261405363679, 4779660.325124522671103 ], [ 13626937.687026249244809, 4780859.321649324148893 ], [ 13611578.825562011450529, 4767937.808911354281008 ], [ 13608013.484910881146789, 4760078.374495894648135 ], [ 13594025.96825372800231, 4752352.07460917532444 ], [ 13599579.808968896046281, 4744426.101741020567715 ], [ 13586346.593181354925036, 4736166.943132183514535 ], [ 13576884.436463925987482, 4725976.318546525202692 ], [ 13565845.327839920297265, 4726975.471416439861059 ], [ 13572153.358105210587382, 4717317.682066268287599 ], [ 13565776.75503358989954, 4713454.42139592859894 ], [ 13557617.370316917076707, 4724910.635456868447363 ], [ 13544384.154529375955462, 4723112.253936260007322 ], [ 13542669.945690650492907, 4714053.991418961435556 ], [ 13549732.276825556531549, 4710257.360387207940221 ], [ 13548566.650437459349632, 4703463.603838783688843 ], [ 13532590.745035754516721, 4703796.620573968626559 ], [ 13526419.860383119434118, 4695604.201811802573502 ], [ 13509689.765431286767125, 4696270.303109519183636 ], [ 13498581.972681464627385, 4691141.64762257784605 ], [ 13491794.044091362506151, 4681883.526181714609265 ], [ 13484663.140150127932429, 4682216.551088199950755 ], [ 13483908.839280512183905, 4715785.629483900032938 ], [ 13492411.088028829544783, 4713254.620301419869065 ], [ 13507632.692560920491815, 4718916.125458908267319 ], [ 13510923.964625714346766, 4730305.68966593965888 ], [ 13526214.141964133828878, 4726575.769777489826083 ], [ 13545618.353723801672459, 4738564.794869474135339 ], [ 13536910.497875988483429, 4745491.689444903284311 ], [ 13536293.342619027942419, 4761743.563673698343337 ], [ 13544041.290497731417418, 4761343.921932308934629 ], [ 13550212.286469858139753, 4774465.173933994956315 ], [ 13538830.313814209774137, 4768470.681358919478953 ], [ 13522511.544380858540535, 4764207.915979018434882 ], [ 13517849.038828471675515, 4772999.869143192656338 ], [ 13497142.166387544944882, 4782258.043609151616693 ], [ 13503518.76945916377008, 4790916.673833763226867 ], [ 13494673.76799869351089, 4796378.365247346460819 ], [ 13502764.579909039661288, 4808833.605666644871235 ], [ 13519768.966086186468601, 4811630.970859971828759 ], [ 13525459.952414009720087, 4823420.207031773403287 ], [ 13520797.446861624717712, 4829348.06386882532388 ], [ 13528682.540352985262871, 4844401.006971977651119 ], [ 13539447.357751674950123, 4848930.179640297777951 ], [ 13547538.169662021100521, 4856856.116955762729049 ], [ 13554737.646409586071968, 4856256.66883800085634 ], [ 13561319.96790019236505, 4871242.980493634939194 ], [ 13568108.007809782400727, 4873707.440462287515402 ], [ 13582095.524466939270496, 4887627.993769869208336 ], [ 13574347.46526874601841, 4901215.380706339143217 ], [ 13583946.767598832026124, 4901615.125483202748001 ], [ 13585455.25801857188344, 4912871.356354985386133 ], [ 13603076.688133183866739, 4921663.38317287247628 ], [ 13608356.237623035907745, 4941778.178822951391339 ], [ 13595877.211385618895292, 4955632.223072931170464 ], [ 13597522.847418015822768, 4964024.509584599174559 ], [ 13588334.981925902888179, 4960627.645513645373285 ], [ 13575581.664463171735406, 4965356.546455886214972 ], [ 13573661.848524950444698, 4982607.358266900293529 ], [ 13564542.555839167907834, 4986004.221813097596169 ], [ 13560497.205543735995889, 4996860.906166574917734 ], [ 13545686.926530128344893, 4987269.817572617903352 ], [ 13528271.103515012189746, 4990466.829046250320971 ], [ 13525254.233995022252202, 4994662.924473391845822 ], [ 13507015.648623455315828, 4997726.864811557345092 ], [ 13495976.539999447762966, 4990400.308995704166591 ], [ 13483703.232181018218398, 4993064.409238307736814 ], [ 13479315.017853947356343, 4982607.358266900293529 ], [ 13468687.234748423099518, 4974681.33240523468703 ], [ 13473418.313107134774327, 4969619.255604725331068 ], [ 13450722.940602166578174, 4963957.875807755626738 ], [ 13449900.178245712071657, 4952634.96032340079546 ], [ 13439409.540752844884992, 4944642.195492409169674 ], [ 13433444.263199705630541, 4934651.422046359628439 ], [ 13426930.514515427872539, 4932586.602142069488764 ], [ 13425079.271383535116911, 4917733.616457642056048 ], [ 13418154.085861288011074, 4913337.718515167012811 ], [ 13416645.595441546291113, 4903346.859210229478776 ], [ 13410131.846757272258401, 4891957.234288251958787 ], [ 13399709.782070729881525, 4891357.844819040037692 ], [ 13388739.246253054589033, 4884430.932877952232957 ], [ 13353427.701898010447621, 4872708.23371441476047 ], [ 13348765.196345625445247, 4864249.332352922298014 ], [ 13342114.302048688754439, 4864249.332352922298014 ], [ 13341154.394079579040408, 4866047.780405490659177 ], [ 13341154.394079579040408, 4866047.780405490659177 ], [ 13341428.685304896906018, 4868911.846433811821043 ], [ 13341428.685304896906018, 4868911.846433811821043 ], [ 13338000.37894693389535, 4873174.5952212754637 ], [ 13338000.37894693389535, 4873174.5952212754637 ], [ 13333886.344525687396526, 4872774.834669613279402 ], [ 13333886.344525687396526, 4872774.834669613279402 ], [ 13333817.771719358861446, 4873107.991580137982965 ], [ 13333817.771719358861446, 4873107.991580137982965 ], [ 13329018.231873806566, 4881167.227826378308237 ], [ 13330046.712649244815111, 4896220.008730079978704 ], [ 13316607.778442718088627, 4898551.169217814691365 ], [ 13318527.59438094124198, 4908342.191349582746625 ], [ 13312356.598408814519644, 4920664.282422824762762 ], [ 13313659.370409566909075, 4933785.613891378045082 ], [ 13310642.500889576971531, 4944775.494044788181782 ], [ 13280679.07883071526885, 4943310.188309410586953 ], [ 13265114.610266983509064, 4953500.820270475000143 ], [ 13267583.008655833080411, 4965289.903608239255846 ], [ 13253047.020867539569736, 4963025.344075684435666 ], [ 13237139.688272161409259, 4979476.866368839517236 ], [ 13230214.502749912440777, 4983007.049019811674953 ], [ 13236111.207496723160148, 5006585.41925981361419 ], [ 13244476.199312891811132, 5006318.901112819090486 ], [ 13244476.199312891811132, 5006318.901112819090486 ], [ 13248521.660927809774876, 5013445.762334823608398 ], [ 13241665.048211891204119, 5015044.235317962244153 ], [ 13243036.39301897212863, 5024035.990133789367974 ], [ 13251195.666416155174375, 5022304.331198805943131 ], [ 13261069.259971555322409, 5032827.9617331456393 ], [ 13274782.485403398051858, 5053675.522582925856113 ], [ 13273685.431821631267667, 5058870.652118306607008 ] ] ], [ [ [ 13688852.80856903269887, 4795445.895943561568856 ], [ 13689949.862150801345706, 4802439.510163065977395 ], [ 13696326.465222420170903, 4798309.958010851405561 ], [ 13688852.80856903269887, 4795445.895943561568856 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 220000, "name": "吉林省", "adchar": null, "childrenNum": 9.0, "level": "province", "subFeatureIndex": 6.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13993697.449243724346161, 4992731.430492767132819 ], [ 13980532.806262513622642, 5002189.392319235019386 ], [ 13990063.535786269232631, 5008583.506023584865034 ], [ 13995822.983600931242108, 5020505.959650214761496 ], [ 13994246.031694356352091, 5026433.829637833870947 ], [ 14003022.460348496213555, 5037090.74357199203223 ], [ 13996988.609989028424025, 5038889.087170053273439 ], [ 13999388.435571549460292, 5046681.872710691764951 ], [ 13986909.409334132447839, 5051410.880315103568137 ], [ 13985880.928558694198728, 5063266.660879720933735 ], [ 13975938.873516457155347, 5071725.572283959947526 ], [ 13974430.383096715435386, 5083115.12633897177875 ], [ 13965036.910505106672645, 5100965.453710914589465 ], [ 13965105.48331143707037, 5112288.361343298107386 ], [ 13951117.966654278337955, 5111688.964007802307606 ], [ 13950980.821041623130441, 5126741.72069834638387 ], [ 13950980.821041623130441, 5126741.72069834638387 ], [ 13950500.922716813161969, 5127674.188699632883072 ], [ 13950500.922716813161969, 5127674.188699632883072 ], [ 13947483.941877331584692, 5136998.938455047085881 ], [ 13947483.941877331584692, 5136998.938455047085881 ], [ 13947483.941877331584692, 5136998.938455047085881 ], [ 13948032.524327963590622, 5140329.328773042187095 ], [ 13948032.524327963590622, 5140329.328773042187095 ], [ 13948238.242746947333217, 5141861.234633836895227 ], [ 13948238.242746947333217, 5141861.234633836895227 ], [ 13947415.369071004912257, 5154782.635335426777601 ], [ 13956123.336238307878375, 5161443.22111751884222 ], [ 13969493.697638507932425, 5181424.894899330101907 ], [ 13954271.981786927208304, 5187819.036563416942954 ], [ 13948992.432297073304653, 5182890.151894578710198 ], [ 13948169.669940618798137, 5204536.969064053148031 ], [ 13934456.444508779793978, 5207267.879331943579018 ], [ 13935690.643703201785684, 5225317.849989026784897 ], [ 13922594.462208827957511, 5236107.953701636753976 ], [ 13925748.47734147310257, 5254690.905834699980915 ], [ 13919234.728657195344567, 5253625.321270026266575 ], [ 13911418.207972167059779, 5269876.939318965189159 ], [ 13914503.650298481807113, 5273273.910461481660604 ], [ 13914503.650298481807113, 5273273.910461481660604 ], [ 13912172.397522289305925, 5281999.147383666597307 ], [ 13903533.114480804651976, 5279734.635543128475547 ], [ 13899282.045766390860081, 5285063.107864531688392 ], [ 13900447.672154488041997, 5310173.351982227526605 ], [ 13897225.084215514361858, 5316900.494185978546739 ], [ 13903395.968868149444461, 5331753.611462116241455 ], [ 13891054.088243387639523, 5329821.982419105246663 ], [ 13880083.552425712347031, 5319764.602803064510226 ], [ 13876998.110099395737052, 5307842.078430531546474 ], [ 13863627.637379704043269, 5291790.152137173339725 ], [ 13860885.059085031971335, 5292722.757021680474281 ], [ 13860885.059085031971335, 5292722.757021680474281 ], [ 13854234.164788095280528, 5285196.214254031889141 ], [ 13852108.630430890247226, 5293855.070129938423634 ], [ 13844703.435264339670539, 5294121.382576229982078 ], [ 13851697.193592917174101, 5301448.018573549576104 ], [ 13850668.71281747892499, 5308308.408391262404621 ], [ 13840726.657775241881609, 5311571.999306363984942 ], [ 13851011.576849121600389, 5323561.006317984312773 ], [ 13835241.389866402372718, 5337281.820931574329734 ], [ 13835104.244253745302558, 5347072.864884490147233 ], [ 13828864.675475290045142, 5348871.150943715125322 ], [ 13828864.675475290045142, 5348871.150943715125322 ], [ 13816385.649237876757979, 5349670.398811594583094 ], [ 13814534.406105982139707, 5356664.070554048754275 ], [ 13807266.356552090495825, 5354798.985135768540204 ], [ 13792044.752019997686148, 5367187.646133207716048 ], [ 13786902.236823312938213, 5375446.796323325484991 ], [ 13789439.208018492907286, 5380908.424274154938757 ], [ 13780457.060945361852646, 5387036.118313026614487 ], [ 13771337.768259577453136, 5375713.150097439996898 ], [ 13770652.15151578374207, 5368586.453084580600262 ], [ 13760024.368410259485245, 5367920.328264565207064 ], [ 13746448.288591073825955, 5380042.547596573829651 ], [ 13739043.204744016751647, 5374580.816257324069738 ], [ 13734929.170322768390179, 5383639.217658637091517 ], [ 13727455.513669380918145, 5387169.307335594668984 ], [ 13726221.314474953338504, 5396227.737880025058985 ], [ 13741168.739101219922304, 5400290.598106620833278 ], [ 13741168.739101219922304, 5400290.598106620833278 ], [ 13749259.551011567935348, 5402621.794659521430731 ], [ 13750767.93011181615293, 5418473.958255656063557 ], [ 13736917.670386806130409, 5462233.800118675455451 ], [ 13729306.756801271811128, 5469826.743958004750311 ], [ 13728826.858476461842656, 5478418.82291897200048 ], [ 13735340.607160739600658, 5490541.102012347429991 ], [ 13728346.848832160234451, 5493338.586398376151919 ], [ 13714222.297881839796901, 5518981.655185835435987 ], [ 13706611.384296301752329, 5522378.480458864942193 ], [ 13706268.631584150716662, 5544624.715520662255585 ], [ 13695092.37734748609364, 5542027.133317469619215 ], [ 13676305.209525287151337, 5527307.356087137013674 ], [ 13665677.537739254534245, 5522844.712400722317398 ], [ 13656283.95382815413177, 5509856.75008300691843 ], [ 13634822.780517609789968, 5502197.00371010042727 ], [ 13616515.622339710593224, 5501530.938098736107349 ], [ 13611167.500043530017138, 5505061.157143978402019 ], [ 13613430.180013393983245, 5513586.668483245186508 ], [ 13612813.024756437167525, 5539695.980819389224052 ], [ 13606367.848878487944603, 5540028.921478190459311 ], [ 13602802.396907869726419, 5552484.252749913372099 ], [ 13595603.031479794532061, 5555281.737030254676938 ], [ 13592448.905027657747269, 5570334.461965993046761 ], [ 13598962.765031427145004, 5578859.94541977532208 ], [ 13593751.67702841386199, 5586386.467323619872332 ], [ 13586483.738794010132551, 5607833.4560482557863 ], [ 13589774.899539314210415, 5608033.248011947609484 ], [ 13589294.88989501260221, 5622553.180927557870746 ], [ 13594300.25947904214263, 5632344.175089768134058 ], [ 13593203.205897273495793, 5643933.605508886277676 ], [ 13596905.692161059007049, 5650394.303454040549695 ], [ 13606573.567297473549843, 5654124.240078471601009 ], [ 13607602.048072911798954, 5665114.214185077697039 ], [ 13597385.701805360615253, 5668178.006664467044175 ], [ 13599168.372130922973156, 5691689.812677934765816 ], [ 13583603.903567187488079, 5699016.412702998146415 ], [ 13577227.300495568662882, 5715867.598194153979421 ], [ 13581341.223597325384617, 5720196.944797522388399 ], [ 13575307.484557347372174, 5734184.045062265358865 ], [ 13566188.191871562972665, 5735582.751147512346506 ], [ 13559948.623093111440539, 5730321.007124471478164 ], [ 13549115.232888087630272, 5732718.772041263990104 ], [ 13541367.285009386017919, 5740778.045612500980496 ], [ 13553640.592827817425132, 5747571.876375501975417 ], [ 13560634.351156394928694, 5760426.640988485887647 ], [ 13559742.904674122110009, 5774080.826123327948153 ], [ 13554531.927990600466728, 5780275.184741605073214 ], [ 13563514.075063725933433, 5784271.422401572577655 ], [ 13585455.25801857188344, 5773747.746402276679873 ], [ 13591146.244346396997571, 5761425.698704178445041 ], [ 13603350.979358498007059, 5757429.342429229058325 ], [ 13609796.155236447229981, 5747505.13857193198055 ], [ 13622480.89989285171032, 5757296.198793700896204 ], [ 13621315.273504754528403, 5767153.900678573176265 ], [ 13630640.284609522670507, 5767020.611217161640525 ], [ 13636194.125324692577124, 5757629.301383893936872 ], [ 13637154.0332938041538, 5746306.338261271826923 ], [ 13642776.446815298870206, 5751767.943236364983022 ], [ 13652307.065019564703107, 5743775.323047026060522 ], [ 13655735.37137752585113, 5732518.893809811212122 ], [ 13663551.892062555998564, 5733251.643173295073211 ], [ 13669174.416903540492058, 5742975.961025602184236 ], [ 13664717.518450651317835, 5753899.392987500876188 ], [ 13673219.767198968678713, 5766287.954934655688703 ], [ 13669242.878390381112695, 5792064.234428376890719 ], [ 13697423.630123676732183, 5796393.613598927855492 ], [ 13704828.713970739394426, 5801189.314645970240235 ], [ 13703731.66038897074759, 5807982.962346590124071 ], [ 13712165.2250114697963, 5820171.837721990421414 ], [ 13719913.284209663048387, 5824234.77927387226373 ], [ 13727866.950507352128625, 5821104.245810036547482 ], [ 13727866.950507352128625, 5821104.245810036547482 ], [ 13733832.116741, 5816175.446681704372168 ], [ 13747819.633398156613111, 5822036.752377906814218 ], [ 13755293.290051544085145, 5816641.74931819178164 ], [ 13760298.659635573625565, 5820971.107620844617486 ], [ 13779085.71613828279078, 5822769.367198237217963 ], [ 13792044.752019997686148, 5829163.569730984047055 ], [ 13801712.515836922451854, 5816641.74931819178164 ], [ 13802946.71503134444356, 5796593.489631198346615 ], [ 13808089.230228032916784, 5783472.094854573719203 ], [ 13800341.171029839664698, 5775745.931820991449058 ], [ 13803221.00625666230917, 5765488.646121503785253 ], [ 13810420.483004223555326, 5762158.433759544044733 ], [ 13810831.808522706851363, 5747971.355704125016928 ], [ 13804660.923870073631406, 5745507.068144397810102 ], [ 13818991.193239381536841, 5730387.616275570355356 ], [ 13818031.285270269960165, 5722461.59389609284699 ], [ 13834007.190671976655722, 5713935.935193510726094 ], [ 13835652.715384885668755, 5706809.275239435955882 ], [ 13843057.910551432520151, 5708008.181290178559721 ], [ 13847994.596009643748403, 5691156.876994816586375 ], [ 13857113.888695426285267, 5693621.276275265030563 ], [ 13864176.219830336049199, 5686627.807665344327688 ], [ 13873226.939709790050983, 5690624.131683574989438 ], [ 13902298.915286380797625, 5691489.898580821231008 ], [ 13906412.949707627296448, 5707142.244413685053587 ], [ 13910595.445615710690618, 5699815.657251779921353 ], [ 13917794.811043785884976, 5699549.181531514972448 ], [ 13922663.035015158355236, 5682298.354728830978274 ], [ 13942615.829225452616811, 5687493.663970553316176 ], [ 13953654.937849458307028, 5683963.525208567269146 ], [ 13959277.351370953023434, 5687360.449859115295112 ], [ 13962225.648084616288543, 5698283.768445383757353 ], [ 13970316.459994960576296, 5695686.175452621653676 ], [ 13984852.447783255949616, 5704078.442539017647505 ], [ 13991503.342080188915133, 5702812.86495201010257 ], [ 13994657.357212835922837, 5688159.605653930455446 ], [ 13992531.822855627164245, 5676703.556387734599411 ], [ 13999594.153990536928177, 5667511.965284707956016 ], [ 14016804.258586667478085, 5652525.731974872760475 ], [ 14044779.180581487715244, 5642534.940741648897529 ], [ 14062057.857983948662877, 5649728.315911191515625 ], [ 14073919.728964406996965, 5658720.073089467361569 ], [ 14089415.736041301861405, 5661384.298724757507443 ], [ 14118830.575649537146091, 5644599.637613769620657 ], [ 14133572.281856818124652, 5642335.013982689939439 ], [ 14134052.180181628093123, 5633276.695295704528689 ], [ 14147148.250356510281563, 5612828.795071532018483 ], [ 14140017.457734767347574, 5605635.407394424080849 ], [ 14135834.961826682090759, 5593846.269055362790823 ], [ 14141731.555254, 5577794.369808150455356 ], [ 14143034.327254755422473, 5553616.549658765085042 ], [ 14148039.696838784962893, 5561142.948296035639942 ], [ 14157844.606268363073468, 5565672.140785952098668 ], [ 14181294.168323459103703, 5563807.16316874884069 ], [ 14199601.326501358300447, 5554948.70640130341053 ], [ 14197270.073725163936615, 5546623.00013068318367 ], [ 14189179.261814819648862, 5540761.621033874340355 ], [ 14194184.631398845463991, 5533368.522607069462538 ], [ 14191441.941784681752324, 5527840.215535025112331 ], [ 14191441.941784681752324, 5527840.215535025112331 ], [ 14206937.948861578479409, 5508524.638928066939116 ], [ 14203372.496890960261226, 5500731.785547157749534 ], [ 14213451.697545856237411, 5491340.296029501594603 ], [ 14218182.775904569774866, 5495936.162384919822216 ], [ 14218731.247035708278418, 5480750.043204712681472 ], [ 14233541.526049315929413, 5475221.856722674332559 ], [ 14255551.281810492277145, 5482481.831955314613879 ], [ 14258911.015362124890089, 5485945.306002696976066 ], [ 14260213.676043385639787, 5510522.80075706448406 ], [ 14254454.228228723630309, 5519647.749253988265991 ], [ 14270087.269598785787821, 5522445.128054150380194 ], [ 14272418.522374980151653, 5532502.506152252666652 ], [ 14290451.389327563345432, 5545357.472987663000822 ], [ 14300393.444369798526168, 5532835.651614381931722 ], [ 14302518.978727009147406, 5523710.590458416379988 ], [ 14299022.099562717601657, 5496935.211454405449331 ], [ 14312872.470607219263911, 5472824.050120241008699 ], [ 14313969.524188984185457, 5464032.033871809951961 ], [ 14320688.991292249411345, 5455573.20683626178652 ], [ 14319729.083323137834668, 5448646.18333812057972 ], [ 14329465.419946391135454, 5449179.119418854825199 ], [ 14333579.343048147857189, 5443450.978811877779663 ], [ 14328985.521621583029628, 5437123.4679668052122 ], [ 14346606.951736191287637, 5394562.612588410265744 ], [ 14354560.618033880367875, 5396693.909899409860373 ], [ 14361828.556268284097314, 5391964.927129474468529 ], [ 14385895.273580336943269, 5403021.425864160992205 ], [ 14383769.739223128184676, 5432128.114043682813644 ], [ 14405505.203758986666799, 5437523.052846911363304 ], [ 14412293.243668582290411, 5446048.677742130123079 ], [ 14442873.709664909169078, 5446248.352921751327813 ], [ 14447536.215217294171453, 5459969.14226445928216 ], [ 14456998.260615233331919, 5466296.610543631017208 ], [ 14456998.260615233331919, 5466296.610543631017208 ], [ 14458232.45980965718627, 5465497.430061160586774 ], [ 14458232.45980965718627, 5465497.430061160586774 ], [ 14469408.714046319946647, 5467628.784229357726872 ], [ 14473454.17566123791039, 5459569.509218884631991 ], [ 14474551.229243008419871, 5442518.555296558886766 ], [ 14480379.361183488741517, 5439987.4398398315534 ], [ 14480379.361183488741517, 5439987.4398398315534 ], [ 14492584.09619559161365, 5456239.188104704022408 ], [ 14500537.762493280693889, 5457438.168774713762105 ], [ 14510891.254373490810394, 5473223.641028943471611 ], [ 14509177.045534761622548, 5457704.578625866211951 ], [ 14509177.045534761622548, 5457704.578625866211951 ], [ 14514182.415118791162968, 5450910.834172180853784 ], [ 14513839.551087150350213, 5432061.502942410297692 ], [ 14518707.775058517232537, 5425733.946816871874034 ], [ 14517542.148670423775911, 5411746.758608926087618 ], [ 14525907.140486590564251, 5412346.188442862592638 ], [ 14563207.07358618453145, 5388834.485132221132517 ], [ 14565195.573650224134326, 5381374.592884288169444 ], [ 14572532.084690960124135, 5378310.730101726949215 ], [ 14585833.873284826055169, 5389700.262568902224302 ], [ 14597833.001197436824441, 5377444.942578534595668 ], [ 14597833.001197436824441, 5377444.942578534595668 ], [ 14615591.576924704015255, 5383772.511267646215856 ], [ 14616757.203312801197171, 5388701.272173206321895 ], [ 14617854.256894566118717, 5371916.721718343906105 ], [ 14613534.615373823791742, 5368319.997423832304776 ], [ 14611271.93540396168828, 5352401.196174505166709 ], [ 14605786.667495125904679, 5348138.440000927075744 ], [ 14607157.900982715189457, 5334351.150533679872751 ], [ 14601946.924299191683531, 5322561.931475500576198 ], [ 14594267.549226814880967, 5315168.807515236549079 ], [ 14599684.244329325854778, 5307176.172150371596217 ], [ 14595638.894033899530768, 5299050.212461637333035 ], [ 14586656.746960772201419, 5301181.64981728605926 ], [ 14587959.407642036676407, 5291723.627841775305569 ], [ 14577194.590243341401219, 5293255.477047265507281 ], [ 14570680.841559063643217, 5289592.21446733828634 ], [ 14560807.248003663495183, 5293655.150869819335639 ], [ 14558818.859259117394686, 5287993.706599451601505 ], [ 14545722.789084231480956, 5288859.581820379011333 ], [ 14516856.420607136562467, 5271209.119810267351568 ], [ 14523233.134998248890042, 5264681.708547187969089 ], [ 14536877.787623761221766, 5262816.851849670521915 ], [ 14542088.764307286590338, 5251826.929065937176347 ], [ 14535026.433172380551696, 5244833.40278300549835 ], [ 14533723.661171624436975, 5235575.138383635319769 ], [ 14525221.52374279871583, 5255290.463603025302291 ], [ 14514730.886249931529164, 5251760.233315953984857 ], [ 14498480.800942398607731, 5272274.878907677717507 ], [ 14501086.233624417334795, 5297385.046238989569247 ], [ 14482916.221059175208211, 5300249.114791211672127 ], [ 14487578.726611562073231, 5308375.050590381957591 ], [ 14470917.204466061666608, 5308974.395259938202798 ], [ 14470094.442109607160091, 5308574.827880916185677 ], [ 14464814.781300263479352, 5313836.60776839684695 ], [ 14460357.994166864082217, 5312304.736570315435529 ], [ 14455901.207033462822437, 5306843.008589663542807 ], [ 14455764.061420807614923, 5306576.638403394259512 ], [ 14453638.527063600718975, 5293721.840787339955568 ], [ 14453227.201545119285583, 5291723.627841775305569 ], [ 14451650.138319052755833, 5289792.047109155915678 ], [ 14451101.555868420749903, 5289325.878796926699579 ], [ 14445273.535247433930635, 5268877.965701282024384 ], [ 14445342.108053758740425, 5268411.622428786940873 ], [ 14446644.768735023215413, 5266280.343242476694286 ], [ 14448633.268799064680934, 5264015.678313271142542 ], [ 14442805.136858580633998, 5248363.457763576880097 ], [ 14443559.32640870846808, 5231778.661658181808889 ], [ 14438622.640950495377183, 5225184.682281807996333 ], [ 14428406.294682946056128, 5226650.082752162590623 ], [ 14427172.095488518476486, 5224518.721079346723855 ], [ 14421001.09951639175415, 5215260.445696527138352 ], [ 14410579.034829856827855, 5227249.520541252568364 ], [ 14398511.445430409163237, 5228848.006049872376025 ], [ 14386923.75435577519238, 5216326.229348143562675 ], [ 14386032.419192994013429, 5215060.681114831008017 ], [ 14389186.434325641021132, 5211397.420737855136395 ], [ 14380615.724090483039618, 5200340.772150273434818 ], [ 14384249.748867429792881, 5192214.989472379907966 ], [ 14373621.965761905536056, 5182290.810465390793979 ], [ 14355177.661971351131797, 5173565.453759555704892 ], [ 14352503.656483003869653, 5163108.420688731595874 ], [ 14331042.48317245952785, 5168503.478466582484543 ], [ 14327065.594363870099187, 5164040.849781550467014 ], [ 14316437.922577837482095, 5165506.130018714815378 ], [ 14312255.315350258722901, 5160444.09121645335108 ], [ 14300804.881207773461938, 5164107.380429058335721 ], [ 14258979.588168455287814, 5164373.80736178625375 ], [ 14252671.446583669632673, 5161043.556589702144265 ], [ 14260762.258494013920426, 5153517.173745831474662 ], [ 14261447.875237809494138, 5130138.568472573533654 ], [ 14268030.308047909289598, 5118216.244959707371891 ], [ 14279892.179028367623687, 5110023.753984238021076 ], [ 14284211.820549109950662, 5100232.799388499930501 ], [ 14275846.828732939437032, 5086645.205499492585659 ], [ 14271527.075892705470324, 5073190.907352072186768 ], [ 14261585.020850468426943, 5066263.954812375828624 ], [ 14241358.046734349802136, 5078452.691557470709085 ], [ 14232238.754048563539982, 5074922.643714361824095 ], [ 14208446.327961828559637, 5073523.989346916787326 ], [ 14198504.272919587790966, 5082981.848630085587502 ], [ 14183214.095581170171499, 5080917.09697705693543 ], [ 14170323.632505780085921, 5084380.687875186093152 ], [ 14169089.43331135623157, 5088443.58554669469595 ], [ 14150439.52242130599916, 5092373.304219050332904 ], [ 14157570.315043050795794, 5101231.76552103087306 ], [ 14141937.273672988638282, 5111955.275405966676772 ], [ 14143308.618480069562793, 5122812.083000812679529 ], [ 14131309.601886952295899, 5126941.580932806245983 ], [ 14129938.257079869508743, 5133002.656398960389197 ], [ 14116225.031648030504584, 5123344.883976008743048 ], [ 14115196.550872592255473, 5115751.799177747219801 ], [ 14107174.31176857277751, 5123811.165096293203533 ], [ 14102854.670247830450535, 5112288.361343298107386 ], [ 14094009.66878736205399, 5111755.429394734092057 ], [ 14089689.915947128087282, 5104495.540806371718645 ], [ 14081599.215356271713972, 5072524.777876860462129 ], [ 14086261.609589165076613, 5066596.946044587530196 ], [ 14074742.602640353143215, 5064265.803751739673316 ], [ 14062195.003596603870392, 5046482.043833496049047 ], [ 14058903.842851303517818, 5037557.008998095057905 ], [ 14043819.272612378001213, 5025834.424994694069028 ], [ 14029763.183148894459009, 5001590.007530956529081 ], [ 14021740.944044876843691, 4994929.418250027112663 ], [ 14012347.471453266218305, 4998859.207150488160551 ], [ 14005902.295575318858027, 4992731.430492767132819 ], [ 14002336.843604700639844, 4996994.182204724289477 ], [ 13993697.449243724346161, 4992731.430492767132819 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 230000, "name": "黑龙江省", "adchar": null, "childrenNum": 13.0, "level": "province", "subFeatureIndex": 7.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13727866.950507352128625, 5821104.245810036547482 ], [ 13727866.950507352128625, 5821104.245810036547482 ], [ 13719913.284209663048387, 5824234.77927387226373 ], [ 13712165.2250114697963, 5820171.837721990421414 ], [ 13693583.886927748098969, 5850344.111815430223942 ], [ 13692555.406152309849858, 5872856.752498310059309 ], [ 13697423.630123676732183, 5879850.305141724646091 ], [ 13712439.51623678393662, 5879317.439766932278872 ], [ 13717719.177046127617359, 5875121.445117239840329 ], [ 13723067.299342308193445, 5886910.584302348084748 ], [ 13733077.927190875634551, 5889641.306639911606908 ], [ 13759475.897279119119048, 5891506.40199654456228 ], [ 13762629.912411767989397, 5897900.456760642118752 ], [ 13761944.184348480775952, 5917215.990374887362123 ], [ 13756527.489245969802141, 5924342.800431896001101 ], [ 13754950.537339391186833, 5913685.919186802580953 ], [ 13746105.424559431150556, 5916949.71671743504703 ], [ 13751110.794143456965685, 5933068.188031303696334 ], [ 13737328.995905291289091, 5931536.238351413048804 ], [ 13733969.262353658676147, 5915617.493665548972785 ], [ 13726701.324119254946709, 5919613.795165086165071 ], [ 13716964.876176511868834, 5917682.314330848865211 ], [ 13710519.700298562645912, 5899765.361821160651743 ], [ 13695229.411640651524067, 5896301.911513746716082 ], [ 13681927.623046781867743, 5910688.763660633005202 ], [ 13680624.851046029478312, 5935599.200505449436605 ], [ 13669654.31522835418582, 5932002.512155919335783 ], [ 13667597.353677473962307, 5942526.218654883094132 ], [ 13675139.58313718996942, 5949719.47598587628454 ], [ 13656626.81785979680717, 5957445.827871389687061 ], [ 13642913.592427954077721, 5970300.619479096494615 ], [ 13627554.730963716283441, 5999473.923863527365029 ], [ 13637428.32451911829412, 6007866.154538797214627 ], [ 13641473.674814542755485, 6023318.642107028514147 ], [ 13647096.088336041197181, 6031910.824256895110011 ], [ 13665951.717645077034831, 6042767.438381793908775 ], [ 13676168.063912631943822, 6053357.805326886475086 ], [ 13710793.991523876786232, 6070941.553121460601687 ], [ 13717787.638532964512706, 6080399.594596040435135 ], [ 13725741.304830653592944, 6099182.37888031359762 ], [ 13752139.274918898940086, 6110505.312715882435441 ], [ 13775383.229874497279525, 6139811.658453842625022 ], [ 13789507.78082481957972, 6153732.19498267583549 ], [ 13812408.871748775243759, 6179708.385712281800807 ], [ 13832498.700252236798406, 6196559.655889882706106 ], [ 13832498.700252236798406, 6196559.655889882706106 ], [ 13838601.123418033123016, 6191098.022283745929599 ], [ 13839012.448936516419053, 6164922.024083473719656 ], [ 13848680.324072930961847, 6151001.491023975424469 ], [ 13850257.275979505851865, 6137147.501726487651467 ], [ 13855673.971082014963031, 6136681.213483932428062 ], [ 13855262.64556353725493, 6123093.716025380417705 ], [ 13868015.963026268407702, 6148869.984077660366893 ], [ 13868152.997319435700774, 6157595.339180525392294 ], [ 13861364.957409840077162, 6169983.939530017785728 ], [ 13860130.869534907862544, 6181306.878681464120746 ], [ 13865478.99183108843863, 6185036.798634354025126 ], [ 13861570.675828827545047, 6199889.918148558586836 ], [ 13868084.424513105303049, 6206683.62467254884541 ], [ 13876380.954842435196042, 6237122.354582770727575 ], [ 13881249.178813809528947, 6248045.617260918952525 ], [ 13882551.950814561918378, 6261366.732985413633287 ], [ 13893591.059438567608595, 6278351.225403278134763 ], [ 13893522.48663224093616, 6293337.410304585471749 ], [ 13904561.595256242901087, 6306125.734110453166068 ], [ 13928011.157311338931322, 6296268.063675311394036 ], [ 13939393.129966987296939, 6306991.628710270859301 ], [ 13944055.635519372299314, 6329104.63682880345732 ], [ 13944329.926744690164924, 6353548.750340708531439 ], [ 13940353.149255588650703, 6357878.250297077931464 ], [ 13941038.76599938608706, 6375928.193134148605168 ], [ 13929656.793343737721443, 6389648.950896956957877 ], [ 13939393.129966987296939, 6389182.813114391639829 ], [ 13939735.993998629972339, 6411562.302160165272653 ], [ 13934730.624414600431919, 6416824.078334125690162 ], [ 13941587.237130522727966, 6419421.685563021339476 ], [ 13940695.90196773968637, 6438937.181476824916899 ], [ 13947689.660296320915222, 6451325.812075773254037 ], [ 13943712.882807221263647, 6464247.144612851552665 ], [ 13952146.447429720312357, 6474904.118408772163093 ], [ 13964899.76489245146513, 6483829.193643032573164 ], [ 13966819.580830672755837, 6497949.538202604278922 ], [ 13972784.858383808284998, 6501146.658934311009943 ], [ 13980669.951875170692801, 6524991.481294169090688 ], [ 13985332.457427557557821, 6523526.161703985184431 ], [ 13997400.046827001497149, 6537379.975575749762356 ], [ 14007273.529062911868095, 6544107.240487618371844 ], [ 14002611.02351052314043, 6564421.944904087111354 ], [ 14006862.203544428572059, 6569084.306666852906346 ], [ 13999388.435571549460292, 6576610.658832291141152 ], [ 14014061.568972503766418, 6587001.110269388183951 ], [ 14034425.688701277598739, 6614842.307656597346067 ], [ 14030037.474374208599329, 6623234.595104472711682 ], [ 14032848.736794702708721, 6629029.337746772915125 ], [ 14012690.224165419116616, 6649543.821826226077974 ], [ 14008507.728257335722446, 6660400.468561517074704 ], [ 13999182.717152563855052, 6661666.036939332261682 ], [ 13997674.338052315637469, 6670258.058388936333358 ], [ 13997674.338052315637469, 6670258.058388936333358 ], [ 13989583.526141969487071, 6682646.641606595367193 ], [ 13989583.526141969487071, 6682646.641606595367193 ], [ 13989309.234916655346751, 6682979.739648016169667 ], [ 13989309.234916655346751, 6682979.739648016169667 ], [ 13986155.219784008339047, 6687442.317880354821682 ], [ 13986155.219784008339047, 6687442.317880354821682 ], [ 13984372.549458445981145, 6690173.088149516843259 ], [ 13984372.549458445981145, 6690173.088149516843259 ], [ 13981835.578263266012073, 6694768.822710025124252 ], [ 13981835.578263266012073, 6694768.822710025124252 ], [ 13981492.714231625199318, 6694968.727019802667201 ], [ 13981492.714231625199318, 6694968.727019802667201 ], [ 13981218.423006311058998, 6695368.371835787780583 ], [ 13981218.423006311058998, 6695368.371835787780583 ], [ 13978064.407873662188649, 6702295.38597834482789 ], [ 13978064.407873662188649, 6702295.38597834482789 ], [ 13954066.263367939740419, 6732401.049748413264751 ], [ 13929451.074924750253558, 6734465.708682147786021 ], [ 13925954.195760460570455, 6738595.343280836008489 ], [ 13920194.636626306921244, 6715549.909495662897825 ], [ 13907029.993645096197724, 6709954.966983059421182 ], [ 13908538.484064834192395, 6700830.063456649892032 ], [ 13899830.516897531226277, 6688707.800664684735239 ], [ 13890848.369824403896928, 6690972.462965884245932 ], [ 13880837.741975836455822, 6680382.148913975805044 ], [ 13873364.085322448983788, 6679449.662633988074958 ], [ 13868975.870995378121734, 6685843.802737040445209 ], [ 13858210.942277194932103, 6688841.030177884735167 ], [ 13852245.664724055677652, 6684112.089418961666524 ], [ 13848885.931172426789999, 6669525.475286211818457 ], [ 13833870.045059319585562, 6675986.106986324302852 ], [ 13830236.020282372832298, 6682446.860588230192661 ], [ 13817894.13965761475265, 6682979.739648016169667 ], [ 13811585.9980728328228, 6678250.806292907334864 ], [ 13795404.485571630299091, 6674654.046015627682209 ], [ 13786079.474466860294342, 6686576.424092614091933 ], [ 13771474.913872236385942, 6692038.120479127392173 ], [ 13765989.645963398739696, 6677917.722907073795795 ], [ 13744117.035814879462123, 6672256.313673863187432 ], [ 13725055.688086859881878, 6666394.987122034654021 ], [ 13698863.436417600139976, 6678450.484715132042766 ], [ 13689881.289344472810626, 6680115.611593139357865 ], [ 13688509.94453739002347, 6690039.836894138716161 ], [ 13681584.870334630832076, 6695101.880286510102451 ], [ 13676099.491106299683452, 6706224.99328841548413 ], [ 13676305.209525287151337, 6729337.217380445450544 ], [ 13664374.765738500282168, 6754447.4985137777403 ], [ 13666911.736933678388596, 6760375.412554574199021 ], [ 13659575.114573458209634, 6780290.37017513718456 ], [ 13661837.794543320313096, 6796275.780021515674889 ], [ 13657106.716184604912996, 6795542.96577038243413 ], [ 13651004.404338302090764, 6824849.39460214227438 ], [ 13666637.445708364248276, 6832708.925643590278924 ], [ 13665677.537739254534245, 6848494.454850723966956 ], [ 13646204.753173258155584, 6848427.88025270588696 ], [ 13634205.625260652974248, 6853889.55157121643424 ], [ 13634891.353323938325047, 6862148.58477595448494 ], [ 13619052.593534890562296, 6875336.399883347563446 ], [ 13615555.714370600879192, 6886526.111467573791742 ], [ 13604105.168908623978496, 6885393.812725285999477 ], [ 13599785.527387881651521, 6893519.706528972834349 ], [ 13591146.244346396997571, 6877734.33297630213201 ], [ 13575170.338944688439369, 6854289.096053009852767 ], [ 13563308.356644740328193, 6851425.009273711591959 ], [ 13549183.805694416165352, 6857819.235670248046517 ], [ 13540887.275365086272359, 6880864.750000794418156 ], [ 13527448.34115856140852, 6883129.327979872003198 ], [ 13515997.795696580782533, 6890922.132862944155931 ], [ 13505918.595041684806347, 6904309.81817886326462 ], [ 13489942.689639979973435, 6909238.637164886109531 ], [ 13511198.144531538709998, 6924624.626405407674611 ], [ 13522717.26279984600842, 6940942.857699253596365 ], [ 13535470.580262577161193, 6950600.73485567048192 ], [ 13537596.114619782194495, 6963122.532873956486583 ], [ 13543424.246560266241431, 6966852.420249539427459 ], [ 13549320.951307075098157, 6982637.97117112763226 ], [ 13557137.471992107108235, 6986434.5320108756423 ], [ 13560702.923962725326419, 6994427.065659836865962 ], [ 13553640.592827817425132, 7010146.090093437582254 ], [ 13543698.537785580381751, 7014608.688097790814936 ], [ 13545344.062498485669494, 7027596.68603365495801 ], [ 13537801.833038767799735, 7031326.510783758014441 ], [ 13525254.233995022252202, 7045580.20400080177933 ], [ 13536019.051393713802099, 7048444.30533386208117 ], [ 13547332.451243035495281, 7055970.658546704798937 ], [ 13553640.592827817425132, 7055371.267019957304001 ], [ 13567148.099840672686696, 7062298.107564739882946 ], [ 13593340.351509932428598, 7062364.804003601893783 ], [ 13598962.765031427145004, 7070157.570369998924434 ], [ 13606299.276072159409523, 7068892.181334142573178 ], [ 13619943.928697669878602, 7077084.600729180499911 ], [ 13629406.085415100678802, 7065695.107042376883328 ], [ 13648673.151562107726932, 7069558.229153617285192 ], [ 13680556.278239700943232, 7069091.877621853724122 ], [ 13698109.246867476031184, 7077284.316096832044423 ], [ 13707571.403584903106093, 7075685.79820335842669 ], [ 13722861.580923322588205, 7087874.746169311925769 ], [ 13742882.836620457470417, 7082879.32530097477138 ], [ 13749122.405398909002542, 7077750.587757521308959 ], [ 13749876.594949033111334, 7086942.163599919527769 ], [ 13755704.72688951715827, 7077017.967666896991432 ], [ 13757693.115634065121412, 7084810.904582454822958 ], [ 13766743.835513520985842, 7082346.448832307010889 ], [ 13770034.996258825063705, 7075752.42007873300463 ], [ 13788616.445662038400769, 7074087.415183319710195 ], [ 13810077.618972582742572, 7058102.028732252307236 ], [ 13817619.84843230061233, 7047645.012850089929998 ], [ 13830236.020282372832298, 7053506.181152046658099 ], [ 13840109.502518283203244, 7044647.729071890003979 ], [ 13845457.736133955419064, 7031060.209561446681619 ], [ 13852108.630430890247226, 7024532.753817639313638 ], [ 13866301.754187542945147, 7020336.661501296795905 ], [ 13879740.688394067808986, 7021269.079984998330474 ], [ 13885363.101915564388037, 7010146.090093437582254 ], [ 13896333.637733241543174, 7009879.568068525753915 ], [ 13900721.963379802182317, 7001354.080998281948268 ], [ 13902436.06089903973043, 7013476.325102268718183 ], [ 13911623.926391148939729, 7019004.665141506120563 ], [ 13936650.55167231336236, 7019803.873394609428942 ], [ 13950089.485878840088844, 7009879.568068525753915 ], [ 13971002.076738756150007, 7000621.418380334042013 ], [ 13974019.057578235864639, 6992428.96886961068958 ], [ 13983275.495876677334309, 6998423.463555623777211 ], [ 13991092.016561707481742, 6984503.002002560533583 ], [ 13997605.765245985239744, 6981838.779131374321878 ], [ 13997057.182795356959105, 6972846.954009036533535 ], [ 13988966.370885012671351, 6966985.702254174277186 ], [ 13990474.861304750666022, 6957327.772042716853321 ], [ 14000896.925991289317608, 6964121.551313890144229 ], [ 14010153.364289732649922, 6958326.988989148288965 ], [ 14024620.779271695762873, 6938478.517962159588933 ], [ 14032780.163988374173641, 6945738.488611852750182 ], [ 14039088.194253666326404, 6938345.341944406740367 ], [ 14031271.67356863245368, 6934748.587310534901917 ], [ 14033122.916700525209308, 6922826.185328419320285 ], [ 14025786.405659796670079, 6923159.219948335550725 ], [ 14022769.536139806732535, 6914900.223934118635952 ], [ 14029694.610342565923929, 6904976.014899461530149 ], [ 14033671.499151153489947, 6910037.947531225159764 ], [ 14049990.157265013083816, 6895651.174163771793246 ], [ 14049098.822102230042219, 6884860.978419861756265 ], [ 14055955.434818152338266, 6886592.818996689282358 ], [ 14065623.309954566881061, 6870807.33804245851934 ], [ 14062743.474727744236588, 6856487.035803786478937 ], [ 14074468.311415035277605, 6854289.096053009852767 ], [ 14059726.605207754299045, 6840168.708513076417148 ], [ 14064663.290665965527296, 6834973.448439522646368 ], [ 14081804.822455767542124, 6829178.866068451665342 ], [ 14089004.299203332513571, 6821719.071223938837647 ], [ 14083519.03129449300468, 6806866.069989963434637 ], [ 14076456.700159586966038, 6805134.253643837757409 ], [ 14077759.472160339355469, 6790814.068701305426657 ], [ 14083039.021650191396475, 6786085.04293926153332 ], [ 14095586.620693936944008, 6759975.621611275710166 ], [ 14107997.074125027284026, 6748119.849027821794152 ], [ 14108751.263675151392817, 6735664.609823594801128 ], [ 14103677.432604284957051, 6724275.189096981659532 ], [ 14119447.619587004184723, 6716682.137233702465892 ], [ 14113550.914840191602707, 6700963.133811172097921 ], [ 14127401.285884691402316, 6693636.600008405745029 ], [ 14129801.111467214301229, 6685111.068835980258882 ], [ 14119447.619587004184723, 6682580.16620250698179 ], [ 14119927.629231303930283, 6667194.173261684365571 ], [ 14128841.203498102724552, 6667327.408193015493453 ], [ 14125001.460302170366049, 6678450.484715132042766 ], [ 14135217.806569721549749, 6679782.630327605642378 ], [ 14134943.51534441113472, 6673055.538971753790975 ], [ 14126441.377915581688285, 6656870.354188823141158 ], [ 14128978.349110759794712, 6632226.339713490568101 ], [ 14153593.537553951144218, 6605450.970245942473412 ], [ 14163878.456627830862999, 6582738.458357819356024 ], [ 14170460.778118439018726, 6578076.107662808150053 ], [ 14170392.205312108621001, 6562024.051154397428036 ], [ 14178825.769934609532356, 6547570.664281094446778 ], [ 14170255.059699453413486, 6527322.682040803134441 ], [ 14178140.153190813958645, 6522527.054179702885449 ], [ 14174574.701220195740461, 6505476.057917837053537 ], [ 14178962.915547264739871, 6497816.402420819737017 ], [ 14204743.841698043048382, 6487825.470343909226358 ], [ 14202961.060052989050746, 6470175.010284771211445 ], [ 14193430.441848723217845, 6456121.364997446537018 ], [ 14192744.713785434141755, 6445331.184701097197831 ], [ 14198092.836081618443131, 6436605.930361778475344 ], [ 14196790.175400353968143, 6416157.97841664776206 ], [ 14200355.516051480546594, 6410563.111878136172891 ], [ 14211051.871963333338499, 6408098.758124838583171 ], [ 14213040.260707885026932, 6394111.59950606059283 ], [ 14228330.549365794286132, 6376261.355291815474629 ], [ 14237518.414857907220721, 6373663.728531531989574 ], [ 14249037.42180672287941, 6375994.824505573138595 ], [ 14256785.369685428217053, 6369867.127205604687333 ], [ 14269538.687148157507181, 6366869.887219546362758 ], [ 14280852.086997477337718, 6371532.380525553599 ], [ 14287091.655775932595134, 6367869.01969931088388 ], [ 14292302.632459454238415, 6375595.215950068086386 ], [ 14308758.436185970902443, 6378059.629337368533015 ], [ 14328505.511977281421423, 6371265.828506057150662 ], [ 14331728.099916255101562, 6376394.452126200310886 ], [ 14339407.47498863004148, 6370133.634738644585013 ], [ 14332893.726304348558187, 6361275.12748512905091 ], [ 14337076.222212435677648, 6355547.046137230470777 ], [ 14345921.334992397576571, 6358810.673431080766022 ], [ 14361760.094781447201967, 6352816.081163825467229 ], [ 14366422.489014340564609, 6339961.276372374035418 ], [ 14376227.509763410314918, 6335698.597448197193444 ], [ 14384181.176061099395156, 6342825.417690117843449 ], [ 14395905.901428904384375, 6335898.39161005243659 ], [ 14402419.761432671919465, 6337363.750908181071281 ], [ 14403653.849307604134083, 6348619.964987486600876 ], [ 14410167.709311371669173, 6350085.319698513485491 ], [ 14421001.09951639175415, 6342159.362549358047545 ], [ 14422852.342648288235068, 6325840.919207334518433 ], [ 14427514.848200669512153, 6322310.904991921968758 ], [ 14439719.694532265886664, 6325241.413857931271195 ], [ 14444999.244022116065025, 6318647.45506988465786 ], [ 14444107.908859333023429, 6310321.825899723917246 ], [ 14454598.435032710433006, 6305659.441419990733266 ], [ 14456724.080709408968687, 6294269.850069365464151 ], [ 14461866.484586605802178, 6293270.750675439834595 ], [ 14464540.60139443911612, 6281748.079920495860279 ], [ 14473865.501179721206427, 6278417.767340240068734 ], [ 14478116.681213622912765, 6271291.082336753606796 ], [ 14495052.494584441184998, 6258103.02976503316313 ], [ 14498823.553654555231333, 6252241.889902703464031 ], [ 14523987.324548371136189, 6258835.809482527896762 ], [ 14527415.630906334146857, 6252175.215122939087451 ], [ 14547299.740990810096264, 6254706.178946158848703 ], [ 14548328.221766248345375, 6249377.716628306545317 ], [ 14540785.992306532338262, 6238254.729970063082874 ], [ 14531460.981201760470867, 6209281.197335586883128 ], [ 14538934.749174637719989, 6206284.042638750746846 ], [ 14540648.846693875268102, 6189765.79225170891732 ], [ 14556967.616127222776413, 6191764.04744013492018 ], [ 14553950.635287743061781, 6177910.061895903199911 ], [ 14565606.899168709293008, 6156329.908095523715019 ], [ 14557173.334546212106943, 6145406.499201809987426 ], [ 14556761.897708239033818, 6138412.935367572121322 ], [ 14546545.551440685987473, 6128222.317582756280899 ], [ 14549425.275348016992211, 6114235.269587887451053 ], [ 14570749.414365394040942, 6094719.813811141997576 ], [ 14578565.935050427913666, 6078268.150071997195482 ], [ 14579114.406181562691927, 6062549.277359108440578 ], [ 14586176.737316470593214, 6056221.852305879816413 ], [ 14595707.466840229928493, 6055422.568471462465823 ], [ 14613328.896954838186502, 6063548.350988150574267 ], [ 14633624.443877289071679, 6064880.463798494078219 ], [ 14643360.780500538647175, 6063015.530410559847951 ], [ 14648571.868503555655479, 6050626.932624544948339 ], [ 14660296.593871355056763, 6058619.652091492898762 ], [ 14674764.120172811672091, 6053357.805326886475086 ], [ 14690877.059867683798075, 6052358.589153816923499 ], [ 14694236.793419316411018, 6059085.858084405772388 ], [ 14703767.522943073883653, 6057620.487817459739745 ], [ 14724474.506703494116664, 6060151.542819540016353 ], [ 14735582.188133828341961, 6067877.684164209291339 ], [ 14746415.578338848426938, 6061416.935309887863696 ], [ 14757660.40538184158504, 6060551.146508581005037 ], [ 14760882.993320815265179, 6072406.870908186770976 ], [ 14770688.014069885015488, 6087792.848500724881887 ], [ 14767808.178843062371016, 6097650.338579137809575 ], [ 14774664.791558984667063, 6100714.193772088736296 ], [ 14785361.147470839321613, 6096384.924456465058029 ], [ 14792491.940092582255602, 6107241.640758259221911 ], [ 14804628.213617846369743, 6112703.204033807851374 ], [ 14810113.48152668774128, 6123892.982364164665341 ], [ 14822661.080570433288813, 6129687.600706638768315 ], [ 14839116.884296946227551, 6124026.172885926440358 ], [ 14850910.293790567666292, 6127622.933078806847334 ], [ 14865240.563159877434373, 6126423.956388192251325 ], [ 14871960.030263140797615, 6139345.392019571736455 ], [ 14882656.38617499358952, 6138013.36604374088347 ], [ 14887935.935664845630527, 6149336.268505191430449 ], [ 14924481.679214315488935, 6163323.416399027220905 ], [ 14931406.753417074680328, 6162857.205228758975863 ], [ 14939497.565327418968081, 6170716.701679621823132 ], [ 14955816.334760768339038, 6170050.643087242729962 ], [ 14972683.575325256213546, 6176844.399758235551417 ], [ 14994350.467054788023233, 6174846.285800593905151 ], [ 15008200.726779796183109, 6169650.932334890589118 ], [ 15020062.709079744294286, 6182305.96316446736455 ], [ 15038781.192776126787066, 6179974.836321965791285 ], [ 15037341.386482207104564, 6173047.813384137116373 ], [ 15013000.377944840118289, 6162324.375791987404227 ], [ 14992430.539797075092793, 6149602.775939647108316 ], [ 14991676.350246949121356, 6135282.501157893799245 ], [ 14987219.563113551586866, 6123426.748497313819826 ], [ 14978237.416040424257517, 6112303.666612889617682 ], [ 14984476.873499387875199, 6091789.125666916370392 ], [ 14990305.005439868196845, 6090323.824178412556648 ], [ 14992361.966990744695067, 6076869.474394066259265 ], [ 15002852.604483613744378, 6067611.384275574237108 ], [ 15003606.905353229492903, 6059751.792196634225547 ], [ 14992979.122247703373432, 6045831.317558066919446 ], [ 14993116.267860360443592, 6041102.25798639561981 ], [ 14980980.105654587969184, 6027248.385768438689411 ], [ 14980088.659172313287854, 6020521.151309252716601 ], [ 14971792.240162475034595, 6015326.069187389686704 ], [ 14954582.135566342622042, 6014127.152923977002501 ], [ 14936549.268613759428263, 5995544.112487504258752 ], [ 14934286.5886438973248, 5982755.927334348671138 ], [ 14942445.973360570147634, 5971899.182376448065042 ], [ 14941554.526878299191594, 5959310.737008323892951 ], [ 14932709.525417827069759, 5957312.565282658673823 ], [ 14921533.271181166172028, 5923610.132962801493704 ], [ 14918036.392016874626279, 5883180.636404688470066 ], [ 14907888.618555651977658, 5876386.934329556301236 ], [ 14900346.389095935970545, 5852741.960261567495763 ], [ 14911248.352107280865312, 5843816.705334732308984 ], [ 14903088.967390608042479, 5838621.618567255325615 ], [ 14908231.482587292790413, 5833492.950357518158853 ], [ 14906174.521036416292191, 5820638.029457930475473 ], [ 14898975.044288851320744, 5812911.856361020356417 ], [ 14884096.192468913272023, 5806517.671799713745713 ], [ 14888484.406795985996723, 5792463.956039370968938 ], [ 14880805.03172361291945, 5771216.749025280587375 ], [ 14874085.564620347693563, 5771283.34497219696641 ], [ 14869628.777486946433783, 5759694.048734650015831 ], [ 14862497.873545713722706, 5762224.961803040467203 ], [ 14857903.940799657255411, 5754432.095590594224632 ], [ 14859412.431219395250082, 5738580.034622409380972 ], [ 14855092.789698652923107, 5733251.643173295073211 ], [ 14860235.193575847893953, 5727989.8410226367414 ], [ 14846864.832175649702549, 5712803.665588711388409 ], [ 14828900.538029396906495, 5703279.134618828073144 ], [ 14821221.162957021966577, 5689092.229288458824158 ], [ 14816147.220566665753722, 5660451.706138220615685 ], [ 14820878.298925377428532, 5649661.672493149526417 ], [ 14816970.094242604449391, 5638405.390226982533932 ], [ 14799417.125614833086729, 5624751.259021976031363 ], [ 14790709.269767018035054, 5631278.578402476385236 ], [ 14738050.586522677913308, 5647330.569118068553507 ], [ 14697048.055839810520411, 5661051.28659350797534 ], [ 14686557.41834694519639, 5667045.654968557879329 ], [ 14684980.355120878666639, 5675104.982372448779643 ], [ 14675244.018497623503208, 5670709.066625005565584 ], [ 14671198.668202197179198, 5654923.442738917656243 ], [ 14663176.429098177701235, 5658520.260355612263083 ], [ 14655291.335606819018722, 5646731.11388460919261 ], [ 14660296.593871355056763, 5642335.013982689939439 ], [ 14653234.374055940657854, 5633276.695295704528689 ], [ 14636778.459009934216738, 5620821.42422251496464 ], [ 14634584.35184639878571, 5615759.516467687673867 ], [ 14622448.189640624448657, 5619889.089639142155647 ], [ 14613466.042567497119308, 5608899.116656779311597 ], [ 14600781.297911092638969, 5613361.668537593446672 ], [ 14592896.204419735819101, 5609631.742823551408947 ], [ 14591662.00522530823946, 5602904.662251239642501 ], [ 14579182.978987893089652, 5598575.249201335012913 ], [ 14584668.246896728873253, 5588451.220869623124599 ], [ 14590016.480512402951717, 5588051.564521310850978 ], [ 14595296.030002256855369, 5575995.976094650104642 ], [ 14617442.820056596770883, 5472624.261192753911018 ], [ 14612231.843373071402311, 5470093.203783732838929 ], [ 14612643.280211044475436, 5455972.820725596509874 ], [ 14606403.711432591080666, 5438588.748709794133902 ], [ 14610106.309015868231654, 5404420.117341940291226 ], [ 14605169.512238165363669, 5393296.998239842243493 ], [ 14616757.203312801197171, 5388701.272173206321895 ], [ 14615591.576924704015255, 5383772.511267646215856 ], [ 14597833.001197436824441, 5377444.942578534595668 ], [ 14597833.001197436824441, 5377444.942578534595668 ], [ 14585833.873284826055169, 5389700.262568902224302 ], [ 14572532.084690960124135, 5378310.730101726949215 ], [ 14565195.573650224134326, 5381374.592884288169444 ], [ 14563207.07358618453145, 5388834.485132221132517 ], [ 14525907.140486590564251, 5412346.188442862592638 ], [ 14517542.148670423775911, 5411746.758608926087618 ], [ 14518707.775058517232537, 5425733.946816871874034 ], [ 14513839.551087150350213, 5432061.502942410297692 ], [ 14514182.415118791162968, 5450910.834172180853784 ], [ 14509177.045534761622548, 5457704.578625866211951 ], [ 14509177.045534761622548, 5457704.578625866211951 ], [ 14510891.254373490810394, 5473223.641028943471611 ], [ 14500537.762493280693889, 5457438.168774713762105 ], [ 14492584.09619559161365, 5456239.188104704022408 ], [ 14480379.361183488741517, 5439987.4398398315534 ], [ 14480379.361183488741517, 5439987.4398398315534 ], [ 14474551.229243008419871, 5442518.555296558886766 ], [ 14473454.17566123791039, 5459569.509218884631991 ], [ 14469408.714046319946647, 5467628.784229357726872 ], [ 14458232.45980965718627, 5465497.430061160586774 ], [ 14458232.45980965718627, 5465497.430061160586774 ], [ 14456998.260615233331919, 5466296.610543631017208 ], [ 14456998.260615233331919, 5466296.610543631017208 ], [ 14447536.215217294171453, 5459969.14226445928216 ], [ 14442873.709664909169078, 5446248.352921751327813 ], [ 14412293.243668582290411, 5446048.677742130123079 ], [ 14405505.203758986666799, 5437523.052846911363304 ], [ 14383769.739223128184676, 5432128.114043682813644 ], [ 14385895.273580336943269, 5403021.425864160992205 ], [ 14361828.556268284097314, 5391964.927129474468529 ], [ 14354560.618033880367875, 5396693.909899409860373 ], [ 14346606.951736191287637, 5394562.612588410265744 ], [ 14328985.521621583029628, 5437123.4679668052122 ], [ 14333579.343048147857189, 5443450.978811877779663 ], [ 14329465.419946391135454, 5449179.119418854825199 ], [ 14319729.083323137834668, 5448646.18333812057972 ], [ 14320688.991292249411345, 5455573.20683626178652 ], [ 14313969.524188984185457, 5464032.033871809951961 ], [ 14312872.470607219263911, 5472824.050120241008699 ], [ 14299022.099562717601657, 5496935.211454405449331 ], [ 14302518.978727009147406, 5523710.590458416379988 ], [ 14300393.444369798526168, 5532835.651614381931722 ], [ 14290451.389327563345432, 5545357.472987663000822 ], [ 14272418.522374980151653, 5532502.506152252666652 ], [ 14270087.269598785787821, 5522445.128054150380194 ], [ 14254454.228228723630309, 5519647.749253988265991 ], [ 14260213.676043385639787, 5510522.80075706448406 ], [ 14258911.015362124890089, 5485945.306002696976066 ], [ 14255551.281810492277145, 5482481.831955314613879 ], [ 14233541.526049315929413, 5475221.856722674332559 ], [ 14218731.247035708278418, 5480750.043204712681472 ], [ 14218182.775904569774866, 5495936.162384919822216 ], [ 14213451.697545856237411, 5491340.296029501594603 ], [ 14203372.496890960261226, 5500731.785547157749534 ], [ 14206937.948861578479409, 5508524.638928066939116 ], [ 14191441.941784681752324, 5527840.215535025112331 ], [ 14191441.941784681752324, 5527840.215535025112331 ], [ 14194184.631398845463991, 5533368.522607069462538 ], [ 14189179.261814819648862, 5540761.621033874340355 ], [ 14197270.073725163936615, 5546623.00013068318367 ], [ 14199601.326501358300447, 5554948.70640130341053 ], [ 14181294.168323459103703, 5563807.16316874884069 ], [ 14157844.606268363073468, 5565672.140785952098668 ], [ 14148039.696838784962893, 5561142.948296035639942 ], [ 14143034.327254755422473, 5553616.549658765085042 ], [ 14141731.555254, 5577794.369808150455356 ], [ 14135834.961826682090759, 5593846.269055362790823 ], [ 14140017.457734767347574, 5605635.407394424080849 ], [ 14147148.250356510281563, 5612828.795071532018483 ], [ 14134052.180181628093123, 5633276.695295704528689 ], [ 14133572.281856818124652, 5642335.013982689939439 ], [ 14118830.575649537146091, 5644599.637613769620657 ], [ 14089415.736041301861405, 5661384.298724757507443 ], [ 14073919.728964406996965, 5658720.073089467361569 ], [ 14062057.857983948662877, 5649728.315911191515625 ], [ 14044779.180581487715244, 5642534.940741648897529 ], [ 14016804.258586667478085, 5652525.731974872760475 ], [ 13999594.153990536928177, 5667511.965284707956016 ], [ 13992531.822855627164245, 5676703.556387734599411 ], [ 13994657.357212835922837, 5688159.605653930455446 ], [ 13991503.342080188915133, 5702812.86495201010257 ], [ 13984852.447783255949616, 5704078.442539017647505 ], [ 13970316.459994960576296, 5695686.175452621653676 ], [ 13962225.648084616288543, 5698283.768445383757353 ], [ 13959277.351370953023434, 5687360.449859115295112 ], [ 13953654.937849458307028, 5683963.525208567269146 ], [ 13942615.829225452616811, 5687493.663970553316176 ], [ 13922663.035015158355236, 5682298.354728830978274 ], [ 13917794.811043785884976, 5699549.181531514972448 ], [ 13910595.445615710690618, 5699815.657251779921353 ], [ 13906412.949707627296448, 5707142.244413685053587 ], [ 13902298.915286380797625, 5691489.898580821231008 ], [ 13873226.939709790050983, 5690624.131683574989438 ], [ 13864176.219830336049199, 5686627.807665344327688 ], [ 13857113.888695426285267, 5693621.276275265030563 ], [ 13847994.596009643748403, 5691156.876994816586375 ], [ 13843057.910551432520151, 5708008.181290178559721 ], [ 13835652.715384885668755, 5706809.275239435955882 ], [ 13834007.190671976655722, 5713935.935193510726094 ], [ 13818031.285270269960165, 5722461.59389609284699 ], [ 13818991.193239381536841, 5730387.616275570355356 ], [ 13804660.923870073631406, 5745507.068144397810102 ], [ 13810831.808522706851363, 5747971.355704125016928 ], [ 13810420.483004223555326, 5762158.433759544044733 ], [ 13803221.00625666230917, 5765488.646121503785253 ], [ 13800341.171029839664698, 5775745.931820991449058 ], [ 13808089.230228032916784, 5783472.094854573719203 ], [ 13802946.71503134444356, 5796593.489631198346615 ], [ 13801712.515836922451854, 5816641.74931819178164 ], [ 13792044.752019997686148, 5829163.569730984047055 ], [ 13779085.71613828279078, 5822769.367198237217963 ], [ 13760298.659635573625565, 5820971.107620844617486 ], [ 13755293.290051544085145, 5816641.74931819178164 ], [ 13747819.633398156613111, 5822036.752377906814218 ], [ 13733832.116741, 5816175.446681704372168 ], [ 13727866.950507352128625, 5821104.245810036547482 ] ] ], [ [ [ 13852588.528755700215697, 6513868.224731471389532 ], [ 13844154.964133203029633, 6509006.049029789865017 ], [ 13844634.862458011135459, 6491089.207223851233721 ], [ 13839766.749806132167578, 6477235.351319747045636 ], [ 13834624.234609443694353, 6486426.920018278062344 ], [ 13824682.179567206650972, 6483895.823080433532596 ], [ 13815082.877237120643258, 6487692.322934038005769 ], [ 13810488.944491064175963, 6480831.944100664928555 ], [ 13804455.205451088026166, 6484362.070142293348908 ], [ 13798489.92789794690907, 6478700.680059045553207 ], [ 13790124.824762288480997, 6482497.065082466229796 ], [ 13789233.489599505439401, 6493220.520850242115557 ], [ 13778879.997719295322895, 6506142.024931632913649 ], [ 13781416.968914473429322, 6525590.830196427181363 ], [ 13794718.757508344948292, 6511137.437676900066435 ], [ 13804180.914225772023201, 6521860.991266949102283 ], [ 13801781.088643250986934, 6535115.430976692587137 ], [ 13812134.580523461103439, 6544573.38601100910455 ], [ 13835789.860997540876269, 6542641.857342612929642 ], [ 13839561.031387142837048, 6539045.122503971680999 ], [ 13852588.528755700215697, 6540310.711521957069635 ], [ 13852588.528755700215697, 6513868.224731471389532 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 310000, "name": "上海市", "adchar": null, "childrenNum": 16.0, "level": "province", "subFeatureIndex": 8.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13577638.737333541736007, 3605405.107390617951751 ], [ 13574690.32930038869381, 3603806.538637991994619 ], [ 13570370.687779646366835, 3608668.705842333845794 ], [ 13536567.633844343945384, 3607469.802339417859912 ], [ 13517094.849278351292014, 3597745.449321899097413 ], [ 13509963.945337112993002, 3591218.086591875646263 ], [ 13500227.608713859692216, 3590951.709627952892333 ], [ 13493919.578448569402099, 3604872.271548285614699 ], [ 13483360.368149371817708, 3604072.930929897818714 ], [ 13480480.644242040812969, 3614196.950241328217089 ], [ 13468481.516329435631633, 3611199.743434364907444 ], [ 13468755.807554749771953, 3633779.047665959224105 ], [ 13458676.606899855658412, 3635044.531605504918844 ], [ 13456413.926929991692305, 3650230.565924966242164 ], [ 13478217.964272178709507, 3653361.075236172415316 ], [ 13476709.473852438852191, 3667614.634820414241403 ], [ 13486377.237669361755252, 3668547.034102399367839 ], [ 13481509.125017482787371, 3680203.115465492010117 ], [ 13488982.781670870259404, 3691192.915657286066562 ], [ 13498170.647162983193994, 3694989.514145305380225 ], [ 13498170.647162983193994, 3694989.514145305380225 ], [ 13503313.05104017816484, 3697720.333510399796069 ], [ 13503313.05104017816484, 3697720.333510399796069 ], [ 13507906.983786234632134, 3699452.03567077126354 ], [ 13527654.059577543288469, 3684132.845309511292726 ], [ 13549115.232888087630272, 3672942.988712880760431 ], [ 13575033.193332033231854, 3641305.405007601249963 ], [ 13579969.878790240734816, 3628650.375570842530578 ], [ 13577638.737333541736007, 3605405.107390617951751 ] ] ], [ [ [ 13511060.998918881639838, 3704780.555836061481386 ], [ 13485828.766538225114346, 3731023.039658491499722 ], [ 13491931.078384529799223, 3741679.895385763142258 ], [ 13505644.303816370666027, 3746075.978008444886655 ], [ 13517917.61163480207324, 3732954.583921303972602 ], [ 13549252.378500746563077, 3720565.993069258518517 ], [ 13578187.208464678376913, 3713172.810461891815066 ], [ 13580518.461240872740746, 3696987.668836955912411 ], [ 13568793.624553579837084, 3688528.78377763973549 ], [ 13560839.958255890756845, 3689794.301260331645608 ], [ 13530602.356291206553578, 3701916.508482429198921 ], [ 13517986.18444113060832, 3709642.630834041163325 ], [ 13511060.998918881639838, 3704780.555836061481386 ] ] ], [ [ [ 13552200.675214406102896, 3677738.713013650849462 ], [ 13526419.860383119434118, 3695588.913172057829797 ], [ 13552269.248020736500621, 3685731.280558539088815 ], [ 13552200.675214406102896, 3677738.713013650849462 ] ] ], [ [ [ 13563651.220676384866238, 3671078.114512026309967 ], [ 13557891.661542231217027, 3681868.187498876824975 ], [ 13571467.741361415013671, 3677405.558081849478185 ], [ 13563651.220676384866238, 3671078.114512026309967 ] ] ], [ [ [ 13574690.32930038869381, 3660754.251911198720336 ], [ 13581958.378854284062982, 3661486.966755949892104 ], [ 13580518.461240872740746, 3653627.493980017025024 ], [ 13574690.32930038869381, 3660754.251911198720336 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 320000, "name": "江苏省", "adchar": null, "childrenNum": 13.0, "level": "province", "subFeatureIndex": 9.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13578187.208464678376913, 3713172.810461891815066 ], [ 13549252.378500746563077, 3720565.993069258518517 ], [ 13517917.61163480207324, 3732954.583921303972602 ], [ 13505644.303816370666027, 3746075.978008444886655 ], [ 13491931.078384529799223, 3741679.895385763142258 ], [ 13485828.766538225114346, 3731023.039658491499722 ], [ 13511060.998918881639838, 3704780.555836061481386 ], [ 13507906.983786234632134, 3699452.03567077126354 ], [ 13503313.05104017816484, 3697720.333510399796069 ], [ 13503313.05104017816484, 3697720.333510399796069 ], [ 13498170.647162983193994, 3694989.514145305380225 ], [ 13498170.647162983193994, 3694989.514145305380225 ], [ 13488982.781670870259404, 3691192.915657286066562 ], [ 13481509.125017482787371, 3680203.115465492010117 ], [ 13486377.237669361755252, 3668547.034102399367839 ], [ 13476709.473852438852191, 3667614.634820414241403 ], [ 13478217.964272178709507, 3653361.075236172415316 ], [ 13456413.926929991692305, 3650230.565924966242164 ], [ 13458676.606899855658412, 3635044.531605504918844 ], [ 13436049.807201214134693, 3628983.383936255704612 ], [ 13437763.904720447957516, 3617860.290766236837953 ], [ 13423913.644995441660285, 3613863.949227805249393 ], [ 13414520.061084341257811, 3601342.161587208043784 ], [ 13405537.914011213928461, 3619858.424635098781437 ], [ 13398201.291650991886854, 3618126.724638503976166 ], [ 13399641.20926440320909, 3626052.827873250935227 ], [ 13383528.158250039443374, 3623188.756774972192943 ], [ 13373380.384788814932108, 3625186.839957767631859 ], [ 13358501.532968878746033, 3636243.373233060818166 ], [ 13349382.351602584123611, 3654959.543984788935632 ], [ 13322504.37187003903091, 3654626.485461068339646 ], [ 13316470.632830061018467, 3649697.75089961849153 ], [ 13298232.047458490356803, 3653094.662250171881169 ], [ 13290278.381160801276565, 3658023.454256388358772 ], [ 13290278.381160801276565, 3658023.454256388358772 ], [ 13289318.473191691562533, 3667814.419407561421394 ], [ 13276839.44695427455008, 3665350.028785218019038 ], [ 13269228.533368740230799, 3670944.845609528012574 ], [ 13255378.273643732070923, 3662952.266982972621918 ], [ 13222672.273290192708373, 3663951.364385298918933 ], [ 13216844.141349714249372, 3669346.382850665599108 ], [ 13218695.384481605142355, 3681268.678129962645471 ], [ 13230763.085200540721416, 3684599.077503768261522 ], [ 13233299.945076229050756, 3702116.331247225869447 ], [ 13232888.619557747617364, 3702515.855990899726748 ], [ 13231242.983525350689888, 3714105.291823904030025 ], [ 13225277.705972213298082, 3713306.017709117382765 ], [ 13221917.972420580685139, 3721698.270636255852878 ], [ 13217735.476512493565679, 3715370.72047503804788 ], [ 13207381.984632283449173, 3717635.328407975845039 ], [ 13213347.262185424566269, 3725295.024898877833039 ], [ 13206764.940694818273187, 3731755.662649147212505 ], [ 13197234.211171060800552, 3727825.991107352543622 ], [ 13189349.117679700255394, 3734220.14609286794439 ], [ 13191886.088874880224466, 3742545.775196345988661 ], [ 13176184.474698489531875, 3754201.750100322067738 ], [ 13180229.82499391771853, 3773517.439626570325345 ], [ 13191337.506424251943827, 3779112.251245395746082 ], [ 13193874.477619428187609, 3788037.339985817205161 ], [ 13207176.266213297843933, 3790768.211361524183303 ], [ 13213141.543766437098384, 3805021.773721136152744 ], [ 13212798.679734796285629, 3824270.753558584488928 ], [ 13201622.425498129799962, 3826668.543364560697228 ], [ 13198468.410365484654903, 3837525.353996744845062 ], [ 13215747.087767945602536, 3844185.836436375975609 ], [ 13215747.087767945602536, 3844185.836436375975609 ], [ 13238305.31466025672853, 3836659.444031396415085 ], [ 13238373.887466587126255, 3836659.444031396415085 ], [ 13238305.31466025672853, 3836659.444031396415085 ], [ 13238373.887466587126255, 3836659.444031396415085 ], [ 13244613.344925548881292, 3829665.801576463039964 ], [ 13251607.103254128247499, 3831131.183271396439523 ], [ 13256475.327225498855114, 3822872.046395959798247 ], [ 13271559.786144932731986, 3839257.099577187094837 ], [ 13267583.008655833080411, 3872160.20985482307151 ], [ 13258600.861582705751061, 3872293.344796798191965 ], [ 13246464.699376933276653, 3889810.624902655370533 ], [ 13230214.502749912440777, 3889544.224439507815987 ], [ 13226032.006841825321317, 3876023.32527324417606 ], [ 13218215.486156795173883, 3875490.493132315576077 ], [ 13219929.583676028996706, 3860504.220572160556912 ], [ 13214444.315767193213105, 3858239.55722687439993 ], [ 13177487.246699241921306, 3858039.762642769608647 ], [ 13163568.302848413586617, 3875224.019863360095769 ], [ 13161648.486910192295909, 3883949.355553510598838 ], [ 13168367.954013455659151, 3888278.639582589268684 ], [ 13162951.25891094841063, 3895072.478850829415023 ], [ 13160345.714909439906478, 3919516.736873091198504 ], [ 13139981.595180662348866, 3913189.103907741606236 ], [ 13128942.486556654796004, 3930240.175987345166504 ], [ 13132576.400014113634825, 3932238.381409178953618 ], [ 13141352.939987745136023, 3960812.06315277563408 ], [ 13147729.543059365823865, 3958547.482701146509498 ], [ 13148209.552703663706779, 3977530.064604002982378 ], [ 13154380.437356300652027, 3983657.812423665076494 ], [ 13148620.878222148865461, 3997644.934991008602083 ], [ 13124759.879329079762101, 3991250.888677041977644 ], [ 13114063.634736718609929, 3993448.817018963862211 ], [ 13108166.929989909753203, 3990118.559552189894021 ], [ 13108852.54673370346427, 4013430.440855046268553 ], [ 13103984.434081822633743, 4012631.26258559897542 ], [ 13094453.704558067023754, 4032679.489490255713463 ], [ 13088488.427004927769303, 4026485.202218180522323 ], [ 13081700.387095335870981, 4037008.813809385057539 ], [ 13070044.234533861279488, 4032412.999266224447638 ], [ 13063667.520142752677202, 4040872.000708375591785 ], [ 13045840.371609153226018, 4038007.915633047930896 ], [ 13027190.460719104856253, 4051262.410736286081374 ], [ 13029933.039013776928186, 4061386.412053041160107 ], [ 13021225.183165963739157, 4066381.817119787447155 ], [ 13020950.891940649598837, 4080968.492164886556566 ], [ 13005249.2777642570436, 4081168.272227555513382 ], [ 12999284.000211119651794, 4089760.406936547718942 ], [ 12977068.63735044747591, 4094622.646719112992287 ], [ 12979399.890126641839743, 4097553.237633190583438 ], [ 12967812.199052006006241, 4105745.676973200403154 ], [ 12960887.013529758900404, 4116802.183869291096926 ], [ 12954716.128877123817801, 4115070.436456678900868 ], [ 12958487.187947237864137, 4143644.247074502985924 ], [ 12962601.222368482500315, 4149705.350705889519304 ], [ 12988519.182812428101897, 4155633.276095593813807 ], [ 13004563.661020463332534, 4154301.203642129898071 ], [ 13020676.600715335458517, 4146974.52918339567259 ], [ 13024447.771104937419295, 4135851.468494279310107 ], [ 13034184.219047682359815, 4123462.796616030391306 ], [ 13032812.874240599572659, 4114737.45956458337605 ], [ 13039669.486956518143415, 4114137.963705275673419 ], [ 13043920.555670933797956, 4092091.546517943032086 ], [ 13051394.212324321269989, 4088827.870078734122217 ], [ 13057908.072328088805079, 4103880.734270360320807 ], [ 13057908.072328088805079, 4103880.734270360320807 ], [ 13060239.213784791529179, 4105146.255300814285874 ], [ 13060239.213784791529179, 4105146.255300814285874 ], [ 13060170.752297952771187, 4105146.255300814285874 ], [ 13060170.752297952771187, 4105146.255300814285874 ], [ 13060239.213784791529179, 4106145.309180608950555 ], [ 13060239.213784791529179, 4106145.309180608950555 ], [ 13069221.360857918858528, 4105545.866197500843555 ], [ 13076146.546380169689655, 4094089.722044612746686 ], [ 13090339.781456308439374, 4091092.524101959075779 ], [ 13100556.127723863348365, 4102548.725157493725419 ], [ 13113652.197898745536804, 4098685.5069196424447 ], [ 13112760.862735966220498, 4116669.025495399720967 ], [ 13124897.024941738694906, 4115669.982137057930231 ], [ 13130313.720044249668717, 4120265.668847545981407 ], [ 13145055.426251528784633, 4117201.939133990556002 ], [ 13144506.955120390281081, 4105545.866197500843555 ], [ 13156300.25329452008009, 4102082.457875759806484 ], [ 13150472.232673529535532, 4093889.983078077901155 ], [ 13155477.490938069298863, 4089826.961806386243552 ], [ 13155683.209357054904103, 4079836.112210461869836 ], [ 13168025.089981814846396, 4085963.919704208616167 ], [ 13180778.407444545999169, 4086363.525284140370786 ], [ 13184755.184933643788099, 4099884.504447394050658 ], [ 13182972.514608081430197, 4109009.395342862699181 ], [ 13187017.864903509616852, 4117268.521286604460329 ], [ 13202650.906273571774364, 4125127.992970655206591 ], [ 13212524.499828971922398, 4120265.668847545981407 ], [ 13222946.45319601893425, 4126326.838454505428672 ], [ 13215747.087767945602536, 4129324.107471912633628 ], [ 13221643.792514754459262, 4135984.584069257136434 ], [ 13231517.274750664830208, 4156299.372073069680482 ], [ 13231997.173075476661325, 4167955.237358082085848 ], [ 13239059.504210382699966, 4170819.305254410021007 ], [ 13259766.487970802932978, 4171352.22709705401212 ], [ 13262372.03197231143713, 4176947.070587675552815 ], [ 13278964.981311481446028, 4179544.683179042767733 ], [ 13281090.515668688341975, 4174282.870391204487532 ], [ 13273616.859015300869942, 4170552.921911502722651 ], [ 13269571.397400384768844, 4148972.741483029443771 ], [ 13273548.286208972334862, 4136650.727983858902007 ], [ 13289181.327579036355019, 4131921.748695581685752 ], [ 13298163.474652163684368, 4132787.537298567593098 ], [ 13303648.742561, 4127126.094939733855426 ], [ 13298849.09139595925808, 4119533.091140831355006 ], [ 13311876.700084004551172, 4109475.679586999118328 ], [ 13334023.490138344466686, 4098285.86946030613035 ], [ 13337383.22368997707963, 4094156.302487134933472 ], [ 13354181.891448134556413, 4090559.63134364457801 ], [ 13393058.887773796916008, 4070111.758964914828539 ], [ 13399229.772426430135965, 4041071.747462117578834 ], [ 13423296.489738481119275, 3984390.50439991755411 ], [ 13430838.719198197126389, 3972001.870329234749079 ], [ 13440849.458366256207228, 3940231.043557284865528 ], [ 13449831.605439383536577, 3934969.160758438520133 ], [ 13459156.505224663764238, 3899335.23597531626001 ], [ 13461830.622032500803471, 3878887.330830846447498 ], [ 13466835.99161653034389, 3878687.450685269199312 ], [ 13465944.54513425566256, 3864833.618791742715985 ], [ 13458608.034093527123332, 3858639.288864365313202 ], [ 13460322.131612760946155, 3847915.795001231599599 ], [ 13486720.101701004430652, 3832996.140212525613606 ], [ 13508866.891755344346166, 3825736.129332089331001 ], [ 13517026.276472019031644, 3820007.993976175319403 ], [ 13522305.937281362712383, 3781443.404151478316635 ], [ 13527996.812289698049426, 3781376.883639687206596 ], [ 13554189.063958957791328, 3771119.654153231531382 ], [ 13564953.992677137255669, 3757465.478968914598227 ], [ 13577638.737333541736007, 3726493.83091963082552 ], [ 13578187.208464678376913, 3713172.810461891815066 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 330000, "name": "浙江省", "adchar": null, "childrenNum": 11.0, "level": "province", "subFeatureIndex": 10.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13409720.409919299185276, 3141297.808175448793918 ], [ 13403000.942816033959389, 3149889.902713539078832 ], [ 13406223.530755007639527, 3155817.844222011510283 ], [ 13396350.048519099131227, 3173468.258128968533128 ], [ 13387573.619864957407117, 3177664.409097196068615 ], [ 13373380.384788814932108, 3176065.856880989391357 ], [ 13364192.519296701997519, 3165875.25134086003527 ], [ 13359118.688225835561752, 3170537.562504464294761 ], [ 13340880.102854264900088, 3161079.584709343966097 ], [ 13332789.290943920612335, 3161745.679339547175914 ], [ 13323327.245545981451869, 3178397.02557262359187 ], [ 13325932.678227998316288, 3187855.037019445560873 ], [ 13317224.822380185127258, 3196447.128915429115295 ], [ 13318733.312799924984574, 3206637.825384561438113 ], [ 13302825.980204546824098, 3204906.093145488761365 ], [ 13299877.572171397507191, 3190985.502873945515603 ], [ 13288975.609160048887134, 3190452.703625701833516 ], [ 13276839.44695427455008, 3176199.041616196278483 ], [ 13268680.062237601727247, 3175866.082179495599121 ], [ 13245161.927376179024577, 3185923.48527364525944 ], [ 13236316.925915706902742, 3181327.753923914860934 ], [ 13232477.182719774544239, 3191118.705901299137622 ], [ 13237413.979497475549579, 3200709.944623554125428 ], [ 13226786.196391951292753, 3238475.240988386794925 ], [ 13216981.286962369456887, 3245269.014152720104903 ], [ 13215747.087767945602536, 3256991.635820936411619 ], [ 13225003.526066387072206, 3263785.342320683877915 ], [ 13221575.219708427786827, 3272777.104771649930626 ], [ 13225003.526066387072206, 3279304.420818037819117 ], [ 13213690.126217065379024, 3288229.531732998322695 ], [ 13210810.290990246459842, 3283234.158558391965926 ], [ 13201142.527173321694136, 3284699.430927037261426 ], [ 13185166.621771616861224, 3280969.569642976857722 ], [ 13184000.995383519679308, 3285432.126924699638039 ], [ 13189897.700130330398679, 3290494.204594733193517 ], [ 13183795.276964532211423, 3299752.364459860604256 ], [ 13188252.064097933471203, 3309942.944057612214237 ], [ 13183178.233027067035437, 3316270.543461649212986 ], [ 13183041.087414408102632, 3316869.888922694139183 ], [ 13183178.233027067035437, 3316270.543461649212986 ], [ 13183041.087414408102632, 3316869.888922694139183 ], [ 13182629.650576435029507, 3317269.551989962812513 ], [ 13182629.650576435029507, 3317469.388010558206588 ], [ 13182835.368995422497392, 3323264.033318162895739 ], [ 13182835.368995422497392, 3323264.033318162895739 ], [ 13183726.704158205538988, 3334920.019209063146263 ], [ 13177898.572217723354697, 3348374.359042948577553 ], [ 13177898.572217723354697, 3348374.359042948577553 ], [ 13169807.760307379066944, 3353236.493527824990451 ], [ 13165762.410011949017644, 3365292.12906664935872 ], [ 13148072.407091008499265, 3375349.608745506033301 ], [ 13148072.407091008499265, 3375349.608745506033301 ], [ 13139913.022374333813787, 3388004.64327639574185 ], [ 13138815.968792567029595, 3397062.924913629423827 ], [ 13144369.809507735073566, 3412715.275468694511801 ], [ 13150883.558192012831569, 3411849.405510841403157 ], [ 13158768.651683369651437, 3419775.462273770943284 ], [ 13157191.699776794761419, 3426036.42781591322273 ], [ 13170904.925208635628223, 3429566.528033887036145 ], [ 13170287.769951676949859, 3438957.882386149372905 ], [ 13190926.18090576864779, 3441955.097270535305142 ], [ 13191406.079230578616261, 3449148.456297532655299 ], [ 13199565.46394725330174, 3457141.151933849323541 ], [ 13207450.557438615709543, 3457607.358564393594861 ], [ 13218626.811675276607275, 3469996.061934475321323 ], [ 13219792.438063373789191, 3483716.765485602896661 ], [ 13235288.445140268653631, 3495572.531661251094192 ], [ 13236179.780303051695228, 3507295.168950444553047 ], [ 13230077.357137255370617, 3524546.008349679410458 ], [ 13239196.649823037907481, 3529607.909860043320805 ], [ 13233711.38191420212388, 3544127.970035186968744 ], [ 13241939.339437201619148, 3549922.604363627266139 ], [ 13254006.928836649283767, 3542795.835358076263219 ], [ 13269434.251787725836039, 3540997.527949606999755 ], [ 13274508.194178083911538, 3547458.211943994741887 ], [ 13287947.128384610638022, 3553119.781940303277224 ], [ 13283353.195638552308083, 3572235.516197735909373 ], [ 13273411.140596315264702, 3574033.89406347554177 ], [ 13273616.859015300869942, 3582093.182922609616071 ], [ 13281776.132412483915687, 3583625.072688370011747 ], [ 13290072.662741815671325, 3591950.717235842254013 ], [ 13293432.396293448284268, 3586355.853216885589063 ], [ 13300769.01865366846323, 3594415.182563601527363 ], [ 13300426.15462202578783, 3603207.047235262114555 ], [ 13311122.399214390665293, 3610666.918872438836843 ], [ 13312219.452796155586839, 3629716.033836956135929 ], [ 13317567.686411827802658, 3635310.945253322366625 ], [ 13316470.632830061018467, 3649697.75089961849153 ], [ 13322504.37187003903091, 3654626.485461068339646 ], [ 13349382.351602584123611, 3654959.543984788935632 ], [ 13358501.532968878746033, 3636243.373233060818166 ], [ 13373380.384788814932108, 3625186.839957767631859 ], [ 13383528.158250039443374, 3623188.756774972192943 ], [ 13399641.20926440320909, 3626052.827873250935227 ], [ 13398201.291650991886854, 3618126.724638503976166 ], [ 13405537.914011213928461, 3619858.424635098781437 ], [ 13414520.061084341257811, 3601342.161587208043784 ], [ 13423913.644995441660285, 3613863.949227805249393 ], [ 13437763.904720447957516, 3617860.290766236837953 ], [ 13436049.807201214134693, 3628983.383936255704612 ], [ 13458676.606899855658412, 3635044.531605504918844 ], [ 13468755.807554749771953, 3633779.047665959224105 ], [ 13468481.516329435631633, 3611199.743434364907444 ], [ 13480480.644242040812969, 3614196.950241328217089 ], [ 13483360.368149371817708, 3604072.930929897818714 ], [ 13493919.578448569402099, 3604872.271548285614699 ], [ 13500227.608713859692216, 3590951.709627952892333 ], [ 13476160.891401810571551, 3576231.873661553487182 ], [ 13494742.340805023908615, 3555650.719078268390149 ], [ 13506192.886267, 3554718.223018220160156 ], [ 13525048.515576038509607, 3536867.984326965175569 ], [ 13540064.513008633628488, 3512823.441019953228533 ], [ 13549937.995244543999434, 3502632.738747235387564 ], [ 13556931.753573121502995, 3502699.318204758688807 ], [ 13572016.323812047019601, 3493374.50642982730642 ], [ 13577433.018914554268122, 3497970.341378169134259 ], [ 13581752.660435296595097, 3489644.688138877507299 ], [ 13596562.939448906108737, 3490910.141217799857259 ], [ 13592380.332221331074834, 3485515.08366209641099 ], [ 13580724.17965985648334, 3472726.848055586218834 ], [ 13574004.712556594982743, 3471261.501073666848242 ], [ 13562417.021481957286596, 3459072.689143360592425 ], [ 13577227.300495568662882, 3456808.157515060622245 ], [ 13580998.47088517434895, 3450014.386103123892099 ], [ 13577501.591720882803202, 3441422.296483718790114 ], [ 13580244.170015558600426, 3433296.378832036629319 ], [ 13574073.285362923517823, 3424637.687282784841955 ], [ 13579489.980465430766344, 3395397.815120991785079 ], [ 13577227.300495568662882, 3382409.7782197361812 ], [ 13568108.007809782400727, 3389070.365787242073566 ], [ 13556520.316735148429871, 3389603.19581798883155 ], [ 13555148.97192806750536, 3396863.156646279618144 ], [ 13543149.955334948375821, 3390735.435974057763815 ], [ 13555903.272797679528594, 3358365.184922900982201 ], [ 13544041.290497731417418, 3359497.537129713688046 ], [ 13548086.752112649381161, 3352304.021480282302946 ], [ 13546372.543273923918605, 3339982.092593831010163 ], [ 13529848.166741078719497, 3331856.197936754673719 ], [ 13540270.231427617371082, 3320133.562768242321908 ], [ 13546166.824854938313365, 3299619.105496244039387 ], [ 13539515.930558001622558, 3280769.771249578800052 ], [ 13525254.233995022252202, 3287630.074998618569225 ], [ 13511266.717337865382433, 3265783.471927931997925 ], [ 13501736.099133599549532, 3267248.870412935502827 ], [ 13498719.118294121697545, 3253328.308927056379616 ], [ 13485348.756893923506141, 3252928.648261271417141 ], [ 13481714.732116976752877, 3266516.151322586927563 ], [ 13476229.464208139106631, 3261121.081478132866323 ], [ 13468755.807554749771953, 3242671.394839812535793 ], [ 13475886.711495984345675, 3236410.461480058263987 ], [ 13487748.582476444542408, 3237276.343366555403918 ], [ 13486651.528894675895572, 3225087.508505416568369 ], [ 13486720.101701004430652, 3225020.930664553306997 ], [ 13486308.664863035082817, 3224021.798567949794233 ], [ 13486308.664863035082817, 3223955.225916132796556 ], [ 13486308.664863035082817, 3223888.653588402085006 ], [ 13484663.140150127932429, 3222156.880158035084605 ], [ 13484594.567343799397349, 3222156.880158035084605 ], [ 13486582.956088349223137, 3225686.975388631224632 ], [ 13472732.585043847560883, 3227884.95189164346084 ], [ 13463201.966839583590627, 3235944.28861538739875 ], [ 13447157.48863154835999, 3221224.390458764974028 ], [ 13428987.476066308096051, 3195781.120353452395648 ], [ 13436598.27833235450089, 3183392.419229353312403 ], [ 13433307.117587050423026, 3169738.298191400244832 ], [ 13422062.290544057264924, 3162744.818480162415653 ], [ 13418908.275411412119865, 3142763.132063716184348 ], [ 13409720.409919299185276, 3141297.808175448793918 ] ] ], [ [ [ 13614527.233595162630081, 3496105.396475412417203 ], [ 13599168.372130922973156, 3502033.282211758662015 ], [ 13585318.112405916675925, 3502233.140770290512592 ], [ 13580038.451596571132541, 3513289.620110786519945 ], [ 13579969.878790240734816, 3513356.255271847359836 ], [ 13575718.810075828805566, 3527210.186382573563606 ], [ 13598002.857062317430973, 3518085.155505892354995 ], [ 13613704.471238708123565, 3516420.048586377408355 ], [ 13619669.637472355738282, 3505363.552851772401482 ], [ 13614527.233595162630081, 3496105.396475412417203 ] ] ], [ [ [ 13592174.725121835246682, 3542729.303225642070174 ], [ 13606367.848878487944603, 3545992.885029063560069 ], [ 13606573.567297473549843, 3533471.082707732915878 ], [ 13587443.646763119846582, 3541130.703260187059641 ], [ 13592174.725121835246682, 3542729.303225642070174 ] ] ], [ [ [ 13616309.903920724987984, 3535669.087515452411026 ], [ 13626320.53176929242909, 3538666.349158979021013 ], [ 13625223.478187523782253, 3532538.675905143842101 ], [ 13616309.903920724987984, 3535669.087515452411026 ] ] ], [ [ [ 13629406.085415100678802, 3491509.589769694488496 ], [ 13624606.434250054880977, 3481918.442960745189339 ], [ 13617406.95750249363482, 3493641.018692302983254 ], [ 13626800.541413594037294, 3497370.846758150029927 ], [ 13629406.085415100678802, 3491509.589769694488496 ] ] ], [ [ [ 13620355.365535642951727, 3563377.022826887201518 ], [ 13628103.313414346426725, 3556183.53119180444628 ], [ 13612333.126431623473763, 3557515.660055158194155 ], [ 13611921.689593654125929, 3564309.385439461097121 ], [ 13620355.365535642951727, 3563377.022826887201518 ] ] ], [ [ [ 13614801.524820476770401, 3482051.643385903909802 ], [ 13615487.141564272344112, 3473592.696875618305057 ], [ 13605613.659328363835812, 3482051.643385903909802 ], [ 13614801.524820476770401, 3482051.643385903909802 ] ] ], [ [ [ 13595603.031479794532061, 3461670.345707084983587 ], [ 13586278.020375026389956, 3467531.569594501052052 ], [ 13595465.885867139324546, 3476656.593016935512424 ], [ 13603350.979358498007059, 3466465.927037372719496 ], [ 13602391.071389386430383, 3459339.130778833292425 ], [ 13595603.031479794532061, 3461670.345707084983587 ] ] ], [ [ [ 13574690.32930038869381, 3603806.538637991994619 ], [ 13577638.737333541736007, 3605405.107390617951751 ], [ 13582232.558760106563568, 3589885.99968073470518 ], [ 13577433.018914554268122, 3592350.316748170182109 ], [ 13574690.32930038869381, 3603806.538637991994619 ] ] ], [ [ [ 13567010.954228017479181, 3499036.036300390958786 ], [ 13562622.739900946617126, 3502632.738747235387564 ], [ 13564885.419870810583234, 3514488.463141580112278 ], [ 13572564.794943183660507, 3510292.427683248650283 ], [ 13573524.702912295237184, 3502899.187196084763855 ], [ 13567010.954228017479181, 3499036.036300390958786 ] ] ], [ [ [ 13598277.03696813993156, 3499768.737088828813285 ], [ 13598139.891355484724045, 3499835.301607904490083 ], [ 13597934.284255988895893, 3499835.301607904490083 ], [ 13599168.372130922973156, 3502033.282211758662015 ], [ 13598277.03696813993156, 3499768.737088828813285 ] ] ], [ [ [ 13484868.858569113537669, 3242471.530655429232866 ], [ 13474309.648269917815924, 3241872.081724024843425 ], [ 13477395.090596234425902, 3247000.699885308276862 ], [ 13484868.858569113537669, 3242471.530655429232866 ] ] ], [ [ [ 13484594.567343799397349, 3222023.627502087503672 ], [ 13484594.567343799397349, 3222156.880158035084605 ], [ 13484663.140150127932429, 3222156.880158035084605 ], [ 13484594.567343799397349, 3222023.627502087503672 ] ] ], [ [ [ 13597934.284255988895893, 3499835.301607904490083 ], [ 13598139.891355484724045, 3499835.301607904490083 ], [ 13598277.03696813993156, 3499768.737088828813285 ], [ 13597934.284255988895893, 3499835.301607904490083 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 340000, "name": "安徽省", "adchar": null, "childrenNum": 16.0, "level": "province", "subFeatureIndex": 11.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12858380.798142079263926, 3825003.418853113427758 ], [ 12847273.116711745038629, 3835593.785367860458791 ], [ 12835685.425637109205127, 3836126.536689849104732 ], [ 12824097.73456247523427, 3841255.195981250610203 ], [ 12822177.918624253943563, 3851046.172383381053805 ], [ 12823686.409043991938233, 3876223.160116658080369 ], [ 12817241.233166042715311, 3881751.371753924526274 ], [ 12795437.195823857560754, 3886680.138441221788526 ], [ 12788717.728720592334867, 3894006.832935269456357 ], [ 12793448.807079305872321, 3897536.88270256947726 ], [ 12790911.835884127765894, 3912523.110986788291484 ], [ 12797974.167019033804536, 3914854.2525431108661 ], [ 12806476.304447863250971, 3906795.013900040183216 ], [ 12820463.82110502012074, 3907061.408721955027431 ], [ 12835274.100118627771735, 3914121.690810270607471 ], [ 12842404.892740372568369, 3939964.555039301514626 ], [ 12836576.760799892246723, 3945359.608141355216503 ], [ 12840210.785576835274696, 3962277.396487536840141 ], [ 12848713.034325156360865, 3969470.864719695877284 ], [ 12872985.358736703172326, 3973200.701385980471969 ], [ 12864414.648501547053456, 3998177.776744184549898 ], [ 12870105.634829368442297, 3998710.643243471626192 ], [ 12871819.73234860599041, 4011565.465546121355146 ], [ 12862631.86685649305582, 4012031.781435791868716 ], [ 12869351.333959754556417, 4032879.226923809852451 ], [ 12883681.714648555964231, 4039140.157832250464708 ], [ 12899383.328824946656823, 4029216.005222759675235 ], [ 12908365.475898072123528, 4029815.448867701925337 ], [ 12913096.554256787523627, 4024087.376705937087536 ], [ 12911656.636643376201391, 4015495.287888492457569 ], [ 12919678.87574739381671, 4010166.765923384111375 ], [ 12921324.400460299104452, 3999509.922435945365578 ], [ 12930375.120339756831527, 3989918.76409100368619 ], [ 12942374.248252365738153, 3992582.900030094198883 ], [ 12948270.952999174594879, 3998111.220390265807509 ], [ 12961709.887205703184009, 4002174.142213723622262 ], [ 12961778.460012029856443, 4008235.305018220562488 ], [ 12984679.439616493880749, 4014962.444690085947514 ], [ 12985228.022067124024034, 4025219.713642534799874 ], [ 12977137.210156777873635, 4038074.570333361625671 ], [ 12977137.210156777873635, 4038074.570333361625671 ], [ 12972131.840572748333216, 4043203.180325564928353 ], [ 12976040.156575009226799, 4052128.213874247856438 ], [ 12970554.888666169717908, 4068646.422463608905673 ], [ 12958624.333559893071651, 4065649.23179560340941 ], [ 12958624.333559893071651, 4065649.23179560340941 ], [ 12942305.675446035340428, 4079369.974247009027749 ], [ 12936820.407537197694182, 4080235.770694279111922 ], [ 12931129.421209372580051, 4090626.325941793154925 ], [ 12935791.926761757582426, 4097286.83788067381829 ], [ 12934969.053085813298821, 4106411.783612778410316 ], [ 12939837.277057185769081, 4103214.777572997380048 ], [ 12944362.636996913701296, 4110674.475963294971734 ], [ 12954716.128877123817801, 4115070.436456678900868 ], [ 12960887.013529758900404, 4116802.183869291096926 ], [ 12967812.199052006006241, 4105745.676973200403154 ], [ 12979399.890126641839743, 4097553.237633190583438 ], [ 12977068.63735044747591, 4094622.646719112992287 ], [ 12999284.000211119651794, 4089760.406936547718942 ], [ 13005249.2777642570436, 4081168.272227555513382 ], [ 13020950.891940649598837, 4080968.492164886556566 ], [ 13021225.183165963739157, 4066381.817119787447155 ], [ 13029933.039013776928186, 4061386.412053041160107 ], [ 13027190.460719104856253, 4051262.410736286081374 ], [ 13045840.371609153226018, 4038007.915633047930896 ], [ 13063667.520142752677202, 4040872.000708375591785 ], [ 13070044.234533861279488, 4032412.999266224447638 ], [ 13081700.387095335870981, 4037008.813809385057539 ], [ 13088488.427004927769303, 4026485.202218180522323 ], [ 13094453.704558067023754, 4032679.489490255713463 ], [ 13103984.434081822633743, 4012631.26258559897542 ], [ 13108852.54673370346427, 4013430.440855046268553 ], [ 13108166.929989909753203, 3990118.559552189894021 ], [ 13114063.634736718609929, 3993448.817018963862211 ], [ 13124759.879329079762101, 3991250.888677041977644 ], [ 13148620.878222148865461, 3997644.934991008602083 ], [ 13154380.437356300652027, 3983657.812423665076494 ], [ 13148209.552703663706779, 3977530.064604002982378 ], [ 13147729.543059365823865, 3958547.482701146509498 ], [ 13141352.939987745136023, 3960812.06315277563408 ], [ 13132576.400014113634825, 3932238.381409178953618 ], [ 13128942.486556654796004, 3930240.175987345166504 ], [ 13139981.595180662348866, 3913189.103907741606236 ], [ 13160345.714909439906478, 3919516.736873091198504 ], [ 13162951.25891094841063, 3895072.478850829415023 ], [ 13168367.954013455659151, 3888278.639582589268684 ], [ 13161648.486910192295909, 3883949.355553510598838 ], [ 13163568.302848413586617, 3875224.019863360095769 ], [ 13177487.246699241921306, 3858039.762642769608647 ], [ 13214444.315767193213105, 3858239.55722687439993 ], [ 13219929.583676028996706, 3860504.220572160556912 ], [ 13218215.486156795173883, 3875490.493132315576077 ], [ 13226032.006841825321317, 3876023.32527324417606 ], [ 13230214.502749912440777, 3889544.224439507815987 ], [ 13246464.699376933276653, 3889810.624902655370533 ], [ 13258600.861582705751061, 3872293.344796798191965 ], [ 13267583.008655833080411, 3872160.20985482307151 ], [ 13271559.786144932731986, 3839257.099577187094837 ], [ 13256475.327225498855114, 3822872.046395959798247 ], [ 13251607.103254128247499, 3831131.183271396439523 ], [ 13244613.344925548881292, 3829665.801576463039964 ], [ 13238373.887466587126255, 3836659.444031396415085 ], [ 13238305.31466025672853, 3836659.444031396415085 ], [ 13238373.887466587126255, 3836659.444031396415085 ], [ 13238305.31466025672853, 3836659.444031396415085 ], [ 13215747.087767945602536, 3844185.836436375975609 ], [ 13215747.087767945602536, 3844185.836436375975609 ], [ 13198468.410365484654903, 3837525.353996744845062 ], [ 13201622.425498129799962, 3826668.543364560697228 ], [ 13212798.679734796285629, 3824270.753558584488928 ], [ 13213141.543766437098384, 3805021.773721136152744 ], [ 13207176.266213297843933, 3790768.211361524183303 ], [ 13193874.477619428187609, 3788037.339985817205161 ], [ 13191337.506424251943827, 3779112.251245395746082 ], [ 13180229.82499391771853, 3773517.439626570325345 ], [ 13176184.474698489531875, 3754201.750100322067738 ], [ 13191886.088874880224466, 3742545.775196345988661 ], [ 13189349.117679700255394, 3734220.14609286794439 ], [ 13197234.211171060800552, 3727825.991107352543622 ], [ 13206764.940694818273187, 3731755.662649147212505 ], [ 13213347.262185424566269, 3725295.024898877833039 ], [ 13207381.984632283449173, 3717635.328407975845039 ], [ 13217735.476512493565679, 3715370.72047503804788 ], [ 13221917.972420580685139, 3721698.270636255852878 ], [ 13225277.705972213298082, 3713306.017709117382765 ], [ 13231242.983525350689888, 3714105.291823904030025 ], [ 13232888.619557747617364, 3702515.855990899726748 ], [ 13232134.318688131868839, 3701383.663781104143709 ], [ 13232614.328332433477044, 3701250.456242827698588 ], [ 13233299.945076229050756, 3702116.331247225869447 ], [ 13230763.085200540721416, 3684599.077503768261522 ], [ 13218695.384481605142355, 3681268.678129962645471 ], [ 13216844.141349714249372, 3669346.382850665599108 ], [ 13222672.273290192708373, 3663951.364385298918933 ], [ 13255378.273643732070923, 3662952.266982972621918 ], [ 13269228.533368740230799, 3670944.845609528012574 ], [ 13276839.44695427455008, 3665350.028785218019038 ], [ 13289318.473191691562533, 3667814.419407561421394 ], [ 13290278.381160801276565, 3658023.454256388358772 ], [ 13290278.381160801276565, 3658023.454256388358772 ], [ 13298232.047458490356803, 3653094.662250171881169 ], [ 13316470.632830061018467, 3649697.75089961849153 ], [ 13317567.686411827802658, 3635310.945253322366625 ], [ 13312219.452796155586839, 3629716.033836956135929 ], [ 13311122.399214390665293, 3610666.918872438836843 ], [ 13300426.15462202578783, 3603207.047235262114555 ], [ 13300769.01865366846323, 3594415.182563601527363 ], [ 13293432.396293448284268, 3586355.853216885589063 ], [ 13290072.662741815671325, 3591950.717235842254013 ], [ 13281776.132412483915687, 3583625.072688370011747 ], [ 13273616.859015300869942, 3582093.182922609616071 ], [ 13273411.140596315264702, 3574033.89406347554177 ], [ 13283353.195638552308083, 3572235.516197735909373 ], [ 13287947.128384610638022, 3553119.781940303277224 ], [ 13274508.194178083911538, 3547458.211943994741887 ], [ 13269434.251787725836039, 3540997.527949606999755 ], [ 13254006.928836649283767, 3542795.835358076263219 ], [ 13241939.339437201619148, 3549922.604363627266139 ], [ 13233711.38191420212388, 3544127.970035186968744 ], [ 13239196.649823037907481, 3529607.909860043320805 ], [ 13230077.357137255370617, 3524546.008349679410458 ], [ 13236179.780303051695228, 3507295.168950444553047 ], [ 13235288.445140268653631, 3495572.531661251094192 ], [ 13219792.438063373789191, 3483716.765485602896661 ], [ 13218626.811675276607275, 3469996.061934475321323 ], [ 13207450.557438615709543, 3457607.358564393594861 ], [ 13199565.46394725330174, 3457141.151933849323541 ], [ 13191406.079230578616261, 3449148.456297532655299 ], [ 13190926.18090576864779, 3441955.097270535305142 ], [ 13170287.769951676949859, 3438957.882386149372905 ], [ 13170904.925208635628223, 3429566.528033887036145 ], [ 13157191.699776794761419, 3426036.42781591322273 ], [ 13150883.558192012831569, 3429100.180335870943964 ], [ 13150677.839773025363684, 3440556.430044522043318 ], [ 13136621.861629029735923, 3449481.509201301261783 ], [ 13121537.291390107944608, 3445551.852509895805269 ], [ 13114269.353155706077814, 3448882.096951561048627 ], [ 13103161.560405880212784, 3445685.061175740789622 ], [ 13096510.666108945384622, 3454143.87130979495123 ], [ 13085128.69345329515636, 3451479.750904621556401 ], [ 13083620.314353048801422, 3458872.861530537717044 ], [ 13074912.347185743972659, 3463535.288233029190451 ], [ 13075049.492798401042819, 3471328.17406728444621 ], [ 13067164.399307038635015, 3483450.331413462758064 ], [ 13056948.053039487451315, 3480786.166897202376276 ], [ 13051805.649162290617824, 3492641.915317289531231 ], [ 13044126.274089919403195, 3493507.826086515095085 ], [ 13032538.583015281707048, 3481985.043000347912312 ], [ 13039600.914150191470981, 3474724.979719042778015 ], [ 13036926.797342354431748, 3466599.095488200895488 ], [ 12999969.728274403139949, 3448415.821318289265037 ], [ 12985639.347585605457425, 3457007.953134684357792 ], [ 12988450.610006099566817, 3461070.87944339774549 ], [ 12990370.425944320857525, 3461470.477813681121916 ], [ 12990370.425944320857525, 3461470.477813681121916 ], [ 12992907.397139497101307, 3463868.328372952993959 ], [ 12992153.207589372992516, 3464667.582964560482651 ], [ 12992084.63478304259479, 3464734.221791493240744 ], [ 12991673.197945073246956, 3464800.860963363666087 ], [ 12990850.435588620603085, 3466066.301787599921227 ], [ 12989204.799556223675609, 3468663.959605489857495 ], [ 13000998.20904984511435, 3477256.016570239327848 ], [ 13011351.700930051505566, 3489844.481442381627858 ], [ 13013271.516868272796273, 3497037.834897553548217 ], [ 13005797.860214887186885, 3498103.580502052325755 ], [ 12996267.130691129714251, 3510891.758283145260066 ], [ 12987284.983618002384901, 3513422.890781795140356 ], [ 12978302.836544875055552, 3509493.149750628508627 ], [ 12974531.666155271232128, 3491975.889760987833142 ], [ 12965755.237501127645373, 3490377.364440548699349 ], [ 12942305.675446035340428, 3475590.834980098996311 ], [ 12936203.252280239015818, 3481385.526778979226947 ], [ 12928112.440369891002774, 3480386.480895467568189 ], [ 12927221.105207109823823, 3490643.685850696172565 ], [ 12921255.827653972432017, 3499702.044414860196412 ], [ 12923244.327718012034893, 3508227.653900472912937 ], [ 12920364.492491189390421, 3529874.408815142232925 ], [ 12911450.918224390596151, 3540997.527949606999755 ], [ 12902263.052732277661562, 3543928.22469913167879 ], [ 12904320.014283156022429, 3557182.614634083583951 ], [ 12899314.756018618121743, 3578629.626990583725274 ], [ 12892938.152946997433901, 3580627.82493171049282 ], [ 12886630.011362213641405, 3592017.380989567842335 ], [ 12888892.691332079470158, 3600542.788187587168068 ], [ 12896503.493598124012351, 3601208.864359482657164 ], [ 12898080.556824194267392, 3615129.478334429208189 ], [ 12910422.43744895234704, 3623854.748752366751432 ], [ 12921050.220554476603866, 3627118.392681055702269 ], [ 12919610.30294106528163, 3634378.457628683187068 ], [ 12906239.94154086895287, 3638907.636262207757682 ], [ 12898491.993662163615227, 3651962.341210807207972 ], [ 12886767.15697487257421, 3648099.183805227745324 ], [ 12879773.398646295070648, 3658889.273566648364067 ], [ 12873671.08679998666048, 3660021.580687419045717 ], [ 12864003.211663573980331, 3653560.888754226267338 ], [ 12859203.560498533770442, 3667015.170316189993173 ], [ 12852689.811814252287149, 3669346.382850665599108 ], [ 12850975.714295018464327, 3677805.319017351604998 ], [ 12843159.193609988316894, 3678204.832289435900748 ], [ 12843364.800709484145045, 3685531.464737428352237 ], [ 12843090.620803659781814, 3697320.704651643056422 ], [ 12857009.453334994614124, 3720632.571627291385084 ], [ 12875316.611512893810868, 3731955.583727222401649 ], [ 12887178.59381284378469, 3735419.049409469589591 ], [ 12892595.288915354758501, 3732155.377176539972425 ], [ 12903017.353601891547441, 3736018.480101086199284 ], [ 12901165.999150510877371, 3741413.513540128711611 ], [ 12905417.067864922806621, 3762594.069894161075354 ], [ 12906582.694253019988537, 3785173.350257642101496 ], [ 12903360.106314046308398, 3793232.568689160980284 ], [ 12901851.72721379622817, 3814746.255928622558713 ], [ 12895886.449660658836365, 3829332.779513786081225 ], [ 12889578.308075873181224, 3825003.418853113427758 ], [ 12880390.553903251886368, 3828333.76937765814364 ], [ 12876070.80106301791966, 3817210.559943568427116 ], [ 12864894.546826355159283, 3818809.182682327460498 ], [ 12858449.37094840593636, 3824737.025866411160678 ], [ 12858586.516561064869165, 3824870.287584668025374 ], [ 12858586.516561064869165, 3824936.787060531787574 ], [ 12858586.516561064869165, 3825003.418853113427758 ], [ 12858380.798142079263926, 3825003.418853113427758 ] ] ], [ [ [ 12992907.397139497101307, 3463868.328372952993959 ], [ 12990370.425944320857525, 3461470.477813681121916 ], [ 12990370.425944320857525, 3461470.477813681121916 ], [ 12988450.610006099566817, 3461070.87944339774549 ], [ 12989204.799556223675609, 3468663.959605489857495 ], [ 12990850.435588620603085, 3466066.301787599921227 ], [ 12991673.197945073246956, 3464800.860963363666087 ], [ 12992084.63478304259479, 3464734.221791493240744 ], [ 12992153.207589372992516, 3464667.582964560482651 ], [ 12992084.63478304259479, 3464734.221791493240744 ], [ 12992907.397139497101307, 3463868.328372952993959 ] ] ], [ [ [ 13232888.619557747617364, 3702515.855990899726748 ], [ 13233299.945076229050756, 3702116.331247225869447 ], [ 13232614.328332433477044, 3701250.456242827698588 ], [ 13232134.318688131868839, 3701383.663781104143709 ], [ 13232888.619557747617364, 3702515.855990899726748 ] ] ], [ [ [ 12858586.516561064869165, 3825003.418853113427758 ], [ 12858586.516561064869165, 3824936.787060531787574 ], [ 12858586.516561064869165, 3824870.287584668025374 ], [ 12858449.37094840593636, 3824737.025866411160678 ], [ 12858380.798142079263926, 3825003.418853113427758 ], [ 12858586.516561064869165, 3825003.418853113427758 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 350000, "name": "福建省", "adchar": null, "childrenNum": 9.0, "level": "province", "subFeatureIndex": 12.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13409720.409919299185276, 3141297.808175448793918 ], [ 13402109.607653252780437, 3133638.162952944170684 ], [ 13390316.198159631341696, 3135236.728868911042809 ], [ 13391276.106128741055727, 3127910.080062748864293 ], [ 13384145.313506998121738, 3111858.174067201092839 ], [ 13371391.996044266968966, 3113057.003213038668036 ], [ 13363575.475359233096242, 3101600.947136314120144 ], [ 13373723.248820457607508, 3098137.382362980395555 ], [ 13376808.691146774217486, 3089944.896373097784817 ], [ 13370637.806494142860174, 3085149.296743386890739 ], [ 13373723.248820457607508, 3078288.954390500672162 ], [ 13354730.473898764699697, 3073293.611199509352446 ], [ 13346776.807601077482104, 3063169.460759005974978 ], [ 13339166.005335031077266, 3064235.163156820461154 ], [ 13341840.01082337461412, 3073027.071143917739391 ], [ 13352673.51234788633883, 3076623.852746874094009 ], [ 13364192.519296701997519, 3096871.856770287267864 ], [ 13351987.784284599125385, 3096605.497255114838481 ], [ 13343828.399567924439907, 3078888.368946980684996 ], [ 13339440.185240853577852, 3084882.908203456085175 ], [ 13326206.969453312456608, 3084350.021523999515921 ], [ 13321064.565576117485762, 3089278.833936593960971 ], [ 13311328.117633376270533, 3076357.374869700521231 ], [ 13334777.679688468575478, 3071495.153851038776338 ], [ 13344582.700437538325787, 3043720.715208611916751 ], [ 13354181.891448134556413, 3045385.84023454412818 ], [ 13347051.098826391622424, 3037326.52488392079249 ], [ 13340674.384435281157494, 3039058.348166544921696 ], [ 13321475.891094600781798, 3030932.443557698279619 ], [ 13314276.52566652558744, 3020009.185160851106048 ], [ 13321475.891094600781798, 3002292.096303172875196 ], [ 13327578.314260395243764, 3000493.694000339601189 ], [ 13323669.998258134350181, 2986439.91679308610037 ], [ 13317430.540799172595143, 2984774.873185309581459 ], [ 13317773.404830813407898, 2967657.173814952839166 ], [ 13313933.661634881049395, 2959930.982573306187987 ], [ 13299671.965071901679039, 2957333.392265414819121 ], [ 13312356.598408814519644, 2948674.64841265976429 ], [ 13317636.259218158200383, 2934221.259764822665602 ], [ 13326824.124710271134973, 2943545.950508377049118 ], [ 13326824.124710271134973, 2943679.208233533427119 ], [ 13323121.527126997709274, 2948741.176825464703143 ], [ 13334503.499782646074891, 2957999.45121004153043 ], [ 13334983.398107456043363, 2951405.398629053961486 ], [ 13345405.462793992832303, 2943013.178378803655505 ], [ 13337451.79649630561471, 2940149.147558166179806 ], [ 13343211.355630459263921, 2934754.08560524508357 ], [ 13332103.674200125038624, 2929092.633711695671082 ], [ 13333132.154975563287735, 2924430.21449312614277 ], [ 13318938.919899418950081, 2932422.91351790074259 ], [ 13319281.783931065350771, 2917902.818314345087856 ], [ 13308174.102500731125474, 2920900.171668427065015 ], [ 13301111.771365821361542, 2920633.696665607858449 ], [ 13301591.781010122969747, 2930757.68022061791271 ], [ 13295832.221875969320536, 2926495.030981147661805 ], [ 13297340.712295707315207, 2936152.767478087451309 ], [ 13287604.264352966099977, 2939882.696888038422912 ], [ 13286507.210771199315786, 2928293.275549891404808 ], [ 13279102.126924140378833, 2926295.129911542404443 ], [ 13275536.674953522160649, 2935886.388687630183995 ], [ 13263126.221522431820631, 2923497.782870817929506 ], [ 13280336.326118564233184, 2916171.102854037191719 ], [ 13289387.045998020097613, 2906513.27093597734347 ], [ 13279650.598055277019739, 2904448.511857297737151 ], [ 13276976.592566933482885, 2895390.173311287071556 ], [ 13261686.303909024223685, 2903183.115504183340818 ], [ 13265457.474298626184464, 2893591.828459002077579 ], [ 13260314.959101941436529, 2877273.535301170777529 ], [ 13258943.725614348426461, 2884999.6889369902201 ], [ 13250990.059316659346223, 2891194.042526676785201 ], [ 13256063.890387525781989, 2902650.187141923233867 ], [ 13245847.544119974598289, 2900585.468820921611041 ], [ 13246670.30647642724216, 2908511.474030033219606 ], [ 13237139.688272161409259, 2905447.688218917697668 ], [ 13244956.208957191556692, 2899852.839692677836865 ], [ 13244339.165019724518061, 2890261.591626793611795 ], [ 13232340.037107119336724, 2885865.564924376551062 ], [ 13239059.504210382699966, 2878872.012975075747818 ], [ 13249618.714509576559067, 2881736.109842676669359 ], [ 13245847.544119974598289, 2872544.571022165007889 ], [ 13250647.195285018533468, 2871079.252501788549125 ], [ 13250647.195285018533468, 2871012.577933344990015 ], [ 13237893.87782228551805, 2866416.793380979914218 ], [ 13242693.52898732945323, 2860022.657883084379137 ], [ 13231722.993169650435448, 2861821.05406836932525 ], [ 13208136.285501899197698, 2852296.495202483609319 ], [ 13223220.74442133307457, 2848300.142818334512413 ], [ 13214032.87892922013998, 2834712.590154463425279 ], [ 13210878.863796574994922, 2823789.228811250533909 ], [ 13197851.366428019478917, 2815996.466657568700612 ], [ 13197714.220815360546112, 2823389.692037897650152 ], [ 13185166.621771616861224, 2828518.238862330559641 ], [ 13175224.566729377955198, 2818660.672080594114959 ], [ 13162745.540491960942745, 2815996.466657568700612 ], [ 13150677.839773025363684, 2823722.638626201543957 ], [ 13149649.358997587114573, 2823256.39302188064903 ], [ 13141147.221568757668138, 2804473.652938636951149 ], [ 13145535.435895828530192, 2803341.367948289494962 ], [ 13153351.956580862402916, 2786357.023880247492343 ], [ 13135867.672078909352422, 2774967.416054021567106 ], [ 13109263.983571676537395, 2739666.515054125338793 ], [ 13099184.782916780561209, 2738534.178962308913469 ], [ 13092602.461426174268126, 2718552.518076897598803 ], [ 13080054.862382430583239, 2717287.108556196093559 ], [ 13076009.40076751075685, 2702966.848730398342013 ], [ 13067507.263338685035706, 2699303.606119769625366 ], [ 13045840.371609153226018, 2700102.811597612220794 ], [ 13045840.371609153226018, 2708361.954421194735914 ], [ 13030344.475851750001311, 2716487.768988735042512 ], [ 13025750.543105693534017, 2735803.442226157523692 ], [ 13022185.091135075315833, 2739000.446627493016422 ], [ 13022322.236747730523348, 2753320.618183504324406 ], [ 13017659.731195345520973, 2757516.723607250023633 ], [ 13017111.260064208880067, 2768906.26909340871498 ], [ 13024242.052685951814055, 2775233.793625727761537 ], [ 13016974.114451549947262, 2780229.308951307088137 ], [ 13013682.953706245869398, 2798545.786626294255257 ], [ 13008883.302541205659509, 2809868.735201912466437 ], [ 13000929.636243514716625, 2815663.442863894160837 ], [ 12997775.621110867708921, 2824588.578418052289635 ], [ 13003809.360150847584009, 2833447.135700434911996 ], [ 12999764.009855419397354, 2836510.938191456254572 ], [ 12979537.035739300772548, 2833380.503502991981804 ], [ 12971583.369441611692309, 2827252.806826249696314 ], [ 12967263.727920869365335, 2841239.962575730867684 ], [ 12962738.36798114143312, 2840707.131246355362236 ], [ 12954990.420102437958121, 2853695.117177573032677 ], [ 12940385.859507814049721, 2850364.832606413867325 ], [ 12933186.382760249078274, 2860422.296678694430739 ], [ 12920638.783716503530741, 2857291.849638388957828 ], [ 12914673.506163366138935, 2864152.194204558152705 ], [ 12901097.426344180479646, 2868015.350239115767181 ], [ 12898971.891986973583698, 2878206.041919138282537 ], [ 12905074.315152768045664, 2881935.908006438054144 ], [ 12899726.192856587469578, 2887064.476769335567951 ], [ 12896983.503242423757911, 2901517.946537673473358 ], [ 12905211.460765426978469, 2904581.788945954758674 ], [ 12913987.889419568702579, 2915038.822436526883394 ], [ 12913645.025387926027179, 2936086.17233162233606 ], [ 12920090.201265875250101, 2945077.869869321584702 ], [ 12920570.210910176858306, 2962461.946587182115763 ], [ 12933186.382760249078274, 2971187.279767499770969 ], [ 12927701.114851409569383, 2977314.945700780022889 ], [ 12932706.373115951195359, 2985840.499026910401881 ], [ 12941825.665801733732224, 2987039.359164903871715 ], [ 12953619.075295355170965, 2994166.244512836448848 ], [ 12955744.609652562066913, 3002758.270360620226711 ], [ 12967537.907826691865921, 3013148.804226401261985 ], [ 12965549.519082143902779, 3020808.352512440178543 ], [ 12957253.100072301924229, 3019676.160118826664984 ], [ 12959035.770397866144776, 3036061.040971505455673 ], [ 12970897.752697816118598, 3049981.653151152189821 ], [ 12980016.934064110741019, 3045319.241466442123055 ], [ 12981045.526159038767219, 3058307.253461714368314 ], [ 12973091.859861351549625, 3068497.897209477145225 ], [ 12976108.729381337761879, 3079820.855643888935447 ], [ 12970554.888666169717908, 3084882.908203456085175 ], [ 12975148.821412228047848, 3095273.40079554496333 ], [ 12974120.340636789798737, 3103465.853660092689097 ], [ 12988656.328425085172057, 3120783.241745889186859 ], [ 13014368.57045004144311, 3127776.855975210666656 ], [ 13030275.903045419603586, 3136035.892683385405689 ], [ 13029247.422269981354475, 3140964.807124883402139 ], [ 13043509.118832960724831, 3159814.130379225127399 ], [ 13035555.452535271644592, 3165875.25134086003527 ], [ 13039189.477312218397856, 3176332.353043353185058 ], [ 13033841.35501603782177, 3194115.925845826976001 ], [ 13026230.552749993279576, 3194049.372479192912579 ], [ 13028904.558238334953785, 3207437.092363199219108 ], [ 13035144.127016792073846, 3201975.376726274378598 ], [ 13037612.41408615000546, 3210500.982031900435686 ], [ 13047143.143609905615449, 3209168.766605643555522 ], [ 13057428.06268378905952, 3219359.475839690305293 ], [ 13055439.673939239233732, 3232613.902466204948723 ], [ 13062433.432267818599939, 3230815.549910003319383 ], [ 13082454.687964951619506, 3246734.340214840136468 ], [ 13092122.451781874522567, 3231814.6753612277098 ], [ 13106795.585182826966047, 3223822.081584750209004 ], [ 13112006.673185840249062, 3235877.657805859111249 ], [ 13119686.048258213326335, 3242138.598222431261092 ], [ 13135593.380853591486812, 3247866.625482150353491 ], [ 13146495.343864938244224, 3244869.338427619077265 ], [ 13153009.092549219727516, 3256791.813115980941802 ], [ 13175361.712342036888003, 3260521.691871623508632 ], [ 13177350.101086586713791, 3272710.419118963181973 ], [ 13170699.206789650022984, 3277039.860400240402669 ], [ 13184000.995383519679308, 3285432.126924699638039 ], [ 13185166.621771616861224, 3280969.569642976857722 ], [ 13201142.527173321694136, 3284699.430927037261426 ], [ 13210810.290990246459842, 3283234.158558391965926 ], [ 13213690.126217065379024, 3288229.531732998322695 ], [ 13225003.526066387072206, 3279304.420818037819117 ], [ 13221575.219708427786827, 3272777.104771649930626 ], [ 13225003.526066387072206, 3263785.342320683877915 ], [ 13215747.087767945602536, 3256991.635820936411619 ], [ 13216981.286962369456887, 3245269.014152720104903 ], [ 13226786.196391951292753, 3238475.240988386794925 ], [ 13237413.979497475549579, 3200709.944623554125428 ], [ 13232477.182719774544239, 3191118.705901299137622 ], [ 13236316.925915706902742, 3181327.753923914860934 ], [ 13245161.927376179024577, 3185923.48527364525944 ], [ 13268680.062237601727247, 3175866.082179495599121 ], [ 13276839.44695427455008, 3176199.041616196278483 ], [ 13288975.609160048887134, 3190452.703625701833516 ], [ 13299877.572171397507191, 3190985.502873945515603 ], [ 13302825.980204546824098, 3204906.093145488761365 ], [ 13318733.312799924984574, 3206637.825384561438113 ], [ 13317224.822380185127258, 3196447.128915429115295 ], [ 13325932.678227998316288, 3187855.037019445560873 ], [ 13323327.245545981451869, 3178397.02557262359187 ], [ 13332789.290943920612335, 3161745.679339547175914 ], [ 13340880.102854264900088, 3161079.584709343966097 ], [ 13359118.688225835561752, 3170537.562504464294761 ], [ 13364192.519296701997519, 3165875.25134086003527 ], [ 13373380.384788814932108, 3176065.856880989391357 ], [ 13387573.619864957407117, 3177664.409097196068615 ], [ 13396350.048519099131227, 3173468.258128968533128 ], [ 13406223.530755007639527, 3155817.844222011510283 ], [ 13403000.942816033959389, 3149889.902713539078832 ], [ 13409720.409919299185276, 3141297.808175448793918 ] ] ], [ [ [ 13181601.169800996780396, 2816196.259927000384778 ], [ 13188800.646548561751842, 2806804.866669440176338 ], [ 13173099.032372171059251, 2800410.795662947464734 ], [ 13170904.925208635628223, 2812932.601710211485624 ], [ 13177418.673892913386226, 2809402.542768033687025 ], [ 13181601.169800996780396, 2816196.259927000384778 ] ] ], [ [ [ 13306254.286562509834766, 2900718.71152081945911 ], [ 13308174.102500731125474, 2895656.690541066229343 ], [ 13296449.265813436359167, 2900585.468820921611041 ], [ 13299740.426558740437031, 2907712.234590414445847 ], [ 13306254.286562509834766, 2900718.71152081945911 ] ] ], [ [ [ 13144506.955120390281081, 2807670.710053958464414 ], [ 13146083.907026968896389, 2819459.876959632150829 ], [ 13151569.286255296319723, 2821990.905701017938554 ], [ 13158768.651683369651437, 2812865.93624809011817 ], [ 13151637.859061626717448, 2804806.679366106633097 ], [ 13144506.955120390281081, 2807670.710053958464414 ] ] ], [ [ [ 13329086.80468013510108, 3079354.666926462203264 ], [ 13321407.318288272246718, 3077156.698941846378148 ], [ 13322024.473545229062438, 3083683.972437721677125 ], [ 13329086.80468013510108, 3079354.666926462203264 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 360000, "name": "江西省", "adchar": null, "childrenNum": 11.0, "level": "province", "subFeatureIndex": 13.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12683948.722043557092547, 3381677.066458571236581 ], [ 12685114.348431654274464, 3387471.750797451008111 ], [ 12697319.194763246923685, 3401658.819805818609893 ], [ 12718506.076848477125168, 3405588.492013901937753 ], [ 12719260.266398601233959, 3419509.067002044990659 ], [ 12748263.780488353222609, 3417111.244122669566423 ], [ 12763965.3946647439152, 3425836.598522705957294 ], [ 12775004.503288751468062, 3421973.49525094917044 ], [ 12794065.851016772910953, 3429499.814620701596141 ], [ 12786180.757525412365794, 3436360.183543662540615 ], [ 12795162.904598543420434, 3438691.476955770049244 ], [ 12801813.798895476385951, 3448682.299046679865569 ], [ 12818886.757878949865699, 3440756.230397838633507 ], [ 12817583.985878193750978, 3458872.861530537717044 ], [ 12841719.275996576994658, 3458206.91994250100106 ], [ 12854266.875040322542191, 3470528.890224159229547 ], [ 12858655.089367393404245, 3482984.08511368650943 ], [ 12876070.80106301791966, 3484316.262400756590068 ], [ 12894926.541691547259688, 3471261.501073666848242 ], [ 12909256.811060855165124, 3468197.73715655086562 ], [ 12928112.440369891002774, 3480386.480895467568189 ], [ 12936203.252280239015818, 3481385.526778979226947 ], [ 12942305.675446035340428, 3475590.834980098996311 ], [ 12965755.237501127645373, 3490377.364440548699349 ], [ 12974531.666155271232128, 3491975.889760987833142 ], [ 12978302.836544875055552, 3509493.149750628508627 ], [ 12987284.983618002384901, 3513422.890781795140356 ], [ 12996267.130691129714251, 3510891.758283145260066 ], [ 13005797.860214887186885, 3498103.580502052325755 ], [ 13013271.516868272796273, 3497037.834897553548217 ], [ 13011351.700930051505566, 3489844.481442381627858 ], [ 13000998.20904984511435, 3477256.016570239327848 ], [ 12989204.799556223675609, 3468663.959605489857495 ], [ 12988450.610006099566817, 3461070.87944339774549 ], [ 12985639.347585605457425, 3457007.953134684357792 ], [ 12999969.728274403139949, 3448415.821318289265037 ], [ 13036926.797342354431748, 3466599.095488200895488 ], [ 13039600.914150191470981, 3474724.979719042778015 ], [ 13032538.583015281707048, 3481985.043000347912312 ], [ 13044126.274089919403195, 3493507.826086515095085 ], [ 13051805.649162290617824, 3492641.915317289531231 ], [ 13056948.053039487451315, 3480786.166897202376276 ], [ 13067164.399307038635015, 3483450.331413462758064 ], [ 13075049.492798401042819, 3471328.17406728444621 ], [ 13074912.347185743972659, 3463535.288233029190451 ], [ 13083620.314353048801422, 3458872.861530537717044 ], [ 13085128.69345329515636, 3451479.750904621556401 ], [ 13096510.666108945384622, 3454143.87130979495123 ], [ 13103161.560405880212784, 3445685.061175740789622 ], [ 13114269.353155706077814, 3448882.096951561048627 ], [ 13121537.291390107944608, 3445551.852509895805269 ], [ 13136621.861629029735923, 3449481.509201301261783 ], [ 13150677.839773025363684, 3440556.430044522043318 ], [ 13150883.558192012831569, 3429100.180335870943964 ], [ 13157191.699776794761419, 3426036.42781591322273 ], [ 13158768.651683369651437, 3419775.462273770943284 ], [ 13150883.558192012831569, 3411849.405510841403157 ], [ 13144369.809507735073566, 3412715.275468694511801 ], [ 13138815.968792567029595, 3397062.924913629423827 ], [ 13139913.022374333813787, 3388004.64327639574185 ], [ 13148072.407091008499265, 3375349.608745506033301 ], [ 13148072.407091008499265, 3375349.608745506033301 ], [ 13165762.410011949017644, 3365292.12906664935872 ], [ 13169807.760307379066944, 3353236.493527824990451 ], [ 13177898.572217723354697, 3348374.359042948577553 ], [ 13177898.572217723354697, 3348374.359042948577553 ], [ 13183726.704158205538988, 3334920.019209063146263 ], [ 13182835.368995422497392, 3323264.033318162895739 ], [ 13182835.368995422497392, 3323264.033318162895739 ], [ 13182629.650576435029507, 3317469.388010558206588 ], [ 13182629.650576435029507, 3317269.551989962812513 ], [ 13183041.087414408102632, 3316869.888922694139183 ], [ 13183178.233027067035437, 3316270.543461649212986 ], [ 13183041.087414408102632, 3316869.888922694139183 ], [ 13183178.233027067035437, 3316270.543461649212986 ], [ 13188252.064097933471203, 3309942.944057612214237 ], [ 13183795.276964532211423, 3299752.364459860604256 ], [ 13189897.700130330398679, 3290494.204594733193517 ], [ 13184000.995383519679308, 3285432.126924699638039 ], [ 13170699.206789650022984, 3277039.860400240402669 ], [ 13177350.101086586713791, 3272710.419118963181973 ], [ 13175361.712342036888003, 3260521.691871623508632 ], [ 13153009.092549219727516, 3256791.813115980941802 ], [ 13146495.343864938244224, 3244869.338427619077265 ], [ 13135593.380853591486812, 3247866.625482150353491 ], [ 13119686.048258213326335, 3242138.598222431261092 ], [ 13112006.673185840249062, 3235877.657805859111249 ], [ 13106795.585182826966047, 3223822.081584750209004 ], [ 13092122.451781874522567, 3231814.6753612277098 ], [ 13082454.687964951619506, 3246734.340214840136468 ], [ 13062433.432267818599939, 3230815.549910003319383 ], [ 13055439.673939239233732, 3232613.902466204948723 ], [ 13057428.06268378905952, 3219359.475839690305293 ], [ 13047143.143609905615449, 3209168.766605643555522 ], [ 13037612.41408615000546, 3210500.982031900435686 ], [ 13035144.127016792073846, 3201975.376726274378598 ], [ 13028904.558238334953785, 3207437.092363199219108 ], [ 13026230.552749993279576, 3194049.372479192912579 ], [ 13033841.35501603782177, 3194115.925845826976001 ], [ 13039189.477312218397856, 3176332.353043353185058 ], [ 13035555.452535271644592, 3165875.25134086003527 ], [ 13043509.118832960724831, 3159814.130379225127399 ], [ 13029247.422269981354475, 3140964.807124883402139 ], [ 13030275.903045419603586, 3136035.892683385405689 ], [ 13014368.57045004144311, 3127776.855975210666656 ], [ 12988656.328425085172057, 3120783.241745889186859 ], [ 12974120.340636789798737, 3103465.853660092689097 ], [ 12975148.821412228047848, 3095273.40079554496333 ], [ 12970554.888666169717908, 3084882.908203456085175 ], [ 12976108.729381337761879, 3079820.855643888935447 ], [ 12973091.859861351549625, 3068497.897209477145225 ], [ 12981045.526159038767219, 3058307.253461714368314 ], [ 12980016.934064110741019, 3045319.241466442123055 ], [ 12970897.752697816118598, 3049981.653151152189821 ], [ 12959035.770397866144776, 3036061.040971505455673 ], [ 12957253.100072301924229, 3019676.160118826664984 ], [ 12965549.519082143902779, 3020808.352512440178543 ], [ 12967537.907826691865921, 3013148.804226401261985 ], [ 12955744.609652562066913, 3002758.270360620226711 ], [ 12953619.075295355170965, 2994166.244512836448848 ], [ 12941825.665801733732224, 2987039.359164903871715 ], [ 12932706.373115951195359, 2985840.499026910401881 ], [ 12927701.114851409569383, 2977314.945700780022889 ], [ 12933186.382760249078274, 2971187.279767499770969 ], [ 12920570.210910176858306, 2962461.946587182115763 ], [ 12920090.201265875250101, 2945077.869869321584702 ], [ 12913645.025387926027179, 2936086.17233162233606 ], [ 12913987.889419568702579, 2915038.822436526883394 ], [ 12905211.460765426978469, 2904581.788945954758674 ], [ 12896983.503242423757911, 2901517.946537673473358 ], [ 12899726.192856587469578, 2887064.476769335567951 ], [ 12905074.315152768045664, 2881935.908006438054144 ], [ 12898971.891986973583698, 2878206.041919138282537 ], [ 12901097.426344180479646, 2868015.350239115767181 ], [ 12902743.062376577407122, 2861021.713268734980375 ], [ 12893280.905659150332212, 2864551.819182198494673 ], [ 12885944.394618418067694, 2844969.813014318235219 ], [ 12895817.87685432843864, 2822190.776967850048095 ], [ 12878333.481032883748412, 2819992.703320313245058 ], [ 12876619.38351364992559, 2827186.201592022087425 ], [ 12865580.274889642372727, 2828784.684709572698921 ], [ 12863660.347631931304932, 2836843.925312279723585 ], [ 12847684.553549714386463, 2850298.249069199897349 ], [ 12841650.703190246596932, 2843238.123316164594144 ], [ 12836028.289668751880527, 2846102.11208002269268 ], [ 12812373.009194672107697, 2835778.220568543765694 ], [ 12808053.367673929780722, 2839375.011798590887338 ], [ 12791666.025434251874685, 2834246.377245259471238 ], [ 12787140.665494523942471, 2822057.488369051367044 ], [ 12771644.769737118855119, 2827785.659126105252653 ], [ 12768902.080122955143452, 2817661.571503975894302 ], [ 12764445.292989553883672, 2824721.766598743386567 ], [ 12756080.301173385232687, 2819060.330507021863014 ], [ 12749909.305201260372996, 2821657.87430277839303 ], [ 12738116.007027130573988, 2812799.393395935650915 ], [ 12734001.97260588221252, 2822124.193721420597285 ], [ 12724745.53430744074285, 2823522.86980586592108 ], [ 12719191.693592272698879, 2831781.907748104073107 ], [ 12709249.638550035655499, 2837643.222040044609457 ], [ 12720768.756818341091275, 2838975.312867971137166 ], [ 12727693.942340590059757, 2844770.011478824075311 ], [ 12735304.744606636464596, 2860688.687492424156517 ], [ 12734481.982250181958079, 2869747.04479574970901 ], [ 12746755.290068613365293, 2875741.553665852639824 ], [ 12752926.174721248447895, 2885266.144828025717288 ], [ 12761702.714694881811738, 2884799.973015947267413 ], [ 12772330.38648091442883, 2890727.809842497110367 ], [ 12766090.929021952673793, 2899652.92612748593092 ], [ 12773153.260156858712435, 2909510.552672605961561 ], [ 12761291.277856908738613, 2915638.326744128484279 ], [ 12750046.450813917443156, 2927027.826064630411565 ], [ 12732836.346217786893249, 2914572.58533464698121 ], [ 12725499.835177056491375, 2917369.980306768324226 ], [ 12719671.703236572444439, 2911642.004275816027075 ], [ 12705067.142641950398684, 2913773.39081700053066 ], [ 12694850.796374397352338, 2906579.980071948841214 ], [ 12696153.568375151604414, 2918635.594071938190609 ], [ 12684291.586075201630592, 2930091.737829367630184 ], [ 12688542.654789615422487, 2949540.528653531335294 ], [ 12680794.706910911947489, 2962128.997658148407936 ], [ 12687239.994108352810144, 2978780.381536340340972 ], [ 12693548.024373644962907, 2985907.072287720628083 ], [ 12691285.344403779134154, 2999960.830893473699689 ], [ 12695330.694699205458164, 3008552.936332831159234 ], [ 12716860.440816080197692, 3017944.305448284372687 ], [ 12710620.983357116580009, 3025670.668348571751267 ], [ 12700267.491476906463504, 3019942.579538979567587 ], [ 12684223.013268873095512, 3019409.74560600053519 ], [ 12693685.169986302033067, 3032131.311627592891455 ], [ 12693822.315598959103227, 3045785.439330630470067 ], [ 12699924.627445263788104, 3049515.443221545778215 ], [ 12698553.393957674503326, 3058773.500926622189581 ], [ 12702255.880221456289291, 3070629.30626897001639 ], [ 12681000.425329897552729, 3075291.762267819140106 ], [ 12674898.002164101228118, 3081552.600962196942419 ], [ 12672018.278256770223379, 3099003.28757314523682 ], [ 12682303.19733065366745, 3117120.02385983383283 ], [ 12670509.787837032228708, 3128176.532032545655966 ], [ 12665847.282284645363688, 3140631.688915133941919 ], [ 12673595.341482838615775, 3151621.650627560447901 ], [ 12676269.346971185877919, 3171669.848881903570145 ], [ 12647745.953845225274563, 3166674.543866807129234 ], [ 12649460.051364459097385, 3174200.903463555965573 ], [ 12644043.356261948123574, 3189187.199569785501808 ], [ 12646717.361750293523073, 3201842.194316399283707 ], [ 12664064.611959081143141, 3223688.812706179916859 ], [ 12660362.014375807717443, 3234745.361700440291315 ], [ 12662830.412764655426145, 3240606.609111545607448 ], [ 12675309.439002074301243, 3249598.390068472828716 ], [ 12680863.279717242345214, 3247866.625482150353491 ], [ 12695673.558730849996209, 3256192.362669995520264 ], [ 12689571.135565053671598, 3269313.549072986934334 ], [ 12702393.025834115222096, 3272044.464748806785792 ], [ 12718917.513686448335648, 3289828.129372778348625 ], [ 12718506.076848477125168, 3298953.083630193490535 ], [ 12709592.502581678330898, 3303615.42535536410287 ], [ 12714734.906458873301744, 3310209.415553588420153 ], [ 12699993.200251594185829, 3319534.197471323888749 ], [ 12707946.866549281403422, 3345310.478515903931111 ], [ 12707398.395418142899871, 3354635.261312366928905 ], [ 12698964.719476154074073, 3354568.674172797705978 ], [ 12691422.490016436204314, 3369954.520760586485267 ], [ 12686691.41165772266686, 3368689.098518885206431 ], [ 12683948.722043557092547, 3381677.066458571236581 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 370000, "name": "山东省", "adchar": null, "childrenNum": 17.0, "level": "province", "subFeatureIndex": 14.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13509963.945337112993002, 4527891.577124893665314 ], [ 13522991.55402516014874, 4505512.038329797796905 ], [ 13532590.745035754516721, 4500649.792444466613233 ], [ 13540407.265720784664154, 4508242.851622126065195 ], [ 13543767.110591907054186, 4505312.298549232073128 ], [ 13572496.222136853262782, 4505245.672713233157992 ], [ 13590871.953121082857251, 4516635.164574281312525 ], [ 13599511.236162567511201, 4500516.600422049872577 ], [ 13607122.038428612053394, 4504712.821524794213474 ], [ 13612607.417656941339374, 4498718.253046784549952 ], [ 13627349.123864222317934, 4497053.220008327625692 ], [ 13635234.217355582863092, 4499850.525478701107204 ], [ 13642639.301202641800046, 4495987.535643896088004 ], [ 13655666.798571195453405, 4499117.905891115777194 ], [ 13644833.408366175368428, 4480468.322610578499734 ], [ 13651004.404338302090764, 4466281.433087204582989 ], [ 13645656.170722629874945, 4459687.492918402887881 ], [ 13637291.178906459361315, 4460020.444047948345542 ], [ 13632971.53738571703434, 4444301.624058950692415 ], [ 13645039.126785164698958, 4446699.414038234390318 ], [ 13640239.475620118901134, 4425385.618648312054574 ], [ 13619326.884760202839971, 4415194.987482206895947 ], [ 13600402.571325346827507, 4417193.106360055506229 ], [ 13596700.085061565041542, 4430514.267052238807082 ], [ 13586757.918699836358428, 4425851.833006797358394 ], [ 13581958.378854284062982, 4433844.557677288539708 ], [ 13555148.97192806750536, 4421655.665988394059241 ], [ 13554531.927990600466728, 4417726.010726165026426 ], [ 13539515.930558001622558, 4410665.768047235906124 ], [ 13541778.61052786745131, 4400608.373732596635818 ], [ 13524431.471638571470976, 4409866.465060248970985 ], [ 13520248.864410996437073, 4404671.345513010397553 ], [ 13492959.559159968048334, 4393414.976847000420094 ], [ 13472869.730656506493688, 4379760.824386902153492 ], [ 13452642.756540387868881, 4386088.419883269816637 ], [ 13467795.899585640057921, 4376030.993011462502182 ], [ 13457510.980511758476496, 4352119.569375574588776 ], [ 13450585.794989507645369, 4365040.995374680496752 ], [ 13442906.41991713270545, 4364441.504848282784224 ], [ 13435638.370363242924213, 4354450.679524293169379 ], [ 13441260.783884737640619, 4346258.283372601494193 ], [ 13432141.49119895324111, 4346391.490378654561937 ], [ 13437626.759107792750001, 4318084.153067719191313 ], [ 13411571.764370681717992, 4313221.976694788783789 ], [ 13396555.766938084736466, 4306428.204950843937695 ], [ 13390659.062191275879741, 4309092.350760012865067 ], [ 13398681.301295291632414, 4327675.331485476344824 ], [ 13378522.899985501542687, 4328740.991851628758013 ], [ 13370432.088075155392289, 4318150.720531363971531 ], [ 13385173.79428243637085, 4307227.421237150207162 ], [ 13382088.351956119760871, 4300367.09307346958667 ], [ 13390933.353416590020061, 4303031.263858055695891 ], [ 13387505.047058630734682, 4295904.421209929510951 ], [ 13365289.57287846878171, 4282849.803445394150913 ], [ 13359598.697870137169957, 4261202.958743497729301 ], [ 13350136.541152706369758, 4267597.175102356821299 ], [ 13349793.677121063694358, 4250546.065241587348282 ], [ 13326961.159003438428044, 4247881.956535784527659 ], [ 13321133.138382446020842, 4241621.051435140892863 ], [ 13307557.058563262224197, 4211248.847051976248622 ], [ 13292815.352355983108282, 4195396.780616982840002 ], [ 13288632.745128404349089, 4174549.207218260969967 ], [ 13281090.515668688341975, 4174282.870391204487532 ], [ 13278964.981311481446028, 4179544.683179042767733 ], [ 13262372.03197231143713, 4176947.070587675552815 ], [ 13259766.487970802932978, 4171352.22709705401212 ], [ 13239059.504210382699966, 4170819.305254410021007 ], [ 13231997.173075476661325, 4167955.237358082085848 ], [ 13231517.274750664830208, 4156299.372073069680482 ], [ 13221643.792514754459262, 4135984.584069257136434 ], [ 13215747.087767945602536, 4129324.107471912633628 ], [ 13222946.45319601893425, 4126326.838454505428672 ], [ 13212524.499828971922398, 4120265.668847545981407 ], [ 13202650.906273571774364, 4125127.992970655206591 ], [ 13187017.864903509616852, 4117268.521286604460329 ], [ 13182972.514608081430197, 4109009.395342862699181 ], [ 13184755.184933643788099, 4099884.504447394050658 ], [ 13180778.407444545999169, 4086363.525284140370786 ], [ 13168025.089981814846396, 4085963.919704208616167 ], [ 13155683.209357054904103, 4079836.112210461869836 ], [ 13155477.490938069298863, 4089826.961806386243552 ], [ 13150472.232673529535532, 4093889.983078077901155 ], [ 13156300.25329452008009, 4102082.457875759806484 ], [ 13144506.955120390281081, 4105545.866197500843555 ], [ 13145055.426251528784633, 4117201.939133990556002 ], [ 13130313.720044249668717, 4120265.668847545981407 ], [ 13124897.024941738694906, 4115669.982137057930231 ], [ 13112760.862735966220498, 4116669.025495399720967 ], [ 13113652.197898745536804, 4098685.5069196424447 ], [ 13100556.127723863348365, 4102548.725157493725419 ], [ 13090339.781456308439374, 4091092.524101959075779 ], [ 13076146.546380169689655, 4094089.722044612746686 ], [ 13069221.360857918858528, 4105545.866197500843555 ], [ 13060239.213784791529179, 4106145.309180608950555 ], [ 13060239.213784791529179, 4106145.309180608950555 ], [ 13060170.752297952771187, 4105146.255300814285874 ], [ 13060170.752297952771187, 4105146.255300814285874 ], [ 13060239.213784791529179, 4105146.255300814285874 ], [ 13060239.213784791529179, 4105146.255300814285874 ], [ 13057908.072328088805079, 4103880.734270360320807 ], [ 13057908.072328088805079, 4103880.734270360320807 ], [ 13051394.212324321269989, 4088827.870078734122217 ], [ 13043920.555670933797956, 4092091.546517943032086 ], [ 13039669.486956518143415, 4114137.963705275673419 ], [ 13032812.874240599572659, 4114737.45956458337605 ], [ 13034184.219047682359815, 4123462.796616030391306 ], [ 13024447.771104937419295, 4135851.468494279310107 ], [ 13020676.600715335458517, 4146974.52918339567259 ], [ 13004563.661020463332534, 4154301.203642129898071 ], [ 12988519.182812428101897, 4155633.276095593813807 ], [ 12962601.222368482500315, 4149705.350705889519304 ], [ 12958487.187947237864137, 4143644.247074502985924 ], [ 12954716.128877123817801, 4115070.436456678900868 ], [ 12944362.636996913701296, 4110674.475963294971734 ], [ 12939837.277057185769081, 4103214.777572997380048 ], [ 12934969.053085813298821, 4106411.783612778410316 ], [ 12928043.867563564330339, 4104213.794996391516179 ], [ 12924341.381299778819084, 4110408.170902536716312 ], [ 12894172.240821933373809, 4104613.372749141417444 ], [ 12879362.073127813637257, 4108876.194146437570453 ], [ 12876002.22825668938458, 4103880.734270360320807 ], [ 12859134.987692201510072, 4107277.632538721896708 ], [ 12853101.248652225360274, 4114670.892431549262255 ], [ 12849261.505456293001771, 4137449.909063494298607 ], [ 12837056.770444191992283, 4144776.569851231761277 ], [ 12830268.730534598231316, 4142911.628840381279588 ], [ 12829788.720890296623111, 4151170.713595265522599 ], [ 12822795.073881210759282, 4152302.986306800041348 ], [ 12816007.03397161886096, 4164491.741581741720438 ], [ 12804967.81402812153101, 4160029.159395625349134 ], [ 12793243.088660322129726, 4159629.634789378382266 ], [ 12782203.980036316439509, 4165557.547664266545326 ], [ 12788717.728720592334867, 4177280.004538855981082 ], [ 12784123.795974535867572, 4184473.383300241082907 ], [ 12794202.996629431843758, 4190734.301881505176425 ], [ 12793928.705404115840793, 4197661.351546556688845 ], [ 12804007.906059009954333, 4213513.396693736314774 ], [ 12812167.290775686502457, 4220573.600089877843857 ], [ 12828143.196177393198013, 4221506.168322750367224 ], [ 12841582.130383918061852, 4231829.940870675258338 ], [ 12844393.281484922394156, 4241487.754328695125878 ], [ 12855843.826946897432208, 4260803.315952036529779 ], [ 12878950.636289842426777, 4266864.51311422791332 ], [ 12887864.210556639358401, 4280585.159839013591409 ], [ 12899177.610405959188938, 4281251.303784810937941 ], [ 12903222.960701387375593, 4295171.777363846078515 ], [ 12918513.249359300360084, 4296503.968874039128423 ], [ 12924135.662880795076489, 4316019.386869504116476 ], [ 12911930.927868692204356, 4306894.372870195657015 ], [ 12873671.08679998666048, 4289710.207309410907328 ], [ 12857009.453334994614124, 4284847.949049523100257 ], [ 12857215.171753982082009, 4286513.075878322124481 ], [ 12857763.754204610362649, 4288511.207230802625418 ], [ 12857763.754204610362649, 4288511.207230802625418 ], [ 12855980.972559556365013, 4287378.993091172538698 ], [ 12854472.59345930814743, 4286446.564853331074119 ], [ 12854472.59345930814743, 4286446.564853331074119 ], [ 12853786.865396020933986, 4285447.436801404692233 ], [ 12853786.865396020933986, 4285447.436801404692233 ], [ 12853444.001364376395941, 4284514.899303558282554 ], [ 12853444.001364376395941, 4284248.494324115104973 ], [ 12853444.001364376395941, 4284514.899303558282554 ], [ 12853375.539877539500594, 4284514.899303558282554 ], [ 12853444.001364376395941, 4284248.494324115104973 ], [ 12853375.539877539500594, 4284248.494324115104973 ], [ 12853375.539877539500594, 4284514.899303558282554 ], [ 12853375.539877539500594, 4284248.494324115104973 ], [ 12852964.103039566427469, 4282450.190866996534169 ], [ 12842199.174321386963129, 4270394.527934737503529 ], [ 12839045.15918874181807, 4272659.113124425522983 ], [ 12842130.601515056565404, 4296770.399278283119202 ], [ 12851592.758232487365603, 4302365.159822930581868 ], [ 12855569.647041074931622, 4321147.921230936422944 ], [ 12853718.292589694261551, 4336334.021403001621366 ], [ 12853718.292589694261551, 4336334.021403001621366 ], [ 12842542.038353029638529, 4343194.424407756887376 ], [ 12836028.289668751880527, 4364374.92761551309377 ], [ 12836028.289668751880527, 4364374.92761551309377 ], [ 12833285.600054588168859, 4367771.862485189922154 ], [ 12842473.465546701103449, 4386554.582642470486462 ], [ 12855158.210203101858497, 4405737.039734557271004 ], [ 12877853.582708073779941, 4412397.472627036273479 ], [ 12881007.597840718924999, 4422854.580708871595562 ], [ 12890469.754558147862554, 4434777.053654761053622 ], [ 12888207.074588283896446, 4438107.289458192884922 ], [ 12898423.420855835080147, 4449763.272330080159009 ], [ 12903017.353601891547441, 4467946.495594815351069 ], [ 12909668.247898828238249, 4472542.364365123212337 ], [ 12911382.345418062061071, 4484731.156483575701714 ], [ 12918787.540584614500403, 4490525.849072933197021 ], [ 12931883.610759496688843, 4492790.430826324038208 ], [ 12939357.267412884160876, 4489659.98495941516012 ], [ 12944842.646641215309501, 4495654.426359888166189 ], [ 12938260.213831117376685, 4498984.733312170952559 ], [ 12939837.277057185769081, 4507576.846908202394843 ], [ 12939837.277057185769081, 4507576.846908202394843 ], [ 12943814.054546281695366, 4504379.715625538490713 ], [ 12945528.263385007157922, 4517168.060960528440773 ], [ 12950602.094455877318978, 4520298.444938173517585 ], [ 12955333.172814588993788, 4512106.008802745491266 ], [ 12955470.318427247926593, 4512239.207816541194916 ], [ 12955333.172814588993788, 4512106.008802745491266 ], [ 12955470.318427247926593, 4512239.207816541194916 ], [ 12961367.023174056783319, 4505312.298549232073128 ], [ 12993730.159495951607823, 4543344.021689266897738 ], [ 13000792.490630857646465, 4557331.131964233703911 ], [ 13026984.742300115525723, 4555799.226062506437302 ], [ 13034801.262985147535801, 4558196.981348478235304 ], [ 13054205.474744811654091, 4556665.088829707354307 ], [ 13062364.859461490064859, 4560128.556227461434901 ], [ 13073198.249666506424546, 4558796.436098779551685 ], [ 13081494.779995841905475, 4571451.564290585927665 ], [ 13089379.873487198725343, 4589434.998612190596759 ], [ 13102544.516468413174152, 4590101.028754941187799 ], [ 13110292.464347114786506, 4598759.78933959081769 ], [ 13114406.498768361285329, 4611747.884431580081582 ], [ 13124074.26258528791368, 4622138.268203400075436 ], [ 13135456.235240936279297, 4609416.609532496891916 ], [ 13140735.784730788320303, 4608817.191655506379902 ], [ 13151706.320548463612795, 4621472.294327515177429 ], [ 13143752.76557026617229, 4603488.706710579805076 ], [ 13172550.449921542778611, 4597094.672764511778951 ], [ 13191886.088874880224466, 4595562.679922225885093 ], [ 13197165.638364732265472, 4587303.566163741052151 ], [ 13203336.634336855262518, 4597694.117775053717196 ], [ 13216569.850124398246408, 4601224.133695126511157 ], [ 13230763.085200540721416, 4601357.346776484511793 ], [ 13244133.446600740775466, 4592765.295467993244529 ], [ 13247561.752958700060844, 4578311.845444480888546 ], [ 13259355.051132829859853, 4568321.014723244123161 ], [ 13261274.978390542790294, 4553268.15725031029433 ], [ 13271217.033432779833674, 4552668.739284615032375 ], [ 13275948.111791495233774, 4537482.742508723400533 ], [ 13255926.744774870574474, 4536616.784879107959569 ], [ 13246738.879282753914595, 4527625.062944903969765 ], [ 13240293.703404806554317, 4512838.694529632106423 ], [ 13245161.927376179024577, 4487994.846680914051831 ], [ 13253047.020867539569736, 4474673.710094639100134 ], [ 13261274.978390542790294, 4474673.710094639100134 ], [ 13280267.753312237560749, 4466680.973811628296971 ], [ 13283696.059670196846128, 4455224.949645281769335 ], [ 13301523.208203794434667, 4457889.123754002153873 ], [ 13310093.918438952416182, 4453160.055405540391803 ], [ 13329909.567036585882306, 4457955.729732010513544 ], [ 13346365.370763104408979, 4475939.212682350538671 ], [ 13340948.675660595297813, 4491724.758656403981149 ], [ 13374408.865564253181219, 4506511.074887381866574 ], [ 13385790.838219905272126, 4516968.239188015460968 ], [ 13382293.959055613726377, 4526026.542265331372619 ], [ 13388670.673446724191308, 4528224.588840058073401 ], [ 13383665.303862698376179, 4536217.2445895858109 ], [ 13399298.34523276053369, 4536816.701451571658254 ], [ 13410268.992369927465916, 4545275.516375203616917 ], [ 13424599.261739235371351, 4546607.596141824498773 ], [ 13439958.011883985251188, 4555932.420184057205915 ], [ 13462790.530001610517502, 4554200.747803160920739 ], [ 13473829.638625616207719, 4539747.234453077428043 ], [ 13484800.285762783139944, 4540413.321991135366261 ], [ 13486788.674507334828377, 4525027.468056605197489 ], [ 13493851.005642240867019, 4520631.495741388760507 ], [ 13509072.610174331814051, 4522496.411007744260132 ], [ 13509963.945337112993002, 4527891.577124893665314 ] ] ], [ [ [ 12857215.171753982082009, 4286513.075878322124481 ], [ 12857009.453334994614124, 4284847.949049523100257 ], [ 12852964.103039566427469, 4282450.190866996534169 ], [ 12853375.539877539500594, 4284248.494324115104973 ], [ 12853375.539877539500594, 4284514.899303558282554 ], [ 12853375.539877539500594, 4284248.494324115104973 ], [ 12853444.001364376395941, 4284248.494324115104973 ], [ 12853375.539877539500594, 4284514.899303558282554 ], [ 12853444.001364376395941, 4284514.899303558282554 ], [ 12853444.001364376395941, 4284248.494324115104973 ], [ 12853444.001364376395941, 4284514.899303558282554 ], [ 12853786.865396020933986, 4285447.436801404692233 ], [ 12853786.865396020933986, 4285447.436801404692233 ], [ 12854472.59345930814743, 4286446.564853331074119 ], [ 12854472.59345930814743, 4286446.564853331074119 ], [ 12855980.972559556365013, 4287378.993091172538698 ], [ 12857215.171753982082009, 4286513.075878322124481 ] ] ], [ [ [ 13523951.461994269862771, 4520098.703825355507433 ], [ 13523951.461994269862771, 4519965.40474097058177 ], [ 13523882.889187939465046, 4519965.40474097058177 ], [ 13523745.743575284257531, 4520032.124302134849131 ], [ 13523745.743575284257531, 4520098.703825355507433 ], [ 13523951.461994269862771, 4520098.703825355507433 ] ] ], [ [ [ 13523951.461994269862771, 4520098.703825355507433 ], [ 13524020.034800598397851, 4520098.703825355507433 ], [ 13524020.034800598397851, 4520098.703825355507433 ], [ 13523951.461994269862771, 4519898.826066319830716 ], [ 13523951.461994269862771, 4519965.40474097058177 ], [ 13523951.461994269862771, 4520098.703825355507433 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 410000, "name": "河南省", "adchar": null, "childrenNum": 18.0, "level": "province", "subFeatureIndex": 15.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12934969.053085813298821, 4106411.783612778410316 ], [ 12935791.926761757582426, 4097286.83788067381829 ], [ 12931129.421209372580051, 4090626.325941793154925 ], [ 12936820.407537197694182, 4080235.770694279111922 ], [ 12942305.675446035340428, 4079369.974247009027749 ], [ 12958624.333559893071651, 4065649.23179560340941 ], [ 12958624.333559893071651, 4065649.23179560340941 ], [ 12970554.888666169717908, 4068646.422463608905673 ], [ 12976040.156575009226799, 4052128.213874247856438 ], [ 12972131.840572748333216, 4043203.180325564928353 ], [ 12977137.210156777873635, 4038074.570333361625671 ], [ 12977137.210156777873635, 4038074.570333361625671 ], [ 12985228.022067124024034, 4025219.713642534799874 ], [ 12984679.439616493880749, 4014962.444690085947514 ], [ 12961778.460012029856443, 4008235.305018220562488 ], [ 12961709.887205703184009, 4002174.142213723622262 ], [ 12948270.952999174594879, 3998111.220390265807509 ], [ 12942374.248252365738153, 3992582.900030094198883 ], [ 12930375.120339756831527, 3989918.76409100368619 ], [ 12921324.400460299104452, 3999509.922435945365578 ], [ 12919678.87574739381671, 4010166.765923384111375 ], [ 12911656.636643376201391, 4015495.287888492457569 ], [ 12913096.554256787523627, 4024087.376705937087536 ], [ 12908365.475898072123528, 4029815.448867701925337 ], [ 12899383.328824946656823, 4029216.005222759675235 ], [ 12883681.714648555964231, 4039140.157832250464708 ], [ 12869351.333959754556417, 4032879.226923809852451 ], [ 12862631.86685649305582, 4012031.781435791868716 ], [ 12871819.73234860599041, 4011565.465546121355146 ], [ 12870105.634829368442297, 3998710.643243471626192 ], [ 12864414.648501547053456, 3998177.776744184549898 ], [ 12872985.358736703172326, 3973200.701385980471969 ], [ 12848713.034325156360865, 3969470.864719695877284 ], [ 12840210.785576835274696, 3962277.396487536840141 ], [ 12836576.760799892246723, 3945359.608141355216503 ], [ 12842404.892740372568369, 3939964.555039301514626 ], [ 12835274.100118627771735, 3914121.690810270607471 ], [ 12820463.82110502012074, 3907061.408721955027431 ], [ 12806476.304447863250971, 3906795.013900040183216 ], [ 12797974.167019033804536, 3914854.2525431108661 ], [ 12790911.835884127765894, 3912523.110986788291484 ], [ 12793448.807079305872321, 3897536.88270256947726 ], [ 12788717.728720592334867, 3894006.832935269456357 ], [ 12795437.195823857560754, 3886680.138441221788526 ], [ 12817241.233166042715311, 3881751.371753924526274 ], [ 12823686.409043991938233, 3876223.160116658080369 ], [ 12822177.918624253943563, 3851046.172383381053805 ], [ 12824097.73456247523427, 3841255.195981250610203 ], [ 12835685.425637109205127, 3836126.536689849104732 ], [ 12847273.116711745038629, 3835593.785367860458791 ], [ 12858380.798142079263926, 3825003.418853113427758 ], [ 12858449.37094840593636, 3824737.025866411160678 ], [ 12864894.546826355159283, 3818809.182682327460498 ], [ 12876070.80106301791966, 3817210.559943568427116 ], [ 12880390.553903251886368, 3828333.76937765814364 ], [ 12889578.308075873181224, 3825003.418853113427758 ], [ 12895886.449660658836365, 3829332.779513786081225 ], [ 12901851.72721379622817, 3814746.255928622558713 ], [ 12903360.106314046308398, 3793232.568689160980284 ], [ 12906582.694253019988537, 3785173.350257642101496 ], [ 12905417.067864922806621, 3762594.069894161075354 ], [ 12901165.999150510877371, 3741413.513540128711611 ], [ 12903017.353601891547441, 3736018.480101086199284 ], [ 12892595.288915354758501, 3732155.377176539972425 ], [ 12887178.59381284378469, 3735419.049409469589591 ], [ 12875316.611512893810868, 3731955.583727222401649 ], [ 12857009.453334994614124, 3720632.571627291385084 ], [ 12843090.620803659781814, 3697320.704651643056422 ], [ 12843364.800709484145045, 3685531.464737428352237 ], [ 12835274.100118627771735, 3682734.124835825059563 ], [ 12826291.841726008802652, 3688262.259004659019411 ], [ 12827937.477758403867483, 3705246.792955951299518 ], [ 12815664.169939974322915, 3710774.937242553569376 ], [ 12811618.708325056359172, 3698852.577523598913103 ], [ 12804419.342896983027458, 3701583.477816194761544 ], [ 12782821.023973781615496, 3692458.4479332244955 ], [ 12777130.03764595836401, 3700584.309782285708934 ], [ 12767942.17215384542942, 3701250.456242827698588 ], [ 12761839.860307537019253, 3708576.942315442953259 ], [ 12752857.601914919912815, 3705846.173574130982161 ], [ 12751623.514039985835552, 3716503.037092017475516 ], [ 12755668.864335412159562, 3732155.377176539972425 ], [ 12740378.68699699267745, 3727692.75541640818119 ], [ 12723031.436788205057383, 3730823.26487686811015 ], [ 12712129.473776856437325, 3743678.142905736342072 ], [ 12705547.04096675850451, 3742812.18198939692229 ], [ 12700267.491476906463504, 3734686.33579114312306 ], [ 12689159.810046574100852, 3730556.859986821655184 ], [ 12685388.639656968414783, 3744477.324719898402691 ], [ 12672429.715094743296504, 3744277.589841068256646 ], [ 12667218.627091728150845, 3768055.761830962728709 ], [ 12660224.868763148784637, 3774250.020252140704542 ], [ 12666327.291928946971893, 3787770.982150120660663 ], [ 12662556.12153934314847, 3799093.855565776582807 ], [ 12663927.466346424072981, 3798561.048088013194501 ], [ 12663378.995215285569429, 3801758.117856417782605 ], [ 12663516.140827944502234, 3802290.936304276343435 ], [ 12662898.98557098582387, 3814413.124227458145469 ], [ 12653025.503335077315569, 3818875.780140256043524 ], [ 12648637.289008006453514, 3810816.5016990439035 ], [ 12626490.387634174898267, 3798694.280642995145172 ], [ 12602697.961547438055277, 3820141.202689897269011 ], [ 12592344.580986717715859, 3812748.000923171639442 ], [ 12581991.089106507599354, 3819275.372717652935535 ], [ 12578219.91871690377593, 3813081.086047430988401 ], [ 12563615.358122281730175, 3815345.705540821421891 ], [ 12549490.695852465927601, 3811149.532823758199811 ], [ 12548942.224721329286695, 3811482.573256952688098 ], [ 12528372.386573566123843, 3816411.395028267521411 ], [ 12518087.467499684542418, 3808618.492475228384137 ], [ 12511299.427590092644095, 3812148.550251430366188 ], [ 12504305.669261515140533, 3805621.261305456515402 ], [ 12493266.560637507587671, 3814013.563039989676327 ], [ 12469405.561744444072247, 3822539.082831830717623 ], [ 12462069.050703711807728, 3831397.587743640877306 ], [ 12455555.302019435912371, 3829532.618029155302793 ], [ 12427785.987124109640718, 3846916.670959230978042 ], [ 12420792.22879553027451, 3841454.971313799731433 ], [ 12398782.584353847429156, 3872626.387458495795727 ], [ 12389114.709217431023717, 3876622.707472290378064 ], [ 12383492.295695936307311, 3886080.773245739284903 ], [ 12386920.602053897455335, 3891542.375495668966323 ], [ 12383012.397371128201485, 3900733.880700642708689 ], [ 12373275.949428383260965, 3902399.114071495831013 ], [ 12376430.075880520045757, 3910658.134240596555173 ], [ 12362785.423255007714033, 3920915.406939702108502 ], [ 12360111.306447172537446, 3923113.447295428719372 ], [ 12354763.184150990098715, 3929241.068909758236259 ], [ 12359357.11689704656601, 3939231.87639671145007 ], [ 12356065.956151744350791, 3953285.683854660950601 ], [ 12359425.689703375101089, 3958414.293748778291047 ], [ 12359425.689703375101089, 3959013.78957795444876 ], [ 12356888.718508196994662, 3972334.836762345395982 ], [ 12342832.629044711589813, 3979927.932401003781706 ], [ 12332273.530065005645156, 4001374.811286341864616 ], [ 12310538.065529147163033, 4013763.537677630782127 ], [ 12319657.358214933425188, 4020623.815433389041573 ], [ 12310880.929560791701078, 4041804.361465409398079 ], [ 12316640.488694943487644, 4050396.539067928213626 ], [ 12294082.26180263236165, 4061519.592483337968588 ], [ 12292642.344189221039414, 4065849.010846745222807 ], [ 12301213.054424375295639, 4074174.700852014124393 ], [ 12290036.800187714397907, 4087162.778911385685205 ], [ 12290036.800187714397907, 4087162.778911385685205 ], [ 12285305.721828998997808, 4098419.080370185896754 ], [ 12287362.68337987549603, 4109742.097777440678328 ], [ 12297990.4664854016155, 4112006.637073478195816 ], [ 12304504.215169679373503, 4107410.814784617628902 ], [ 12324182.718154659494758, 4110341.494189163204283 ], [ 12328570.932481732219458, 4116735.604484759271145 ], [ 12343518.357107998803258, 4115403.558537594042718 ], [ 12348660.760985191911459, 4127459.1691790279001 ], [ 12352706.222600109875202, 4123862.383251633029431 ], [ 12369642.035970928147435, 4130856.035832518246025 ], [ 12373001.769522558897734, 4137783.01973327063024 ], [ 12382395.24211416952312, 4135318.615401472430676 ], [ 12395011.413964241743088, 4141046.592490629758686 ], [ 12419969.466439075767994, 4142578.636446514632553 ], [ 12431008.575063081458211, 4162293.856104035396129 ], [ 12456652.355601202696562, 4174749.032047602813691 ], [ 12474685.222553785890341, 4171485.359562061261386 ], [ 12476536.465685676783323, 4193731.66626337589696 ], [ 12474342.358522143214941, 4201990.747173562645912 ], [ 12524944.08021560497582, 4193598.402540492359549 ], [ 12538725.878453776240349, 4194597.510788065381348 ], [ 12537697.397678336128592, 4199726.106886937282979 ], [ 12553056.14782308600843, 4191600.184284735936671 ], [ 12558884.279763566330075, 4199060.124561511911452 ], [ 12569237.771643776446581, 4197461.521809863857925 ], [ 12578219.91871690377593, 4204188.74724242836237 ], [ 12578768.501167533919215, 4213247.075382291339338 ], [ 12593167.343343170359731, 4209117.529723067767918 ], [ 12600229.674478080123663, 4225102.76702759694308 ], [ 12612297.263877522200346, 4222105.61086892709136 ], [ 12613874.215784100815654, 4229498.734582429751754 ], [ 12633141.281931109726429, 4234893.759673696942627 ], [ 12643494.773811317980289, 4250346.36814297363162 ], [ 12646374.609038140624762, 4272725.814496577717364 ], [ 12652202.740978624671698, 4278187.378960299305618 ], [ 12650077.095301926136017, 4299034.977782682515681 ], [ 12656453.809693034738302, 4304296.836591931059957 ], [ 12651654.158527994528413, 4324345.079093529842794 ], [ 12658853.635275557637215, 4336800.238060923293233 ], [ 12660499.159988464787602, 4350720.786369130946696 ], [ 12670372.642224375158548, 4346258.283372601494193 ], [ 12677229.25494029559195, 4349455.291932037100196 ], [ 12680520.527005087584257, 4343993.601922883652151 ], [ 12688474.081983286887407, 4350121.403108455240726 ], [ 12696633.46669995971024, 4346125.07801472954452 ], [ 12697182.049150589853525, 4338731.862673913128674 ], [ 12709249.638550035655499, 4334202.686374532990158 ], [ 12709249.638550035655499, 4334202.686374532990158 ], [ 12728859.568728687241673, 4335867.824899583123624 ], [ 12756285.908272879198194, 4318550.409568204544485 ], [ 12792008.889465894550085, 4319949.023981503210962 ], [ 12792214.607884880155325, 4307760.264836254529655 ], [ 12801402.473376993089914, 4310024.798182001337409 ], [ 12808876.130030384287238, 4325277.462841899134219 ], [ 12824166.307368801906705, 4329606.840736432932317 ], [ 12824166.307368801906705, 4329606.840736432932317 ], [ 12836576.760799892246723, 4312755.674182238988578 ], [ 12855569.647041074931622, 4321147.921230936422944 ], [ 12851592.758232487365603, 4302365.159822930581868 ], [ 12842130.601515056565404, 4296770.399278283119202 ], [ 12839045.15918874181807, 4272659.113124425522983 ], [ 12842199.174321386963129, 4270394.527934737503529 ], [ 12852964.103039566427469, 4282450.190866996534169 ], [ 12857009.453334994614124, 4284847.949049523100257 ], [ 12873671.08679998666048, 4289710.207309410907328 ], [ 12911930.927868692204356, 4306894.372870195657015 ], [ 12924135.662880795076489, 4316019.386869504116476 ], [ 12918513.249359300360084, 4296503.968874039128423 ], [ 12903222.960701387375593, 4295171.777363846078515 ], [ 12899177.610405959188938, 4281251.303784810937941 ], [ 12887864.210556639358401, 4280585.159839013591409 ], [ 12878950.636289842426777, 4266864.51311422791332 ], [ 12855843.826946897432208, 4260803.315952036529779 ], [ 12844393.281484922394156, 4241487.754328695125878 ], [ 12841582.130383918061852, 4231829.940870675258338 ], [ 12828143.196177393198013, 4221506.168322750367224 ], [ 12812167.290775686502457, 4220573.600089877843857 ], [ 12804007.906059009954333, 4213513.396693736314774 ], [ 12793928.705404115840793, 4197661.351546556688845 ], [ 12794202.996629431843758, 4190734.301881505176425 ], [ 12784123.795974535867572, 4184473.383300241082907 ], [ 12788717.728720592334867, 4177280.004538855981082 ], [ 12782203.980036316439509, 4165557.547664266545326 ], [ 12793243.088660322129726, 4159629.634789378382266 ], [ 12804967.81402812153101, 4160029.159395625349134 ], [ 12816007.03397161886096, 4164491.741581741720438 ], [ 12822795.073881210759282, 4152302.986306800041348 ], [ 12829788.720890296623111, 4151170.713595265522599 ], [ 12830268.730534598231316, 4142911.628840381279588 ], [ 12837056.770444191992283, 4144776.569851231761277 ], [ 12849261.505456293001771, 4137449.909063494298607 ], [ 12853101.248652225360274, 4114670.892431549262255 ], [ 12859134.987692201510072, 4107277.632538721896708 ], [ 12876002.22825668938458, 4103880.734270360320807 ], [ 12879362.073127813637257, 4108876.194146437570453 ], [ 12894172.240821933373809, 4104613.372749141417444 ], [ 12924341.381299778819084, 4110408.170902536716312 ], [ 12928043.867563564330339, 4104213.794996391516179 ], [ 12934969.053085813298821, 4106411.783612778410316 ] ] ], [ [ [ 12857215.171753982082009, 4286513.075878322124481 ], [ 12855980.972559556365013, 4287378.993091172538698 ], [ 12857763.754204610362649, 4288511.207230802625418 ], [ 12857763.754204610362649, 4288511.207230802625418 ], [ 12857215.171753982082009, 4286513.075878322124481 ] ] ], [ [ [ 12662556.12153934314847, 3799093.855565776582807 ], [ 12663516.140827944502234, 3802290.936304276343435 ], [ 12663378.995215285569429, 3801758.117856417782605 ], [ 12663927.466346424072981, 3798561.048088013194501 ], [ 12662556.12153934314847, 3799093.855565776582807 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 420000, "name": "湖北省", "adchar": null, "childrenNum": 17.0, "level": "province", "subFeatureIndex": 16.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12159692.697098378092051, 3390868.722084251232445 ], [ 12146116.617279194295406, 3403057.519584847614169 ], [ 12146322.335698179900646, 3421640.381893362849951 ], [ 12124861.162387635558844, 3417244.41654662694782 ], [ 12125752.497550416737795, 3431165.06859967764467 ], [ 12120541.520866895094514, 3432097.545653034932911 ], [ 12124038.400031182914972, 3448615.615103537216783 ], [ 12116496.170571465045214, 3459738.803558305837214 ], [ 12109982.310567697510123, 3456541.768169549759477 ], [ 12099423.211587993428111, 3463735.060026596300304 ], [ 12096749.094780154526234, 3483317.116454335860908 ], [ 12089549.72935208119452, 3486314.402953293640167 ], [ 12078647.65502124466002, 3466066.301787599921227 ], [ 12071173.998367855325341, 3470329.012923997826874 ], [ 12069734.08075444586575, 3479920.217684898525476 ], [ 12063837.376007635146379, 3483183.902879739645869 ], [ 12079950.427021997049451, 3488845.417718978598714 ], [ 12082898.72373565658927, 3503298.806034359615296 ], [ 12079676.135796682909131, 3510958.380894363392144 ], [ 12085709.986156150698662, 3523813.296491071581841 ], [ 12087287.049382219091058, 3536468.339440247509629 ], [ 12073779.43104987218976, 3549856.034677357412875 ], [ 12067265.682365594431758, 3552054.052060268353671 ], [ 12070008.37197976000607, 3566973.696485477034003 ], [ 12085709.986156150698662, 3563909.774549628142267 ], [ 12099148.920362677425146, 3579295.700679796747863 ], [ 12105319.916334802284837, 3567306.742773154750466 ], [ 12112519.28176287561655, 3566840.506278182379901 ], [ 12130689.294328117743134, 3584490.893833676353097 ], [ 12146596.626923494040966, 3586622.261704666540027 ], [ 12144128.228534644469619, 3578163.357674071099609 ], [ 12145362.427729070186615, 3576498.196235164068639 ], [ 12149819.21486246958375, 3570703.595550145953894 ], [ 12167166.465071257203817, 3584890.513837309088558 ], [ 12174023.077787177637219, 3574566.710079736076295 ], [ 12173337.34972389228642, 3566307.630381382536143 ], [ 12182319.496797019615769, 3580361.414617767557502 ], [ 12199598.174199480563402, 3593016.473786233458668 ], [ 12220716.483478378504515, 3613131.326516189612448 ], [ 12233332.655328454449773, 3619725.188412678893656 ], [ 12246085.972791185602546, 3617660.533966809045523 ], [ 12254313.930314188823104, 3606737.167101049795747 ], [ 12264393.13096908479929, 3629982.46272204676643 ], [ 12260279.096547836437821, 3631048.235554295126349 ], [ 12258496.426222274079919, 3644236.065366225317121 ], [ 12266244.374100977554917, 3649564.453204438090324 ], [ 12260759.106192136183381, 3683533.355485168751329 ], [ 12251159.915181543678045, 3686197.573639154899865 ], [ 12239160.787268936634064, 3698652.808206801768392 ], [ 12228327.397063916549087, 3704647.311182881705463 ], [ 12213928.443568788468838, 3705046.918876815587282 ], [ 12218933.813152816146612, 3711307.800697936210781 ], [ 12215231.215569540858269, 3724029.478067649528384 ], [ 12199049.703068340197206, 3727493.035501297563314 ], [ 12204877.723689330741763, 3738549.460444976110011 ], [ 12198912.557455683127046, 3750272.122275170404464 ], [ 12204123.534139206632972, 3758331.311063371598721 ], [ 12199598.174199480563402, 3764991.862336695659906 ], [ 12203026.480557437986135, 3777313.916110804770142 ], [ 12199803.892618464305997, 3792166.973495303187519 ], [ 12188970.502413446083665, 3802823.77853529388085 ], [ 12189793.264769898727536, 3814546.402155177667737 ], [ 12197884.076680244877934, 3829998.832983072847128 ], [ 12204740.689396165311337, 3834528.09043996501714 ], [ 12204123.534139206632972, 3842320.835512628313154 ], [ 12214751.317244732752442, 3843453.174370566383004 ], [ 12224761.945093298330903, 3839323.679746406618506 ], [ 12235184.009779836982489, 3841388.379161772318184 ], [ 12247114.453566625714302, 3835327.286625545006245 ], [ 12254656.68302633985877, 3844052.621777870692313 ], [ 12262267.596611877903342, 3841454.971313799731433 ], [ 12268095.728552360087633, 3846716.803404829930514 ], [ 12262610.349324028939009, 3853310.778710909187794 ], [ 12262884.640549344941974, 3864433.941886890213937 ], [ 12257262.227027848362923, 3872759.660154410637915 ], [ 12243891.865627650171518, 3880219.377604527864605 ], [ 12218933.813152816146612, 3883283.300598767120391 ], [ 12222293.546704446896911, 3904197.418057112954557 ], [ 12210431.675723990425467, 3910791.308503715787083 ], [ 12197952.649486571550369, 3909925.437147295102477 ], [ 12182662.360828662291169, 3915520.378555216826499 ], [ 12193632.896646339446306, 3927709.227019009646028 ], [ 12202820.762138452380896, 3931905.36770459683612 ], [ 12215368.361182199791074, 3926043.970453508663923 ], [ 12228670.149776069447398, 3928242.047647952567786 ], [ 12248622.943986363708973, 3920782.250042712315917 ], [ 12263501.795806303620338, 3923113.447295428719372 ], [ 12269466.962039951235056, 3916985.723761973436922 ], [ 12297304.849741606041789, 3919383.46295128390193 ], [ 12305395.661651954054832, 3929307.762125134468079 ], [ 12311292.25507927313447, 3917718.33243935322389 ], [ 12323359.955798206850886, 3908193.754150363150984 ], [ 12328159.495643759146333, 3914854.2525431108661 ], [ 12336936.035617392510176, 3916319.647020786069334 ], [ 12354763.184150990098715, 3929241.068909758236259 ], [ 12360111.306447172537446, 3923113.447295428719372 ], [ 12360591.316091472283006, 3920182.730297188274562 ], [ 12359974.160834513604641, 3918850.6485062437132 ], [ 12362785.423255007714033, 3920915.406939702108502 ], [ 12376430.075880520045757, 3910658.134240596555173 ], [ 12373275.949428383260965, 3902399.114071495831013 ], [ 12383012.397371128201485, 3900733.880700642708689 ], [ 12386920.602053897455335, 3891542.375495668966323 ], [ 12383492.295695936307311, 3886080.773245739284903 ], [ 12389114.709217431023717, 3876622.707472290378064 ], [ 12398782.584353847429156, 3872626.387458495795727 ], [ 12420792.22879553027451, 3841454.971313799731433 ], [ 12427785.987124109640718, 3846916.670959230978042 ], [ 12455555.302019435912371, 3829532.618029155302793 ], [ 12462069.050703711807728, 3831397.587743640877306 ], [ 12469405.561744444072247, 3822539.082831830717623 ], [ 12493266.560637507587671, 3814013.563039989676327 ], [ 12504305.669261515140533, 3805621.261305456515402 ], [ 12511299.427590092644095, 3812148.550251430366188 ], [ 12518087.467499684542418, 3808618.492475228384137 ], [ 12528372.386573566123843, 3816411.395028267521411 ], [ 12548942.224721329286695, 3811482.573256952688098 ], [ 12549147.943140314891934, 3811082.846780035179108 ], [ 12549285.088752971962094, 3811016.292899021413177 ], [ 12549490.695852465927601, 3811149.532823758199811 ], [ 12563615.358122281730175, 3815345.705540821421891 ], [ 12578219.91871690377593, 3813081.086047430988401 ], [ 12581991.089106507599354, 3819275.372717652935535 ], [ 12592344.580986717715859, 3812748.000923171639442 ], [ 12602697.961547438055277, 3820141.202689897269011 ], [ 12626490.387634174898267, 3798694.280642995145172 ], [ 12648637.289008006453514, 3810816.5016990439035 ], [ 12653025.503335077315569, 3818875.780140256043524 ], [ 12662898.98557098582387, 3814413.124227458145469 ], [ 12663516.140827944502234, 3802290.936304276343435 ], [ 12662556.12153934314847, 3799093.855565776582807 ], [ 12666327.291928946971893, 3787770.982150120660663 ], [ 12660224.868763148784637, 3774250.020252140704542 ], [ 12667218.627091728150845, 3768055.761830962728709 ], [ 12672429.715094743296504, 3744277.589841068256646 ], [ 12685388.639656968414783, 3744477.324719898402691 ], [ 12689159.810046574100852, 3730556.859986821655184 ], [ 12700267.491476906463504, 3734686.33579114312306 ], [ 12705547.04096675850451, 3742812.18198939692229 ], [ 12712129.473776856437325, 3743678.142905736342072 ], [ 12723031.436788205057383, 3730823.26487686811015 ], [ 12740378.68699699267745, 3727692.75541640818119 ], [ 12755668.864335412159562, 3732155.377176539972425 ], [ 12751623.514039985835552, 3716503.037092017475516 ], [ 12752857.601914919912815, 3705846.173574130982161 ], [ 12761839.860307537019253, 3708576.942315442953259 ], [ 12767942.17215384542942, 3701250.456242827698588 ], [ 12777130.03764595836401, 3700584.309782285708934 ], [ 12782821.023973781615496, 3692458.4479332244955 ], [ 12804419.342896983027458, 3701583.477816194761544 ], [ 12811618.708325056359172, 3698852.577523598913103 ], [ 12815664.169939974322915, 3710774.937242553569376 ], [ 12827937.477758403867483, 3705246.792955951299518 ], [ 12826291.841726008802652, 3688262.259004659019411 ], [ 12835274.100118627771735, 3682734.124835825059563 ], [ 12843364.800709484145045, 3685531.464737428352237 ], [ 12843159.193609988316894, 3678204.832289435900748 ], [ 12850975.714295018464327, 3677805.319017351604998 ], [ 12852689.811814252287149, 3669346.382850665599108 ], [ 12859203.560498533770442, 3667015.170316189993173 ], [ 12864003.211663573980331, 3653560.888754226267338 ], [ 12873671.08679998666048, 3660021.580687419045717 ], [ 12879773.398646295070648, 3658889.273566648364067 ], [ 12886767.15697487257421, 3648099.183805227745324 ], [ 12898491.993662163615227, 3651962.341210807207972 ], [ 12906239.94154086895287, 3638907.636262207757682 ], [ 12919610.30294106528163, 3634378.457628683187068 ], [ 12921050.220554476603866, 3627118.392681055702269 ], [ 12910422.43744895234704, 3623854.748752366751432 ], [ 12898080.556824194267392, 3615129.478334429208189 ], [ 12896503.493598124012351, 3601208.864359482657164 ], [ 12888892.691332079470158, 3600542.788187587168068 ], [ 12886630.011362213641405, 3592017.380989567842335 ], [ 12892938.152946997433901, 3580627.82493171049282 ], [ 12899314.756018618121743, 3578629.626990583725274 ], [ 12904320.014283156022429, 3557182.614634083583951 ], [ 12902263.052732277661562, 3543928.22469913167879 ], [ 12911450.918224390596151, 3540997.527949606999755 ], [ 12920364.492491189390421, 3529874.408815142232925 ], [ 12923244.327718012034893, 3508227.653900472912937 ], [ 12921255.827653972432017, 3499702.044414860196412 ], [ 12927221.105207109823823, 3490643.685850696172565 ], [ 12928112.440369891002774, 3480386.480895467568189 ], [ 12909256.811060855165124, 3468197.73715655086562 ], [ 12894926.541691547259688, 3471261.501073666848242 ], [ 12876070.80106301791966, 3484316.262400756590068 ], [ 12858655.089367393404245, 3482984.08511368650943 ], [ 12854266.875040322542191, 3470528.890224159229547 ], [ 12841719.275996576994658, 3458206.91994250100106 ], [ 12817583.985878193750978, 3458872.861530537717044 ], [ 12818886.757878949865699, 3440756.230397838633507 ], [ 12801813.798895476385951, 3448682.299046679865569 ], [ 12795162.904598543420434, 3438691.476955770049244 ], [ 12786180.757525412365794, 3436360.183543662540615 ], [ 12794065.851016772910953, 3429499.814620701596141 ], [ 12775004.503288751468062, 3421973.49525094917044 ], [ 12763965.3946647439152, 3425836.598522705957294 ], [ 12748263.780488353222609, 3417111.244122669566423 ], [ 12719260.266398601233959, 3419509.067002044990659 ], [ 12718506.076848477125168, 3405588.492013901937753 ], [ 12697319.194763246923685, 3401658.819805818609893 ], [ 12685114.348431654274464, 3387471.750797451008111 ], [ 12683948.722043557092547, 3381677.066458571236581 ], [ 12676817.929421814158559, 3380145.176392723806202 ], [ 12669961.316705891862512, 3389070.365787242073566 ], [ 12662556.12153934314847, 3383408.82283914135769 ], [ 12652888.357722418382764, 3397262.823717931285501 ], [ 12655905.227242408320308, 3405055.648528228979558 ], [ 12646648.788943964987993, 3407986.237838443368673 ], [ 12655493.901723925024271, 3425636.772302253637463 ], [ 12662967.55837731435895, 3431764.428268533200026 ], [ 12649322.905751802027225, 3442421.395905632991344 ], [ 12661116.315245423465967, 3449281.702028627507389 ], [ 12653094.076141405850649, 3462935.863311192952096 ], [ 12639997.894647030159831, 3461870.216701161582023 ], [ 12642123.429004237055779, 3483783.374869082123041 ], [ 12621142.265337994322181, 3465466.887177864555269 ], [ 12595292.877700379118323, 3432963.358503221999854 ], [ 12587819.221046989783645, 3431564.638636529911309 ], [ 12585487.968270797282457, 3442288.092907611746341 ], [ 12573557.413164518773556, 3435960.593614574987441 ], [ 12569306.344450106844306, 3453144.889770288020372 ], [ 12579591.263523986563087, 3464134.74105759896338 ], [ 12581373.933849550783634, 3474325.354171086102724 ], [ 12572186.068357437849045, 3475790.665890054777265 ], [ 12572323.21397009305656, 3473792.496699228417128 ], [ 12570951.869163012132049, 3473126.552115873899311 ], [ 12563683.930928610265255, 3475724.097995031625032 ], [ 12556141.701468892395496, 3469662.991365291178226 ], [ 12555593.119018262252212, 3462669.475426349323243 ], [ 12544279.71916894428432, 3451279.912823454476893 ], [ 12516716.122692601755261, 3456541.768169549759477 ], [ 12508968.174813900142908, 3444819.16539263818413 ], [ 12499094.692577989771962, 3444153.052415877114981 ], [ 12501563.090966839343309, 3450347.461329172365367 ], [ 12480170.490462623536587, 3459872.030572090297937 ], [ 12476262.174460364505649, 3470195.80585228651762 ], [ 12462754.667447507381439, 3477455.873401500284672 ], [ 12463577.541123451665044, 3482651.062425225973129 ], [ 12452469.748373625800014, 3485115.506896529812366 ], [ 12446298.863720992580056, 3491243.250334708951414 ], [ 12437042.425422549247742, 3491909.237743345554918 ], [ 12437042.425422549247742, 3491909.237743345554918 ], [ 12435465.362196480855346, 3490443.880068982485682 ], [ 12435465.362196480855346, 3490443.880068982485682 ], [ 12399948.210741942748427, 3492575.259828791953623 ], [ 12383629.441308593377471, 3508627.182605529204011 ], [ 12348660.760985191911459, 3511691.124001897405833 ], [ 12348043.717047726735473, 3517885.434109921101481 ], [ 12328296.641256416216493, 3518085.155505892354995 ], [ 12324457.009379975497723, 3507828.009138276800513 ], [ 12317600.396664053201675, 3513556.034206724725664 ], [ 12300527.437680581584573, 3510625.399935739114881 ], [ 12307178.331977516412735, 3502033.282211758662015 ], [ 12300596.010486908257008, 3492109.066412620712072 ], [ 12311977.98314255848527, 3482984.08511368650943 ], [ 12316640.488694943487644, 3474991.489161853678524 ], [ 12301624.491262348368764, 3464001.598098580725491 ], [ 12285305.721828998997808, 3456808.157515060622245 ], [ 12269604.107652608305216, 3470995.06898595020175 ], [ 12257810.809478476643562, 3476523.320323026739061 ], [ 12247800.070310419425368, 3473992.42787458607927 ], [ 12230658.649840109050274, 3474591.855321653652936 ], [ 12220168.012347241863608, 3472127.379389035515487 ], [ 12213311.399631321430206, 3461603.722731442656368 ], [ 12213722.836469292640686, 3454143.87130979495123 ], [ 12191301.643870146945119, 3455542.600992835592479 ], [ 12184856.467992197722197, 3441155.840353896841407 ], [ 12172103.150529466569424, 3422772.721096730325371 ], [ 12173063.169818067923188, 3411916.02848625741899 ], [ 12162572.532325198873878, 3403590.281573892571032 ], [ 12164355.202650763094425, 3391201.68843303155154 ], [ 12159692.697098378092051, 3390868.722084251232445 ] ] ], [ [ [ 12581373.933849550783634, 3474325.354171086102724 ], [ 12570951.869163012132049, 3464068.105333352461457 ], [ 12570951.869163012132049, 3473126.552115873899311 ], [ 12572323.21397009305656, 3473792.496699228417128 ], [ 12572186.068357437849045, 3475790.665890054777265 ], [ 12581373.933849550783634, 3474325.354171086102724 ] ] ], [ [ [ 12360111.306447172537446, 3923113.447295428719372 ], [ 12362785.423255007714033, 3920915.406939702108502 ], [ 12359974.160834513604641, 3918850.6485062437132 ], [ 12360591.316091472283006, 3920182.730297188274562 ], [ 12360111.306447172537446, 3923113.447295428719372 ] ] ], [ [ [ 12145636.718954384326935, 3577097.701284158043563 ], [ 12144813.956597929820418, 3578229.948043016716838 ], [ 12145019.56369742564857, 3578429.850576101802289 ], [ 12145705.291760712862015, 3577297.58576668985188 ], [ 12145636.718954384326935, 3577097.701284158043563 ] ] ], [ [ [ 12549285.088752971962094, 3811016.292899021413177 ], [ 12549147.943140314891934, 3811082.846780035179108 ], [ 12548942.224721329286695, 3811482.573256952688098 ], [ 12549490.695852465927601, 3811149.532823758199811 ], [ 12549285.088752971962094, 3811016.292899021413177 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 430000, "name": "湖南省", "adchar": null, "childrenNum": 14.0, "level": "province", "subFeatureIndex": 17.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12241354.894432472065091, 3023339.361296262126416 ], [ 12247114.453566625714302, 3041655.915156019385904 ], [ 12237652.296849196776748, 3058174.060457485262305 ], [ 12229150.159420369192958, 3056841.949902817141265 ], [ 12233195.509715797379613, 3064301.849956841673702 ], [ 12225858.998675065115094, 3074292.589438933413476 ], [ 12239160.787268936634064, 3084283.489964171778411 ], [ 12227161.77067581936717, 3089478.749091793783009 ], [ 12225241.84341811016202, 3096139.255469957832247 ], [ 12206454.786915399134159, 3093808.027480748482049 ], [ 12207346.12207818031311, 3087214.164356923196465 ], [ 12199598.174199480563402, 3084350.021523999515921 ], [ 12192741.561483558267355, 3091077.174606414046139 ], [ 12194935.668647091835737, 3090677.551332947798073 ], [ 12194935.668647091835737, 3090677.551332947798073 ], [ 12192604.415870901197195, 3091610.06471512792632 ], [ 12191918.799127105623484, 3092142.974860507529229 ], [ 12189998.983188884332776, 3099136.489276352338493 ], [ 12189587.546350911259651, 3102067.119507369119674 ], [ 12188010.483124842867255, 3110392.827266737818718 ], [ 12195621.396710379049182, 3116853.531690414994955 ], [ 12191713.080708120018244, 3130774.078995427116752 ], [ 12184445.14247371815145, 3132172.793976703193039 ], [ 12186433.531218266114593, 3140365.3751833983697 ], [ 12180125.389633482322097, 3142696.449172019492835 ], [ 12163601.013100640848279, 3139566.089174007065594 ], [ 12152150.467638662084937, 3131706.623482466675341 ], [ 12142619.849434396252036, 3137967.529087669681758 ], [ 12119993.049735754728317, 3123380.920355287380517 ], [ 12110599.465824654325843, 3134037.756071533542126 ], [ 12120335.802447907626629, 3136768.572536506224424 ], [ 12123489.817580554634333, 3149157.285603542812169 ], [ 12138368.669400490820408, 3158015.734757521655411 ], [ 12149682.06924981251359, 3175799.491252647247165 ], [ 12156332.963546747341752, 3179795.764719075988978 ], [ 12167235.037877587601542, 3176532.134470774792135 ], [ 12167577.790589738637209, 3182992.786573784891516 ], [ 12185199.332023840397596, 3194582.185141504742205 ], [ 12186227.812799280509353, 3208702.515463890042156 ], [ 12170869.062654530629516, 3221624.003145076800138 ], [ 12172308.868948452174664, 3228883.988801898434758 ], [ 12167440.756296571344137, 3243470.628882280085236 ], [ 12176011.466531729325652, 3253128.414065091870725 ], [ 12167029.319458600133657, 3253528.080614139325917 ], [ 12171691.825010986998677, 3272976.911104324739426 ], [ 12177039.947307167574763, 3282834.49755227798596 ], [ 12164218.05703810788691, 3288163.022454436402768 ], [ 12164355.202650763094425, 3311474.84768923651427 ], [ 12169566.290653778240085, 3322464.866988748777658 ], [ 12167714.936202395707369, 3327859.789620938710868 ], [ 12156264.390740418806672, 3324596.125953172333539 ], [ 12167097.892264928668737, 3343512.104160585906357 ], [ 12160652.716386979445815, 3347242.06946941325441 ], [ 12160035.56113002076745, 3360696.349839812610298 ], [ 12169429.145041121169925, 3381077.709593917243183 ], [ 12159692.697098378092051, 3390868.722084251232445 ], [ 12164355.202650763094425, 3391201.68843303155154 ], [ 12162572.532325198873878, 3403590.281573892571032 ], [ 12173063.169818067923188, 3411916.02848625741899 ], [ 12172103.150529466569424, 3422772.721096730325371 ], [ 12184856.467992197722197, 3441155.840353896841407 ], [ 12191301.643870146945119, 3455542.600992835592479 ], [ 12213722.836469292640686, 3454143.87130979495123 ], [ 12213311.399631321430206, 3461603.722731442656368 ], [ 12220168.012347241863608, 3472127.379389035515487 ], [ 12230658.649840109050274, 3474591.855321653652936 ], [ 12247800.070310419425368, 3473992.42787458607927 ], [ 12257810.809478476643562, 3476523.320323026739061 ], [ 12269604.107652608305216, 3470995.06898595020175 ], [ 12285305.721828998997808, 3456808.157515060622245 ], [ 12301624.491262348368764, 3464001.598098580725491 ], [ 12316640.488694943487644, 3474991.489161853678524 ], [ 12311977.98314255848527, 3482984.08511368650943 ], [ 12300596.010486908257008, 3492109.066412620712072 ], [ 12307178.331977516412735, 3502033.282211758662015 ], [ 12300527.437680581584573, 3510625.399935739114881 ], [ 12317600.396664053201675, 3513556.034206724725664 ], [ 12324457.009379975497723, 3507828.009138276800513 ], [ 12328296.641256416216493, 3518085.155505892354995 ], [ 12348043.717047726735473, 3517885.434109921101481 ], [ 12348660.760985191911459, 3511691.124001897405833 ], [ 12383629.441308593377471, 3508627.182605529204011 ], [ 12399948.210741942748427, 3492575.259828791953623 ], [ 12435465.362196480855346, 3490443.880068982485682 ], [ 12435465.362196480855346, 3490443.880068982485682 ], [ 12437042.425422549247742, 3491909.237743345554918 ], [ 12437042.425422549247742, 3491909.237743345554918 ], [ 12446298.863720992580056, 3491243.250334708951414 ], [ 12452469.748373625800014, 3485115.506896529812366 ], [ 12463577.541123451665044, 3482651.062425225973129 ], [ 12462754.667447507381439, 3477455.873401500284672 ], [ 12476262.174460364505649, 3470195.80585228651762 ], [ 12480170.490462623536587, 3459872.030572090297937 ], [ 12501563.090966839343309, 3450347.461329172365367 ], [ 12499094.692577989771962, 3444153.052415877114981 ], [ 12508968.174813900142908, 3444819.16539263818413 ], [ 12516716.122692601755261, 3456541.768169549759477 ], [ 12544279.71916894428432, 3451279.912823454476893 ], [ 12555593.119018262252212, 3462669.475426349323243 ], [ 12556141.701468892395496, 3469662.991365291178226 ], [ 12563683.930928610265255, 3475724.097995031625032 ], [ 12570951.869163012132049, 3473126.552115873899311 ], [ 12570951.869163012132049, 3464068.105333352461457 ], [ 12581373.933849550783634, 3474325.354171086102724 ], [ 12579591.263523986563087, 3464134.74105759896338 ], [ 12569306.344450106844306, 3453144.889770288020372 ], [ 12573557.413164518773556, 3435960.593614574987441 ], [ 12585487.968270797282457, 3442288.092907611746341 ], [ 12587819.221046989783645, 3431564.638636529911309 ], [ 12595292.877700379118323, 3432963.358503221999854 ], [ 12621142.265337994322181, 3465466.887177864555269 ], [ 12642123.429004237055779, 3483783.374869082123041 ], [ 12639997.894647030159831, 3461870.216701161582023 ], [ 12653094.076141405850649, 3462935.863311192952096 ], [ 12661116.315245423465967, 3449281.702028627507389 ], [ 12649322.905751802027225, 3442421.395905632991344 ], [ 12662967.55837731435895, 3431764.428268533200026 ], [ 12655493.901723925024271, 3425636.772302253637463 ], [ 12646648.788943964987993, 3407986.237838443368673 ], [ 12655905.227242408320308, 3405055.648528228979558 ], [ 12652888.357722418382764, 3397262.823717931285501 ], [ 12662556.12153934314847, 3383408.82283914135769 ], [ 12669961.316705891862512, 3389070.365787242073566 ], [ 12676817.929421814158559, 3380145.176392723806202 ], [ 12683948.722043557092547, 3381677.066458571236581 ], [ 12686691.41165772266686, 3368689.098518885206431 ], [ 12691422.490016436204314, 3369954.520760586485267 ], [ 12698964.719476154074073, 3354568.674172797705978 ], [ 12707398.395418142899871, 3354635.261312366928905 ], [ 12707946.866549281403422, 3345310.478515903931111 ], [ 12699993.200251594185829, 3319534.197471323888749 ], [ 12714734.906458873301744, 3310209.415553588420153 ], [ 12709592.502581678330898, 3303615.42535536410287 ], [ 12718506.076848477125168, 3298953.083630193490535 ], [ 12718917.513686448335648, 3289828.129372778348625 ], [ 12702393.025834115222096, 3272044.464748806785792 ], [ 12689571.135565053671598, 3269313.549072986934334 ], [ 12695673.558730849996209, 3256192.362669995520264 ], [ 12680863.279717242345214, 3247866.625482150353491 ], [ 12675309.439002074301243, 3249598.390068472828716 ], [ 12662830.412764655426145, 3240606.609111545607448 ], [ 12660362.014375807717443, 3234745.361700440291315 ], [ 12664064.611959081143141, 3223688.812706179916859 ], [ 12646717.361750293523073, 3201842.194316399283707 ], [ 12644043.356261948123574, 3189187.199569785501808 ], [ 12649460.051364459097385, 3174200.903463555965573 ], [ 12647745.953845225274563, 3166674.543866807129234 ], [ 12676269.346971185877919, 3171669.848881903570145 ], [ 12673595.341482838615775, 3151621.650627560447901 ], [ 12665847.282284645363688, 3140631.688915133941919 ], [ 12670509.787837032228708, 3128176.532032545655966 ], [ 12682303.19733065366745, 3117120.02385983383283 ], [ 12672018.278256770223379, 3099003.28757314523682 ], [ 12674898.002164101228118, 3081552.600962196942419 ], [ 12681000.425329897552729, 3075291.762267819140106 ], [ 12702255.880221456289291, 3070629.30626897001639 ], [ 12698553.393957674503326, 3058773.500926622189581 ], [ 12699924.627445263788104, 3049515.443221545778215 ], [ 12693822.315598959103227, 3045785.439330630470067 ], [ 12693685.169986302033067, 3032131.311627592891455 ], [ 12684223.013268873095512, 3019409.74560600053519 ], [ 12700267.491476906463504, 3019942.579538979567587 ], [ 12710620.983357116580009, 3025670.668348571751267 ], [ 12716860.440816080197692, 3017944.305448284372687 ], [ 12695330.694699205458164, 3008552.936332831159234 ], [ 12691285.344403779134154, 2999960.830893473699689 ], [ 12693548.024373644962907, 2985907.072287720628083 ], [ 12687239.994108352810144, 2978780.381536340340972 ], [ 12680794.706910911947489, 2962128.997658148407936 ], [ 12688542.654789615422487, 2949540.528653531335294 ], [ 12684291.586075201630592, 2930091.737829367630184 ], [ 12677846.410197254270315, 2929492.2672920958139 ], [ 12670715.506256017833948, 2916570.759012230671942 ], [ 12662967.55837731435895, 2920367.226431955117732 ], [ 12647197.371394595131278, 2915904.71241938136518 ], [ 12647197.371394595131278, 2915904.71241938136518 ], [ 12638763.695452604442835, 2921100.000250712968409 ], [ 12629164.504442010074854, 2919967.591617627535015 ], [ 12620662.255693692713976, 2925296.034588390029967 ], [ 12613737.181490933522582, 2936086.17233162233606 ], [ 12606811.9959686845541, 2939016.765327487606555 ], [ 12592276.008180389180779, 2930557.968333387281746 ], [ 12588024.828146485611796, 2922898.331796655897051 ], [ 12568003.572449350729585, 2914039.743185227736831 ], [ 12564300.974866077303886, 2906446.685176393482834 ], [ 12578288.49152323231101, 2906113.637750050518662 ], [ 12582950.99707561917603, 2900119.190217982511967 ], [ 12575545.801909068599343, 2893125.644294993951917 ], [ 12581168.215430563315749, 2885932.182288113981485 ], [ 12576780.001103492453694, 2879937.677000076975673 ], [ 12580414.025880439206958, 2869147.65101173100993 ], [ 12564780.984510377049446, 2862953.382528943475336 ], [ 12554701.78385548107326, 2863086.538233279716223 ], [ 12547090.981589436531067, 2885998.799946820829064 ], [ 12541262.849648954346776, 2892059.906490033958107 ], [ 12513973.544397927820683, 2893258.820725946687162 ], [ 12508899.602007569745183, 2898986.894886285532266 ], [ 12501768.809385826811194, 2895057.125670978799462 ], [ 12488604.055085122585297, 2898187.671865279320627 ], [ 12485107.175920834764838, 2879005.308999241795391 ], [ 12481130.398431733250618, 2871279.032389701344073 ], [ 12487301.394403859972954, 2866816.478141342289746 ], [ 12486821.384759560227394, 2859023.545619450509548 ], [ 12478593.427236555144191, 2854427.838475379161537 ], [ 12470502.615326210856438, 2843837.598096669651568 ], [ 12462343.341929025948048, 2847500.900212621781975 ], [ 12433202.682226616889238, 2848566.566347069106996 ], [ 12419969.466439075767994, 2832181.541022534482181 ], [ 12404473.570681670680642, 2837443.393936027307063 ], [ 12409821.692977853119373, 2850897.756650578230619 ], [ 12408793.212202413007617, 2867016.201723524369299 ], [ 12404679.289100658148527, 2873277.222177977673709 ], [ 12404953.469006480649114, 2887197.72241126652807 ], [ 12392268.835669567808509, 2888663.010670993011445 ], [ 12387057.747666554525495, 2894324.520670586265624 ], [ 12378829.901463041082025, 2884933.198603751603514 ], [ 12367790.681519545614719, 2880070.98244752176106 ], [ 12367653.535906888544559, 2869080.984961586073041 ], [ 12355517.373701114207506, 2866416.793380979914218 ], [ 12351060.586567714810371, 2881136.608378252014518 ], [ 12356340.136057566851377, 2895590.030042326077819 ], [ 12369024.880713971331716, 2902450.359278305433691 ], [ 12367996.399938529357314, 2910776.11538623413071 ], [ 12390006.155699705705047, 2931223.931641154456884 ], [ 12394668.549932600930333, 2949940.097359898034483 ], [ 12390828.918056158348918, 2964460.169190782122314 ], [ 12405707.769876096397638, 2970854.256604109890759 ], [ 12404679.289100658148527, 2980045.827805854380131 ], [ 12411261.610591262578964, 2982843.284194223117083 ], [ 12395011.413964241743088, 2987505.664138751104474 ], [ 12384520.776471374556422, 2982310.447116024326533 ], [ 12377595.702268617227674, 2993300.325745335314423 ], [ 12386234.985310100018978, 3006354.99075163109228 ], [ 12387606.330117182806134, 3032797.447710762731731 ], [ 12379241.226981522515416, 3037259.963444513268769 ], [ 12366762.200744107365608, 3037126.717308895196766 ], [ 12350306.397017588838935, 3045452.439311559312046 ], [ 12349689.24176063016057, 3034329.329949800856411 ], [ 12329873.704482484608889, 3029933.380236691329628 ], [ 12313280.755143310874701, 3040456.998881520703435 ], [ 12306972.61355852894485, 3034595.771678759716451 ], [ 12302652.972037786617875, 3022140.478969975374639 ], [ 12286677.066636081784964, 3010151.538663691841066 ], [ 12281397.517146229743958, 2996031.103657458908856 ], [ 12273786.603560693562031, 2994299.467352171894163 ], [ 12267547.146101729944348, 3007287.490725760348141 ], [ 12263570.368612630292773, 3002025.629354539792985 ], [ 12252394.003056477755308, 3005422.550664039328694 ], [ 12256165.173446081578732, 3020075.791089475154877 ], [ 12241354.894432472065091, 3023339.361296262126416 ] ] ], [ [ [ 12187530.584800034761429, 3002758.270360620226711 ], [ 12183896.560023088008165, 3011683.501651767175645 ], [ 12188010.483124842867255, 3017478.139073701109737 ], [ 12188010.483124842867255, 3017478.139073701109737 ], [ 12182730.933634990826249, 3028667.80080488929525 ], [ 12185747.803154980763793, 3038059.217791779432446 ], [ 12171760.397817313671112, 3031864.915469262748957 ], [ 12165657.974651519209146, 3035794.696298081427813 ], [ 12170114.761784918606281, 3052113.038346422836185 ], [ 12179165.481664372608066, 3065234.25361591251567 ], [ 12173337.34972389228642, 3085215.956958690658212 ], [ 12184376.569667387753725, 3093674.875912389717996 ], [ 12191918.799127105623484, 3092142.974860507529229 ], [ 12192604.415870901197195, 3091610.06471512792632 ], [ 12192741.561483558267355, 3091077.174606414046139 ], [ 12199598.174199480563402, 3084350.021523999515921 ], [ 12207346.12207818031311, 3087214.164356923196465 ], [ 12206454.786915399134159, 3093808.027480748482049 ], [ 12225241.84341811016202, 3096139.255469957832247 ], [ 12227161.77067581936717, 3089478.749091793783009 ], [ 12239160.787268936634064, 3084283.489964171778411 ], [ 12225858.998675065115094, 3074292.589438933413476 ], [ 12233195.509715797379613, 3064301.849956841673702 ], [ 12229150.159420369192958, 3056841.949902817141265 ], [ 12237652.296849196776748, 3058174.060457485262305 ], [ 12247114.453566625714302, 3041655.915156019385904 ], [ 12241354.894432472065091, 3023339.361296262126416 ], [ 12234772.572941865772009, 3016878.680362050887197 ], [ 12230041.494583150371909, 3002491.918749424163252 ], [ 12220990.77470369450748, 2997629.691370217595249 ], [ 12223596.318705201148987, 2983575.951425846666098 ], [ 12210088.811692347750068, 2984241.96568292286247 ], [ 12215094.069956883788109, 2997829.449775385204703 ], [ 12204534.970977179706097, 3004956.291118092369288 ], [ 12190958.891157995909452, 2998828.530634446069598 ], [ 12187530.584800034761429, 3002758.270360620226711 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 440000, "name": "广东省", "adchar": null, "childrenNum": 22.0, "level": "province", "subFeatureIndex": 18.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12221265.065929008647799, 2446469.001639720983803 ], [ 12216533.987570295110345, 2465518.138966659083962 ], [ 12233812.664972754195333, 2469514.465135468635708 ], [ 12238543.743331467732787, 2479705.202780862338841 ], [ 12239023.641656277701259, 2492826.471615502145141 ], [ 12250885.62395622767508, 2494358.413610749412328 ], [ 12258496.426222274079919, 2499753.384495204780251 ], [ 12267410.000489072874188, 2499353.738674877211452 ], [ 12267410.000489072874188, 2499353.738674877211452 ], [ 12288391.275474807247519, 2498354.724964264780283 ], [ 12284688.677891533821821, 2518935.750879451166838 ], [ 12284688.677891533821821, 2518935.750879451166838 ], [ 12284208.668247232213616, 2520267.870450529269874 ], [ 12284208.668247232213616, 2520267.870450529269874 ], [ 12291270.999382138252258, 2536586.243963111657649 ], [ 12299567.529711470007896, 2528926.675389600452036 ], [ 12307521.196009159088135, 2535120.947745397221297 ], [ 12315200.571081532165408, 2529459.464296171441674 ], [ 12317120.387019753456116, 2538318.023353700060397 ], [ 12325896.815673895180225, 2547043.357521924190223 ], [ 12332616.282777158543468, 2546910.170163196511567 ], [ 12324319.863767316564918, 2555968.474873513914645 ], [ 12331793.520420705899596, 2581944.615598121657968 ], [ 12362648.277642350643873, 2589537.659896395169199 ], [ 12362785.423255007714033, 2599128.847426973748952 ], [ 12378966.935756208375096, 2600660.729030617047101 ], [ 12396382.758771324530244, 2618644.315173993818462 ], [ 12396931.229902463033795, 2628235.442433326970786 ], [ 12404747.861906986683607, 2636427.969866497907788 ], [ 12398508.293128531426191, 2641956.197215399239212 ], [ 12399742.492322957143188, 2657475.236268951557577 ], [ 12395834.176320696249604, 2666999.855768264271319 ], [ 12400976.691517380997539, 2688913.081014062743634 ], [ 12409890.265784179791808, 2696572.692292139399797 ], [ 12410713.028140632435679, 2707962.321768952067941 ], [ 12424974.836023105308414, 2709494.200183887500316 ], [ 12430734.395157257094979, 2719085.435483208857477 ], [ 12425660.452766900882125, 2720017.932049644645303 ], [ 12430460.103931942954659, 2733272.397416478954256 ], [ 12446710.189239472150803, 2729875.549444797914475 ], [ 12446915.907658459618688, 2739733.111271030269563 ], [ 12461177.715540930628777, 2751921.922237443737686 ], [ 12454252.530018681660295, 2766841.610418890137225 ], [ 12454183.957212351262569, 2781361.61446813121438 ], [ 12461040.569928273558617, 2781494.796400957740843 ], [ 12471119.770583167672157, 2789753.819405173417181 ], [ 12474205.212909486144781, 2800677.121678091585636 ], [ 12466114.400999139994383, 2810534.783815621864051 ], [ 12468582.79938798956573, 2818660.672080594114959 ], [ 12460834.851509286090732, 2826120.434794650878757 ], [ 12463508.968317123129964, 2841506.385220528580248 ], [ 12470502.615326210856438, 2843837.598096669651568 ], [ 12478593.427236555144191, 2854427.838475379161537 ], [ 12486821.384759560227394, 2859023.545619450509548 ], [ 12487301.394403859972954, 2866816.478141342289746 ], [ 12481130.398431733250618, 2871279.032389701344073 ], [ 12485107.175920834764838, 2879005.308999241795391 ], [ 12488604.055085122585297, 2898187.671865279320627 ], [ 12501768.809385826811194, 2895057.125670978799462 ], [ 12508899.602007569745183, 2898986.894886285532266 ], [ 12513973.544397927820683, 2893258.820725946687162 ], [ 12541262.849648954346776, 2892059.906490033958107 ], [ 12547090.981589436531067, 2885998.799946820829064 ], [ 12554701.78385548107326, 2863086.538233279716223 ], [ 12564780.984510377049446, 2862953.382528943475336 ], [ 12580414.025880439206958, 2869147.65101173100993 ], [ 12576780.001103492453694, 2879937.677000076975673 ], [ 12581168.215430563315749, 2885932.182288113981485 ], [ 12575545.801909068599343, 2893125.644294993951917 ], [ 12582950.99707561917603, 2900119.190217982511967 ], [ 12578288.49152323231101, 2906113.637750050518662 ], [ 12564300.974866077303886, 2906446.685176393482834 ], [ 12568003.572449350729585, 2914039.743185227736831 ], [ 12588024.828146485611796, 2922898.331796655897051 ], [ 12592276.008180389180779, 2930557.968333387281746 ], [ 12606811.9959686845541, 2939016.765327487606555 ], [ 12613737.181490933522582, 2936086.17233162233606 ], [ 12620662.255693692713976, 2925296.034588390029967 ], [ 12629164.504442010074854, 2919967.591617627535015 ], [ 12638763.695452604442835, 2921100.000250712968409 ], [ 12647197.371394595131278, 2915904.71241938136518 ], [ 12647197.371394595131278, 2915904.71241938136518 ], [ 12662967.55837731435895, 2920367.226431955117732 ], [ 12670715.506256017833948, 2916570.759012230671942 ], [ 12677846.410197254270315, 2929492.2672920958139 ], [ 12684291.586075201630592, 2930091.737829367630184 ], [ 12696153.568375151604414, 2918635.594071938190609 ], [ 12694850.796374397352338, 2906579.980071948841214 ], [ 12705067.142641950398684, 2913773.39081700053066 ], [ 12719671.703236572444439, 2911642.004275816027075 ], [ 12725499.835177056491375, 2917369.980306768324226 ], [ 12732836.346217786893249, 2914572.58533464698121 ], [ 12750046.450813917443156, 2927027.826064630411565 ], [ 12761291.277856908738613, 2915638.326744128484279 ], [ 12773153.260156858712435, 2909510.552672605961561 ], [ 12766090.929021952673793, 2899652.92612748593092 ], [ 12772330.38648091442883, 2890727.809842497110367 ], [ 12761702.714694881811738, 2884799.973015947267413 ], [ 12752926.174721248447895, 2885266.144828025717288 ], [ 12746755.290068613365293, 2875741.553665852639824 ], [ 12734481.982250181958079, 2869747.04479574970901 ], [ 12735304.744606636464596, 2860688.687492424156517 ], [ 12727693.942340590059757, 2844770.011478824075311 ], [ 12720768.756818341091275, 2838975.312867971137166 ], [ 12709249.638550035655499, 2837643.222040044609457 ], [ 12719191.693592272698879, 2831781.907748104073107 ], [ 12724745.53430744074285, 2823522.86980586592108 ], [ 12734001.97260588221252, 2822124.193721420597285 ], [ 12738116.007027130573988, 2812799.393395935650915 ], [ 12749909.305201260372996, 2821657.87430277839303 ], [ 12756080.301173385232687, 2819060.330507021863014 ], [ 12764445.292989553883672, 2824721.766598743386567 ], [ 12768902.080122955143452, 2817661.571503975894302 ], [ 12771644.769737118855119, 2827785.659126105252653 ], [ 12787140.665494523942471, 2822057.488369051367044 ], [ 12791666.025434251874685, 2834246.377245259471238 ], [ 12808053.367673929780722, 2839375.011798590887338 ], [ 12812373.009194672107697, 2835778.220568543765694 ], [ 12836028.289668751880527, 2846102.11208002269268 ], [ 12841650.703190246596932, 2843238.123316164594144 ], [ 12847684.553549714386463, 2850298.249069199897349 ], [ 12863660.347631931304932, 2836843.925312279723585 ], [ 12865580.274889642372727, 2828784.684709572698921 ], [ 12876619.38351364992559, 2827186.201592022087425 ], [ 12878333.481032883748412, 2819992.703320313245058 ], [ 12895817.87685432843864, 2822190.776967850048095 ], [ 12885944.394618418067694, 2844969.813014318235219 ], [ 12893280.905659150332212, 2864551.819182198494673 ], [ 12902743.062376577407122, 2861021.713268734980375 ], [ 12901097.426344180479646, 2868015.350239115767181 ], [ 12914673.506163366138935, 2864152.194204558152705 ], [ 12920638.783716503530741, 2857291.849638388957828 ], [ 12933186.382760249078274, 2860422.296678694430739 ], [ 12940385.859507814049721, 2850364.832606413867325 ], [ 12954990.420102437958121, 2853695.117177573032677 ], [ 12962738.36798114143312, 2840707.131246355362236 ], [ 12967263.727920869365335, 2841239.962575730867684 ], [ 12971583.369441611692309, 2827252.806826249696314 ], [ 12979537.035739300772548, 2833380.503502991981804 ], [ 12999764.009855419397354, 2836510.938191456254572 ], [ 13003809.360150847584009, 2833447.135700434911996 ], [ 12997775.621110867708921, 2824588.578418052289635 ], [ 13000929.636243514716625, 2815663.442863894160837 ], [ 13008883.302541205659509, 2809868.735201912466437 ], [ 13013682.953706245869398, 2798545.786626294255257 ], [ 13016974.114451549947262, 2780229.308951307088137 ], [ 13024242.052685951814055, 2775233.793625727761537 ], [ 13017111.260064208880067, 2768906.26909340871498 ], [ 13017659.731195345520973, 2757516.723607250023633 ], [ 13022322.236747730523348, 2753320.618183504324406 ], [ 13022185.091135075315833, 2739000.446627493016422 ], [ 13025750.543105693534017, 2735803.442226157523692 ], [ 13030344.475851750001311, 2716487.768988735042512 ], [ 13045840.371609153226018, 2708361.954421194735914 ], [ 13045840.371609153226018, 2700102.811597612220794 ], [ 13030413.048658076673746, 2697705.072353213094175 ], [ 13025544.824686704203486, 2692909.459511362481862 ], [ 13015671.342450793832541, 2696506.155622120015323 ], [ 13010460.254447780549526, 2686248.856887768488377 ], [ 13010391.792960941791534, 2686248.856887768488377 ], [ 13010048.928929299116135, 2682452.359344264026731 ], [ 13010117.50173562951386, 2682385.760014654137194 ], [ 13000175.446693390607834, 2669997.142243962734938 ], [ 13002849.452181737869978, 2656343.021407270338386 ], [ 12995992.839465815573931, 2658074.683329277671874 ], [ 12974394.520542612299323, 2645286.525783176533878 ], [ 12977274.35576943680644, 2633763.674345611128956 ], [ 12969320.689471749588847, 2623639.639949652832001 ], [ 12955676.036846235394478, 2622240.979175818152726 ], [ 12948407.987292340025306, 2626303.856124695856124 ], [ 12938328.786637445911765, 2621708.112627453636378 ], [ 12924958.425237245857716, 2609985.561646387912333 ], [ 12921255.827653972432017, 2612982.756602687295526 ], [ 12900068.945568742230535, 2606055.794176437426358 ], [ 12890401.181751819327474, 2600527.595007884316146 ], [ 12889509.846589036285877, 2609053.118477195501328 ], [ 12874562.421962769702077, 2615780.188947359565645 ], [ 12862151.968531681224704, 2603191.807572561316192 ], [ 12869214.299666589125991, 2602392.534825522918254 ], [ 12865648.847695970907807, 2589804.11392687400803 ], [ 12854266.875040322542191, 2595532.163714095950127 ], [ 12844187.674385426566005, 2593867.073992714751512 ], [ 12839388.02322038449347, 2605056.686579520348459 ], [ 12827389.006627267226577, 2605056.686579520348459 ], [ 12828074.623371062800288, 2610918.057682431768626 ], [ 12807847.649254944175482, 2605123.332112390547991 ], [ 12806202.013222545385361, 2597263.914300928357989 ], [ 12787963.427850978448987, 2582477.525137913879007 ], [ 12773633.158481666818261, 2581478.394059533718973 ], [ 12771507.624124459922314, 2589870.697948429267853 ], [ 12773907.449706982821226, 2603524.879501439630985 ], [ 12769450.662573583424091, 2606388.803262564353645 ], [ 12747509.479618739336729, 2590403.500385963823646 ], [ 12757588.680273635312915, 2588405.308233101386577 ], [ 12752651.994815424084663, 2581678.167240999173373 ], [ 12759028.597887046635151, 2576816.054229421075433 ], [ 12758480.126755906268954, 2569489.404464149381965 ], [ 12744424.037292420864105, 2565226.677419209852815 ], [ 12742504.221354199573398, 2575683.726176809053868 ], [ 12736127.506963089108467, 2583676.392989682964981 ], [ 12716311.96968494169414, 2576483.036927189677954 ], [ 12711100.881681926548481, 2577881.682075857184827 ], [ 12711100.881681926548481, 2577881.682075857184827 ], [ 12695536.413118194788694, 2571953.795333832036704 ], [ 12695330.694699205458164, 2571953.795333832036704 ], [ 12693959.461211616173387, 2572153.574672463349998 ], [ 12685868.649301270022988, 2572286.842559396289289 ], [ 12678394.881328390911222, 2564760.441799245309085 ], [ 12660773.451213778927922, 2600194.583602185826749 ], [ 12654602.455241654068232, 2598928.984295470174402 ], [ 12661527.640763903036714, 2575816.901795360725373 ], [ 12649391.47855812869966, 2568756.687705419026315 ], [ 12653642.5472725443542, 2561563.386629923246801 ], [ 12641300.666647784411907, 2537119.154221546370536 ], [ 12640752.195516645908356, 2524464.069996293634176 ], [ 12628341.742085557430983, 2512674.86672224663198 ], [ 12615862.71584814041853, 2506946.807875252328813 ], [ 12606537.704743368551135, 2497155.793574764858931 ], [ 12589327.600147239863873, 2519402.040898570790887 ], [ 12582745.278656631708145, 2520267.870450529269874 ], [ 12583293.86110726185143, 2503749.756717521231622 ], [ 12572940.369227051734924, 2492559.987897720653564 ], [ 12556347.308568388223648, 2502351.01010290440172 ], [ 12540302.941679844632745, 2482968.849255272652954 ], [ 12526041.133797373622656, 2482835.563479819335043 ], [ 12516716.122692601755261, 2487964.214973140973598 ], [ 12514042.117204256355762, 2479705.202780862338841 ], [ 12494500.759831933304667, 2475708.794242009986192 ], [ 12489221.210342081263661, 2486232.515573213342577 ], [ 12471805.387326965108514, 2482902.206238467246294 ], [ 12462343.341929025948048, 2472178.676729517523199 ], [ 12470776.906551524996758, 2467582.94990271795541 ], [ 12446778.762045802548528, 2458657.76004537474364 ], [ 12446641.616433145478368, 2464119.505082493182272 ], [ 12433682.691870920360088, 2462387.683215015567839 ], [ 12431900.021545354276896, 2455127.766191443894058 ], [ 12399056.875579159706831, 2451064.762542013544589 ], [ 12385137.931728333234787, 2441273.822110319510102 ], [ 12387949.082829335704446, 2449865.88152437703684 ], [ 12363265.321579817682505, 2445536.551483873743564 ], [ 12348592.188178865239024, 2436744.5936668231152 ], [ 12334124.773196898400784, 2436611.423431689385325 ], [ 12314857.707049889490008, 2417628.754300869069993 ], [ 12292162.33454491943121, 2414631.508823335170746 ], [ 12288391.275474807247519, 2406905.279872748069465 ], [ 12278174.929207254201174, 2403042.177817595656961 ], [ 12265284.466131865978241, 2389721.083274357020855 ], [ 12267547.146101729944348, 2376066.954198142047971 ], [ 12288596.882574303075671, 2370472.11557733360678 ], [ 12288802.600993286818266, 2354087.130775553174317 ], [ 12297030.558516291901469, 2353820.718125520274043 ], [ 12306149.851202076300979, 2329709.52799673890695 ], [ 12305875.559976762160659, 2323715.022901993244886 ], [ 12295522.068096552044153, 2309927.692518853582442 ], [ 12284002.949828246608377, 2303733.421688089612871 ], [ 12258290.707803286612034, 2299071.023998479358852 ], [ 12254313.930314188823104, 2303733.421688089612871 ], [ 12235184.009779836982489, 2299603.799624482169747 ], [ 12235801.05371730402112, 2310593.730836240109056 ], [ 12229698.630551507696509, 2317720.583502948284149 ], [ 12232715.611390989273787, 2329443.11653686966747 ], [ 12227298.91628847643733, 2331108.192624971270561 ], [ 12222156.401091789826751, 2346094.436733265873045 ], [ 12216739.705989280715585, 2346760.488591198343784 ], [ 12215094.069956883788109, 2358483.090779006481171 ], [ 12206729.078140713274479, 2380396.321721204090863 ], [ 12208923.185304248705506, 2408170.809888314455748 ], [ 12218865.240346489474177, 2418894.336659821681678 ], [ 12218179.623602692037821, 2433281.06250104913488 ], [ 12230521.504227451980114, 2435545.739422854501754 ], [ 12233401.228134782984853, 2444670.647032079286873 ], [ 12221265.065929008647799, 2446469.001639720983803 ] ] ], [ [ [ 13035555.452535271644592, 2680654.031828391365707 ], [ 13018413.920745469629765, 2683118.367841963656247 ], [ 13038778.040474245324731, 2690578.218595492187887 ], [ 13035555.452535271644592, 2680654.031828391365707 ] ] ], [ [ [ 12562792.595765829086304, 2480371.161256182473153 ], [ 12557375.789343828335404, 2473910.520841580815613 ], [ 12558747.134150909259915, 2462387.683215015567839 ], [ 12549147.943140314891934, 2465185.143460261635482 ], [ 12554838.929468140006065, 2471446.076408318709582 ], [ 12546336.680719820782542, 2473044.63696790440008 ], [ 12560324.197376977652311, 2484567.400144232437015 ], [ 12562792.595765829086304, 2480371.161256182473153 ] ] ], [ [ [ 12537423.106453021988273, 2465584.834629345219582 ], [ 12527343.905798126012087, 2466983.467146810144186 ], [ 12541674.175167435780168, 2477240.769147436600178 ], [ 12537423.106453021988273, 2465584.834629345219582 ] ] ], [ [ [ 12300253.146455265581608, 2400844.18691213382408 ], [ 12307521.196009159088135, 2399179.082636843901128 ], [ 12304778.506394995376468, 2382727.532171711325645 ], [ 12297784.748066416010261, 2389854.257949162274599 ], [ 12283865.915535079315305, 2390054.081441954243928 ], [ 12267547.146101729944348, 2384525.901514436583966 ], [ 12268644.199683496728539, 2390320.555996194016188 ], [ 12279203.40998269431293, 2402376.177960894536227 ], [ 12300253.146455265581608, 2400844.18691213382408 ] ] ], [ [ [ 12301007.336005389690399, 2408903.507699611596763 ], [ 12293190.815320359542966, 2413499.226566353812814 ], [ 12315749.04221267066896, 2416962.801664226222783 ], [ 12309989.483078517019749, 2403175.452381266281009 ], [ 12301007.336005389690399, 2408903.507699611596763 ] ] ], [ [ [ 12998735.529079979285598, 2364677.454221017193049 ], [ 13011694.453642206266522, 2365143.69201884791255 ], [ 13017042.687257876619697, 2353354.535189704038203 ], [ 13009089.020960189402103, 2342897.371810793876648 ], [ 12996472.84911011531949, 2344362.697565379086882 ], [ 13007580.530540449544787, 2347626.39263063063845 ], [ 13010186.07454195804894, 2360681.115610443986952 ], [ 12998735.529079979285598, 2364677.454221017193049 ] ] ], [ [ [ 12311772.26472357288003, 2374868.032286378555 ], [ 12306218.424008404836059, 2380995.719552418217063 ], [ 12310195.201497504487634, 2385791.388034884352237 ], [ 12317120.387019753456116, 2381994.840064144693315 ], [ 12311772.26472357288003, 2374868.032286378555 ] ] ], [ [ [ 12906719.839865678921342, 2403508.464199512265623 ], [ 12917964.666908668354154, 2405040.327594527509063 ], [ 12920570.210910176858306, 2396714.638033433817327 ], [ 12911862.355062363669276, 2396115.188333111815155 ], [ 12906719.839865678921342, 2403508.464199512265623 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 450000, "name": "广西壮族自治区", "adchar": null, "childrenNum": 14.0, "level": "province", "subFeatureIndex": 19.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12470502.615326210856438, 2843837.598096669651568 ], [ 12463508.968317123129964, 2841506.385220528580248 ], [ 12460834.851509286090732, 2826120.434794650878757 ], [ 12468582.79938798956573, 2818660.672080594114959 ], [ 12466114.400999139994383, 2810534.783815621864051 ], [ 12474205.212909486144781, 2800677.121678091585636 ], [ 12471119.770583167672157, 2789753.819405173417181 ], [ 12461040.569928273558617, 2781494.796400957740843 ], [ 12454183.957212351262569, 2781361.61446813121438 ], [ 12454252.530018681660295, 2766841.610418890137225 ], [ 12461177.715540930628777, 2751921.922237443737686 ], [ 12446915.907658459618688, 2739733.111271030269563 ], [ 12446710.189239472150803, 2729875.549444797914475 ], [ 12430460.103931942954659, 2733272.397416478954256 ], [ 12425660.452766900882125, 2720017.932049644645303 ], [ 12430734.395157257094979, 2719085.435483208857477 ], [ 12424974.836023105308414, 2709494.200183887500316 ], [ 12410713.028140632435679, 2707962.321768952067941 ], [ 12409890.265784179791808, 2696572.692292139399797 ], [ 12400976.691517380997539, 2688913.081014062743634 ], [ 12395834.176320696249604, 2666999.855768264271319 ], [ 12399742.492322957143188, 2657475.236268951557577 ], [ 12398508.293128531426191, 2641956.197215399239212 ], [ 12404747.861906986683607, 2636427.969866497907788 ], [ 12396931.229902463033795, 2628235.442433326970786 ], [ 12396382.758771324530244, 2618644.315173993818462 ], [ 12378966.935756208375096, 2600660.729030617047101 ], [ 12362785.423255007714033, 2599128.847426973748952 ], [ 12362648.277642350643873, 2589537.659896395169199 ], [ 12331793.520420705899596, 2581944.615598121657968 ], [ 12324319.863767316564918, 2555968.474873513914645 ], [ 12332616.282777158543468, 2546910.170163196511567 ], [ 12325896.815673895180225, 2547043.357521924190223 ], [ 12317120.387019753456116, 2538318.023353700060397 ], [ 12315200.571081532165408, 2529459.464296171441674 ], [ 12307521.196009159088135, 2535120.947745397221297 ], [ 12299567.529711470007896, 2528926.675389600452036 ], [ 12291270.999382138252258, 2536586.243963111657649 ], [ 12284208.668247232213616, 2520267.870450529269874 ], [ 12284208.668247232213616, 2520267.870450529269874 ], [ 12284688.677891533821821, 2518935.750879451166838 ], [ 12284688.677891533821821, 2518935.750879451166838 ], [ 12288391.275474807247519, 2498354.724964264780283 ], [ 12267410.000489072874188, 2499353.738674877211452 ], [ 12267410.000489072874188, 2499353.738674877211452 ], [ 12258496.426222274079919, 2499753.384495204780251 ], [ 12250885.62395622767508, 2494358.413610749412328 ], [ 12239023.641656277701259, 2492826.471615502145141 ], [ 12238543.743331467732787, 2479705.202780862338841 ], [ 12233812.664972754195333, 2469514.465135468635708 ], [ 12216533.987570295110345, 2465518.138966659083962 ], [ 12221265.065929008647799, 2446469.001639720983803 ], [ 12212214.34604955278337, 2447134.999645146075636 ], [ 12201997.999782, 2458391.444587299134582 ], [ 12194044.333484310656786, 2447534.634585463441908 ], [ 12161201.187518117949367, 2442739.141252343077213 ], [ 12149270.743731329217553, 2438343.074217520654202 ], [ 12138574.387819478288293, 2447334.875777655281126 ], [ 12150573.515732083469629, 2454461.701660709455609 ], [ 12149682.06924981251359, 2459323.865813253913075 ], [ 12126918.123938515782356, 2462321.119578725658357 ], [ 12120610.093673221766949, 2466850.304799259640276 ], [ 12105456.950627969577909, 2463453.454523185268044 ], [ 12101548.745945198461413, 2469181.51247308915481 ], [ 12088384.102963985875249, 2472844.823779546655715 ], [ 12075836.503920240327716, 2457192.537003715988249 ], [ 12060203.462550178170204, 2456526.393320137634873 ], [ 12048135.761831242591143, 2450531.889755831565708 ], [ 12048684.344281872734427, 2463919.675253001507372 ], [ 12034353.963593073189259, 2452663.359148463699967 ], [ 12025920.398970574140549, 2457125.873612554743886 ], [ 12017692.441447570919991, 2455793.736575545743108 ], [ 12006927.624048879370093, 2469780.95165242953226 ], [ 11972027.516531808301806, 2461921.503696896601468 ], [ 11963456.694977160543203, 2470713.387375710066408 ], [ 11954405.975097704678774, 2462853.99499341333285 ], [ 11945766.692056220024824, 2479571.942272986285388 ], [ 11938704.360921313986182, 2475908.640593538526446 ], [ 11921014.358000373467803, 2488164.083792780991644 ], [ 11912512.10925205424428, 2490695.077574444003403 ], [ 11917860.231548236683011, 2501351.941214954480529 ], [ 11911140.764444975182414, 2505215.107496244832873 ], [ 11882068.788868384435773, 2512475.071336692664772 ], [ 11875692.185796763747931, 2510943.184516818262637 ], [ 11879737.536092191934586, 2520467.757465423550457 ], [ 11874800.850633982568979, 2533455.856147702783346 ], [ 11878023.438572956249118, 2536386.406955257989466 ], [ 11873703.797052213922143, 2551306.151172911282629 ], [ 11862458.970009222626686, 2553104.43942558253184 ], [ 11862458.970009222626686, 2567158.24319293582812 ], [ 11868218.417823884636164, 2583942.752838131040335 ], [ 11878983.346542065963149, 2580745.752206163946539 ], [ 11885428.522420013323426, 2600527.595007884316146 ], [ 11893519.33433036133647, 2607787.563277731183916 ], [ 11867327.082661103457212, 2623040.251074299681932 ], [ 11840654.932667033746839, 2614847.779354074969888 ], [ 11831809.931206565350294, 2615913.44641872541979 ], [ 11822896.356939764693379, 2629434.381160672754049 ], [ 11802052.227566687390208, 2630899.682107173837721 ], [ 11799240.965146193280816, 2624505.583505991846323 ], [ 11788064.710909530520439, 2624372.377034745644778 ], [ 11769209.081600494682789, 2639558.381074035540223 ], [ 11752547.559454992413521, 2640024.679460035637021 ], [ 11748982.107484374195337, 2654344.881986321415752 ], [ 11747747.908289950340986, 2662071.039906070102006 ], [ 11765849.348048862069845, 2675991.569672877900302 ], [ 11766466.391986330971122, 2680654.031828391365707 ], [ 11779356.855061719194055, 2693442.247825653292239 ], [ 11787859.103810036554933, 2695640.232844215352088 ], [ 11799858.120403151959181, 2686248.856887768488377 ], [ 11815628.307385871186852, 2701035.288828891701996 ], [ 11813297.054609678685665, 2705364.650338964071125 ], [ 11817410.9777114354074, 2719818.028571258299053 ], [ 11815079.724935242906213, 2728476.744718377012759 ], [ 11821250.720907367765903, 2732073.469409943092614 ], [ 11805411.961118318140507, 2764377.135214754380286 ], [ 11792452.925236601382494, 2768506.683635845780373 ], [ 11787859.103810036554933, 2758316.074398814700544 ], [ 11766946.401630630716681, 2761513.154339596163481 ], [ 11760843.978464832529426, 2757450.17382598714903 ], [ 11758512.837008131667972, 2768839.670806564856321 ], [ 11747542.189870962873101, 2769172.787060628179461 ], [ 11742194.067574782297015, 2755718.394410092849284 ], [ 11724229.773428527638316, 2767574.235388615634292 ], [ 11717510.306325264275074, 2760847.011668200138956 ], [ 11710859.412028329446912, 2766242.071429430041462 ], [ 11714081.99996730312705, 2773635.352503683883697 ], [ 11706882.523219740018249, 2788554.951646210160106 ], [ 11709488.067221246659756, 2795748.328319620341063 ], [ 11695569.123370418325067, 2805805.801788443233818 ], [ 11695569.123370418325067, 2805805.801788443233818 ], [ 11686312.685071976855397, 2803807.621647281572223 ], [ 11670336.890989761799574, 2807937.16140720853582 ], [ 11658337.763077154755592, 2807870.517566536553204 ], [ 11656143.655913619324565, 2792617.871690222062171 ], [ 11645241.692902270704508, 2799411.655686874408275 ], [ 11632008.36579523794353, 2833580.278479494154453 ], [ 11636190.973022814840078, 2842771.895070298109204 ], [ 11647710.091291120275855, 2833913.324234482832253 ], [ 11659983.399109551683068, 2829384.082365909591317 ], [ 11670953.934927228838205, 2836044.670411393977702 ], [ 11677330.537998847663403, 2845436.108509198296815 ], [ 11692277.962625114247203, 2849698.765116542577744 ], [ 11697214.759402815252542, 2865684.106313498225063 ], [ 11697694.657727625221014, 2865417.750395920593292 ], [ 11699271.72095369361341, 2866949.667821911629289 ], [ 11699203.14814736507833, 2866949.667821911629289 ], [ 11710653.693609341979027, 2875142.16764542972669 ], [ 11718127.35026272945106, 2867149.515919632744044 ], [ 11729235.031693063676357, 2868814.569242058787495 ], [ 11738148.71727935411036, 2865750.757398284506053 ], [ 11744251.029125660657883, 2852163.18886509956792 ], [ 11767083.547243287786841, 2847367.635892573744059 ], [ 11780659.627062471583486, 2839308.353738921694458 ], [ 11793412.944525202736259, 2841972.574771100655198 ], [ 11802463.664404660463333, 2830649.690568899735808 ], [ 11804931.951474018394947, 2836710.754095247481018 ], [ 11819125.186550160869956, 2846301.93108932999894 ], [ 11822827.784133436158299, 2857491.693093719892204 ], [ 11816176.778517009690404, 2869414.072599324397743 ], [ 11823856.264908876270056, 2873543.593769057653844 ], [ 11833798.319951113313437, 2872544.571022165007889 ], [ 11865612.985141867771745, 2886531.628920954652131 ], [ 11876035.04982840642333, 2897654.798187354579568 ], [ 11881383.172124586999416, 2895723.228345359675586 ], [ 11900101.655820965766907, 2899652.92612748593092 ], [ 11901473.000628050416708, 2905647.433042971417308 ], [ 11912717.827671041712165, 2909577.152084042783827 ], [ 11912580.682058384642005, 2919168.354159786365926 ], [ 11907163.986955873668194, 2929625.398695278912783 ], [ 11918614.532417852431536, 2938417.427253952715546 ], [ 11918340.241192538291216, 2944611.675752948969603 ], [ 11936647.399370435625315, 2950206.605948738288134 ], [ 11948646.415963552892208, 2932489.492214527912438 ], [ 11946589.454412672668695, 2925162.818735871929675 ], [ 11958039.999874651432037, 2924097.134876943659037 ], [ 11959342.771875405684114, 2911308.964144790545106 ], [ 11964759.46697791479528, 2912641.046121540945023 ], [ 11963730.986202476546168, 2902050.711552785243839 ], [ 11977924.109959129244089, 2906579.980071948841214 ], [ 11984643.577062390744686, 2914639.207334949169308 ], [ 11989168.937002120539546, 2899586.370880089234561 ], [ 11993762.869748177006841, 2905247.822993471287191 ], [ 12004870.551178511232138, 2889995.170149345882237 ], [ 12022697.81103160046041, 2899919.396123793441802 ], [ 12035313.982881674543023, 2901584.510368227493018 ], [ 12039427.905983429402113, 2915638.326744128484279 ], [ 12038399.425207991153002, 2923830.725843359716237 ], [ 12061300.51613194681704, 2941747.705576802138239 ], [ 12069117.036816976964474, 2930291.44344459939748 ], [ 12075013.630244296044111, 2932223.055928641464561 ], [ 12092086.589227771386504, 2913640.154847021214664 ], [ 12090098.200483221560717, 2936285.958668772131205 ], [ 12099217.493169005960226, 2952471.197362807113677 ], [ 12107514.023498337715864, 2954202.83699930133298 ], [ 12109502.412242887541652, 2944012.234410335309803 ], [ 12128152.323132937774062, 2944345.26808819686994 ], [ 12136654.571881256997585, 2938817.06550569832325 ], [ 12143648.330209834501147, 2943545.950508377049118 ], [ 12137271.615818725898862, 2953270.380889657419175 ], [ 12142619.849434396252036, 2964526.768933001440018 ], [ 12133911.882267091423273, 2966458.292777808383107 ], [ 12128700.905583567917347, 2960330.586026351898909 ], [ 12128700.905583567917347, 2960330.586026351898909 ], [ 12122255.729705618694425, 2963727.468387834262103 ], [ 12132677.683072667568922, 2971720.083107486832887 ], [ 12149819.21486246958375, 2973718.329889041371644 ], [ 12150299.224506769329309, 2967124.394373146351427 ], [ 12171828.970623642206192, 2965992.039633910171688 ], [ 12171623.252204656600952, 2978580.51262876810506 ], [ 12182250.923990691080689, 2990835.945448854938149 ], [ 12179302.627277029678226, 2995032.090925370343029 ], [ 12187530.584800034761429, 3002758.270360620226711 ], [ 12190958.891157995909452, 2998828.530634446069598 ], [ 12204534.970977179706097, 3004956.291118092369288 ], [ 12215094.069956883788109, 2997829.449775385204703 ], [ 12210088.811692347750068, 2984241.96568292286247 ], [ 12223596.318705201148987, 2983575.951425846666098 ], [ 12220990.77470369450748, 2997629.691370217595249 ], [ 12230041.494583150371909, 3002491.918749424163252 ], [ 12234772.572941865772009, 3016878.680362050887197 ], [ 12241354.894432472065091, 3023339.361296262126416 ], [ 12256165.173446081578732, 3020075.791089475154877 ], [ 12252394.003056477755308, 3005422.550664039328694 ], [ 12263570.368612630292773, 3002025.629354539792985 ], [ 12267547.146101729944348, 3007287.490725760348141 ], [ 12273786.603560693562031, 2994299.467352171894163 ], [ 12281397.517146229743958, 2996031.103657458908856 ], [ 12286677.066636081784964, 3010151.538663691841066 ], [ 12302652.972037786617875, 3022140.478969975374639 ], [ 12306972.61355852894485, 3034595.771678759716451 ], [ 12313280.755143310874701, 3040456.998881520703435 ], [ 12329873.704482484608889, 3029933.380236691329628 ], [ 12349689.24176063016057, 3034329.329949800856411 ], [ 12350306.397017588838935, 3045452.439311559312046 ], [ 12366762.200744107365608, 3037126.717308895196766 ], [ 12379241.226981522515416, 3037259.963444513268769 ], [ 12387606.330117182806134, 3032797.447710762731731 ], [ 12386234.985310100018978, 3006354.99075163109228 ], [ 12377595.702268617227674, 2993300.325745335314423 ], [ 12384520.776471374556422, 2982310.447116024326533 ], [ 12395011.413964241743088, 2987505.664138751104474 ], [ 12411261.610591262578964, 2982843.284194223117083 ], [ 12404679.289100658148527, 2980045.827805854380131 ], [ 12405707.769876096397638, 2970854.256604109890759 ], [ 12390828.918056158348918, 2964460.169190782122314 ], [ 12394668.549932600930333, 2949940.097359898034483 ], [ 12390006.155699705705047, 2931223.931641154456884 ], [ 12367996.399938529357314, 2910776.11538623413071 ], [ 12369024.880713971331716, 2902450.359278305433691 ], [ 12356340.136057566851377, 2895590.030042326077819 ], [ 12351060.586567714810371, 2881136.608378252014518 ], [ 12355517.373701114207506, 2866416.793380979914218 ], [ 12367653.535906888544559, 2869080.984961586073041 ], [ 12367790.681519545614719, 2880070.98244752176106 ], [ 12378829.901463041082025, 2884933.198603751603514 ], [ 12387057.747666554525495, 2894324.520670586265624 ], [ 12392268.835669567808509, 2888663.010670993011445 ], [ 12404953.469006480649114, 2887197.72241126652807 ], [ 12404679.289100658148527, 2873277.222177977673709 ], [ 12408793.212202413007617, 2867016.201723524369299 ], [ 12409821.692977853119373, 2850897.756650578230619 ], [ 12404473.570681670680642, 2837443.393936027307063 ], [ 12419969.466439075767994, 2832181.541022534482181 ], [ 12433202.682226616889238, 2848566.566347069106996 ], [ 12462343.341929025948048, 2847500.900212621781975 ], [ 12470502.615326210856438, 2843837.598096669651568 ] ] ], [ [ [ 11697694.657727625221014, 2865417.750395920593292 ], [ 11697214.759402815252542, 2865684.106313498225063 ], [ 11699203.14814736507833, 2866949.667821911629289 ], [ 11699271.72095369361341, 2866949.667821911629289 ], [ 11697694.657727625221014, 2865417.750395920593292 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 460000, "name": "海南省", "adchar": null, "childrenNum": 19.0, "level": "province", "subFeatureIndex": 20.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12159555.662805212661624, 2256843.118761558551341 ], [ 12167303.610683914273977, 2263303.798073920421302 ], [ 12189313.255125597119331, 2258042.038423244375736 ], [ 12198981.130262011662126, 2271629.553734321612865 ], [ 12213105.681212333962321, 2275093.020670785102993 ], [ 12218590.949121173471212, 2270830.237671182490885 ], [ 12241286.321626141667366, 2272295.518665161449462 ], [ 12256987.935802534222603, 2276225.338177005760372 ], [ 12261239.115836439654231, 2281820.165826238226146 ], [ 12277557.773950295522809, 2279755.430752700194716 ], [ 12280574.643470285460353, 2285949.731816636864096 ], [ 12303750.025619553402066, 2281953.382416993845254 ], [ 12307726.803108654916286, 2286016.354809197597206 ], [ 12325005.480511114001274, 2290678.662111063022166 ], [ 12328022.350031102076173, 2281820.165826238226146 ], [ 12342147.012300916016102, 2274426.955817628651857 ], [ 12353048.975312264636159, 2274227.093614986632019 ], [ 12364430.947967913001776, 2229135.241300196386874 ], [ 12347632.280209753662348, 2220143.403597403783351 ], [ 12339130.142780927941203, 2208021.257209321949631 ], [ 12326376.825318194925785, 2199562.339131895452738 ], [ 12314103.517499765381217, 2172853.556859643664211 ], [ 12309509.584753707051277, 2129626.494534563273191 ], [ 12300733.156099565327168, 2125696.802624220959842 ], [ 12300253.146455265581608, 2113774.456856573466212 ], [ 12281808.842664709314704, 2112908.582606379408389 ], [ 12272552.515685759484768, 2109045.384816817939281 ], [ 12258222.134996958076954, 2097056.436213992070407 ], [ 12255205.265476970002055, 2084334.824114663526416 ], [ 12247663.036017253994942, 2079738.994961551390588 ], [ 12236212.4905552752316, 2081537.366048861760646 ], [ 12221265.065929008647799, 2077341.258880636421964 ], [ 12217288.177120421081781, 2060223.567594973836094 ], [ 12198912.557455683127046, 2054362.248473408166319 ], [ 12173405.9225302208215, 2062754.642734774388373 ], [ 12165863.693070502951741, 2068549.32620984595269 ], [ 12149270.743731329217553, 2068948.951609503244981 ], [ 12146939.490955138579011, 2075276.482308225007728 ], [ 12127672.424808127805591, 2074344.018492738017812 ], [ 12121364.28322334587574, 2085866.686499145114794 ], [ 12099217.493169005960226, 2089996.266464449698105 ], [ 12094280.696391306817532, 2094592.084766713436693 ], [ 12096406.230748513713479, 2116505.202914195135236 ], [ 12088521.137257153168321, 2132490.544007510412484 ], [ 12093526.50684118270874, 2145611.84869651356712 ], [ 12088315.530157657340169, 2171987.673571500461549 ], [ 12090303.918902207165956, 2187506.724400668870658 ], [ 12096406.230748513713479, 2199029.436530224513263 ], [ 12107719.630597833544016, 2202226.601749923080206 ], [ 12139260.115882763639092, 2228069.454669518396258 ], [ 12152699.050089290365577, 2241856.859202889725566 ], [ 12151533.423701195046306, 2248250.989238568115979 ], [ 12159555.662805212661624, 2256843.118761558551341 ] ] ], [ [ [ 12678943.463779021054506, 849335.270867122220807 ], [ 12693685.169986302033067, 856395.466541219386272 ], [ 12713980.716908749192953, 869516.661949051078409 ], [ 12720288.747174041345716, 878908.053622406092472 ], [ 12736607.516607388854027, 888166.233595197321847 ], [ 12750594.921945054084063, 887366.96031319280155 ], [ 12750594.921945054084063, 877975.662020140327513 ], [ 12737155.987738529220223, 867118.943303059204482 ], [ 12731465.001410704106092, 852865.351165394764394 ], [ 12707946.866549281403422, 844206.552084389375523 ], [ 12689022.664433915168047, 841342.526637538103387 ], [ 12678943.463779021054506, 849335.270867122220807 ] ] ], [ [ [ 12429980.0942876432091, 1834630.686844662763178 ], [ 12424014.928053995594382, 1825305.974653744837269 ], [ 12419832.320826420560479, 1827370.642790665850043 ], [ 12429980.0942876432091, 1834630.686844662763178 ] ] ], [ [ [ 12687857.038045817986131, 991671.228660178370774 ], [ 12697113.47634426318109, 985343.729288606438786 ], [ 12694576.505149083212018, 981347.417883409420028 ], [ 12687857.038045817986131, 991671.228660178370774 ] ] ], [ [ [ 12475302.266491254791617, 1841757.449125912971795 ], [ 12464948.774611044675112, 1842223.745383518747985 ], [ 12473039.586521388962865, 1846486.508782556746155 ], [ 12475302.266491254791617, 1841757.449125912971795 ] ] ], [ [ [ 12894995.114497875794768, 1086051.284211330348626 ], [ 12904800.023927457630634, 1094177.088046727702022 ], [ 12902057.334313290193677, 1081721.857871052110568 ], [ 12894995.114497875794768, 1086051.284211330348626 ] ] ], [ [ [ 12185473.623249156400561, 819829.004368026624434 ], [ 12193495.862353172153234, 831551.536405602120794 ], [ 12206523.359721729531884, 843940.186658548889682 ], [ 12214202.734794102609158, 845805.112295771948993 ], [ 12234566.854522878304124, 843074.284541696775705 ], [ 12238338.024912483990192, 837812.500577982515097 ], [ 12221950.682672806084156, 840077.041612401488237 ], [ 12206660.505334386602044, 834948.401771624339744 ], [ 12190958.891157995909452, 817098.15882202074863 ], [ 12185473.623249156400561, 819829.004368026624434 ] ] ], [ [ [ 12526521.143441673368216, 1811451.935518347658217 ], [ 12535434.717708472162485, 1812451.071520010475069 ], [ 12531252.221800388768315, 1805990.293310298584402 ], [ 12517744.714787531644106, 1805324.268380357883871 ], [ 12526521.143441673368216, 1811451.935518347658217 ] ] ], [ [ [ 12742641.366966858506203, 1213534.253817117772996 ], [ 12755806.009948071092367, 1221793.249766247346997 ], [ 12753337.611559219658375, 1213600.784753302577883 ], [ 12742641.366966858506203, 1213534.253817117772996 ] ] ], [ [ [ 12510476.665233638137579, 1835563.228556011337787 ], [ 12526658.289054332301021, 1841624.289664527401328 ], [ 12527755.342636099085212, 1838227.363497354555875 ], [ 12510476.665233638137579, 1835563.228556011337787 ] ] ], [ [ [ 12967469.446339854970574, 1163646.691445794422179 ], [ 12970349.170247187837958, 1158384.791003413731232 ], [ 12984062.395679026842117, 1160183.183017291594297 ], [ 12976108.729381337761879, 1153322.803862956818193 ], [ 12965069.620757333934307, 1153855.717911852989346 ], [ 12967469.446339854970574, 1163646.691445794422179 ] ] ], [ [ [ 12820395.248298689723015, 936921.476315483218059 ], [ 12836851.052025202661753, 933524.660330058890395 ], [ 12833491.318473573774099, 928862.21596641256474 ], [ 12821903.627398939803243, 932325.727785864379257 ], [ 12820395.248298689723015, 936921.476315483218059 ] ] ], [ [ [ 12238063.733687167987227, 876443.667458729469217 ], [ 12239914.976819060742855, 880972.821889177779667 ], [ 12253833.920669887214899, 887766.651422486756928 ], [ 12250748.47834357060492, 876177.233868016046472 ], [ 12243823.292821321636438, 872380.691970147425309 ], [ 12238063.733687167987227, 876443.667458729469217 ] ] ], [ [ [ 12768010.744960172101855, 1232583.438204173929989 ], [ 12775758.692838875576854, 1244638.945291249314323 ], [ 12778707.100872024893761, 1240775.888634088216349 ], [ 12768010.744960172101855, 1232583.438204173929989 ] ] ], [ [ [ 12296344.941772496327758, 906549.321828361484222 ], [ 12308412.531171942129731, 912876.867659027222544 ], [ 12306835.467945873737335, 904018.349579946720041 ], [ 12297579.029647428542376, 901553.966836440493353 ], [ 12296344.941772496327758, 906549.321828361484222 ] ] ], [ [ [ 13054068.329132156446576, 1197149.271395552670583 ], [ 13065518.874594133347273, 1202943.892900608479977 ], [ 13069427.079276904463768, 1194818.035110293887556 ], [ 13054068.329132156446576, 1197149.271395552670583 ] ] ], [ [ [ 12668932.8359304536134, 2181245.834058644715697 ], [ 12681549.007780527696013, 2181245.834058644715697 ], [ 12676406.492583842948079, 2172786.976278032641858 ], [ 12668932.8359304536134, 2181245.834058644715697 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 500000, "name": "重庆市", "adchar": null, "childrenNum": 38.0, "level": "province", "subFeatureIndex": 21.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12144128.228534644469619, 3578163.357674071099609 ], [ 12146596.626923494040966, 3586622.261704666540027 ], [ 12130689.294328117743134, 3584490.893833676353097 ], [ 12112519.28176287561655, 3566840.506278182379901 ], [ 12105319.916334802284837, 3567306.742773154750466 ], [ 12099148.920362677425146, 3579295.700679796747863 ], [ 12085709.986156150698662, 3563909.774549628142267 ], [ 12070008.37197976000607, 3566973.696485477034003 ], [ 12067265.682365594431758, 3552054.052060268353671 ], [ 12073779.43104987218976, 3549856.034677357412875 ], [ 12087287.049382219091058, 3536468.339440247509629 ], [ 12085709.986156150698662, 3523813.296491071581841 ], [ 12079676.135796682909131, 3510958.380894363392144 ], [ 12082898.72373565658927, 3503298.806034359615296 ], [ 12079950.427021997049451, 3488845.417718978598714 ], [ 12063837.376007635146379, 3483183.902879739645869 ], [ 12069734.08075444586575, 3479920.217684898525476 ], [ 12071173.998367855325341, 3470329.012923997826874 ], [ 12078647.65502124466002, 3466066.301787599921227 ], [ 12089549.72935208119452, 3486314.402953293640167 ], [ 12096749.094780154526234, 3483317.116454335860908 ], [ 12099423.211587993428111, 3463735.060026596300304 ], [ 12109982.310567697510123, 3456541.768169549759477 ], [ 12116496.170571465045214, 3459738.803558305837214 ], [ 12124038.400031182914972, 3448615.615103537216783 ], [ 12120541.520866895094514, 3432097.545653034932911 ], [ 12125752.497550416737795, 3431165.06859967764467 ], [ 12124861.162387635558844, 3417244.41654662694782 ], [ 12146322.335698179900646, 3421640.381893362849951 ], [ 12146116.617279194295406, 3403057.519584847614169 ], [ 12159692.697098378092051, 3390868.722084251232445 ], [ 12169429.145041121169925, 3381077.709593917243183 ], [ 12160035.56113002076745, 3360696.349839812610298 ], [ 12160652.716386979445815, 3347242.06946941325441 ], [ 12167097.892264928668737, 3343512.104160585906357 ], [ 12156264.390740418806672, 3324596.125953172333539 ], [ 12167714.936202395707369, 3327859.789620938710868 ], [ 12169566.290653778240085, 3322464.866988748777658 ], [ 12164355.202650763094425, 3311474.84768923651427 ], [ 12155167.337158650159836, 3308477.698983493726701 ], [ 12150779.122831579297781, 3293158.329705766867846 ], [ 12142894.029340220615268, 3280436.780510566662997 ], [ 12143442.611790848895907, 3272310.817296880763024 ], [ 12136791.717493914067745, 3276773.41450666077435 ], [ 12134529.037524050101638, 3269579.974050777032971 ], [ 12125204.026419280096889, 3276440.396124301943928 ], [ 12108542.504273775964975, 3275840.958486949559301 ], [ 12103399.989077091217041, 3284632.812685831915587 ], [ 12107651.169110994786024, 3287696.708080591168255 ], [ 12109296.693823901936412, 3302683.004460278898478 ], [ 12101617.318751526996493, 3312274.116366692818701 ], [ 12093800.79806649684906, 3306745.953286085277796 ], [ 12099148.920362677425146, 3302349.976557864341885 ], [ 12096886.240392813459039, 3291226.836934790946543 ], [ 12090578.210127523168921, 3289961.291192798409611 ], [ 12086738.466931590810418, 3316470.364529612474144 ], [ 12093320.788422195240855, 3327526.767481329850852 ], [ 12085435.694930834695697, 3332722.024758821353316 ], [ 12074945.057437967509031, 3328326.11070521036163 ], [ 12059517.734486892819405, 3334920.019209063146263 ], [ 12065414.439233703538775, 3346709.171153750736266 ], [ 12061780.414456756785512, 3352170.871002602856606 ], [ 12061506.123231440782547, 3367157.065945367328823 ], [ 12052386.830545656383038, 3387072.127491708379239 ], [ 12051015.59705806337297, 3380811.210214029997587 ], [ 12030102.894878657534719, 3386672.516358768567443 ], [ 12025234.670907286927104, 3380544.84356440929696 ], [ 12014812.717540239915252, 3380145.176392723806202 ], [ 12007750.386405332013965, 3370620.547806121874601 ], [ 11998562.520913219079375, 3381810.260586546733975 ], [ 12001442.356140039861202, 3393266.447087476961315 ], [ 11994791.350523615255952, 3401125.881491140928119 ], [ 11989306.082614777609706, 3393732.662171325646341 ], [ 11976758.483571030199528, 3394731.80500899720937 ], [ 11974701.52202015183866, 3403457.12092711776495 ], [ 11965376.510915381833911, 3397862.283467012923211 ], [ 11956188.75674275867641, 3399594.012033190578222 ], [ 11957148.664711868390441, 3387804.75828639511019 ], [ 11951800.431096198037267, 3377014.722074477467686 ], [ 11960302.679844515398145, 3368489.252553352620453 ], [ 11953926.076772894710302, 3356367.025921724271029 ], [ 11935618.918594997376204, 3346775.845770957414061 ], [ 11932464.9034623503685, 3361495.66115977242589 ], [ 11917586.051642412319779, 3362294.893727198243141 ], [ 11909358.094119409099221, 3356766.608135925605893 ], [ 11909700.958151053637266, 3349440.057053947355598 ], [ 11909700.958151053637266, 3349440.057053947355598 ], [ 11902981.491047790274024, 3351371.615137806627899 ], [ 11891599.518392140045762, 3344644.456041479483247 ], [ 11898181.839882746338844, 3336585.123982069548219 ], [ 11896330.596750853583217, 3327926.496504027396441 ], [ 11882068.788868384435773, 3319067.930423730053008 ], [ 11882754.516931671649218, 3307811.616424988489598 ], [ 11870275.490694252774119, 3312607.137975604273379 ], [ 11862733.149915046989918, 3310276.034257188439369 ], [ 11870755.389019062742591, 3327793.209890286903828 ], [ 11862527.431496059522033, 3344311.393863063305616 ], [ 11850322.696483956649899, 3352370.724274811800569 ], [ 11856082.25561811029911, 3332722.024758821353316 ], [ 11853751.002841917797923, 3316004.077787004876882 ], [ 11843946.093412335962057, 3321066.060903780162334 ], [ 11841546.267829816788435, 3315404.644483789801598 ], [ 11833729.747144784778357, 3331256.685532751493156 ], [ 11827490.178366331383586, 3353902.567078986205161 ], [ 11819125.186550160869956, 3365491.926575766410679 ], [ 11805274.815505661070347, 3363760.236753542907536 ], [ 11804726.34437452442944, 3369821.319392016157508 ], [ 11796566.959657849743962, 3371353.280072360765189 ], [ 11787516.239778392016888, 3364159.915563395246863 ], [ 11773391.577508579939604, 3374550.347748340107501 ], [ 11765780.775242533534765, 3409718.032804788090289 ], [ 11746239.41787021048367, 3409318.36741182114929 ], [ 11736160.217215314507484, 3416045.530737512279302 ], [ 11736228.790021643042564, 3428900.431704345159233 ], [ 11730880.667725462466478, 3433895.836970023810863 ], [ 11730880.667725462466478, 3433895.836970023810863 ], [ 11724709.671753337606788, 3432896.755463329143822 ], [ 11720801.467070566490293, 3446217.909560272470117 ], [ 11731292.104563433676958, 3461204.120228795334697 ], [ 11741645.48512415215373, 3461803.592691934201866 ], [ 11752616.132261320948601, 3470861.855012865737081 ], [ 11757552.817719530314207, 3483849.984598759561777 ], [ 11767494.984081258997321, 3483050.690689603798091 ], [ 11766740.683211645111442, 3493907.408066395670176 ], [ 11772431.669539468362927, 3505896.440865368116647 ], [ 11765095.158498737961054, 3508560.572186160832644 ], [ 11753438.894617773592472, 3519483.936655425466597 ], [ 11753438.894617773592472, 3519950.231250771321356 ], [ 11753164.603392459452152, 3520216.656213652342558 ], [ 11752478.986648663878441, 3520349.742079547140747 ], [ 11751039.069035252556205, 3527210.186382573563606 ], [ 11752136.122617021203041, 3526677.306024408899248 ], [ 11760089.788914710283279, 3527543.215777731034905 ], [ 11758101.400170158594847, 3539065.934566987212747 ], [ 11768729.071956193074584, 3536068.707170398440212 ], [ 11768729.071956193074584, 3536068.707170398440212 ], [ 11768112.028018726035953, 3545127.002008135430515 ], [ 11776751.311060208827257, 3558581.335480459500104 ], [ 11786624.904615610837936, 3553452.720017191022635 ], [ 11803423.572373770177364, 3551654.442699634470046 ], [ 11811651.418577281758189, 3543528.485606528352946 ], [ 11818919.468131175264716, 3542995.691737868823111 ], [ 11819947.948906613513827, 3533537.695022907108068 ], [ 11828450.19765493273735, 3528808.704193958081305 ], [ 11829135.814398726448417, 3530740.279276140965521 ], [ 11847580.118189284577966, 3536335.084324274212122 ], [ 11850116.978064972907305, 3543195.551277877762914 ], [ 11850116.978064972907305, 3543195.551277877762914 ], [ 11867875.665111731737852, 3541197.355902592185885 ], [ 11867875.665111731737852, 3541197.355902592185885 ], [ 11868081.383530719205737, 3533870.761853373609483 ], [ 11868081.383530719205737, 3533870.761853373609483 ], [ 11868012.810724388808012, 3533870.761853373609483 ], [ 11868012.810724388808012, 3533870.761853373609483 ], [ 11867944.237918062135577, 3533870.761853373609483 ], [ 11868012.810724388808012, 3533870.761853373609483 ], [ 11867944.237918062135577, 3533870.761853373609483 ], [ 11875280.748958792537451, 3523746.735235335305333 ], [ 11880697.444061301648617, 3507828.009138276800513 ], [ 11891805.236811125651002, 3507561.586259589064866 ], [ 11891805.236811125651002, 3507561.586259589064866 ], [ 11901541.573434377089143, 3506828.82348566967994 ], [ 11908329.61334397085011, 3514222.158172485884279 ], [ 11908535.33176295645535, 3514288.669567702803761 ], [ 11909015.230087766423821, 3514488.463141580112278 ], [ 11909152.375700423493981, 3514488.463141580112278 ], [ 11917174.614804442971945, 3509160.078497944399714 ], [ 11917243.18761076964438, 3508827.015953122638166 ], [ 11917380.33322342671454, 3508760.404489000327885 ], [ 11917654.624448742717505, 3509093.465292387641966 ], [ 11935824.637013982981443, 3531073.272580280900002 ], [ 11951251.959965059533715, 3562311.328781469259411 ], [ 11968736.244467014446855, 3586688.897060173097998 ], [ 11958451.436712624505162, 3599144.169883259106427 ], [ 11968462.064561190083623, 3613930.600586070679128 ], [ 11982998.052349485456944, 3609534.580378551967442 ], [ 11993557.151329191401601, 3617727.075972516555339 ], [ 11996231.268137026578188, 3609001.697470942512155 ], [ 12006173.323179265484214, 3606004.445360957179219 ], [ 12021943.510161984711885, 3620857.547252109739929 ], [ 12016252.523834159597754, 3631381.178512600716203 ], [ 12028457.370165754109621, 3638041.788525745738298 ], [ 12023520.573388053104281, 3646833.662921433337033 ], [ 12031817.10371738485992, 3656891.07061180844903 ], [ 12033119.764398647472262, 3667614.634820414241403 ], [ 12043199.076373033225536, 3676606.335970880463719 ], [ 12039633.624402415007353, 3681068.935112535022199 ], [ 12046558.809924663975835, 3686197.573639154899865 ], [ 12043816.120310500264168, 3696854.378725950606167 ], [ 12060546.215262331068516, 3699119.072271502111107 ], [ 12066100.055977497249842, 3710042.271739943884313 ], [ 12080156.145440982654691, 3719433.690247726161033 ], [ 12082075.961379203945398, 3731555.875790233723819 ], [ 12060751.933681316673756, 3745076.811299589462578 ], [ 12051358.349770216271281, 3758930.83029385143891 ], [ 12064111.667232949286699, 3773450.831660450901836 ], [ 12072339.624755952507257, 3772718.168411725666374 ], [ 12063631.657588647678494, 3786105.886710071470588 ], [ 12079264.810278203338385, 3789769.139268568716943 ], [ 12097366.250037113204598, 3776980.906059263274074 ], [ 12104222.862753033638, 3777313.916110804770142 ], [ 12122941.346449414268136, 3761328.549422590993345 ], [ 12132540.537460010498762, 3760595.968094398267567 ], [ 12152081.894832331687212, 3747208.152241670060903 ], [ 12155578.773996621370316, 3739415.378176053985953 ], [ 12164286.629844434559345, 3737217.430534416344017 ], [ 12165178.076326709240675, 3726227.521127506159246 ], [ 12199049.703068340197206, 3727493.035501297563314 ], [ 12215231.215569540858269, 3724029.478067649528384 ], [ 12218933.813152816146612, 3711307.800697936210781 ], [ 12213928.443568788468838, 3705046.918876815587282 ], [ 12228327.397063916549087, 3704647.311182881705463 ], [ 12239160.787268936634064, 3698652.808206801768392 ], [ 12251159.915181543678045, 3686197.573639154899865 ], [ 12260759.106192136183381, 3683533.355485168751329 ], [ 12266244.374100977554917, 3649564.453204438090324 ], [ 12258496.426222274079919, 3644236.065366225317121 ], [ 12260279.096547836437821, 3631048.235554295126349 ], [ 12264393.13096908479929, 3629982.46272204676643 ], [ 12254313.930314188823104, 3606737.167101049795747 ], [ 12246085.972791185602546, 3617660.533966809045523 ], [ 12233332.655328454449773, 3619725.188412678893656 ], [ 12220716.483478378504515, 3613131.326516189612448 ], [ 12199598.174199480563402, 3593016.473786233458668 ], [ 12182319.496797019615769, 3580361.414617767557502 ], [ 12173337.34972389228642, 3566307.630381382536143 ], [ 12174023.077787177637219, 3574566.710079736076295 ], [ 12167166.465071257203817, 3584890.513837309088558 ], [ 12149819.21486246958375, 3570703.595550145953894 ], [ 12145362.427729070186615, 3576498.196235164068639 ], [ 12145636.718954384326935, 3577097.701284158043563 ], [ 12145705.291760712862015, 3577297.58576668985188 ], [ 12145911.0101797003299, 3577896.999734971672297 ], [ 12145225.28211641125381, 3578363.259145381860435 ], [ 12145019.56369742564857, 3578429.850576101802289 ], [ 12144813.956597929820418, 3578229.948043016716838 ], [ 12144128.228534644469619, 3578163.357674071099609 ] ] ], [ [ [ 11752478.986648663878441, 3520349.742079547140747 ], [ 11753164.603392459452152, 3520216.656213652342558 ], [ 11753438.894617773592472, 3519950.231250771321356 ], [ 11753438.894617773592472, 3519483.936655425466597 ], [ 11752478.986648663878441, 3520349.742079547140747 ] ] ], [ [ [ 12144128.228534644469619, 3578163.357674071099609 ], [ 12144813.956597929820418, 3578229.948043016716838 ], [ 12145636.718954384326935, 3577097.701284158043563 ], [ 12145362.427729070186615, 3576498.196235164068639 ], [ 12144128.228534644469619, 3578163.357674071099609 ] ] ], [ [ [ 12145225.28211641125381, 3578363.259145381860435 ], [ 12145911.0101797003299, 3577896.999734971672297 ], [ 12145705.291760712862015, 3577297.58576668985188 ], [ 12145019.56369742564857, 3578429.850576101802289 ], [ 12145225.28211641125381, 3578363.259145381860435 ] ] ], [ [ [ 11917174.614804442971945, 3509160.078497944399714 ], [ 11917654.624448742717505, 3509093.465292387641966 ], [ 11917380.33322342671454, 3508760.404489000327885 ], [ 11917243.18761076964438, 3508827.015953122638166 ], [ 11917174.614804442971945, 3509160.078497944399714 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 510000, "name": "四川省", "adchar": null, "childrenNum": 21.0, "level": "province", "subFeatureIndex": 22.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 11768729.071956193074584, 3536068.707170398440212 ], [ 11768729.071956193074584, 3536068.707170398440212 ], [ 11758101.400170158594847, 3539065.934566987212747 ], [ 11760089.788914710283279, 3527543.215777731034905 ], [ 11752136.122617021203041, 3526677.306024408899248 ], [ 11751039.069035252556205, 3527742.960340462625027 ], [ 11750764.777809938415885, 3527410.05448329821229 ], [ 11751039.069035252556205, 3527210.186382573563606 ], [ 11752478.986648663878441, 3520349.742079547140747 ], [ 11753438.894617773592472, 3519483.936655425466597 ], [ 11765095.158498737961054, 3508560.572186160832644 ], [ 11772431.669539468362927, 3505896.440865368116647 ], [ 11766740.683211645111442, 3493907.408066395670176 ], [ 11767494.984081258997321, 3483050.690689603798091 ], [ 11757552.817719530314207, 3483849.984598759561777 ], [ 11752616.132261320948601, 3470861.855012865737081 ], [ 11741645.48512415215373, 3461803.592691934201866 ], [ 11731292.104563433676958, 3461204.120228795334697 ], [ 11720801.467070566490293, 3446217.909560272470117 ], [ 11724709.671753337606788, 3432896.755463329143822 ], [ 11730880.667725462466478, 3433895.836970023810863 ], [ 11730880.667725462466478, 3433895.836970023810863 ], [ 11736228.790021643042564, 3428900.431704345159233 ], [ 11736160.217215314507484, 3416045.530737512279302 ], [ 11746239.41787021048367, 3409318.36741182114929 ], [ 11765780.775242533534765, 3409718.032804788090289 ], [ 11773391.577508579939604, 3374550.347748340107501 ], [ 11787516.239778392016888, 3364159.915563395246863 ], [ 11796566.959657849743962, 3371353.280072360765189 ], [ 11804726.34437452442944, 3369821.319392016157508 ], [ 11805274.815505661070347, 3363760.236753542907536 ], [ 11819125.186550160869956, 3365491.926575766410679 ], [ 11827490.178366331383586, 3353902.567078986205161 ], [ 11833729.747144784778357, 3331256.685532751493156 ], [ 11841546.267829816788435, 3315404.644483789801598 ], [ 11836678.043858444318175, 3309876.32701318198815 ], [ 11832426.97514403052628, 3316869.888922694139183 ], [ 11811377.238671459257603, 3329458.437232756055892 ], [ 11796155.522819876670837, 3345243.938255115412176 ], [ 11787790.531003708019853, 3333987.565380946267396 ], [ 11787036.230134092271328, 3324196.496860111597925 ], [ 11771951.771214658394456, 3326727.599049685522914 ], [ 11764683.721660766750574, 3316670.188588000368327 ], [ 11757964.254557501524687, 3314472.161687705200166 ], [ 11759746.924883065745234, 3289894.646888172719628 ], [ 11769826.12553796172142, 3283300.769879278261214 ], [ 11780522.481449814513326, 3287363.672407183796167 ], [ 11787516.239778392016888, 3279104.647108932491392 ], [ 11784293.651839418336749, 3269913.07579594803974 ], [ 11797184.003595316782594, 3262586.479950439184904 ], [ 11813982.671353476122022, 3270046.293538580648601 ], [ 11822896.356939764693379, 3265916.775218410883099 ], [ 11836403.863952621817589, 3243004.466329918242991 ], [ 11833798.319951113313437, 3236277.321588856168091 ], [ 11838049.388665527105331, 3226486.221552812028676 ], [ 11821387.866520024836063, 3218027.405718664638698 ], [ 11813297.054609678685665, 3221224.390458764974028 ], [ 11802463.664404660463333, 3217094.819883979391307 ], [ 11775859.975897429510951, 3213631.323540707584471 ], [ 11757964.254557501524687, 3206970.774321307428181 ], [ 11755907.293006625026464, 3213165.172231410630047 ], [ 11745142.364288443699479, 3219892.26469018869102 ], [ 11727932.371011801064014, 3217361.3563476591371 ], [ 11722858.42862144485116, 3211833.075325748417526 ], [ 11719018.685425512492657, 3223156.001854896079749 ], [ 11722858.42862144485116, 3225087.508505416568369 ], [ 11722858.42862144485116, 3225087.508505416568369 ], [ 11715727.524680208414793, 3226686.103332904633135 ], [ 11714493.325485786423087, 3235811.027322001289576 ], [ 11720252.884619938209653, 3240873.100834844633937 ], [ 11718675.932713359594345, 3248599.345760612748563 ], [ 11709282.348802261054516, 3248399.520500022917986 ], [ 11709350.921608587726951, 3255859.346094740089029 ], [ 11695157.797851936891675, 3261320.968036639969796 ], [ 11674313.668478861451149, 3237076.55834584729746 ], [ 11659983.399109551683068, 3236610.236736641265452 ], [ 11641059.085674695670605, 3228883.988801898434758 ], [ 11621860.592334013432264, 3242937.800971215590835 ], [ 11616649.615650489926338, 3251463.284460729453713 ], [ 11626934.534724371507764, 3263185.834757980424911 ], [ 11627277.398756016045809, 3283034.326572701334953 ], [ 11620077.922008451074362, 3290627.373013434000313 ], [ 11612192.828517090529203, 3287696.708080591168255 ], [ 11605541.934220155701041, 3300618.137045193463564 ], [ 11606364.696576608344913, 3316869.888922694139183 ], [ 11612672.838161392137408, 3317003.193092812318355 ], [ 11624603.281948179006577, 3328192.820090661291033 ], [ 11612261.401323419064283, 3326794.173452435061336 ], [ 11591143.092044517397881, 3329591.613686475437135 ], [ 11570641.826703084632754, 3325595.251127487979829 ], [ 11559945.470791229978204, 3332455.610501940827817 ], [ 11559259.854047436267138, 3323197.476552249863744 ], [ 11552951.712462652474642, 3315404.644483789801598 ], [ 11563579.495568178594112, 3288362.804167004302144 ], [ 11546232.2453593891114, 3274442.205805261619389 ], [ 11537112.95267360471189, 3282035.21111844247207 ], [ 11529707.868826543912292, 3278105.570269235875458 ], [ 11518394.468977224081755, 3264518.039729952346534 ], [ 11513869.10903749614954, 3254527.235427682287991 ], [ 11520245.712109116837382, 3253061.825137098319829 ], [ 11523331.265754925087094, 3244602.894469347316772 ], [ 11520177.139302788302302, 3223156.001854896079749 ], [ 11498441.786086419597268, 3202774.623920848593116 ], [ 11498853.111604902893305, 3194715.422920159064233 ], [ 11490625.265401389449835, 3194382.393676235340536 ], [ 11478351.846263466402888, 3173668.123645912855864 ], [ 11464775.766444282606244, 3169538.489307972602546 ], [ 11459359.071341773495078, 3174200.903463555965573 ], [ 11452776.749851165339351, 3160147.206036063842475 ], [ 11456273.629015455022454, 3140165.486855711322278 ], [ 11451542.550656741485, 3126844.447740087285638 ], [ 11454627.992983058094978, 3111991.372269465122372 ], [ 11464981.484863268211484, 3095473.151163837406784 ], [ 11467998.465702747926116, 3072827.262742430903018 ], [ 11472249.534417161718011, 3064368.412651708815247 ], [ 11464775.766444282606244, 3059040.023708734195679 ], [ 11465735.785732883960009, 3045186.044856941793114 ], [ 11436937.990062117576599, 3032397.712710061576217 ], [ 11429670.051827715709805, 3024538.343109361361712 ], [ 11421442.094304712489247, 3030133.212187411263585 ], [ 11425693.163019128143787, 3037259.963444513268769 ], [ 11417808.069527767598629, 3044186.985422600060701 ], [ 11398266.712155442684889, 3035861.250962132588029 ], [ 11393467.172309890389442, 3029400.549942573066801 ], [ 11381879.481235256418586, 3025404.143307168502361 ], [ 11366589.192577345296741, 3007553.930292692501098 ], [ 11355207.219921696931124, 3010417.906881073024124 ], [ 11355207.219921696931124, 3010417.906881073024124 ], [ 11345402.310492116957903, 3012482.705427347682416 ], [ 11339368.460132647305727, 3005555.752725217025727 ], [ 11332237.667510902509093, 3012615.972325885202736 ], [ 11333197.575480012223125, 3018477.20942831132561 ], [ 11320101.50530512817204, 3029067.432407223619521 ], [ 11313450.49968870356679, 3026936.109028194565326 ], [ 11308582.387036822736263, 3033729.916154973674566 ], [ 11316810.233240334317088, 3042122.118367707356811 ], [ 11314136.227751992642879, 3048116.655800522305071 ], [ 11299668.812770023941994, 3061104.71750715887174 ], [ 11294320.579154351726174, 3060571.848708004225045 ], [ 11287806.830470073968172, 3074225.980409601237625 ], [ 11293566.389604227617383, 3073693.243887016549706 ], [ 11293703.535216884687543, 3085149.296743386890739 ], [ 11300285.85670749284327, 3093075.335338846314698 ], [ 11286641.204081978648901, 3088945.814448753371835 ], [ 11283075.752111360430717, 3094873.783829071093351 ], [ 11287738.257663745433092, 3103732.217680824454874 ], [ 11273065.124262794852257, 3111325.269016531296074 ], [ 11272722.260231150314212, 3117919.280873197130859 ], [ 11258460.563668170943856, 3126444.809616232756525 ], [ 11262231.734057772904634, 3147958.369915019255131 ], [ 11249615.562207700684667, 3148557.752301949076355 ], [ 11245707.246205437928438, 3165076.004813472740352 ], [ 11236245.200807502493262, 3182193.555917184334248 ], [ 11226371.607252100482583, 3207503.710518729873002 ], [ 11219035.096211370080709, 3210167.947482607327402 ], [ 11210669.993075709789991, 3223888.653588402085006 ], [ 11207790.269168378785253, 3239274.480696253478527 ], [ 11202510.719678524881601, 3238275.438388144597411 ], [ 11192637.126123126596212, 3224954.353147917892784 ], [ 11181255.153467478230596, 3232147.733433354180306 ], [ 11168433.374517906457186, 3213764.620327380020171 ], [ 11164799.349740959703922, 3232547.413850771728903 ], [ 11155405.765829861164093, 3233479.795159209985286 ], [ 11153828.81392328441143, 3240939.630078718066216 ], [ 11141555.506104853004217, 3252862.060313419438899 ], [ 11135727.374164370819926, 3272310.817296880763024 ], [ 11149440.599596213549376, 3275507.963121472392231 ], [ 11151566.133953418582678, 3289961.291192798409611 ], [ 11137990.054134234786034, 3296555.273816555272788 ], [ 11140184.161297770217061, 3302816.16730634495616 ], [ 11130859.150193, 3309210.301458548288792 ], [ 11130516.286161355674267, 3315271.356270568910986 ], [ 11108986.540044482797384, 3337451.005104834213853 ], [ 11102267.072941221296787, 3339982.092593831010163 ], [ 11100552.97542198561132, 3356100.644489075988531 ], [ 11090268.056348104029894, 3352104.2962661748752 ], [ 11089171.002766335383058, 3342846.045046083629131 ], [ 11079914.564467893913388, 3335186.482858416158706 ], [ 11072235.189395520836115, 3318401.826694670133293 ], [ 11065515.722292257472873, 3318068.787297339644283 ], [ 11069286.781362369656563, 3299286.027154643088579 ], [ 11062361.707159612327814, 3271911.227299324702471 ], [ 11054750.793574076145887, 3277705.934991938993335 ], [ 11051871.069666743278503, 3286630.997660939581692 ], [ 11040077.660173123702407, 3299752.364459860604256 ], [ 11041106.140948561951518, 3323397.274623380973935 ], [ 11034729.537876941263676, 3337451.005104834213853 ], [ 11032192.566681761294603, 3355567.770641596987844 ], [ 11035346.693133898079395, 3369088.672327721025795 ], [ 11033289.62026352994144, 3403856.734490648377687 ], [ 11029038.55154911801219, 3415712.569040200673044 ], [ 11026433.007547607645392, 3447616.54907738044858 ], [ 11019850.686057003214955, 3459472.353661749511957 ], [ 11023278.992414962500334, 3483783.374869082123041 ], [ 11028215.789192663505673, 3494706.737945699132979 ], [ 11025610.245191156864166, 3513822.453879907727242 ], [ 11019439.360538521781564, 3523080.626916749402881 ], [ 11010320.067852735519409, 3593615.864241486415267 ], [ 11015942.48137423209846, 3602274.634322294965386 ], [ 11009702.91259577870369, 3604872.271548285614699 ], [ 10995509.788839126005769, 3620790.988474171608686 ], [ 10999075.240809746086597, 3632180.459934052079916 ], [ 10991327.181611550971866, 3639174.00317560788244 ], [ 10988310.312091562896967, 3648165.759543349035084 ], [ 10976379.868304776027799, 3657756.940439893398434 ], [ 10980562.364212859421968, 3676672.935824048705399 ], [ 10986321.923347014933825, 3676073.55016492633149 ], [ 10995372.643226468935609, 3665150.154039688874036 ], [ 11007920.242270216345787, 3681734.931684411130846 ], [ 11002572.119974035769701, 3689594.419069316238165 ], [ 10988721.748929535970092, 3699185.664224575273693 ], [ 10970963.173202266916633, 3718301.362162706907839 ], [ 10969866.008301006630063, 3726427.351072652731091 ], [ 10955467.166125370189548, 3741346.951752299442887 ], [ 10957729.846095234155655, 3764325.877646965440363 ], [ 10942919.567081624642015, 3779511.830257665831596 ], [ 10933663.240102672949433, 3794165.075270899105817 ], [ 10933663.240102672949433, 3808352.070697846822441 ], [ 10902328.473236728459597, 3827068.266049770172685 ], [ 10879358.920825934037566, 3832729.699841449968517 ], [ 10858514.79145285859704, 3845184.994181203655899 ], [ 10845144.430052660405636, 3856174.823503538500518 ], [ 10840961.934144575148821, 3866032.466048636939377 ], [ 10839590.589337492361665, 3889477.62526951963082 ], [ 10856320.684289323166013, 3893806.960466094315052 ], [ 10858377.64584020152688, 3900134.460028216708452 ], [ 10852275.333993893116713, 3909459.235542507842183 ], [ 10852275.333993893116713, 3917651.705568624194711 ], [ 10862148.816229803487659, 3924778.550770430825651 ], [ 10867154.07449434325099, 3939764.825906657613814 ], [ 10873256.497660137712955, 3940630.65455770585686 ], [ 10881895.780701622366905, 3949888.854121542070061 ], [ 10867634.08413864299655, 3956749.160945037379861 ], [ 10859474.699421968311071, 3957281.982698035892099 ], [ 10856457.829901980236173, 3972001.870329234749079 ], [ 10844253.094889877364039, 3975931.540556433610618 ], [ 10846447.202053412795067, 3985988.999521064572036 ], [ 10841236.114050397649407, 4013297.285297731403261 ], [ 10849052.634735429659486, 4013630.24414576170966 ], [ 10871473.827334575355053, 4022955.017862912267447 ], [ 10876204.794373799115419, 4033745.109702091198415 ], [ 10872090.871272042393684, 4045867.394444175530225 ], [ 10890877.9277747515589, 4056790.693127274047583 ], [ 10902328.473236728459597, 4055258.707022859714925 ], [ 10902328.473236728459597, 4055258.707022859714925 ], [ 10915081.790699461475015, 4044335.401782186236233 ], [ 10932771.793620400130749, 4039340.00859298883006 ], [ 10954027.3598314486444, 4040605.587547481060028 ], [ 10958347.001352190971375, 4026285.308247159235179 ], [ 10954575.830962587147951, 4010966.040225173346698 ], [ 10960746.826934713870287, 4008568.25067688850686 ], [ 10969317.537169868126512, 3994847.486482122913003 ], [ 10982413.607344752177596, 3981526.476350744720548 ], [ 10978025.393017681315541, 3980194.274126739241183 ], [ 10981453.699375642463565, 3968405.189572852104902 ], [ 10991944.33686850965023, 3958880.595254380255938 ], [ 10991053.001705726608634, 3949755.631419938988984 ], [ 10996058.259970266371965, 3944760.152340623084456 ], [ 10993864.152806730940938, 3932171.804535722825676 ], [ 11004903.261430736631155, 3915320.536757051479071 ], [ 11020879.166832441464067, 3906262.242477191612124 ], [ 11040626.242623751983047, 3901266.798641244880855 ], [ 11046797.127276387065649, 3892941.151249670423567 ], [ 11050499.724859660491347, 3879220.295227892231196 ], [ 11063595.906354036182165, 3882084.417348793707788 ], [ 11082794.39969471655786, 3873958.519905984401703 ], [ 11088279.667603554204106, 3866232.263717954512686 ], [ 11105626.806492852047086, 3865965.867578531615436 ], [ 11108369.496107015758753, 3889544.224439507815987 ], [ 11115706.007147746160626, 3888012.273921777959913 ], [ 11118311.551149254664779, 3901399.998719617724419 ], [ 11127087.979803396388888, 3888411.957336980849504 ], [ 11136207.272489182651043, 3885880.903233627788723 ], [ 11145669.429206607863307, 3873692.081347305327654 ], [ 11147452.0995321739465, 3858772.403431631159037 ], [ 11141761.113204348832369, 3851445.792811880353838 ], [ 11155131.585924036800861, 3843186.763046005740762 ], [ 11160753.999445533379912, 3861170.310716698877513 ], [ 11169736.146518662571907, 3858106.448670873884112 ], [ 11176455.613621925935149, 3863035.24563400214538 ], [ 11189483.110990479588509, 3846317.210609884001315 ], [ 11192637.126123126596212, 3838324.620218260679394 ], [ 11203813.380359787493944, 3832596.481900188140571 ], [ 11208818.749943817034364, 3852644.735199299175292 ], [ 11235696.618356872349977, 3842387.432909594383091 ], [ 11251672.523758579045534, 3853310.778710909187794 ], [ 11260791.816444363445044, 3850446.767078017350286 ], [ 11268128.438804583624005, 3858972.210422217845917 ], [ 11269705.390711162239313, 3872093.576713212765753 ], [ 11257089.2188610881567, 3883349.864614233374596 ], [ 11257637.80131171643734, 3893940.208399950060993 ], [ 11263740.113158022984862, 3893207.496228361967951 ], [ 11262163.161251444369555, 3908660.038123267237097 ], [ 11256129.310891978442669, 3921181.858327157329768 ], [ 11263671.540351694449782, 3931239.235769919585437 ], [ 11276356.28500809520483, 3930173.610555204097182 ], [ 11287121.213726278394461, 3916253.028142068069428 ], [ 11288355.412920704111457, 3925311.370306743308902 ], [ 11297406.132800161838531, 3925511.250459325499833 ], [ 11312902.028557565063238, 3908660.038123267237097 ], [ 11325586.773213967680931, 3930639.842853942885995 ], [ 11315576.14536540210247, 3938299.406851138453931 ], [ 11320718.549242597073317, 3953019.295206623151898 ], [ 11328946.50676560215652, 3954884.277920281980187 ], [ 11328877.93395926989615, 3967006.38984171114862 ], [ 11337242.92577544040978, 3975531.910777968354523 ], [ 11344236.684104019775987, 3967472.637584321200848 ], [ 11348487.752818431705236, 3953552.078633261378855 ], [ 11341836.858521496877074, 3945959.094938581809402 ], [ 11341014.096165044233203, 3937300.405922610778362 ], [ 11328946.50676560215652, 3931039.390317812561989 ], [ 11336968.745869617909193, 3919849.662321026902646 ], [ 11339642.751357963308692, 3908993.052549442276359 ], [ 11347390.699236664921045, 3920116.089337232522666 ], [ 11364532.231026468798518, 3922513.940605582203716 ], [ 11367137.775027975440025, 3933503.813972314354032 ], [ 11378794.038908937945962, 3928308.60202650912106 ], [ 11375365.732550976797938, 3939498.348092881031334 ], [ 11384073.588398789986968, 3950821.322572272736579 ], [ 11398746.721799742430449, 3949422.514693270903081 ], [ 11406083.232840472832322, 3955150.576080606784672 ], [ 11403614.945771114900708, 3971868.659725523088127 ], [ 11392232.973115466535091, 3977130.51305373897776 ], [ 11392712.871440276503563, 3991983.529346160590649 ], [ 11387981.793081561103463, 3999643.185693782754242 ], [ 11381262.325978297740221, 4000375.826433192472905 ], [ 11380645.28204083070159, 4011365.698307656217366 ], [ 11369743.319029482081532, 4024153.950070526916534 ], [ 11381056.718878803774714, 4023887.524723656941205 ], [ 11389764.574726615101099, 4028017.078173916321248 ], [ 11398198.139349114149809, 4024886.685394381638616 ], [ 11403272.081739472225308, 4040538.918024781160057 ], [ 11407043.252129076048732, 4038607.41881100460887 ], [ 11427612.97895734757185, 4044069.041956896428019 ], [ 11421304.948692055419087, 4048331.81719020055607 ], [ 11443451.738746395334601, 4065516.002815908286721 ], [ 11456067.910596469417214, 4070911.076643193140626 ], [ 11463541.678569348528981, 4062318.977273841388524 ], [ 11462924.523312389850616, 4056391.053897074889392 ], [ 11479723.191070549190044, 4050529.725100215058774 ], [ 11485825.614236345514655, 4039539.862862599082291 ], [ 11479243.292745741084218, 4033478.728890073951334 ], [ 11479723.191070549190044, 4024553.532636688090861 ], [ 11486099.90546166151762, 4015495.287888492457569 ], [ 11482945.779009524732828, 4003972.472142115235329 ], [ 11497001.868473008275032, 4002840.226907416246831 ], [ 11504818.38915804028511, 3994381.333646006416529 ], [ 11524359.746530363336205, 4001841.114378335420042 ], [ 11523811.164079733192921, 3985722.5236502061598 ], [ 11535604.573573354631662, 3992249.882711958605796 ], [ 11552540.386944172903895, 3983058.371871011331677 ], [ 11562893.878824383020401, 3986255.481566144619137 ], [ 11582366.552070885896683, 3986788.330397525336593 ], [ 11596011.204696400091052, 3976797.408067145850509 ], [ 11594502.825596150010824, 3967539.284102188423276 ], [ 11601770.763830551877618, 3949156.081548014190048 ], [ 11609793.002934569492936, 3940031.176595149561763 ], [ 11625426.044304631650448, 3938632.470672129187733 ], [ 11611027.202128993347287, 3935768.433967775665224 ], [ 11619323.73245832696557, 3909792.272760249208659 ], [ 11614798.372518597170711, 3900400.968706145882607 ], [ 11624671.854754507541656, 3896737.570514088496566 ], [ 11619323.73245832696557, 3889077.905530809424818 ], [ 11609313.104609759524465, 3887745.914310467429459 ], [ 11609998.721353555098176, 3873492.289510631933808 ], [ 11617746.669232258573174, 3871760.549132536631078 ], [ 11628305.87953145429492, 3861969.456785284914076 ], [ 11642087.677769623696804, 3858506.043480504769832 ], [ 11648807.144872888922691, 3850513.410242493730038 ], [ 11659571.962271578609943, 3847049.917871947865933 ], [ 11671365.371765200048685, 3849447.693568279035389 ], [ 11675410.722060626372695, 3842454.162820026278496 ], [ 11691523.773074992001057, 3848981.505788322538137 ], [ 11700917.245666598901153, 3841521.563840352930129 ], [ 11727178.070142187178135, 3853244.252025377936661 ], [ 11739245.770861122757196, 3860504.220572160556912 ], [ 11732114.866919886320829, 3873425.648823819123209 ], [ 11734651.838115066289902, 3884948.442550192121416 ], [ 11744113.883513003587723, 3883616.257051569409668 ], [ 11751313.36026056855917, 3858839.093600604217499 ], [ 11754947.385037515312433, 3855442.211655002087355 ], [ 11768592.037663027644157, 3863434.875108730513602 ], [ 11780111.044611841440201, 3864833.618791742715985 ], [ 11780385.335837157443166, 3872093.576713212765753 ], [ 11802737.84431048296392, 3876489.523511561565101 ], [ 11810280.185089690610766, 3871960.311562029644847 ], [ 11807948.932313498109579, 3864034.278536678291857 ], [ 11808360.257831979542971, 3862635.629706812091172 ], [ 11819262.332162817940116, 3855242.332134065683931 ], [ 11838597.971116155385971, 3851712.258020204957575 ], [ 11846757.244513340294361, 3844518.879643705207855 ], [ 11865064.40269123762846, 3853976.859782275743783 ], [ 11873703.797052213922143, 3854309.91440580226481 ], [ 11881520.317737244069576, 3860770.62564673088491 ], [ 11891530.945585813373327, 3856241.498995021916926 ], [ 11918614.532417852431536, 3856707.70878797583282 ], [ 11923208.46516390889883, 3842454.162820026278496 ], [ 11920122.911518100649118, 3834727.884436115156859 ], [ 11925333.999521115794778, 3826801.826752968598157 ], [ 11940555.604053204879165, 3816344.679513081442565 ], [ 11946109.444768372923136, 3827800.839971472509205 ], [ 11953720.358353910967708, 3834461.405156221240759 ], [ 11959754.097393887117505, 3833062.685223404318094 ], [ 11962016.777363751083612, 3818276.284569905605167 ], [ 11970519.02611206844449, 3813747.152423173189163 ], [ 11986906.257032254710793, 3815678.731497012544423 ], [ 11989991.810678062960505, 3806953.388155083172023 ], [ 11995202.787361588329077, 3807819.245002998970449 ], [ 12001579.390433207154274, 3795896.840534893795848 ], [ 12020229.412642749026418, 3782509.097293948289007 ], [ 12030377.186103973537683, 3793965.302711097989231 ], [ 12042444.775503419339657, 3792500.011140606366098 ], [ 12050467.014607436954975, 3799227.094063335563987 ], [ 12057323.627323355525732, 3793832.12285864027217 ], [ 12074739.45033847168088, 3798827.514683877117932 ], [ 12079264.810278203338385, 3789769.139268568716943 ], [ 12063631.657588647678494, 3786105.886710071470588 ], [ 12072339.624755952507257, 3772718.168411725666374 ], [ 12064111.667232949286699, 3773450.831660450901836 ], [ 12051358.349770216271281, 3758930.83029385143891 ], [ 12060751.933681316673756, 3745076.811299589462578 ], [ 12082075.961379203945398, 3731555.875790233723819 ], [ 12080156.145440982654691, 3719433.690247726161033 ], [ 12066100.055977497249842, 3710042.271739943884313 ], [ 12060546.215262331068516, 3699119.072271502111107 ], [ 12043816.120310500264168, 3696854.378725950606167 ], [ 12046558.809924663975835, 3686197.573639154899865 ], [ 12039633.624402415007353, 3681068.935112535022199 ], [ 12043199.076373033225536, 3676606.335970880463719 ], [ 12033119.764398647472262, 3667614.634820414241403 ], [ 12031817.10371738485992, 3656891.07061180844903 ], [ 12023520.573388053104281, 3646833.662921433337033 ], [ 12028457.370165754109621, 3638041.788525745738298 ], [ 12016252.523834159597754, 3631381.178512600716203 ], [ 12021943.510161984711885, 3620857.547252109739929 ], [ 12006173.323179265484214, 3606004.445360957179219 ], [ 11996231.268137026578188, 3609001.697470942512155 ], [ 11993557.151329191401601, 3617727.075972516555339 ], [ 11982998.052349485456944, 3609534.580378551967442 ], [ 11968462.064561190083623, 3613930.600586070679128 ], [ 11958451.436712624505162, 3599144.169883259106427 ], [ 11968736.244467014446855, 3586688.897060173097998 ], [ 11951251.959965059533715, 3562311.328781469259411 ], [ 11935824.637013982981443, 3531073.272580280900002 ], [ 11917654.624448742717505, 3509093.465292387641966 ], [ 11917174.614804442971945, 3509160.078497944399714 ], [ 11909152.375700423493981, 3514488.463141580112278 ], [ 11909015.230087766423821, 3514821.545172987971455 ], [ 11909015.230087766423821, 3514821.545172987971455 ], [ 11909015.230087766423821, 3514488.463141580112278 ], [ 11908741.05018194206059, 3514754.902338350657374 ], [ 11908741.05018194206059, 3514821.545172987971455 ], [ 11908741.05018194206059, 3514754.902338350657374 ], [ 11908741.05018194206059, 3514821.545172987971455 ], [ 11908741.05018194206059, 3514754.902338350657374 ], [ 11908535.33176295645535, 3514288.669567702803761 ], [ 11908535.33176295645535, 3514821.545172987971455 ], [ 11908535.33176295645535, 3514821.545172987971455 ], [ 11908329.61334397085011, 3514222.158172485884279 ], [ 11901541.573434377089143, 3506828.82348566967994 ], [ 11891805.236811125651002, 3507561.586259589064866 ], [ 11891805.236811125651002, 3507561.586259589064866 ], [ 11880697.444061301648617, 3507828.009138276800513 ], [ 11875280.748958792537451, 3523746.735235335305333 ], [ 11867944.237918062135577, 3533870.761853373609483 ], [ 11868012.810724388808012, 3533870.761853373609483 ], [ 11867944.237918062135577, 3533870.761853373609483 ], [ 11868012.810724388808012, 3533870.761853373609483 ], [ 11868012.810724388808012, 3533870.761853373609483 ], [ 11868081.383530719205737, 3533870.761853373609483 ], [ 11868081.383530719205737, 3533870.761853373609483 ], [ 11867875.665111731737852, 3541197.355902592185885 ], [ 11867875.665111731737852, 3541197.355902592185885 ], [ 11850116.978064972907305, 3543195.551277877762914 ], [ 11850116.978064972907305, 3543195.551277877762914 ], [ 11847580.118189284577966, 3536335.084324274212122 ], [ 11829135.814398726448417, 3530740.279276140965521 ], [ 11828998.668786069378257, 3529941.002227295655757 ], [ 11828861.523173412308097, 3529807.815752781927586 ], [ 11828450.19765493273735, 3528808.704193958081305 ], [ 11819947.948906613513827, 3533537.695022907108068 ], [ 11818919.468131175264716, 3542995.691737868823111 ], [ 11811651.418577281758189, 3543528.485606528352946 ], [ 11803423.572373770177364, 3551654.442699634470046 ], [ 11786624.904615610837936, 3553452.720017191022635 ], [ 11776751.311060208827257, 3558581.335480459500104 ], [ 11768112.028018726035953, 3545127.002008135430515 ], [ 11768729.071956193074584, 3536068.707170398440212 ] ] ], [ [ [ 11829135.814398726448417, 3530740.279276140965521 ], [ 11828450.19765493273735, 3528808.704193958081305 ], [ 11828861.523173412308097, 3529807.815752781927586 ], [ 11828998.668786069378257, 3529941.002227295655757 ], [ 11829135.814398726448417, 3530740.279276140965521 ] ] ], [ [ [ 11752136.122617021203041, 3526677.306024408899248 ], [ 11751039.069035252556205, 3527210.186382573563606 ], [ 11750764.777809938415885, 3527410.05448329821229 ], [ 11751039.069035252556205, 3527742.960340462625027 ], [ 11752136.122617021203041, 3526677.306024408899248 ] ] ], [ [ [ 11909152.375700423493981, 3514488.463141580112278 ], [ 11909015.230087766423821, 3514488.463141580112278 ], [ 11909015.230087766423821, 3514821.545172987971455 ], [ 11909152.375700423493981, 3514488.463141580112278 ] ] ], [ [ [ 11909015.230087766423821, 3514488.463141580112278 ], [ 11908535.33176295645535, 3514288.669567702803761 ], [ 11908741.05018194206059, 3514754.902338350657374 ], [ 11909015.230087766423821, 3514488.463141580112278 ] ] ], [ [ [ 11908535.33176295645535, 3514288.669567702803761 ], [ 11908329.61334397085011, 3514222.158172485884279 ], [ 11908535.33176295645535, 3514821.545172987971455 ], [ 11908535.33176295645535, 3514288.669567702803761 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 520000, "name": "贵州省", "adchar": null, "childrenNum": 9.0, "level": "province", "subFeatureIndex": 23.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12191918.799127105623484, 3092142.974860507529229 ], [ 12184376.569667387753725, 3093674.875912389717996 ], [ 12173337.34972389228642, 3085215.956958690658212 ], [ 12179165.481664372608066, 3065234.25361591251567 ], [ 12170114.761784918606281, 3052113.038346422836185 ], [ 12165657.974651519209146, 3035794.696298081427813 ], [ 12171760.397817313671112, 3031864.915469262748957 ], [ 12185747.803154980763793, 3038059.217791779432446 ], [ 12182730.933634990826249, 3028667.80080488929525 ], [ 12188010.483124842867255, 3017478.139073701109737 ], [ 12188010.483124842867255, 3017478.139073701109737 ], [ 12183896.560023088008165, 3011683.501651767175645 ], [ 12187530.584800034761429, 3002758.270360620226711 ], [ 12179302.627277029678226, 2995032.090925370343029 ], [ 12182250.923990691080689, 2990835.945448854938149 ], [ 12171623.252204656600952, 2978580.51262876810506 ], [ 12171828.970623642206192, 2965992.039633910171688 ], [ 12150299.224506769329309, 2967124.394373146351427 ], [ 12149819.21486246958375, 2973718.329889041371644 ], [ 12132677.683072667568922, 2971720.083107486832887 ], [ 12122255.729705618694425, 2963727.468387834262103 ], [ 12128700.905583567917347, 2960330.586026351898909 ], [ 12128700.905583567917347, 2960330.586026351898909 ], [ 12133911.882267091423273, 2966458.292777808383107 ], [ 12142619.849434396252036, 2964526.768933001440018 ], [ 12137271.615818725898862, 2953270.380889657419175 ], [ 12143648.330209834501147, 2943545.950508377049118 ], [ 12136654.571881256997585, 2938817.06550569832325 ], [ 12128152.323132937774062, 2944345.26808819686994 ], [ 12109502.412242887541652, 2944012.234410335309803 ], [ 12107514.023498337715864, 2954202.83699930133298 ], [ 12099217.493169005960226, 2952471.197362807113677 ], [ 12090098.200483221560717, 2936285.958668772131205 ], [ 12092086.589227771386504, 2913640.154847021214664 ], [ 12075013.630244296044111, 2932223.055928641464561 ], [ 12069117.036816976964474, 2930291.44344459939748 ], [ 12061300.51613194681704, 2941747.705576802138239 ], [ 12038399.425207991153002, 2923830.725843359716237 ], [ 12039427.905983429402113, 2915638.326744128484279 ], [ 12035313.982881674543023, 2901584.510368227493018 ], [ 12022697.81103160046041, 2899919.396123793441802 ], [ 12004870.551178511232138, 2889995.170149345882237 ], [ 11993762.869748177006841, 2905247.822993471287191 ], [ 11989168.937002120539546, 2899586.370880089234561 ], [ 11984643.577062390744686, 2914639.207334949169308 ], [ 11977924.109959129244089, 2906579.980071948841214 ], [ 11963730.986202476546168, 2902050.711552785243839 ], [ 11964759.46697791479528, 2912641.046121540945023 ], [ 11959342.771875405684114, 2911308.964144790545106 ], [ 11958039.999874651432037, 2924097.134876943659037 ], [ 11946589.454412672668695, 2925162.818735871929675 ], [ 11948646.415963552892208, 2932489.492214527912438 ], [ 11936647.399370435625315, 2950206.605948738288134 ], [ 11918340.241192538291216, 2944611.675752948969603 ], [ 11918614.532417852431536, 2938417.427253952715546 ], [ 11907163.986955873668194, 2929625.398695278912783 ], [ 11912580.682058384642005, 2919168.354159786365926 ], [ 11912717.827671041712165, 2909577.152084042783827 ], [ 11901473.000628050416708, 2905647.433042971417308 ], [ 11900101.655820965766907, 2899652.92612748593092 ], [ 11881383.172124586999416, 2895723.228345359675586 ], [ 11876035.04982840642333, 2897654.798187354579568 ], [ 11865612.985141867771745, 2886531.628920954652131 ], [ 11833798.319951113313437, 2872544.571022165007889 ], [ 11823856.264908876270056, 2873543.593769057653844 ], [ 11816176.778517009690404, 2869414.072599324397743 ], [ 11822827.784133436158299, 2857491.693093719892204 ], [ 11819125.186550160869956, 2846301.93108932999894 ], [ 11804931.951474018394947, 2836710.754095247481018 ], [ 11802463.664404660463333, 2830649.690568899735808 ], [ 11793412.944525202736259, 2841972.574771100655198 ], [ 11780659.627062471583486, 2839308.353738921694458 ], [ 11767083.547243287786841, 2847367.635892573744059 ], [ 11744251.029125660657883, 2852163.18886509956792 ], [ 11738148.71727935411036, 2865750.757398284506053 ], [ 11729235.031693063676357, 2868814.569242058787495 ], [ 11718127.35026272945106, 2867149.515919632744044 ], [ 11710653.693609341979027, 2875142.16764542972669 ], [ 11699203.14814736507833, 2866949.667821911629289 ], [ 11697214.759402815252542, 2865684.106313498225063 ], [ 11692277.962625114247203, 2849698.765116542577744 ], [ 11677330.537998847663403, 2845436.108509198296815 ], [ 11670953.934927228838205, 2836044.670411393977702 ], [ 11659983.399109551683068, 2829384.082365909591317 ], [ 11647710.091291120275855, 2833913.324234482832253 ], [ 11636190.973022814840078, 2842771.895070298109204 ], [ 11637288.026604581624269, 2852895.836298592854291 ], [ 11656623.66555792093277, 2875275.307893588673323 ], [ 11651549.72316756285727, 2883068.147665230091661 ], [ 11660806.16146600432694, 2902183.967290500644594 ], [ 11668828.400570021942258, 2896655.772585385479033 ], [ 11668074.211019897833467, 2907978.601957401260734 ], [ 11648464.280841244384646, 2912507.820261418353766 ], [ 11649149.897585041821003, 2919634.611860409379005 ], [ 11637699.352123063057661, 2925029.727309132460505 ], [ 11639207.842542802914977, 2940348.988708263728768 ], [ 11625631.762723617255688, 2933888.207097130827606 ], [ 11624054.810817040503025, 2947808.695524356327951 ], [ 11614249.790067968890071, 2949473.873202799353749 ], [ 11611712.818872790783644, 2955668.191432650666684 ], [ 11613838.464549487456679, 2969455.49353678105399 ], [ 11618775.150007696822286, 2965858.827168027404696 ], [ 11626385.952273743227124, 2982909.843800677917898 ], [ 11623369.082753755152225, 2987905.277572049759328 ], [ 11632831.239471182227135, 3007820.374750817194581 ], [ 11643184.73135139234364, 3038458.861614852678031 ], [ 11653332.504812616854906, 3045918.641500953584909 ], [ 11639002.124123817309737, 3072427.654345446731895 ], [ 11631528.467470427975059, 3071028.988719554618001 ], [ 11624123.272303879261017, 3087547.143197059631348 ], [ 11616649.615650489926338, 3076224.137801970820874 ], [ 11590594.509593889117241, 3078155.699235973879695 ], [ 11583052.280134173110127, 3062037.161311989184469 ], [ 11562276.723567424342036, 3062636.639371654950082 ], [ 11551031.896524431183934, 3071695.068055176641792 ], [ 11551991.804493542760611, 3088146.574651737697423 ], [ 11544449.575033826753497, 3097870.999025564175099 ], [ 11552677.53255682811141, 3107795.172486457508057 ], [ 11552128.95010619983077, 3117452.958843050524592 ], [ 11541089.841482194140553, 3129908.218218859285116 ], [ 11536975.918380439281464, 3125112.639742006547749 ], [ 11535398.855154370889068, 3137501.290741187520325 ], [ 11545135.191777622327209, 3141297.808175448793918 ], [ 11566459.219475509598851, 3167007.533335433807224 ], [ 11569681.918733974918723, 3179063.074201070237905 ], [ 11578938.245712924748659, 3177198.218798128888011 ], [ 11579143.964131910353899, 3171470.137539155781269 ], [ 11589840.32004376500845, 3165808.583048879168928 ], [ 11596628.359953356906772, 3156350.691232224460691 ], [ 11617678.096425928175449, 3182060.313478154595941 ], [ 11632625.52105219475925, 3175000.174300917424262 ], [ 11638042.216154707595706, 3164809.599523618817329 ], [ 11645104.547289613634348, 3161878.851982617750764 ], [ 11667251.337343953549862, 3167873.443601604085416 ], [ 11674245.095672531053424, 3159880.769925089552999 ], [ 11696049.133014719933271, 3175799.491252647247165 ], [ 11709076.630383273586631, 3172668.950258158612996 ], [ 11717510.306325264275074, 3187921.686024602036923 ], [ 11714424.86399894580245, 3191917.951079306658357 ], [ 11722515.56458980217576, 3200243.729073610622436 ], [ 11722858.42862144485116, 3211833.075325748417526 ], [ 11727932.371011801064014, 3217361.3563476591371 ], [ 11745142.364288443699479, 3219892.26469018869102 ], [ 11755907.293006625026464, 3213165.172231410630047 ], [ 11757964.254557501524687, 3206970.774321307428181 ], [ 11775859.975897429510951, 3213631.323540707584471 ], [ 11802463.664404660463333, 3217094.819883979391307 ], [ 11813297.054609678685665, 3221224.390458764974028 ], [ 11821387.866520024836063, 3218027.405718664638698 ], [ 11838049.388665527105331, 3226486.221552812028676 ], [ 11833798.319951113313437, 3236277.321588856168091 ], [ 11836403.863952621817589, 3243004.466329918242991 ], [ 11822896.356939764693379, 3265916.775218410883099 ], [ 11813982.671353476122022, 3270046.293538580648601 ], [ 11797184.003595316782594, 3262586.479950439184904 ], [ 11784293.651839418336749, 3269913.07579594803974 ], [ 11787516.239778392016888, 3279104.647108932491392 ], [ 11780522.481449814513326, 3287363.672407183796167 ], [ 11769826.12553796172142, 3283300.769879278261214 ], [ 11759746.924883065745234, 3289894.646888172719628 ], [ 11757964.254557501524687, 3314472.161687705200166 ], [ 11764683.721660766750574, 3316670.188588000368327 ], [ 11771951.771214658394456, 3326727.599049685522914 ], [ 11787036.230134092271328, 3324196.496860111597925 ], [ 11787790.531003708019853, 3333987.565380946267396 ], [ 11796155.522819876670837, 3345243.938255115412176 ], [ 11811377.238671459257603, 3329458.437232756055892 ], [ 11832426.97514403052628, 3316869.888922694139183 ], [ 11836678.043858444318175, 3309876.32701318198815 ], [ 11841546.267829816788435, 3315404.644483789801598 ], [ 11843946.093412335962057, 3321066.060903780162334 ], [ 11853751.002841917797923, 3316004.077787004876882 ], [ 11856082.25561811029911, 3332722.024758821353316 ], [ 11850322.696483956649899, 3352370.724274811800569 ], [ 11862527.431496059522033, 3344311.393863063305616 ], [ 11870755.389019062742591, 3327793.209890286903828 ], [ 11862733.149915046989918, 3310276.034257188439369 ], [ 11870275.490694252774119, 3312607.137975604273379 ], [ 11882754.516931671649218, 3307811.616424988489598 ], [ 11882068.788868384435773, 3319067.930423730053008 ], [ 11896330.596750853583217, 3327926.496504027396441 ], [ 11898181.839882746338844, 3336585.123982069548219 ], [ 11891599.518392140045762, 3344644.456041479483247 ], [ 11902981.491047790274024, 3351371.615137806627899 ], [ 11909700.958151053637266, 3349440.057053947355598 ], [ 11909700.958151053637266, 3349440.057053947355598 ], [ 11909358.094119409099221, 3356766.608135925605893 ], [ 11917586.051642412319779, 3362294.893727198243141 ], [ 11932464.9034623503685, 3361495.66115977242589 ], [ 11935618.918594997376204, 3346775.845770957414061 ], [ 11953926.076772894710302, 3356367.025921724271029 ], [ 11960302.679844515398145, 3368489.252553352620453 ], [ 11951800.431096198037267, 3377014.722074477467686 ], [ 11957148.664711868390441, 3387804.75828639511019 ], [ 11956188.75674275867641, 3399594.012033190578222 ], [ 11965376.510915381833911, 3397862.283467012923211 ], [ 11974701.52202015183866, 3403457.12092711776495 ], [ 11976758.483571030199528, 3394731.80500899720937 ], [ 11989306.082614777609706, 3393732.662171325646341 ], [ 11994791.350523615255952, 3401125.881491140928119 ], [ 12001442.356140039861202, 3393266.447087476961315 ], [ 11998562.520913219079375, 3381810.260586546733975 ], [ 12007750.386405332013965, 3370620.547806121874601 ], [ 12014812.717540239915252, 3380145.176392723806202 ], [ 12025234.670907286927104, 3380544.84356440929696 ], [ 12030102.894878657534719, 3386672.516358768567443 ], [ 12051015.59705806337297, 3380811.210214029997587 ], [ 12052386.830545656383038, 3387072.127491708379239 ], [ 12061506.123231440782547, 3367157.065945367328823 ], [ 12061780.414456756785512, 3352170.871002602856606 ], [ 12065414.439233703538775, 3346709.171153750736266 ], [ 12059517.734486892819405, 3334920.019209063146263 ], [ 12074945.057437967509031, 3328326.11070521036163 ], [ 12085435.694930834695697, 3332722.024758821353316 ], [ 12093320.788422195240855, 3327526.767481329850852 ], [ 12086738.466931590810418, 3316470.364529612474144 ], [ 12090578.210127523168921, 3289961.291192798409611 ], [ 12096886.240392813459039, 3291226.836934790946543 ], [ 12099148.920362677425146, 3302349.976557864341885 ], [ 12093800.79806649684906, 3306745.953286085277796 ], [ 12101617.318751526996493, 3312274.116366692818701 ], [ 12109296.693823901936412, 3302683.004460278898478 ], [ 12107651.169110994786024, 3287696.708080591168255 ], [ 12103399.989077091217041, 3284632.812685831915587 ], [ 12108542.504273775964975, 3275840.958486949559301 ], [ 12125204.026419280096889, 3276440.396124301943928 ], [ 12134529.037524050101638, 3269579.974050777032971 ], [ 12136791.717493914067745, 3276773.41450666077435 ], [ 12143442.611790848895907, 3272310.817296880763024 ], [ 12142894.029340220615268, 3280436.780510566662997 ], [ 12150779.122831579297781, 3293158.329705766867846 ], [ 12155167.337158650159836, 3308477.698983493726701 ], [ 12164355.202650763094425, 3311474.84768923651427 ], [ 12164218.05703810788691, 3288163.022454436402768 ], [ 12177039.947307167574763, 3282834.49755227798596 ], [ 12171691.825010986998677, 3272976.911104324739426 ], [ 12167029.319458600133657, 3253528.080614139325917 ], [ 12176011.466531729325652, 3253128.414065091870725 ], [ 12167440.756296571344137, 3243470.628882280085236 ], [ 12172308.868948452174664, 3228883.988801898434758 ], [ 12170869.062654530629516, 3221624.003145076800138 ], [ 12186227.812799280509353, 3208702.515463890042156 ], [ 12185199.332023840397596, 3194582.185141504742205 ], [ 12167577.790589738637209, 3182992.786573784891516 ], [ 12167235.037877587601542, 3176532.134470774792135 ], [ 12156332.963546747341752, 3179795.764719075988978 ], [ 12149682.06924981251359, 3175799.491252647247165 ], [ 12138368.669400490820408, 3158015.734757521655411 ], [ 12123489.817580554634333, 3149157.285603542812169 ], [ 12120335.802447907626629, 3136768.572536506224424 ], [ 12110599.465824654325843, 3134037.756071533542126 ], [ 12119993.049735754728317, 3123380.920355287380517 ], [ 12142619.849434396252036, 3137967.529087669681758 ], [ 12152150.467638662084937, 3131706.623482466675341 ], [ 12163601.013100640848279, 3139566.089174007065594 ], [ 12180125.389633482322097, 3142696.449172019492835 ], [ 12186433.531218266114593, 3140365.3751833983697 ], [ 12184445.14247371815145, 3132172.793976703193039 ], [ 12191713.080708120018244, 3130774.078995427116752 ], [ 12195621.396710379049182, 3116853.531690414994955 ], [ 12188010.483124842867255, 3110392.827266737818718 ], [ 12189587.546350911259651, 3102067.119507369119674 ], [ 12187393.439187377691269, 3103265.990372174419463 ], [ 12186502.104024596512318, 3102067.119507369119674 ], [ 12189998.983188884332776, 3099136.489276352338493 ], [ 12191918.799127105623484, 3092142.974860507529229 ] ] ], [ [ [ 12192741.561483558267355, 3091077.174606414046139 ], [ 12192604.415870901197195, 3091610.06471512792632 ], [ 12194935.668647091835737, 3090677.551332947798073 ], [ 12194935.668647091835737, 3090677.551332947798073 ], [ 12192741.561483558267355, 3091077.174606414046139 ] ] ], [ [ [ 12189587.546350911259651, 3102067.119507369119674 ], [ 12189998.983188884332776, 3099136.489276352338493 ], [ 12186502.104024596512318, 3102067.119507369119674 ], [ 12187393.439187377691269, 3103265.990372174419463 ], [ 12189587.546350911259651, 3102067.119507369119674 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 530000, "name": "云南省", "adchar": null, "childrenNum": 16.0, "level": "province", "subFeatureIndex": 24.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 11748982.107484374195337, 2654344.881986321415752 ], [ 11738148.71727935411036, 2667466.096062358934432 ], [ 11730057.905369009822607, 2670463.348003027960658 ], [ 11724778.244559664279222, 2679255.296678812708706 ], [ 11715041.907936412841082, 2664002.641386682167649 ], [ 11698928.85692205093801, 2663603.022531194612384 ], [ 11675890.731704929843545, 2652479.818999548908323 ], [ 11666771.439019141718745, 2645353.093321896158159 ], [ 11673010.896478105336428, 2628501.919396607670933 ], [ 11659366.243852594867349, 2610984.606176765169948 ], [ 11641744.813737981021404, 2613449.022637371439487 ], [ 11619049.441233012825251, 2594599.692811333108693 ], [ 11607530.322964707389474, 2600394.341359043028206 ], [ 11607736.041383691132069, 2611251.04440757073462 ], [ 11590320.218368573114276, 2608919.916624492499977 ], [ 11582297.979264557361603, 2599195.469008507672697 ], [ 11578252.628969129174948, 2573818.776842040009797 ], [ 11573247.259385099634528, 2572020.428345242515206 ], [ 11557751.363627696409822, 2585607.930399849079549 ], [ 11537387.24389891885221, 2607254.682556132785976 ], [ 11529022.252082750201225, 2595598.770791341084987 ], [ 11525456.800112131983042, 2583010.331208421383053 ], [ 11514486.152974965050817, 2595465.556905254721642 ], [ 11515034.735425591468811, 2602192.752870654687285 ], [ 11501870.092444380745292, 2608786.715850170236081 ], [ 11497413.305310981348157, 2593200.964397993404418 ], [ 11487676.857368236407638, 2589537.659896395169199 ], [ 11486374.085367484018207, 2578614.318227521609515 ], [ 11474992.11271183565259, 2572486.625890977215022 ], [ 11474786.505612341687083, 2565493.103616030421108 ], [ 11458193.444953674450517, 2569556.027626933995634 ], [ 11452571.031432179734111, 2582144.394387763459235 ], [ 11431247.003734292462468, 2595798.593633586540818 ], [ 11421716.385530026629567, 2599595.083449702709913 ], [ 11418082.360753081738949, 2595798.593633586540818 ], [ 11411431.466456145048141, 2604790.348608876112849 ], [ 11397375.376992661505938, 2593334.160041251219809 ], [ 11401420.838607577607036, 2588072.299637984018773 ], [ 11390518.76427673920989, 2578214.72738112648949 ], [ 11383113.680429680272937, 2566558.730452125426382 ], [ 11384690.632336258888245, 2561962.939936355222017 ], [ 11359732.579861424863338, 2566558.730452125426382 ], [ 11344305.256910348311067, 2564094.293045422527939 ], [ 11339299.99864581041038, 2558299.641496281605214 ], [ 11328397.924314972013235, 2572419.991015355102718 ], [ 11318113.005241088569164, 2568623.568499873857945 ], [ 11312902.028557565063238, 2545511.465826299507171 ], [ 11304194.172709751874208, 2540116.366617225576192 ], [ 11309679.4406185913831, 2530858.160098270513117 ], [ 11307142.469423413276672, 2525329.917695529293269 ], [ 11312970.601363893598318, 2512275.2782964236103 ], [ 11310776.494200358167291, 2507679.484806599095464 ], [ 11321335.593180064111948, 2504149.385364143643528 ], [ 11329769.269122052937746, 2490761.630912989843637 ], [ 11326478.108376750722528, 2479172.286770310252905 ], [ 11330112.133153697475791, 2468448.799660753458738 ], [ 11327300.870733201503754, 2461788.26054500695318 ], [ 11326272.389957763254642, 2427353.194525205995888 ], [ 11336077.299387343227863, 2422024.768748767208308 ], [ 11328397.924314972013235, 2409502.912652403581887 ], [ 11318113.005241088569164, 2415164.365650000981987 ], [ 11310707.921394029632211, 2412433.6295345290564 ], [ 11310570.775781372562051, 2419293.925138083752245 ], [ 11302548.536677354946733, 2422024.768748767208308 ], [ 11286435.485662993043661, 2418827.699654354713857 ], [ 11275602.095457972958684, 2413166.26535358838737 ], [ 11267991.293191926553845, 2419826.803496070671827 ], [ 11270528.15306761674583, 2427952.63004548009485 ], [ 11259146.180411964654922, 2440740.889690953772515 ], [ 11264974.312352446839213, 2442672.533169381786138 ], [ 11266551.375578515231609, 2458457.993145799729973 ], [ 11256335.029310964047909, 2474243.564666611608118 ], [ 11257020.64605475962162, 2484167.748491471633315 ], [ 11244953.056655313819647, 2476374.837936756201088 ], [ 11228840.00564095005393, 2472245.398086747620255 ], [ 11213275.537077218294144, 2453862.193605592474341 ], [ 11194077.043736537918448, 2445669.789769207593054 ], [ 11185711.94060087762773, 2446735.373866607435048 ], [ 11180638.109530009329319, 2455527.345359251834452 ], [ 11171107.380006251856685, 2455127.766191443894058 ], [ 11159451.227444779127836, 2447268.250145491678268 ], [ 11154171.566635437309742, 2453129.52949175843969 ], [ 11146080.866044580936432, 2452596.713125731330365 ], [ 11143955.220367884263396, 2461788.26054500695318 ], [ 11150811.833083804696798, 2471179.683994211722165 ], [ 11142583.986880291253328, 2476041.872780995443463 ], [ 11130996.295805657282472, 2475975.256558617576957 ], [ 11125716.746315805241466, 2490162.180512540508062 ], [ 11131887.630968440324068, 2507945.844200612511486 ], [ 11128870.761448450386524, 2517870.130461189895868 ], [ 11117625.934405460953712, 2519535.25181064195931 ], [ 11117488.788792802020907, 2515072.714449557941407 ], [ 11074840.733397027477622, 2526995.050623059738427 ], [ 11065172.858260612934828, 2523531.584917795844376 ], [ 11045220.175369808450341, 2524863.704999246168882 ], [ 11038020.698622245341539, 2530858.160098270513117 ], [ 11046865.700082713738084, 2541648.248473807238042 ], [ 11052076.788085728883743, 2559765.033214488532394 ], [ 11063115.89670973457396, 2572087.061623082496226 ], [ 11063595.906354036182165, 2580212.898221963085234 ], [ 11055710.812862675637007, 2600327.714938148390502 ], [ 11063595.906354036182165, 2603258.445564212743193 ], [ 11071549.46133223362267, 2613449.022637371439487 ], [ 11071480.999845394864678, 2623906.162922841496766 ], [ 11083342.870825853198767, 2623040.251074299681932 ], [ 11078200.466948660090566, 2632831.207203939091414 ], [ 11079434.666143083944917, 2639958.012733480427414 ], [ 11059413.299126459285617, 2647617.641386497765779 ], [ 11049059.807246249169111, 2641423.412764926441014 ], [ 11032466.857907077297568, 2642488.999114668928087 ], [ 11008331.567788697779179, 2657342.123032228089869 ], [ 11013611.228598039597273, 2669530.949970985762775 ], [ 11006411.751850476488471, 2690711.485633668024093 ], [ 11001269.34797327965498, 2688979.707464644219726 ], [ 10999280.847909240052104, 2698371.10863732220605 ], [ 11007028.907107435166836, 2703766.116335462313145 ], [ 10996812.560839880257845, 2726811.650773936416954 ], [ 10983784.952151834964752, 2729142.855735255405307 ], [ 10987418.976928779855371, 2733205.828482065349817 ], [ 10987350.404122453182936, 2746859.926165565382689 ], [ 11009497.19417679309845, 2766708.309788580518216 ], [ 11006823.188688447698951, 2771703.775923028588295 ], [ 10989064.501641688868403, 2768972.98964017117396 ], [ 10977408.349080216139555, 2763777.690800460986793 ], [ 10970620.309170622378588, 2768706.475085602607578 ], [ 10949433.427085392177105, 2765243.053518812637776 ], [ 10934417.429652797058225, 2767241.15325194504112 ], [ 10921664.112190065905452, 2764643.575884775724262 ], [ 10898420.268553957343102, 2755119.037833468057215 ], [ 10897528.93339117616415, 2750190.144134217407554 ], [ 10883678.562346678227186, 2745261.336090071126819 ], [ 10877164.813662400469184, 2736536.07998571684584 ], [ 10856800.693933622911572, 2744462.041112492792308 ], [ 10868593.992107754573226, 2759115.344104898627847 ], [ 10879358.920825934037566, 2767241.15325194504112 ], [ 10879221.775213278830051, 2781095.131955563556403 ], [ 10883404.271121364086866, 2784958.293764711823314 ], [ 10871336.681721918284893, 2793217.32901365775615 ], [ 10877713.28479353711009, 2797213.652879407629371 ], [ 10872570.880916342139244, 2808669.773523091804236 ], [ 10857212.019452104344964, 2806072.220912216696888 ], [ 10861531.660972844809294, 2826986.387626806274056 ], [ 10861463.088166516274214, 2847101.233347617089748 ], [ 10876067.760080631822348, 2856426.014406363479793 ], [ 10883061.407089719548821, 2854161.43487918144092 ], [ 10885461.232672240585089, 2860488.924619265366346 ], [ 10877781.85759986564517, 2873077.415866195689887 ], [ 10891426.51022537983954, 2909044.36510563082993 ], [ 10899791.613361041992903, 2901717.761956894770265 ], [ 10910967.867597702890635, 2913307.070127218961716 ], [ 10917070.179444009438157, 2914106.362805794458836 ], [ 10926875.200193081051111, 2932023.201031369622797 ], [ 10923926.792159929871559, 2938550.638806278817356 ], [ 10930440.540844207629561, 2945810.631367601454258 ], [ 10928315.006487002596259, 2952138.10383779136464 ], [ 10936885.828041646629572, 2950606.192688005510718 ], [ 10944359.484695034101605, 2942613.550186660140753 ], [ 10954095.821318287402391, 2948874.48141183424741 ], [ 10960266.817290412262082, 2959864.403639868367463 ], [ 10962392.351647617295384, 2971520.310492003336549 ], [ 10970963.173202266916633, 2979979.281233151443303 ], [ 10980630.937019189819694, 2974184.581331192981452 ], [ 10987761.840960426256061, 2980778.478580204769969 ], [ 10985773.34089638479054, 2989903.385106122121215 ], [ 10977682.64030552841723, 2995231.937518695369363 ], [ 10973362.887465296313167, 3013748.232539785094559 ], [ 10979945.320275394245982, 3017145.048276127316058 ], [ 10983030.762601710855961, 3009885.051391930319369 ], [ 10991190.147318385541439, 3021807.528883260674775 ], [ 10984196.388989806175232, 3028867.615222197491676 ], [ 10990984.428899399936199, 3042588.460930839646608 ], [ 10993178.536062935367227, 3068497.897209477145225 ], [ 10996332.551195580512285, 3076157.644255250692368 ], [ 10992355.77370648086071, 3085682.213420587126166 ], [ 10993589.861581416800618, 3108261.424593001138419 ], [ 10990847.283286741003394, 3123780.59623262193054 ], [ 10994549.880870016291738, 3129841.596528324298561 ], [ 10988584.603316877037287, 3133105.306507850531489 ], [ 10986801.932991314679384, 3149889.902713539078832 ], [ 10991053.001705726608634, 3167407.206438465509564 ], [ 10987967.448059920221567, 3168805.839570834301412 ], [ 10984402.107408793643117, 3196380.564288252964616 ], [ 10974254.333947569131851, 3195048.4602120667696 ], [ 10958758.326870672404766, 3206837.669191537890583 ], [ 10957112.802157767117023, 3192184.376431340351701 ], [ 10944633.77592035010457, 3188521.164985375013202 ], [ 10940314.134399607777596, 3206171.534473312553018 ], [ 10935377.337621908634901, 3210034.685638365801424 ], [ 10934074.565621154382825, 3225353.948970119468868 ], [ 10928177.860874343663454, 3230216.109740940388292 ], [ 10932154.749682933092117, 3235078.365388234145939 ], [ 10924132.510578915476799, 3247800.062349073123187 ], [ 10927149.380098903551698, 3261720.623809446115047 ], [ 10924818.127322712913156, 3266915.834312727209181 ], [ 10928109.288068013265729, 3274775.301189085934311 ], [ 10938942.789592524990439, 3279371.012712345458567 ], [ 10932566.186520904302597, 3294224.051804003771394 ], [ 10942850.994275296106935, 3297554.330247613135725 ], [ 10951353.243023613467813, 3280037.076117964927107 ], [ 10952656.015024367719889, 3263452.265261752996594 ], [ 10957044.229351438581944, 3262186.798620123416185 ], [ 10971580.217139732092619, 3272044.464748806785792 ], [ 10979053.873793121427298, 3269846.404281408526003 ], [ 10988584.603316877037287, 3277905.687976643443108 ], [ 10993109.963256606832147, 3291093.662576132453978 ], [ 10984676.287314616143703, 3307545.192684948910028 ], [ 10979191.019405778497458, 3310609.006098285783082 ], [ 10980356.645793873816729, 3318801.53563528880477 ], [ 10975488.533141994848847, 3333454.691489181481302 ], [ 10985430.588184231892228, 3342579.681549203582108 ], [ 10981933.709019942209125, 3352370.724274811800569 ], [ 10982550.752957409247756, 3366757.423494363203645 ], [ 10994549.880870016291738, 3376415.323182038031518 ], [ 11000103.721585184335709, 3369155.332747905049473 ], [ 11001543.527879104018211, 3352770.312817934900522 ], [ 11010937.111790204420686, 3350305.888688967097551 ], [ 11017588.006087139248848, 3354368.787693161517382 ], [ 11011417.121434504166245, 3361429.039439826272428 ], [ 11012377.029403615742922, 3372885.164473007433116 ], [ 11021633.467702057212591, 3379612.34817610681057 ], [ 11016970.962149672210217, 3392000.944136826321483 ], [ 11017999.442925110459328, 3401725.390798731241375 ], [ 11033289.62026352994144, 3403856.734490648377687 ], [ 11035346.693133898079395, 3369088.672327721025795 ], [ 11032192.566681761294603, 3355567.770641596987844 ], [ 11034729.537876941263676, 3337451.005104834213853 ], [ 11041106.140948561951518, 3323397.274623380973935 ], [ 11040077.660173123702407, 3299752.364459860604256 ], [ 11051871.069666743278503, 3286630.997660939581692 ], [ 11054750.793574076145887, 3277705.934991938993335 ], [ 11062361.707159612327814, 3271911.227299324702471 ], [ 11069286.781362369656563, 3299286.027154643088579 ], [ 11065515.722292257472873, 3318068.787297339644283 ], [ 11072235.189395520836115, 3318401.826694670133293 ], [ 11079914.564467893913388, 3335186.482858416158706 ], [ 11089171.002766335383058, 3342846.045046083629131 ], [ 11090268.056348104029894, 3352104.2962661748752 ], [ 11100552.97542198561132, 3356100.644489075988531 ], [ 11102267.072941221296787, 3339982.092593831010163 ], [ 11108986.540044482797384, 3337451.005104834213853 ], [ 11130516.286161355674267, 3315271.356270568910986 ], [ 11130859.150193, 3309210.301458548288792 ], [ 11140184.161297770217061, 3302816.16730634495616 ], [ 11137990.054134234786034, 3296555.273816555272788 ], [ 11151566.133953418582678, 3289961.291192798409611 ], [ 11149440.599596213549376, 3275507.963121472392231 ], [ 11135727.374164370819926, 3272310.817296880763024 ], [ 11141555.506104853004217, 3252862.060313419438899 ], [ 11153828.81392328441143, 3240939.630078718066216 ], [ 11155405.765829861164093, 3233479.795159209985286 ], [ 11164799.349740959703922, 3232547.413850771728903 ], [ 11168433.374517906457186, 3213764.620327380020171 ], [ 11181255.153467478230596, 3232147.733433354180306 ], [ 11192637.126123126596212, 3224954.353147917892784 ], [ 11202510.719678524881601, 3238275.438388144597411 ], [ 11207790.269168378785253, 3239274.480696253478527 ], [ 11210669.993075709789991, 3223888.653588402085006 ], [ 11219035.096211370080709, 3210167.947482607327402 ], [ 11226371.607252100482583, 3207503.710518729873002 ], [ 11236245.200807502493262, 3182193.555917184334248 ], [ 11245707.246205437928438, 3165076.004813472740352 ], [ 11249615.562207700684667, 3148557.752301949076355 ], [ 11262231.734057772904634, 3147958.369915019255131 ], [ 11258460.563668170943856, 3126444.809616232756525 ], [ 11272722.260231150314212, 3117919.280873197130859 ], [ 11273065.124262794852257, 3111325.269016531296074 ], [ 11287738.257663745433092, 3103732.217680824454874 ], [ 11283075.752111360430717, 3094873.783829071093351 ], [ 11286641.204081978648901, 3088945.814448753371835 ], [ 11300285.85670749284327, 3093075.335338846314698 ], [ 11293703.535216884687543, 3085149.296743386890739 ], [ 11293566.389604227617383, 3073693.243887016549706 ], [ 11287806.830470073968172, 3074225.980409601237625 ], [ 11294320.579154351726174, 3060571.848708004225045 ], [ 11299668.812770023941994, 3061104.71750715887174 ], [ 11314136.227751992642879, 3048116.655800522305071 ], [ 11316810.233240334317088, 3042122.118367707356811 ], [ 11308582.387036822736263, 3033729.916154973674566 ], [ 11313450.49968870356679, 3026936.109028194565326 ], [ 11320101.50530512817204, 3029067.432407223619521 ], [ 11333197.575480012223125, 3018477.20942831132561 ], [ 11332237.667510902509093, 3012615.972325885202736 ], [ 11339368.460132647305727, 3005555.752725217025727 ], [ 11345402.310492116957903, 3012482.705427347682416 ], [ 11355207.219921696931124, 3010417.906881073024124 ], [ 11355207.219921696931124, 3010417.906881073024124 ], [ 11366589.192577345296741, 3007553.930292692501098 ], [ 11381879.481235256418586, 3025404.143307168502361 ], [ 11393467.172309890389442, 3029400.549942573066801 ], [ 11398266.712155442684889, 3035861.250962132588029 ], [ 11417808.069527767598629, 3044186.985422600060701 ], [ 11425693.163019128143787, 3037259.963444513268769 ], [ 11421442.094304712489247, 3030133.212187411263585 ], [ 11429670.051827715709805, 3024538.343109361361712 ], [ 11436937.990062117576599, 3032397.712710061576217 ], [ 11465735.785732883960009, 3045186.044856941793114 ], [ 11464775.766444282606244, 3059040.023708734195679 ], [ 11472249.534417161718011, 3064368.412651708815247 ], [ 11467998.465702747926116, 3072827.262742430903018 ], [ 11464981.484863268211484, 3095473.151163837406784 ], [ 11454627.992983058094978, 3111991.372269465122372 ], [ 11451542.550656741485, 3126844.447740087285638 ], [ 11456273.629015455022454, 3140165.486855711322278 ], [ 11452776.749851165339351, 3160147.206036063842475 ], [ 11459359.071341773495078, 3174200.903463555965573 ], [ 11464775.766444282606244, 3169538.489307972602546 ], [ 11478351.846263466402888, 3173668.123645912855864 ], [ 11490625.265401389449835, 3194382.393676235340536 ], [ 11498853.111604902893305, 3194715.422920159064233 ], [ 11498441.786086419597268, 3202774.623920848593116 ], [ 11520177.139302788302302, 3223156.001854896079749 ], [ 11523331.265754925087094, 3244602.894469347316772 ], [ 11520245.712109116837382, 3253061.825137098319829 ], [ 11513869.10903749614954, 3254527.235427682287991 ], [ 11518394.468977224081755, 3264518.039729952346534 ], [ 11529707.868826543912292, 3278105.570269235875458 ], [ 11537112.95267360471189, 3282035.21111844247207 ], [ 11546232.2453593891114, 3274442.205805261619389 ], [ 11563579.495568178594112, 3288362.804167004302144 ], [ 11552951.712462652474642, 3315404.644483789801598 ], [ 11559259.854047436267138, 3323197.476552249863744 ], [ 11559945.470791229978204, 3332455.610501940827817 ], [ 11570641.826703084632754, 3325595.251127487979829 ], [ 11591143.092044517397881, 3329591.613686475437135 ], [ 11612261.401323419064283, 3326794.173452435061336 ], [ 11624603.281948179006577, 3328192.820090661291033 ], [ 11612672.838161392137408, 3317003.193092812318355 ], [ 11606364.696576608344913, 3316869.888922694139183 ], [ 11605541.934220155701041, 3300618.137045193463564 ], [ 11612192.828517090529203, 3287696.708080591168255 ], [ 11620077.922008451074362, 3290627.373013434000313 ], [ 11627277.398756016045809, 3283034.326572701334953 ], [ 11626934.534724371507764, 3263185.834757980424911 ], [ 11616649.615650489926338, 3251463.284460729453713 ], [ 11621860.592334013432264, 3242937.800971215590835 ], [ 11641059.085674695670605, 3228883.988801898434758 ], [ 11659983.399109551683068, 3236610.236736641265452 ], [ 11674313.668478861451149, 3237076.55834584729746 ], [ 11695157.797851936891675, 3261320.968036639969796 ], [ 11709350.921608587726951, 3255859.346094740089029 ], [ 11709282.348802261054516, 3248399.520500022917986 ], [ 11718675.932713359594345, 3248599.345760612748563 ], [ 11720252.884619938209653, 3240873.100834844633937 ], [ 11714493.325485786423087, 3235811.027322001289576 ], [ 11715727.524680208414793, 3226686.103332904633135 ], [ 11722858.42862144485116, 3225087.508505416568369 ], [ 11722858.42862144485116, 3225087.508505416568369 ], [ 11719018.685425512492657, 3223156.001854896079749 ], [ 11722858.42862144485116, 3211833.075325748417526 ], [ 11722515.56458980217576, 3200243.729073610622436 ], [ 11714424.86399894580245, 3191917.951079306658357 ], [ 11717510.306325264275074, 3187921.686024602036923 ], [ 11709076.630383273586631, 3172668.950258158612996 ], [ 11696049.133014719933271, 3175799.491252647247165 ], [ 11674245.095672531053424, 3159880.769925089552999 ], [ 11667251.337343953549862, 3167873.443601604085416 ], [ 11645104.547289613634348, 3161878.851982617750764 ], [ 11638042.216154707595706, 3164809.599523618817329 ], [ 11632625.52105219475925, 3175000.174300917424262 ], [ 11617678.096425928175449, 3182060.313478154595941 ], [ 11596628.359953356906772, 3156350.691232224460691 ], [ 11589840.32004376500845, 3165808.583048879168928 ], [ 11579143.964131910353899, 3171470.137539155781269 ], [ 11578938.245712924748659, 3177198.218798128888011 ], [ 11569681.918733974918723, 3179063.074201070237905 ], [ 11566459.219475509598851, 3167007.533335433807224 ], [ 11545135.191777622327209, 3141297.808175448793918 ], [ 11535398.855154370889068, 3137501.290741187520325 ], [ 11536975.918380439281464, 3125112.639742006547749 ], [ 11541089.841482194140553, 3129908.218218859285116 ], [ 11552128.95010619983077, 3117452.958843050524592 ], [ 11552677.53255682811141, 3107795.172486457508057 ], [ 11544449.575033826753497, 3097870.999025564175099 ], [ 11551991.804493542760611, 3088146.574651737697423 ], [ 11551031.896524431183934, 3071695.068055176641792 ], [ 11562276.723567424342036, 3062636.639371654950082 ], [ 11583052.280134173110127, 3062037.161311989184469 ], [ 11590594.509593889117241, 3078155.699235973879695 ], [ 11616649.615650489926338, 3076224.137801970820874 ], [ 11624123.272303879261017, 3087547.143197059631348 ], [ 11631528.467470427975059, 3071028.988719554618001 ], [ 11639002.124123817309737, 3072427.654345446731895 ], [ 11653332.504812616854906, 3045918.641500953584909 ], [ 11643184.73135139234364, 3038458.861614852678031 ], [ 11632831.239471182227135, 3007820.374750817194581 ], [ 11623369.082753755152225, 2987905.277572049759328 ], [ 11626385.952273743227124, 2982909.843800677917898 ], [ 11618775.150007696822286, 2965858.827168027404696 ], [ 11613838.464549487456679, 2969455.49353678105399 ], [ 11611712.818872790783644, 2955668.191432650666684 ], [ 11614249.790067968890071, 2949473.873202799353749 ], [ 11624054.810817040503025, 2947808.695524356327951 ], [ 11625631.762723617255688, 2933888.207097130827606 ], [ 11639207.842542802914977, 2940348.988708263728768 ], [ 11637699.352123063057661, 2925029.727309132460505 ], [ 11649149.897585041821003, 2919634.611860409379005 ], [ 11648464.280841244384646, 2912507.820261418353766 ], [ 11668074.211019897833467, 2907978.601957401260734 ], [ 11668828.400570021942258, 2896655.772585385479033 ], [ 11660806.16146600432694, 2902183.967290500644594 ], [ 11651549.72316756285727, 2883068.147665230091661 ], [ 11656623.66555792093277, 2875275.307893588673323 ], [ 11637288.026604581624269, 2852895.836298592854291 ], [ 11636190.973022814840078, 2842771.895070298109204 ], [ 11632008.36579523794353, 2833580.278479494154453 ], [ 11645241.692902270704508, 2799411.655686874408275 ], [ 11656143.655913619324565, 2792617.871690222062171 ], [ 11658337.763077154755592, 2807870.517566536553204 ], [ 11670336.890989761799574, 2807937.16140720853582 ], [ 11686312.685071976855397, 2803807.621647281572223 ], [ 11695569.123370418325067, 2805805.801788443233818 ], [ 11695569.123370418325067, 2805805.801788443233818 ], [ 11709488.067221246659756, 2795748.328319620341063 ], [ 11706882.523219740018249, 2788554.951646210160106 ], [ 11714081.99996730312705, 2773635.352503683883697 ], [ 11710859.412028329446912, 2766242.071429430041462 ], [ 11717510.306325264275074, 2760847.011668200138956 ], [ 11724229.773428527638316, 2767574.235388615634292 ], [ 11742194.067574782297015, 2755718.394410092849284 ], [ 11747542.189870962873101, 2769172.787060628179461 ], [ 11758512.837008131667972, 2768839.670806564856321 ], [ 11760843.978464832529426, 2757450.17382598714903 ], [ 11766946.401630630716681, 2761513.154339596163481 ], [ 11787859.103810036554933, 2758316.074398814700544 ], [ 11792452.925236601382494, 2768506.683635845780373 ], [ 11805411.961118318140507, 2764377.135214754380286 ], [ 11821250.720907367765903, 2732073.469409943092614 ], [ 11815079.724935242906213, 2728476.744718377012759 ], [ 11817410.9777114354074, 2719818.028571258299053 ], [ 11813297.054609678685665, 2705364.650338964071125 ], [ 11815628.307385871186852, 2701035.288828891701996 ], [ 11799858.120403151959181, 2686248.856887768488377 ], [ 11787859.103810036554933, 2695640.232844215352088 ], [ 11779356.855061719194055, 2693442.247825653292239 ], [ 11766466.391986330971122, 2680654.031828391365707 ], [ 11765849.348048862069845, 2675991.569672877900302 ], [ 11747747.908289950340986, 2662071.039906070102006 ], [ 11748982.107484374195337, 2654344.881986321415752 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 540000, "name": "西藏自治区", "adchar": null, "childrenNum": 7.0, "level": "province", "subFeatureIndex": 25.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8798653.479159073904157, 4073775.121839351952076 ], [ 8795430.891220100224018, 4082633.613919318653643 ], [ 8812229.558978257700801, 4088228.538519210647792 ], [ 8819771.78843797557056, 4084498.55044303368777 ], [ 8850420.827240632846951, 4090026.76377585856244 ], [ 8869482.174968658015132, 4089560.60968738142401 ], [ 8883469.691625813022256, 4093290.517342254985124 ], [ 8895194.528313105925918, 4120998.429806739557534 ], [ 8899719.888252833858132, 4139581.338110402692109 ], [ 8909387.652069756761193, 4150571.297712612897158 ], [ 8909044.788038114085793, 4168554.774609935935587 ], [ 8918712.663174528628588, 4172884.094861235003918 ], [ 8931191.689411945641041, 4183940.647535367868841 ], [ 8934277.131738262251019, 4191533.701295802369714 ], [ 8945933.395619224756956, 4192332.885982762556523 ], [ 8935442.758126357570291, 4203922.241822458803654 ], [ 8941339.462873168289661, 4216577.305537763051689 ], [ 8951487.236334392800927, 4222971.499623090960085 ], [ 8963074.927409028634429, 4217310.028487199917436 ], [ 8978639.395972762256861, 4217576.448040645569563 ], [ 8982273.420749707147479, 4210049.947423313744366 ], [ 8999551.986832676455379, 4210915.844209895469248 ], [ 9019778.96094879694283, 4206386.639387996867299 ], [ 9020396.11620575375855, 4215711.373425482772291 ], [ 9027938.345665471628308, 4219374.77793100476265 ], [ 9041308.707065669819713, 4207319.099124587140977 ], [ 9057216.039661047980189, 4212181.308526644483209 ], [ 9071889.17306200042367, 4203655.879220995120704 ], [ 9074014.707419205456972, 4195863.013962537050247 ], [ 9092047.574371790513396, 4195663.216733476147056 ], [ 9098904.187087709084153, 4199592.907210159115493 ], [ 9120159.753298759460449, 4200791.762123708613217 ], [ 9134147.158636424690485, 4211581.859952887520194 ], [ 9131884.478666560724378, 4225236.002035605721176 ], [ 9164727.624632755294442, 4240155.693402186967432 ], [ 9165618.959795536473393, 4252744.069775965064764 ], [ 9175492.553350936621428, 4261202.958743497729301 ], [ 9198187.814536415040493, 4258339.015042651444674 ], [ 9209638.359998393803835, 4250879.175778450444341 ], [ 9216015.074389504268765, 4257339.854565681889653 ], [ 9235144.994923856109381, 4255541.595749191008508 ], [ 9239396.063638269901276, 4229898.467621855437756 ], [ 9247075.438710642978549, 4226967.794044504873455 ], [ 9253657.760201249271631, 4218175.813180906698108 ], [ 9266479.650470310822129, 4221106.467031924985349 ], [ 9289723.494106417521834, 4215911.260887717828155 ], [ 9308784.953153930604458, 4209583.796947603113949 ], [ 9314955.83780656568706, 4213047.23624649643898 ], [ 9338062.647149506956339, 4213913.095496647059917 ], [ 9351501.581356033682823, 4221439.504897773265839 ], [ 9361512.209204601123929, 4213313.689232832752168 ], [ 9368848.720245331525803, 4212780.789702001027763 ], [ 9388184.359198668971658, 4220373.764563922770321 ], [ 9401280.540693044662476, 4228366.464413205161691 ], [ 9400800.531048744916916, 4238956.785327821038663 ], [ 9431998.152302030473948, 4247548.937164670787752 ], [ 9468063.886207198724151, 4266531.463784676045179 ], [ 9479857.184381330385804, 4265665.555645915679634 ], [ 9492336.210618745535612, 4271593.456201012246311 ], [ 9503581.037661738693714, 4259604.475261945277452 ], [ 9530458.906074790284038, 4252877.366934762336314 ], [ 9534847.231721354648471, 4263734.003607018850744 ], [ 9552468.661835964769125, 4270261.291324615478516 ], [ 9567827.411980714648962, 4270261.291324615478516 ], [ 9580169.29260547272861, 4279452.945974133908749 ], [ 9588260.104515818879008, 4297769.468352071940899 ], [ 9595733.872488697990775, 4305096.033421089872718 ], [ 9594362.527681613340974, 4318683.550643599592149 ], [ 9617195.045799242332578, 4329140.658848277293146 ], [ 9630839.698424754664302, 4328940.754521360620856 ], [ 9651546.57086568325758, 4334402.412130183540285 ], [ 9656551.940449710935354, 4340863.264625352807343 ], [ 9669442.292205611243844, 4341995.56210979167372 ], [ 9672253.554626103490591, 4336800.238060923293233 ], [ 9684389.716831877827644, 4343194.424407756887376 ], [ 9701394.103009022772312, 4341595.83286836091429 ], [ 9706330.899786721915007, 4348789.221990221180022 ], [ 9718947.071636797860265, 4350787.417290437035263 ], [ 9725049.383483102545142, 4358447.056698998436332 ], [ 9736019.919300779700279, 4357114.950265548191965 ], [ 9737185.54568887501955, 4349455.291932037100196 ], [ 9748293.338438700884581, 4347856.738046638667583 ], [ 9766257.63258495554328, 4353718.065511958673596 ], [ 9790461.384190175682306, 4355982.720469829626381 ], [ 9794232.554579777643085, 4361044.655158802866936 ], [ 9811099.795144265517592, 4359579.407872601412237 ], [ 9823030.238931054249406, 4365307.461739399470389 ], [ 9836812.03716922365129, 4363775.474292417056859 ], [ 9848536.873856516554952, 4367172.357807368040085 ], [ 9859918.846512164920568, 4364241.774388969875872 ], [ 9865541.260033661499619, 4354317.510977184399962 ], [ 9883368.408567260950804, 4340863.264625352807343 ], [ 9885493.942924465984106, 4347190.767031240276992 ], [ 9899207.168356308713555, 4350854.048624456860125 ], [ 9903458.23707072250545, 4344593.058518413454294 ], [ 9918817.098534958437085, 4339397.863245196640491 ], [ 9921628.249635962769389, 4335001.887658013030887 ], [ 9933284.513516927137971, 4341396.111927132122219 ], [ 9939455.398169562220573, 4333137.038739630952477 ], [ 9949260.418918631970882, 4332071.22034186962992 ], [ 9962013.625061871483922, 4321414.406849101185799 ], [ 9986628.924824554473162, 4313421.728375701233745 ], [ 9978469.540107877925038, 4307493.839762128889561 ], [ 9960436.673155294731259, 4303630.792466536164284 ], [ 9954060.070083675906062, 4306961.009260693565011 ], [ 9955294.157958609983325, 4289110.759469288401306 ], [ 9968596.057871969416738, 4281118.071735316887498 ], [ 9996708.125479448586702, 4279719.370960916392505 ], [ 9990605.702313654124737, 4266531.463784676045179 ], [ 9992662.663864530622959, 4245683.969326524995267 ], [ 9985394.725630128756166, 4237158.39525093510747 ], [ 9990262.838282007724047, 4229299.010218267329037 ], [ 9983817.66240406036377, 4220373.764563922770321 ], [ 9962767.925931487232447, 4213113.848889134824276 ], [ 9966676.130614256486297, 4202723.319787980988622 ], [ 9957488.265122145414352, 4194730.650276808999479 ], [ 9964550.596257051452994, 4182808.277710521128029 ], [ 9973464.170523850247264, 4178079.386148686986417 ], [ 9969830.257066395133734, 4155566.60079178865999 ], [ 9980320.783239770680666, 4148040.28832419635728 ], [ 9986148.915180254727602, 4152969.01893399329856 ], [ 9998902.232642985880375, 4150704.453211398795247 ], [ 10004044.636520178988576, 4138182.575829933863133 ], [ 9996433.834254134446383, 4129124.282629175577313 ], [ 9988960.177600745111704, 4127525.676852912642062 ], [ 9988205.876731131225824, 4117867.913784705568105 ], [ 9996365.261447807773948, 4113538.635152942035347 ], [ 9999107.951061971485615, 4090093.455221469979733 ], [ 9996708.125479448586702, 4081368.055824662093073 ], [ 10004524.646164480596781, 4073974.909580732230097 ], [ 9999313.558161465451121, 4068313.466893593315035 ], [ 9998559.36861134134233, 4052194.951401827391237 ], [ 9980457.928852427750826, 4041804.361465409398079 ], [ 9978126.676076235249639, 4035410.298829594627023 ], [ 9984434.817661019042134, 4023154.853523245081306 ], [ 9995953.824609834700823, 4010766.283449105452746 ], [ 10000616.330162217840552, 4011232.432706391904503 ], [ 10011381.258880401030183, 4001574.67228318983689 ], [ 10008432.850847249850631, 3994114.930845050606877 ], [ 10019677.677890243008733, 3986988.071458507794887 ], [ 10017003.672401895746589, 3976864.108495178166777 ], [ 10019951.969115557149053, 3969004.536247524432838 ], [ 10027768.489800589159131, 3965940.675109720788896 ], [ 10029002.688995013013482, 3957814.828997358679771 ], [ 10046212.79359114356339, 3951753.732729150447994 ], [ 10055811.984601739794016, 3936634.364244599826634 ], [ 10063902.796512084081769, 3929907.086381950415671 ], [ 10072953.516391541808844, 3930772.979437291622162 ], [ 10097294.524928908795118, 3913322.439991370774806 ], [ 10108470.77916556969285, 3910524.961496615316719 ], [ 10130274.816507758572698, 3910724.721182260196656 ], [ 10130274.816507758572698, 3910724.721182260196656 ], [ 10145084.98420187830925, 3905063.263470898848027 ], [ 10159278.219278018921614, 3914055.08448407612741 ], [ 10178613.858231356367469, 3904064.186108985450119 ], [ 10185607.616559933871031, 3909792.272760249208659 ], [ 10194726.909245720133185, 3900534.158925581723452 ], [ 10217490.743237527087331, 3887879.093359973281622 ], [ 10229901.196668615564704, 3883083.478221883065999 ], [ 10236483.629478711634874, 3871494.160346953198314 ], [ 10257601.938757613301277, 3880152.831331464927644 ], [ 10266721.231443399563432, 3871560.657629181630909 ], [ 10263498.643504424020648, 3862835.369793598074466 ], [ 10269806.673769714310765, 3858306.244384124875069 ], [ 10280982.928006380796432, 3864100.866090305149555 ], [ 10312249.122065994888544, 3858239.55722687439993 ], [ 10317802.962781162932515, 3864167.454020155128092 ], [ 10339058.417672719806433, 3855175.794566420838237 ], [ 10354897.177461767569184, 3860504.220572160556912 ], [ 10360451.018176937475801, 3845784.397155400831252 ], [ 10379375.220292301848531, 3850579.921553152147681 ], [ 10395625.416919322684407, 3832463.265455011744052 ], [ 10404264.699960805475712, 3836526.181931581348181 ], [ 10410229.977513946592808, 3825935.907326799817383 ], [ 10421611.950169594958425, 3832130.296898818109185 ], [ 10425588.72765869461, 3838790.784674284979701 ], [ 10444033.031449250876904, 3835660.344957998022437 ], [ 10448626.964195307344198, 3824670.395567772444338 ], [ 10459460.354400327429175, 3827134.77783183939755 ], [ 10479207.43019163608551, 3820407.624593550339341 ], [ 10485926.897294901311398, 3831264.384759850334376 ], [ 10505399.681860895827413, 3832396.723806784953922 ], [ 10508005.114542912691832, 3841588.288870585151017 ], [ 10523981.019944617524743, 3842254.238490306772292 ], [ 10532414.695886606350541, 3852045.248797080013901 ], [ 10550036.126001220196486, 3836393.053401273209602 ], [ 10553875.869197150692344, 3827334.71132440213114 ], [ 10563063.734689265489578, 3825469.719915457069874 ], [ 10565600.594564951956272, 3818009.910397867672145 ], [ 10573691.40647529810667, 3818809.182682327460498 ], [ 10584456.335193479433656, 3813946.99278251035139 ], [ 10599677.939725570380688, 3815545.440892789047211 ], [ 10604477.590890614315867, 3809084.679028996732086 ], [ 10586101.859906386584044, 3805687.916806905064732 ], [ 10587130.3406818266958, 3797362.153585107065737 ], [ 10602214.910920748487115, 3805488.083148286212236 ], [ 10605368.926053395494819, 3788903.274083449039608 ], [ 10610168.577218437567353, 3782842.129395760130137 ], [ 10620590.641904976218939, 3787238.152725659776479 ], [ 10625938.764201156795025, 3771452.633053226862103 ], [ 10615516.699514620006084, 3757931.648148517590016 ], [ 10624293.128168761730194, 3741213.698250419460237 ], [ 10636223.683275040239096, 3729224.661562044173479 ], [ 10644177.349572729319334, 3734952.831503314897418 ], [ 10662141.643718982115388, 3730423.594283244106919 ], [ 10667215.474789850413799, 3721631.686236061155796 ], [ 10675443.432312853634357, 3739348.696378221735358 ], [ 10684768.443417623639107, 3739282.145952344406396 ], [ 10691282.192101901397109, 3728492.060631724074483 ], [ 10701772.829594768583775, 3724295.870467191096395 ], [ 10704515.407889442518353, 3711041.431404246017337 ], [ 10709452.204667141661048, 3710774.937242553569376 ], [ 10714800.326963324099779, 3723496.579973465297371 ], [ 10706298.189534496515989, 3734153.49290847312659 ], [ 10714937.472575983032584, 3754068.617008638568223 ], [ 10730022.042814904823899, 3752803.073445931542665 ], [ 10738798.471469046548009, 3733154.393845619633794 ], [ 10750797.488062163814902, 3725694.657364321872592 ], [ 10755254.275195563212037, 3728825.04366818908602 ], [ 10772944.38943599537015, 3720565.993069258518517 ], [ 10780212.327670397236943, 3726693.665251524187624 ], [ 10771298.753403598442674, 3744544.034807888325304 ], [ 10776921.16692509315908, 3749472.819182146340609 ], [ 10767116.257495513185859, 3765058.42344775237143 ], [ 10786246.178029865026474, 3765125.116212373133749 ], [ 10798930.922686267644167, 3772118.618538702372462 ], [ 10812507.002505451440811, 3769054.865560653153807 ], [ 10832322.539783598855138, 3773117.79737072205171 ], [ 10827385.854325389489532, 3787437.944540226832032 ], [ 10831362.631814487278461, 3802091.159522224217653 ], [ 10839316.2981121763587, 3799227.094063335563987 ], [ 10845281.575665317475796, 3805821.09719510609284 ], [ 10841167.541244069114327, 3819541.775226917583495 ], [ 10835956.564560545608401, 3821340.148264370393008 ], [ 10841236.114050397649407, 3829332.779513786081225 ], [ 10835270.94781675003469, 3830997.983278203289956 ], [ 10847955.58115366101265, 3840589.170428933575749 ], [ 10850561.125155169516802, 3835060.925930082798004 ], [ 10872639.453722670674324, 3831397.587743640877306 ], [ 10879358.920825934037566, 3832729.699841449968517 ], [ 10902328.473236728459597, 3827068.266049770172685 ], [ 10933663.240102672949433, 3808352.070697846822441 ], [ 10933663.240102672949433, 3794165.075270899105817 ], [ 10942919.567081624642015, 3779511.830257665831596 ], [ 10957729.846095234155655, 3764325.877646965440363 ], [ 10955467.166125370189548, 3741346.951752299442887 ], [ 10969866.008301006630063, 3726427.351072652731091 ], [ 10970963.173202266916633, 3718301.362162706907839 ], [ 10988721.748929535970092, 3699185.664224575273693 ], [ 11002572.119974035769701, 3689594.419069316238165 ], [ 11007920.242270216345787, 3681734.931684411130846 ], [ 10995372.643226468935609, 3665150.154039688874036 ], [ 10986321.923347014933825, 3676073.55016492633149 ], [ 10980562.364212859421968, 3676672.935824048705399 ], [ 10976379.868304776027799, 3657756.940439893398434 ], [ 10988310.312091562896967, 3648165.759543349035084 ], [ 10991327.181611550971866, 3639174.00317560788244 ], [ 10999075.240809746086597, 3632180.459934052079916 ], [ 10995509.788839126005769, 3620790.988474171608686 ], [ 11009702.91259577870369, 3604872.271548285614699 ], [ 11015942.48137423209846, 3602274.634322294965386 ], [ 11010320.067852735519409, 3593615.864241486415267 ], [ 11019439.360538521781564, 3523080.626916749402881 ], [ 11025610.245191156864166, 3513822.453879907727242 ], [ 11028215.789192663505673, 3494706.737945699132979 ], [ 11023278.992414962500334, 3483783.374869082123041 ], [ 11019850.686057003214955, 3459472.353661749511957 ], [ 11026433.007547607645392, 3447616.54907738044858 ], [ 11029038.55154911801219, 3415712.569040200673044 ], [ 11033289.62026352994144, 3403856.734490648377687 ], [ 11017999.442925110459328, 3401725.390798731241375 ], [ 11016970.962149672210217, 3392000.944136826321483 ], [ 11021633.467702057212591, 3379612.34817610681057 ], [ 11012377.029403615742922, 3372885.164473007433116 ], [ 11011417.121434504166245, 3361429.039439826272428 ], [ 11017588.006087139248848, 3354368.787693161517382 ], [ 11010937.111790204420686, 3350305.888688967097551 ], [ 11001543.527879104018211, 3352770.312817934900522 ], [ 11000103.721585184335709, 3369155.332747905049473 ], [ 10994549.880870016291738, 3376415.323182038031518 ], [ 10982550.752957409247756, 3366757.423494363203645 ], [ 10981933.709019942209125, 3352370.724274811800569 ], [ 10985430.588184231892228, 3342579.681549203582108 ], [ 10975488.533141994848847, 3333454.691489181481302 ], [ 10980356.645793873816729, 3318801.53563528880477 ], [ 10979191.019405778497458, 3310609.006098285783082 ], [ 10984676.287314616143703, 3307545.192684948910028 ], [ 10993109.963256606832147, 3291093.662576132453978 ], [ 10988584.603316877037287, 3277905.687976643443108 ], [ 10979053.873793121427298, 3269846.404281408526003 ], [ 10971580.217139732092619, 3272044.464748806785792 ], [ 10957044.229351438581944, 3262186.798620123416185 ], [ 10952656.015024367719889, 3263452.265261752996594 ], [ 10951353.243023613467813, 3280037.076117964927107 ], [ 10942850.994275296106935, 3297554.330247613135725 ], [ 10932566.186520904302597, 3294224.051804003771394 ], [ 10938942.789592524990439, 3279371.012712345458567 ], [ 10928109.288068013265729, 3274775.301189085934311 ], [ 10924818.127322712913156, 3266915.834312727209181 ], [ 10919332.859413871541619, 3273642.911467869766057 ], [ 10913024.829148581251502, 3272577.301395666319877 ], [ 10911584.911535171791911, 3280969.569642976857722 ], [ 10899037.312491424381733, 3294890.092001251410693 ], [ 10887175.441510966047645, 3290227.745252789929509 ], [ 10880181.683182388544083, 3299019.64636476431042 ], [ 10880044.537569731473923, 3307811.616424988489598 ], [ 10874353.551241906359792, 3314671.955850795377046 ], [ 10861394.515360189601779, 3317402.733431496657431 ], [ 10854332.29554477147758, 3308544.309063107240945 ], [ 10852001.042768580839038, 3297754.125154041219503 ], [ 10855703.640351854264736, 3290360.911031555850059 ], [ 10849258.353154413402081, 3282834.49755227798596 ], [ 10845144.430052660405636, 3286564.369857428595424 ], [ 10837053.618142314255238, 3278904.75000410201028 ], [ 10833762.457397010177374, 3255792.617620536591858 ], [ 10843978.80366456322372, 3250664.084700885694474 ], [ 10841030.506950901821256, 3234212.49714947398752 ], [ 10831774.068652460351586, 3238075.638718115631491 ], [ 10804964.661726243793964, 3216562.014068530406803 ], [ 10803456.282625995576382, 3225553.814191855024546 ], [ 10794954.033877678215504, 3231481.625417364761233 ], [ 10781240.808445835486054, 3233146.830499745905399 ], [ 10773972.870211433619261, 3240340.248601231724024 ], [ 10763550.805524894967675, 3242538.193729895167053 ], [ 10750454.735350010916591, 3256325.571590011473745 ], [ 10742295.350633336231112, 3257457.774097216315567 ], [ 10738249.889018418267369, 3267049.022519459947944 ], [ 10731050.523590344935656, 3263918.499709819909185 ], [ 10719737.123741025105119, 3266782.647417783737183 ], [ 10717337.298158502206206, 3277772.51899140002206 ], [ 10685454.060161421075463, 3273975.987126463558525 ], [ 10672700.74269868992269, 3286564.369857428595424 ], [ 10650416.807031691074371, 3281036.169765827711672 ], [ 10616750.898709045723081, 3262852.898657481651753 ], [ 10607220.169185288250446, 3241405.847917361184955 ], [ 10577051.140026928856969, 3227418.692535002250224 ], [ 10562652.297851292416453, 3216628.676551642362028 ], [ 10522472.529524877667427, 3198178.927029278595001 ], [ 10494909.044368028640747, 3196247.310406738892198 ], [ 10460763.126401081681252, 3161679.030856947880238 ], [ 10447255.619388224557042, 3144561.4381896215491 ], [ 10446432.857031771913171, 3129175.647002780344337 ], [ 10415920.963841769844294, 3115721.308424977585673 ], [ 10378621.030742177739739, 3111858.174067201092839 ], [ 10365113.523729322478175, 3108527.87911575846374 ], [ 10342623.869643338024616, 3112790.587921919301152 ], [ 10330761.88734338991344, 3110392.827266737818718 ], [ 10317322.95313686132431, 3116986.777144371997565 ], [ 10304981.072512101382017, 3116786.97187518235296 ], [ 10286468.195915218442678, 3111325.269016531296074 ], [ 10253556.477142693474889, 3105330.756857035215944 ], [ 10255270.68598142080009, 3118452.060843839775771 ], [ 10246288.53890829347074, 3130041.462549389339983 ], [ 10244985.766907541081309, 3144494.871839169412851 ], [ 10255407.83159407787025, 3157616.081099029630423 ], [ 10242585.941325018182397, 3182926.286813486833125 ], [ 10223524.593596994876862, 3184791.161780539900064 ], [ 10213993.864073237404227, 3181394.371453950181603 ], [ 10195206.807570530101657, 3191118.705901299137622 ], [ 10193629.744344461709261, 3205039.305237188003957 ], [ 10201583.410642148926854, 3219559.253503173589706 ], [ 10198155.104284189641476, 3235278.121124534867704 ], [ 10184236.27175285294652, 3241072.815545704215765 ], [ 10181836.446170331910253, 3249331.979474626947194 ], [ 10164557.76876787096262, 3256258.966966429259628 ], [ 10158112.592889923602343, 3245269.014152720104903 ], [ 10148170.537847684696317, 3245002.562364222481847 ], [ 10142685.269938847050071, 3229616.695890246890485 ], [ 10126160.782086510211229, 3236410.461480058263987 ], [ 10125817.91805486753583, 3243137.672004176303744 ], [ 10118549.979820465669036, 3242205.13365171616897 ], [ 10108059.342327600345016, 3254060.945616574026644 ], [ 10096883.088090935721993, 3258590.071175336372107 ], [ 10084609.78027250431478, 3251663.154802248347551 ], [ 10075970.49723101966083, 3256791.813115980941802 ], [ 10061502.970929563045502, 3256658.599615456070751 ], [ 10051766.634306311607361, 3268447.767294930294156 ], [ 10044567.157558746635914, 3267248.870412935502827 ], [ 10032636.713771959766746, 3273043.471771838143468 ], [ 10022488.94031073525548, 3266249.786716573871672 ], [ 10016112.337239114567637, 3272843.664454168174416 ], [ 10008295.816554084420204, 3271777.991164296399802 ], [ 9995336.780672365799546, 3279371.012712345458567 ], [ 9987588.832793666049838, 3270445.954647514037788 ], [ 9974835.51533093303442, 3269380.217958581633866 ], [ 9958859.609929226338863, 3252995.236535828094929 ], [ 9949260.418918631970882, 3233346.557947177439928 ], [ 9934038.703067051246762, 3223355.834951829630882 ], [ 9928004.96402707323432, 3207903.300539303570986 ], [ 9922108.259280262514949, 3202841.345131708309054 ], [ 9925605.138444552198052, 3195448.065353314392269 ], [ 9918062.797665344551206, 3182526.667632214725018 ], [ 9927799.245608085766435, 3170271.177735374774784 ], [ 9916074.408920794725418, 3159414.550324462354183 ], [ 9913811.728950930759311, 3152820.50569277536124 ], [ 9904761.009071474894881, 3150622.558305591344833 ], [ 9897630.105130240321159, 3157749.339457928668708 ], [ 9898590.124418839812279, 3164210.143648466095328 ], [ 9886179.670987751334906, 3174267.486706981901079 ], [ 9881928.490953849628568, 3194582.185141504742205 ], [ 9890979.210833303630352, 3207570.328997388016433 ], [ 9895024.67244822345674, 3229683.296129741705954 ], [ 9889950.730057865381241, 3249798.23296401463449 ], [ 9881174.301403723657131, 3257590.995450828690082 ], [ 9871369.391974141821265, 3257590.995450828690082 ], [ 9867941.085616182535887, 3262986.046873536892235 ], [ 9859027.511349383741617, 3259455.979561338201165 ], [ 9857793.312154958024621, 3252462.41337709967047 ], [ 9849428.209019297733903, 3253261.719018223695457 ], [ 9840788.925977813079953, 3246068.274795468896627 ], [ 9824401.583738135173917, 3241339.316395056899637 ], [ 9813568.193533116951585, 3243670.507742724847049 ], [ 9808562.82394908554852, 3231947.897614624816924 ], [ 9776816.731564661487937, 3239873.941256093792617 ], [ 9765777.62294065579772, 3224155.070691635366529 ], [ 9750487.445602236315608, 3229883.098797341808677 ], [ 9735951.457813942804933, 3226419.636898659169674 ], [ 9731631.704973708838224, 3231215.191313880495727 ], [ 9725323.674708416685462, 3226819.275562385562807 ], [ 9716067.236409975215793, 3229483.496385766193271 ], [ 9710170.531663164496422, 3225420.528432869818062 ], [ 9697965.796651061624289, 3228883.988801898434758 ], [ 9688709.358352620154619, 3242205.13365171616897 ], [ 9677601.676922284066677, 3243337.419948305469006 ], [ 9669716.583430925384164, 3251796.31926244078204 ], [ 9657717.566837809979916, 3253128.414065091870725 ], [ 9651409.42525302618742, 3261787.129088133107871 ], [ 9645581.404632035642862, 3257724.218113743234426 ], [ 9636804.864658402279019, 3261987.025478531140834 ], [ 9630771.125618426129222, 3243270.878982515539974 ], [ 9623571.648870861157775, 3237476.131316280458122 ], [ 9599299.213139824569225, 3245735.254322084598243 ], [ 9594773.853200096637011, 3270046.293538580648601 ], [ 9582706.263800650835037, 3251263.543159888125956 ], [ 9587437.342159366235137, 3239274.480696253478527 ], [ 9579483.675861677154899, 3236410.461480058263987 ], [ 9567827.411980714648962, 3241072.815545704215765 ], [ 9571255.71833867393434, 3247000.699885308276862 ], [ 9562479.289684532210231, 3255726.015614511445165 ], [ 9557268.31300100684166, 3270712.275675453711301 ], [ 9546023.485958015546203, 3277705.934991938993335 ], [ 9542389.461181068792939, 3295955.825050314422697 ], [ 9538138.392466655001044, 3296422.046607869677246 ], [ 9534572.940496038645506, 3284766.049497938714921 ], [ 9520722.569451538845897, 3289961.291192798409611 ], [ 9508449.261633109301329, 3289561.683233392890543 ], [ 9492473.356231402605772, 3284632.812685831915587 ], [ 9485479.59790282510221, 3291759.6740448391065 ], [ 9474783.353310462087393, 3292492.375385338906199 ], [ 9474234.770859831944108, 3307278.774248831905425 ], [ 9483285.490739289671183, 3317869.069026875309646 ], [ 9483971.218802576884627, 3327859.789620938710868 ], [ 9476223.159604383632541, 3334453.847559137269855 ], [ 9468475.211725680157542, 3334254.010337080806494 ], [ 9460110.219909511506557, 3323130.920118662063032 ], [ 9446259.848865011706948, 3320733.081746999640018 ], [ 9428569.845944071188569, 3329058.789036999456584 ], [ 9423290.18513472750783, 3339382.594256206415594 ], [ 9404640.274244675412774, 3341980.192805752623826 ], [ 9396275.171109015122056, 3357099.729640823788941 ], [ 9376939.532155677676201, 3361562.283215909264982 ], [ 9378516.595381746068597, 3379545.762082314584404 ], [ 9372482.745022278279066, 3381344.087046854197979 ], [ 9373922.662635689601302, 3390735.435974057763815 ], [ 9363843.461980793625116, 3412182.396158907562494 ], [ 9351090.144518062472343, 3412781.902868776582181 ], [ 9341628.099120125174522, 3417044.59458098327741 ], [ 9320509.678521733731031, 3406787.437461448833346 ], [ 9312556.012224044650793, 3396929.830719385761768 ], [ 9300625.568437257781625, 3401259.145914621651173 ], [ 9269222.340084474533796, 3448549.059495686087757 ], [ 9253863.478620236739516, 3455276.237778019160032 ], [ 9249406.691486835479736, 3452878.447999547701329 ], [ 9233773.650116773322225, 3465666.688946111593395 ], [ 9220677.57994188927114, 3463468.6556107387878 ], [ 9206552.917672075331211, 3483983.205096738412976 ], [ 9197639.343405276536942, 3482318.048387824557722 ], [ 9190645.58507669903338, 3497837.103644126094878 ], [ 9183651.826748119667172, 3496838.057642277795821 ], [ 9174121.208543853834271, 3505097.181474551558495 ], [ 9155676.904753297567368, 3512756.808648314792663 ], [ 9147997.529680924490094, 3512290.52044176356867 ], [ 9151288.690426226705313, 3522014.977770576719195 ], [ 9140935.198546018451452, 3532738.370357592590153 ], [ 9139838.144964249804616, 3548190.874676906503737 ], [ 9127221.973114175722003, 3545127.002008135430515 ], [ 9113988.757326634600759, 3551587.734846665058285 ], [ 9101372.585476560518146, 3553186.368852416053414 ], [ 9087042.316107250750065, 3561112.337164182215929 ], [ 9079911.412166016176343, 3558781.183868088293821 ], [ 9078745.785777920857072, 3551121.563894552644342 ], [ 9062152.836438747122884, 3555584.11914799362421 ], [ 9064484.089214939624071, 3542862.496779974084347 ], [ 9060712.918825335800648, 3529208.365130465943366 ], [ 9054267.742947386577725, 3522947.383698847144842 ], [ 9046862.547780837863684, 3523280.429995126090944 ], [ 9049536.664588671177626, 3515754.066860659047961 ], [ 9041994.435128955170512, 3504231.255828019231558 ], [ 9031572.370442418381572, 3505629.929793739691377 ], [ 9020738.980237398296595, 3535336.102248389739543 ], [ 8996535.11731268838048, 3544927.240877870004624 ], [ 8985633.154301341623068, 3556982.791607550811023 ], [ 8976033.851971255615354, 3562644.251618034671992 ], [ 8966708.840866483747959, 3561378.855960254091769 ], [ 8941408.035679496824741, 3576298.453774814959615 ], [ 8929408.90776688978076, 3579095.913650049362332 ], [ 8919466.852724652737379, 3575565.833415998611599 ], [ 8910416.132845195010304, 3581360.482503117062151 ], [ 8902256.748128520324826, 3592017.380989567842335 ], [ 8901228.267353082075715, 3603073.859629544895142 ], [ 8893411.746668051928282, 3613930.600586070679128 ], [ 8887240.862015416845679, 3613397.659054616000503 ], [ 8878670.040460770949721, 3624520.776476903818548 ], [ 8868659.412612203508615, 3630182.288145225029439 ], [ 8860774.319120842963457, 3623122.185496618039906 ], [ 8850557.972853291779757, 3636310.015036197379231 ], [ 8841781.544199150055647, 3635111.166953308973461 ], [ 8841164.388942191377282, 3641505.283384399022907 ], [ 8829439.663574390113354, 3635044.531605504918844 ], [ 8831222.333899954333901, 3628783.577843382954597 ], [ 8819566.181338481605053, 3626186.00224226154387 ], [ 8814492.238948123529553, 3634778.123691875487566 ], [ 8804893.047937527298927, 3631847.495491853915155 ], [ 8795362.318413771688938, 3638507.966719550546259 ], [ 8793990.973606688901782, 3653427.679382311645895 ], [ 8779249.267399407923222, 3673475.899183755274862 ], [ 8776643.834717391058803, 3670278.78332093032077 ], [ 8766975.959580976516008, 3679004.158609590027481 ], [ 8771089.882682733237743, 3689527.879378073383123 ], [ 8764164.80847997404635, 3694989.514145305380225 ], [ 8765330.434868071228266, 3702116.331247225869447 ], [ 8777055.160235874354839, 3712240.269850771874189 ], [ 8767867.294743759557605, 3719899.965967833530158 ], [ 8761559.264478467404842, 3734286.799644084647298 ], [ 8755731.132537987083197, 3739948.190733076073229 ], [ 8765261.862061742693186, 3748273.832662540953606 ], [ 8767798.721937431022525, 3756333.129022632725537 ], [ 8749697.282178517431021, 3766590.349761977326125 ], [ 8740783.707911718636751, 3779578.471868295222521 ], [ 8735229.86719655059278, 3780111.355185056570917 ], [ 8730841.65286948159337, 3791167.916182776447386 ], [ 8739823.799942607060075, 3803822.888910630252212 ], [ 8733995.668002126738429, 3813280.915230323560536 ], [ 8735572.731228195130825, 3820607.44493826571852 ], [ 8726933.448186710476875, 3833129.362642489373684 ], [ 8740646.562299061566591, 3843120.161151808686554 ], [ 8752851.408630654215813, 3846317.210609884001315 ], [ 8765467.469161236658692, 3856041.605941135901958 ], [ 8769924.36761412769556, 3843386.57097724173218 ], [ 8767593.114837935194373, 3837525.353996744845062 ], [ 8773146.955553103238344, 3820740.660366775933653 ], [ 8790974.104086700826883, 3806953.388155083172023 ], [ 8794882.308769470080733, 3812681.437739213462919 ], [ 8805715.810293981805444, 3811948.740064044948667 ], [ 8809349.835070926696062, 3825469.719915457069874 ], [ 8822308.759633153676987, 3831330.920057398732752 ], [ 8828548.328411608934402, 3841921.258998069912195 ], [ 8824640.012409346178174, 3852644.735199299175292 ], [ 8827794.027541993185878, 3859371.966883678920567 ], [ 8819223.317306837067008, 3866765.074070455506444 ], [ 8822720.196471126750112, 3887679.19270585430786 ], [ 8812366.704590916633606, 3896870.851797749754041 ], [ 8809761.160589409992099, 3910924.617196768522263 ], [ 8812298.131784588098526, 3917385.334877710323781 ], [ 8802287.50393602065742, 3925644.461441719438881 ], [ 8796733.663220852613449, 3938299.406851138453931 ], [ 8777192.305848531424999, 3951354.138236538507044 ], [ 8765536.041967567056417, 3969004.536247524432838 ], [ 8766975.959580976516008, 3978329.3429657923989 ], [ 8759982.201252399012446, 3985456.187721339985728 ], [ 8769718.649195143952966, 3992915.927003457676619 ], [ 8767318.823612621054053, 4000775.383142380975187 ], [ 8765810.333192881196737, 4026218.722449988592416 ], [ 8756005.423763301223516, 4032879.226923809852451 ], [ 8756553.894894437864423, 4040472.248892653267831 ], [ 8766427.488449839875102, 4041271.632144865114242 ], [ 8771227.028295390307903, 4046600.04847055580467 ], [ 8785968.734502673149109, 4049730.497806855943054 ], [ 8792208.303281124681234, 4071643.733036548364908 ], [ 8798653.479159073904157, 4073775.121839351952076 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 610000, "name": "陕西省", "adchar": null, "childrenNum": 10.0, "level": "province", "subFeatureIndex": 26.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 11943298.293667368590832, 4440238.670978202484548 ], [ 11943298.293667368590832, 4440238.670978202484548 ], [ 11941104.186503835022449, 4452960.329372161999345 ], [ 11948646.415963552892208, 4462218.4083221424371 ], [ 11939869.987309411168098, 4486196.401486812159419 ], [ 11942818.284023070707917, 4506511.074887381866574 ], [ 11949263.571220509707928, 4511173.522795628756285 ], [ 11950017.760770635679364, 4524228.165040235035121 ], [ 11965170.903815887868404, 4538015.577840297482908 ], [ 11966747.855722464621067, 4546407.914133210666478 ], [ 11980255.362735319882631, 4547806.613630781881511 ], [ 11983546.523480623960495, 4560328.360774055123329 ], [ 12020503.703868065029383, 4549405.095858449116349 ], [ 12025303.243713617324829, 4530089.4538593608886 ], [ 12037439.517238879576325, 4526159.778116977773607 ], [ 12046901.562636816874146, 4531688.034099956043065 ], [ 12056363.719354245811701, 4528490.977741634473205 ], [ 12071585.323886334896088, 4530755.487496695481241 ], [ 12081801.670153887942433, 4535817.578927452675998 ], [ 12090578.210127523168921, 4530688.980645233765244 ], [ 12109090.975404916331172, 4534818.552084415219724 ], [ 12111559.373793765902519, 4548938.864127889275551 ], [ 12111353.655374780297279, 4570052.784455493092537 ], [ 12114576.243313753977418, 4577912.25329646281898 ], [ 12111285.082568449899554, 4586171.363818362355232 ], [ 12119513.040091453120112, 4583307.271015238016844 ], [ 12126986.696744842454791, 4568254.408538772724569 ], [ 12135763.236718473955989, 4575181.483792648650706 ], [ 12141522.7958526276052, 4592299.091170569881797 ], [ 12129797.959165336564183, 4601357.346776484511793 ], [ 12126986.696744842454791, 4608750.60756085626781 ], [ 12139602.868594916537404, 4640654.711399781517684 ], [ 12153727.530864730477333, 4653243.105456806719303 ], [ 12164629.49387607909739, 4667829.771221002563834 ], [ 12174708.694530973210931, 4668429.225500268861651 ], [ 12171554.679398328065872, 4679019.447335586883128 ], [ 12178822.728952219709754, 4681750.262192680500448 ], [ 12190753.172739008441567, 4697868.866955078206956 ], [ 12195004.241453422233462, 4693872.42819581925869 ], [ 12203300.7717827539891, 4700866.047449175268412 ], [ 12209951.666079688817263, 4712455.455258833244443 ], [ 12207894.704528810456395, 4719049.304648514837027 ], [ 12240806.42330133356154, 4749155.05622429586947 ], [ 12269398.389233622699976, 4762009.904432630166411 ], [ 12261444.722935933619738, 4787120.142991543747485 ], [ 12272278.224460445344448, 4782524.351678676903248 ], [ 12288665.455380631610751, 4766405.831851554103196 ], [ 12293533.679352002218366, 4776396.730699006468058 ], [ 12303955.744038542732596, 4776263.512939079664648 ], [ 12312389.308661038056016, 4761477.086149089969695 ], [ 12323359.955798206850886, 4760944.296042665839195 ], [ 12327542.451706293970346, 4772200.571085004135966 ], [ 12344478.265077108517289, 4794979.693816944025457 ], [ 12371424.706296490505338, 4806036.155720642767847 ], [ 12373001.769522558897734, 4798110.056103021837771 ], [ 12363608.185611460357904, 4779260.691409952938557 ], [ 12370464.798327380791306, 4774331.98176458850503 ], [ 12384040.878146566450596, 4765073.761026302352548 ], [ 12374647.294235466048121, 4743560.161230243742466 ], [ 12371904.715940792113543, 4730971.77877719886601 ], [ 12354283.17450668849051, 4717384.260946567170322 ], [ 12357505.762445662170649, 4699867.03206111304462 ], [ 12343106.920270025730133, 4667163.673000042326748 ], [ 12347563.707403425127268, 4661968.456830737181008 ], [ 12342489.876332558691502, 4643718.44673181604594 ], [ 12331724.947614377364516, 4641920.11818113271147 ], [ 12328296.641256416216493, 4631263.260288912802935 ], [ 12318766.023052152246237, 4623137.380770412273705 ], [ 12309441.011947380378842, 4621472.294327515177429 ], [ 12308138.239946626126766, 4609882.879014299251139 ], [ 12301830.209681333974004, 4606619.293644901365042 ], [ 12300938.763199063017964, 4583906.765331183560193 ], [ 12303338.588781584054232, 4573050.017620165832341 ], [ 12311292.25507927313447, 4568387.621335196308792 ], [ 12319040.202957974746823, 4551669.645189238712192 ], [ 12329599.413257170468569, 4543344.021689266897738 ], [ 12323771.281316688284278, 4537882.331279378384352 ], [ 12333781.909165255725384, 4531954.511377119459212 ], [ 12333644.874872088432312, 4518300.362801515497267 ], [ 12328090.922837430611253, 4502115.156532217748463 ], [ 12316846.095794439315796, 4499917.257244225591421 ], [ 12315337.716694191098213, 4491258.429746882990003 ], [ 12322537.082122264429927, 4487928.190622302703559 ], [ 12321988.610991125926375, 4479202.835352906025946 ], [ 12304709.933588664978743, 4458355.37441847845912 ], [ 12294630.732933770865202, 4440105.403511323966086 ], [ 12287774.120217848569155, 4442170.261649876832962 ], [ 12292505.198576563969254, 4433578.04580138809979 ], [ 12291476.717801123857498, 4409999.770729195326567 ], [ 12294905.024159085005522, 4402606.536179035902023 ], [ 12289076.892218602821231, 4394147.673001998104155 ], [ 12300458.864874253049493, 4381026.293693030253053 ], [ 12301213.054424375295639, 4367971.658670552074909 ], [ 12296276.368966165930033, 4346258.283372601494193 ], [ 12297921.893679074943066, 4334802.150802969001234 ], [ 12294905.024159085005522, 4323279.300690884701908 ], [ 12302104.389587158337235, 4284115.362974835559726 ], [ 12306286.996814733371139, 4283782.335648652166128 ], [ 12309441.011947380378842, 4259604.475261945277452 ], [ 12313006.463917996734381, 4250146.537724268622696 ], [ 12303681.452813226729631, 4224103.760871232487261 ], [ 12298333.3305170442909, 4220240.588425653986633 ], [ 12295247.776871237903833, 4208517.974794507957995 ], [ 12289008.319412276148796, 4200858.437164759263396 ], [ 12281397.517146229743958, 4165890.548070767428726 ], [ 12273786.603560693562031, 4155033.755882806610316 ], [ 12271044.025266019627452, 4137183.509019830264151 ], [ 12272003.933235129341483, 4120798.618077911436558 ], [ 12279683.308307504281402, 4110741.154653680045158 ], [ 12287362.68337987549603, 4109742.097777440678328 ], [ 12285305.721828998997808, 4098419.080370185896754 ], [ 12290036.800187714397907, 4087162.778911385685205 ], [ 12290036.800187714397907, 4087162.778911385685205 ], [ 12301213.054424375295639, 4074174.700852014124393 ], [ 12292642.344189221039414, 4065849.010846745222807 ], [ 12294082.26180263236165, 4061519.592483337968588 ], [ 12316640.488694943487644, 4050396.539067928213626 ], [ 12310880.929560791701078, 4041804.361465409398079 ], [ 12319657.358214933425188, 4020623.815433389041573 ], [ 12310538.065529147163033, 4013763.537677630782127 ], [ 12332273.530065005645156, 4001374.811286341864616 ], [ 12342832.629044711589813, 3979927.932401003781706 ], [ 12356888.718508196994662, 3972334.836762345395982 ], [ 12359425.689703375101089, 3959013.78957795444876 ], [ 12359014.25286540389061, 3958547.482701146509498 ], [ 12359014.25286540389061, 3958480.888033204711974 ], [ 12359425.689703375101089, 3958414.293748778291047 ], [ 12356065.956151744350791, 3953285.683854660950601 ], [ 12359357.11689704656601, 3939231.87639671145007 ], [ 12354763.184150990098715, 3929241.068909758236259 ], [ 12336936.035617392510176, 3916319.647020786069334 ], [ 12328159.495643759146333, 3914854.2525431108661 ], [ 12323359.955798206850886, 3908193.754150363150984 ], [ 12311292.25507927313447, 3917718.33243935322389 ], [ 12305395.661651954054832, 3929307.762125134468079 ], [ 12297304.849741606041789, 3919383.46295128390193 ], [ 12269466.962039951235056, 3916985.723761973436922 ], [ 12263501.795806303620338, 3923113.447295428719372 ], [ 12248622.943986363708973, 3920782.250042712315917 ], [ 12228670.149776069447398, 3928242.047647952567786 ], [ 12215368.361182199791074, 3926043.970453508663923 ], [ 12202820.762138452380896, 3931905.36770459683612 ], [ 12193632.896646339446306, 3927709.227019009646028 ], [ 12182662.360828662291169, 3915520.378555216826499 ], [ 12197952.649486571550369, 3909925.437147295102477 ], [ 12210431.675723990425467, 3910791.308503715787083 ], [ 12222293.546704446896911, 3904197.418057112954557 ], [ 12218933.813152816146612, 3883283.300598767120391 ], [ 12243891.865627650171518, 3880219.377604527864605 ], [ 12257262.227027848362923, 3872759.660154410637915 ], [ 12262884.640549344941974, 3864433.941886890213937 ], [ 12262610.349324028939009, 3853310.778710909187794 ], [ 12268095.728552360087633, 3846716.803404829930514 ], [ 12262267.596611877903342, 3841454.971313799731433 ], [ 12254656.68302633985877, 3844052.621777870692313 ], [ 12247114.453566625714302, 3835327.286625545006245 ], [ 12235184.009779836982489, 3841388.379161772318184 ], [ 12224761.945093298330903, 3839323.679746406618506 ], [ 12214751.317244732752442, 3843453.174370566383004 ], [ 12204123.534139206632972, 3842320.835512628313154 ], [ 12204740.689396165311337, 3834528.09043996501714 ], [ 12197884.076680244877934, 3829998.832983072847128 ], [ 12189793.264769898727536, 3814546.402155177667737 ], [ 12188970.502413446083665, 3802823.77853529388085 ], [ 12199803.892618464305997, 3792166.973495303187519 ], [ 12203026.480557437986135, 3777313.916110804770142 ], [ 12199598.174199480563402, 3764991.862336695659906 ], [ 12204123.534139206632972, 3758331.311063371598721 ], [ 12198912.557455683127046, 3750272.122275170404464 ], [ 12204877.723689330741763, 3738549.460444976110011 ], [ 12199049.703068340197206, 3727493.035501297563314 ], [ 12165178.076326709240675, 3726227.521127506159246 ], [ 12164286.629844434559345, 3737217.430534416344017 ], [ 12155578.773996621370316, 3739415.378176053985953 ], [ 12152081.894832331687212, 3747208.152241670060903 ], [ 12132540.537460010498762, 3760595.968094398267567 ], [ 12122941.346449414268136, 3761328.549422590993345 ], [ 12104222.862753033638, 3777313.916110804770142 ], [ 12097366.250037113204598, 3776980.906059263274074 ], [ 12079264.810278203338385, 3789769.139268568716943 ], [ 12074739.45033847168088, 3798827.514683877117932 ], [ 12057323.627323355525732, 3793832.12285864027217 ], [ 12050467.014607436954975, 3799227.094063335563987 ], [ 12042444.775503419339657, 3792500.011140606366098 ], [ 12030377.186103973537683, 3793965.302711097989231 ], [ 12020229.412642749026418, 3782509.097293948289007 ], [ 12001579.390433207154274, 3795896.840534893795848 ], [ 11995202.787361588329077, 3807819.245002998970449 ], [ 11989991.810678062960505, 3806953.388155083172023 ], [ 11986906.257032254710793, 3815678.731497012544423 ], [ 11970519.02611206844449, 3813747.152423173189163 ], [ 11962016.777363751083612, 3818276.284569905605167 ], [ 11959754.097393887117505, 3833062.685223404318094 ], [ 11953720.358353910967708, 3834461.405156221240759 ], [ 11946109.444768372923136, 3827800.839971472509205 ], [ 11940555.604053204879165, 3816344.679513081442565 ], [ 11925333.999521115794778, 3826801.826752968598157 ], [ 11920122.911518100649118, 3834727.884436115156859 ], [ 11923208.46516390889883, 3842454.162820026278496 ], [ 11918614.532417852431536, 3856707.70878797583282 ], [ 11891530.945585813373327, 3856241.498995021916926 ], [ 11881520.317737244069576, 3860770.62564673088491 ], [ 11873703.797052213922143, 3854309.91440580226481 ], [ 11865064.40269123762846, 3853976.859782275743783 ], [ 11846757.244513340294361, 3844518.879643705207855 ], [ 11838597.971116155385971, 3851712.258020204957575 ], [ 11819262.332162817940116, 3855242.332134065683931 ], [ 11808360.257831979542971, 3862635.629706812091172 ], [ 11808360.257831979542971, 3863234.992492061108351 ], [ 11808428.830638308078051, 3864034.278536678291857 ], [ 11807948.932313498109579, 3864034.278536678291857 ], [ 11810280.185089690610766, 3871960.311562029644847 ], [ 11802737.84431048296392, 3876489.523511561565101 ], [ 11780385.335837157443166, 3872093.576713212765753 ], [ 11780111.044611841440201, 3864833.618791742715985 ], [ 11768592.037663027644157, 3863434.875108730513602 ], [ 11754947.385037515312433, 3855442.211655002087355 ], [ 11751313.36026056855917, 3858839.093600604217499 ], [ 11744113.883513003587723, 3883616.257051569409668 ], [ 11754261.656974226236343, 3878953.869936046656221 ], [ 11770443.280794920399785, 3882750.404287853743881 ], [ 11790670.254911039024591, 3894472.94984567258507 ], [ 11792178.745330777019262, 3918917.282230253331363 ], [ 11796018.377207219600677, 3922513.940605582203716 ], [ 11784567.831745240837336, 3926443.62626730883494 ], [ 11771814.625602001324296, 3935035.75366005115211 ], [ 11769071.935987837612629, 3947291.221061940770596 ], [ 11780933.918287787586451, 3946225.454589976929128 ], [ 11782305.151775378733873, 3960545.634600379969925 ], [ 11794989.896431781351566, 3976930.675639994442463 ], [ 11814256.962578790262341, 3975798.418194640427828 ], [ 11820702.138456739485264, 3968072.069398755673319 ], [ 11833661.174338456243277, 3975798.418194640427828 ], [ 11849637.079740162938833, 3976997.243169408291578 ], [ 11850734.133321929723024, 3966273.733782862313092 ], [ 11860127.717233030125499, 3963609.533319077454507 ], [ 11864515.931560099124908, 3972001.870329234749079 ], [ 11859921.998814042657614, 3987387.697780473157763 ], [ 11853339.677323436364532, 3990651.31982205575332 ], [ 11851282.604453068226576, 4000575.670020037796348 ], [ 11854779.483617356047034, 4008168.690241447649896 ], [ 11845591.618125243112445, 4016227.870467627421021 ], [ 11852653.949260151013732, 4024886.685394381638616 ], [ 11855739.391586467623711, 4042870.163829989731312 ], [ 11864995.82988490909338, 4048864.608382840175182 ], [ 11858482.081200631335378, 4068046.947800367604941 ], [ 11873772.369858542457223, 4061519.592483337968588 ], [ 11879737.536092191934586, 4078504.109287752769887 ], [ 11869384.04421198181808, 4084032.354888717178255 ], [ 11867807.092305403202772, 4089960.207726498134434 ], [ 11850528.414902944117785, 4100417.298119045328349 ], [ 11837089.480696415528655, 4098552.292856606654823 ], [ 11834826.800726553425193, 4106811.439505838789046 ], [ 11846551.637413842603564, 4115536.701891978271306 ], [ 11856150.828424440696836, 4129523.93588272575289 ], [ 11863898.776303142309189, 4132654.324265327770263 ], [ 11854779.483617356047034, 4155899.709705598186702 ], [ 11854916.629230014979839, 4164691.657380857970566 ], [ 11854916.629230014979839, 4164691.657380857970566 ], [ 11863830.203496813774109, 4176014.582169423345476 ], [ 11878983.346542065963149, 4177546.413319954648614 ], [ 11893176.470298716798425, 4174749.032047602813691 ], [ 11900238.801433624699712, 4176747.206170240882784 ], [ 11920397.202743414789438, 4167156.040607606526464 ], [ 11921151.503613032400608, 4160695.246760409791023 ], [ 11932259.18504336476326, 4149372.291193855460733 ], [ 11939252.943371942266822, 4147707.142841125372797 ], [ 11943092.575248384848237, 4154634.138929253909737 ], [ 11969490.545336630195379, 4151636.99348466610536 ], [ 11973741.614051042124629, 4159363.111899057403207 ], [ 11981763.853155059739947, 4157165.152695026714355 ], [ 12000756.628076754510403, 4158031.000647404696792 ], [ 12007338.949567360803485, 4163359.45153623027727 ], [ 11995477.078586902469397, 4174216.219171831384301 ], [ 11987591.985095541924238, 4193531.771281201392412 ], [ 11983752.241899609565735, 4196529.076238617300987 ], [ 11994174.306586150079966, 4206320.067368758842349 ], [ 12007750.386405332013965, 4198727.080290094017982 ], [ 12027977.360521452501416, 4198460.570308006368577 ], [ 12041964.877178609371185, 4205454.122036218643188 ], [ 12049232.815413009375334, 4198727.080290094017982 ], [ 12061780.414456756785512, 4202790.006491938605905 ], [ 12076933.557502008974552, 4201324.628298520110548 ], [ 12090920.962839676067233, 4208651.282210178673267 ], [ 12092772.317291056737304, 4220906.621830359101295 ], [ 12091332.399677645415068, 4239822.635032566264272 ], [ 12082555.971023503690958, 4246483.124142973683774 ], [ 12080087.572634655982256, 4261602.616152511909604 ], [ 12080910.334991106763482, 4278587.109772440977395 ], [ 12077962.038277447223663, 4283582.441714675165713 ], [ 12088041.238932345062494, 4293773.055853207595646 ], [ 12095583.468392059206963, 4294106.114287804812193 ], [ 12101823.037170512601733, 4319749.289615740999579 ], [ 12094417.842003963887691, 4335667.933963498100638 ], [ 12095034.997260922566056, 4353718.065511958673596 ], [ 12091400.972483973950148, 4360511.802255182527006 ], [ 12079333.383084530010819, 4366106.762102633714676 ], [ 12077619.174245804548264, 4358913.263802209869027 ], [ 12067882.837622553110123, 4363842.047806802205741 ], [ 12060409.069649673998356, 4377829.293335201218724 ], [ 12051701.213801860809326, 4376497.133572946302593 ], [ 12044158.984342144802213, 4387020.904433599673212 ], [ 12040730.677984183654189, 4378495.366071223281324 ], [ 12023383.427775396034122, 4385755.280609889887273 ], [ 12023040.563743751496077, 4395013.537889475002885 ], [ 12015772.625509349629283, 4391217.051156484521925 ], [ 12012207.173538733273745, 4404538.106493233703077 ], [ 11991431.616971982643008, 4411598.317692896351218 ], [ 11971341.788468521088362, 4415261.603942607529461 ], [ 11964416.60294627211988, 4426384.754029558040202 ], [ 11945698.119249893352389, 4426917.562567437067628 ], [ 11943298.293667368590832, 4440238.670978202484548 ] ] ], [ [ [ 11808360.257831979542971, 3862635.629706812091172 ], [ 11807948.932313498109579, 3864034.278536678291857 ], [ 11808428.830638308078051, 3864034.278536678291857 ], [ 11808360.257831979542971, 3863234.992492061108351 ], [ 11808360.257831979542971, 3862635.629706812091172 ] ] ], [ [ [ 12359014.25286540389061, 3958480.888033204711974 ], [ 12359014.25286540389061, 3958547.482701146509498 ], [ 12359425.689703375101089, 3959013.78957795444876 ], [ 12359425.689703375101089, 3958414.293748778291047 ], [ 12359014.25286540389061, 3958480.888033204711974 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 620000, "name": "甘肃省", "adchar": null, "childrenNum": 14.0, "level": "province", "subFeatureIndex": 27.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 11854916.629230014979839, 4164691.657380857970566 ], [ 11854916.629230014979839, 4164691.657380857970566 ], [ 11854779.483617356047034, 4155899.709705598186702 ], [ 11863898.776303142309189, 4132654.324265327770263 ], [ 11856150.828424440696836, 4129523.93588272575289 ], [ 11846551.637413842603564, 4115536.701891978271306 ], [ 11834826.800726553425193, 4106811.439505838789046 ], [ 11837089.480696415528655, 4098552.292856606654823 ], [ 11850528.414902944117785, 4100417.298119045328349 ], [ 11867807.092305403202772, 4089960.207726498134434 ], [ 11869384.04421198181808, 4084032.354888717178255 ], [ 11879737.536092191934586, 4078504.109287752769887 ], [ 11873772.369858542457223, 4061519.592483337968588 ], [ 11858482.081200631335378, 4068046.947800367604941 ], [ 11864995.82988490909338, 4048864.608382840175182 ], [ 11855739.391586467623711, 4042870.163829989731312 ], [ 11852653.949260151013732, 4024886.685394381638616 ], [ 11845591.618125243112445, 4016227.870467627421021 ], [ 11854779.483617356047034, 4008168.690241447649896 ], [ 11851282.604453068226576, 4000575.670020037796348 ], [ 11853339.677323436364532, 3990651.31982205575332 ], [ 11859921.998814042657614, 3987387.697780473157763 ], [ 11864515.931560099124908, 3972001.870329234749079 ], [ 11860127.717233030125499, 3963609.533319077454507 ], [ 11850734.133321929723024, 3966273.733782862313092 ], [ 11849637.079740162938833, 3976997.243169408291578 ], [ 11833661.174338456243277, 3975798.418194640427828 ], [ 11820702.138456739485264, 3968072.069398755673319 ], [ 11814256.962578790262341, 3975798.418194640427828 ], [ 11794989.896431781351566, 3976930.675639994442463 ], [ 11782305.151775378733873, 3960545.634600379969925 ], [ 11780933.918287787586451, 3946225.454589976929128 ], [ 11769071.935987837612629, 3947291.221061940770596 ], [ 11771814.625602001324296, 3935035.75366005115211 ], [ 11784567.831745240837336, 3926443.62626730883494 ], [ 11796018.377207219600677, 3922513.940605582203716 ], [ 11792178.745330777019262, 3918917.282230253331363 ], [ 11790670.254911039024591, 3894472.94984567258507 ], [ 11770443.280794920399785, 3882750.404287853743881 ], [ 11754261.656974226236343, 3878953.869936046656221 ], [ 11744113.883513003587723, 3883616.257051569409668 ], [ 11734651.838115066289902, 3884948.442550192121416 ], [ 11732114.866919886320829, 3873425.648823819123209 ], [ 11739245.770861122757196, 3860504.220572160556912 ], [ 11727178.070142187178135, 3853244.252025377936661 ], [ 11700917.245666598901153, 3841521.563840352930129 ], [ 11691523.773074992001057, 3848981.505788322538137 ], [ 11675410.722060626372695, 3842454.162820026278496 ], [ 11671365.371765200048685, 3849447.693568279035389 ], [ 11659571.962271578609943, 3847049.917871947865933 ], [ 11648807.144872888922691, 3850513.410242493730038 ], [ 11642087.677769623696804, 3858506.043480504769832 ], [ 11628305.87953145429492, 3861969.456785284914076 ], [ 11617746.669232258573174, 3871760.549132536631078 ], [ 11609998.721353555098176, 3873492.289510631933808 ], [ 11609313.104609759524465, 3887745.914310467429459 ], [ 11619323.73245832696557, 3889077.905530809424818 ], [ 11624671.854754507541656, 3896737.570514088496566 ], [ 11614798.372518597170711, 3900400.968706145882607 ], [ 11619323.73245832696557, 3909792.272760249208659 ], [ 11611027.202128993347287, 3935768.433967775665224 ], [ 11625426.044304631650448, 3938632.470672129187733 ], [ 11609793.002934569492936, 3940031.176595149561763 ], [ 11601770.763830551877618, 3949156.081548014190048 ], [ 11594502.825596150010824, 3967539.284102188423276 ], [ 11596011.204696400091052, 3976797.408067145850509 ], [ 11582366.552070885896683, 3986788.330397525336593 ], [ 11562893.878824383020401, 3986255.481566144619137 ], [ 11552540.386944172903895, 3983058.371871011331677 ], [ 11535604.573573354631662, 3992249.882711958605796 ], [ 11523811.164079733192921, 3985722.5236502061598 ], [ 11524359.746530363336205, 4001841.114378335420042 ], [ 11504818.38915804028511, 3994381.333646006416529 ], [ 11497001.868473008275032, 4002840.226907416246831 ], [ 11482945.779009524732828, 4003972.472142115235329 ], [ 11486099.90546166151762, 4015495.287888492457569 ], [ 11479723.191070549190044, 4024553.532636688090861 ], [ 11479243.292745741084218, 4033478.728890073951334 ], [ 11485825.614236345514655, 4039539.862862599082291 ], [ 11479723.191070549190044, 4050529.725100215058774 ], [ 11462924.523312389850616, 4056391.053897074889392 ], [ 11463541.678569348528981, 4062318.977273841388524 ], [ 11456067.910596469417214, 4070911.076643193140626 ], [ 11443451.738746395334601, 4065516.002815908286721 ], [ 11421304.948692055419087, 4048331.81719020055607 ], [ 11427612.97895734757185, 4044069.041956896428019 ], [ 11407043.252129076048732, 4038607.41881100460887 ], [ 11403272.081739472225308, 4040538.918024781160057 ], [ 11398198.139349114149809, 4024886.685394381638616 ], [ 11389764.574726615101099, 4028017.078173916321248 ], [ 11381056.718878803774714, 4023887.524723656941205 ], [ 11369743.319029482081532, 4024153.950070526916534 ], [ 11380645.28204083070159, 4011365.698307656217366 ], [ 11381262.325978297740221, 4000375.826433192472905 ], [ 11387981.793081561103463, 3999643.185693782754242 ], [ 11392712.871440276503563, 3991983.529346160590649 ], [ 11392232.973115466535091, 3977130.51305373897776 ], [ 11403614.945771114900708, 3971868.659725523088127 ], [ 11406083.232840472832322, 3955150.576080606784672 ], [ 11398746.721799742430449, 3949422.514693270903081 ], [ 11384073.588398789986968, 3950821.322572272736579 ], [ 11375365.732550976797938, 3939498.348092881031334 ], [ 11378794.038908937945962, 3928308.60202650912106 ], [ 11367137.775027975440025, 3933503.813972314354032 ], [ 11364532.231026468798518, 3922513.940605582203716 ], [ 11347390.699236664921045, 3920116.089337232522666 ], [ 11339642.751357963308692, 3908993.052549442276359 ], [ 11336968.745869617909193, 3919849.662321026902646 ], [ 11328946.50676560215652, 3931039.390317812561989 ], [ 11341014.096165044233203, 3937300.405922610778362 ], [ 11341836.858521496877074, 3945959.094938581809402 ], [ 11348487.752818431705236, 3953552.078633261378855 ], [ 11344236.684104019775987, 3967472.637584321200848 ], [ 11337242.92577544040978, 3975531.910777968354523 ], [ 11328877.93395926989615, 3967006.38984171114862 ], [ 11325175.336375996470451, 3961344.938682794570923 ], [ 11312559.164525924250484, 3962144.164551818277687 ], [ 11308102.377392522990704, 3985256.339497148990631 ], [ 11299120.230319393798709, 3988986.208178201224655 ], [ 11286161.305757168680429, 3981193.377912324853241 ], [ 11269842.536323819309473, 3986588.459024370182306 ], [ 11261820.297219801694155, 3983258.18191898195073 ], [ 11264631.559640295803547, 4000109.418380435090512 ], [ 11260380.379606390371919, 4007968.848236100748181 ], [ 11243170.386329751461744, 4013963.346786473412067 ], [ 11221709.213019207119942, 4049663.909280687104911 ], [ 11217046.707466820254922, 4052861.002655173651874 ], [ 11223423.310538440942764, 4071510.433484143111855 ], [ 11231582.695255115628242, 4079303.346144063398242 ], [ 11241799.041522668674588, 4079236.718434096314013 ], [ 11249341.270982386544347, 4072243.128695311024785 ], [ 11269431.099485846236348, 4072576.199916392564774 ], [ 11280127.455397700890899, 4061786.092704250477254 ], [ 11302274.245452040806413, 4057123.714138213545084 ], [ 11312559.164525924250484, 4052794.395771563518792 ], [ 11325243.909182325005531, 4039539.862862599082291 ], [ 11337517.217000754550099, 4048997.776456179097295 ], [ 11349584.806400200352073, 4043536.206571353599429 ], [ 11350750.432788297533989, 4051329.008634199388325 ], [ 11361515.361506478860974, 4059454.865746739320457 ], [ 11362132.405443945899606, 4068313.466893593315035 ], [ 11371251.698129730299115, 4065382.775403371080756 ], [ 11375708.48526312969625, 4076572.471533726900816 ], [ 11380988.146072473376989, 4074974.036063957959414 ], [ 11381056.718878803774714, 4074974.036063957959414 ], [ 11380988.146072473376989, 4074974.036063957959414 ], [ 11381056.718878803774714, 4074974.036063957959414 ], [ 11377971.165232993662357, 4082566.966558284126222 ], [ 11377971.165232993662357, 4082566.966558284126222 ], [ 11371937.426193015649915, 4097153.640368286054581 ], [ 11355001.612822201102972, 4101283.090972525067627 ], [ 11345676.601717429235578, 4112606.154380049556494 ], [ 11345402.310492116957903, 4146974.52918339567259 ], [ 11359938.298280410468578, 4151770.161715500988066 ], [ 11365149.386283425614238, 4162093.983404013793916 ], [ 11378931.073202105239034, 4171818.401697600260377 ], [ 11387501.894756751134992, 4173616.784253041725606 ], [ 11389147.419469658285379, 4181409.651678912341595 ], [ 11399363.76573720946908, 4189868.487228382378817 ], [ 11395866.886572919785976, 4199659.575015496462584 ], [ 11385719.113111697137356, 4205387.555642300285399 ], [ 11389901.720339272171259, 4222971.499623090960085 ], [ 11399912.348187839612365, 4219507.943594428710639 ], [ 11404437.70812756754458, 4223504.346076525747776 ], [ 11410745.738392859697342, 4243419.352224480360746 ], [ 11437212.281287433579564, 4231363.687381830997765 ], [ 11444617.365134490653872, 4240288.837478292174637 ], [ 11430972.712508978322148, 4269328.817815477028489 ], [ 11441874.786839816719294, 4281717.491437999531627 ], [ 11461004.707374170422554, 4281517.635418018326163 ], [ 11462787.377699732780457, 4299967.386281292885542 ], [ 11452776.749851165339351, 4311956.463225803337991 ], [ 11459359.071341773495078, 4315086.83648129645735 ], [ 11464501.586538458243012, 4327342.342805660329759 ], [ 11473483.733611585572362, 4328674.359131101518869 ], [ 11468615.509640214964747, 4336067.581490489654243 ], [ 11447017.190717013552785, 4350054.776312030851841 ], [ 11447222.909136, 4349988.1499282149598 ], [ 11447154.336329670622945, 4350387.776186676695943 ], [ 11447017.190717013552785, 4350587.664000906050205 ], [ 11440297.723613748326898, 4365773.689976598136127 ], [ 11439406.388450969010592, 4379161.341642235405743 ], [ 11422127.711048508062959, 4394946.909049848094583 ], [ 11433029.785379348322749, 4410199.523848802782595 ], [ 11419933.603884972631931, 4420989.676146923564374 ], [ 11417053.879977641627192, 4427916.563609313219786 ], [ 11404711.999352881684899, 4434710.454032414592803 ], [ 11410951.456811845302582, 4441770.530805304646492 ], [ 11408963.068067297339439, 4450162.886501558125019 ], [ 11426104.599857097491622, 4453026.904297441244125 ], [ 11421373.521498383954167, 4463483.953854334540665 ], [ 11405534.761709336191416, 4473741.184554570354521 ], [ 11402243.600964032113552, 4482200.148647110909224 ], [ 11376531.358939073979855, 4497852.414117118343711 ], [ 11366040.721446206793189, 4506844.108234105631709 ], [ 11369126.163772525265813, 4515303.112518610432744 ], [ 11358566.953473327681422, 4526892.465118581429124 ], [ 11358635.526279658079147, 4535018.293534414842725 ], [ 11348624.898431090638041, 4541079.452093031257391 ], [ 11334088.910642795264721, 4530688.980645233765244 ], [ 11331414.905154449865222, 4536550.240663087926805 ], [ 11316673.198947170749307, 4541812.061395447701216 ], [ 11309748.01342491991818, 4555199.803157766349614 ], [ 11294389.151960682123899, 4560528.169162593781948 ], [ 11283624.334561990574002, 4550004.607588642276824 ], [ 11260037.626894239336252, 4562060.208151672966778 ], [ 11230759.932898662984371, 4586570.992078706622124 ], [ 11236382.346420159563422, 4602090.120239454321563 ], [ 11223834.747376414015889, 4601890.216291611082852 ], [ 11215263.925821768119931, 4613346.344431795179844 ], [ 11200865.083646129816771, 4617009.749949363991618 ], [ 11192774.271735783666372, 4614345.454701442271471 ], [ 11184820.605438094586134, 4620340.024889309890568 ], [ 11167404.893742468208075, 4626068.036990481428802 ], [ 11161028.179351357743144, 4631329.848182296380401 ], [ 11158696.926575165241957, 4641986.775223924778402 ], [ 11139087.10771600343287, 4652976.613767516799271 ], [ 11132093.349387424066663, 4645583.48673047311604 ], [ 11142309.695654977113008, 4637124.505707092583179 ], [ 11149509.061083050444722, 4623270.593651784583926 ], [ 11152320.323503544554114, 4610815.339547242969275 ], [ 11146012.293238254263997, 4612214.117656419053674 ], [ 11124962.445446189492941, 4627799.722949379123747 ], [ 11112689.137627758085728, 4631862.708850228227675 ], [ 11094039.226737707853317, 4643052.493970942683518 ], [ 11082520.108469402417541, 4653176.517454773187637 ], [ 11077309.020466385409236, 4665764.936808321624994 ], [ 11070795.271782109513879, 4665165.496332663111389 ], [ 11060921.789546201005578, 4681417.252515154890716 ], [ 11045357.320982465520501, 4691474.689644600264728 ], [ 11028284.361998992040753, 4706927.139608893543482 ], [ 11032741.149132391437888, 4713987.291259674355388 ], [ 11015256.753310946747661, 4719915.155242394655943 ], [ 11000240.867197841405869, 4733969.005376257002354 ], [ 10992081.482481168583035, 4734102.239244302734733 ], [ 10974391.368240736424923, 4711656.210039792582393 ], [ 10960266.817290412262082, 4714919.845079056918621 ], [ 10952038.859767409041524, 4725909.683199494145811 ], [ 10940588.314305430278182, 4725576.656336639076471 ], [ 10937297.153560128062963, 4706127.900338928215206 ], [ 10919881.441864501684904, 4691075.097649651579559 ], [ 10910350.712340746074915, 4701532.064594891853631 ], [ 10890260.883837282657623, 4711656.210039792582393 ], [ 10876067.760080631822348, 4716385.194130880758166 ], [ 10873599.361691780388355, 4723178.870885280892253 ], [ 10839316.2981121763587, 4741828.50285704061389 ], [ 10822586.203160345554352, 4749354.849180988036096 ], [ 10793856.980295909568667, 4750154.204205974936485 ], [ 10799342.248204747214913, 4742028.294445987790823 ], [ 10794611.281165525317192, 4735700.752237051725388 ], [ 10791388.581907058134675, 4708459.142999927513301 ], [ 10796188.233072102069855, 4702930.856949677690864 ], [ 10798999.495492594316602, 4679152.675645453855395 ], [ 10804416.190595105290413, 4674889.947216766886413 ], [ 10804210.472176119685173, 4663766.748662896454334 ], [ 10795296.897909320890903, 4658771.419883284717798 ], [ 10775069.923793200403452, 4665698.267261329106987 ], [ 10773561.433373460546136, 4650911.9294238910079 ], [ 10760876.688717059791088, 4647981.284437675960362 ], [ 10764373.567881349474192, 4639255.896561574190855 ], [ 10756419.901583660393953, 4629864.588308965787292 ], [ 10760739.654423892498016, 4612014.300834736786783 ], [ 10738249.889018418267369, 4618741.471930140629411 ], [ 10724056.765261767432094, 4614278.834886413067579 ], [ 10721519.794066587463021, 4602356.428891781717539 ], [ 10711372.020605362951756, 4600491.563246457837522 ], [ 10698824.421561617404222, 4605886.623407968319952 ], [ 10693750.590490750968456, 4603888.43880064971745 ], [ 10670643.781147811561823, 4619673.883717452175915 ], [ 10668518.24679060280323, 4628132.838426096364856 ], [ 10653502.24935800768435, 4636192.072560311295092 ], [ 10633069.668142393231392, 4621205.775004391558468 ], [ 10610991.339574890211225, 4624802.594832150265574 ], [ 10604409.018084285780787, 4622071.739801937714219 ], [ 10588913.122326880693436, 4638589.949216302484274 ], [ 10572457.207280874252319, 4640388.262544182129204 ], [ 10554287.194715632125735, 4633994.143896359950304 ], [ 10539682.634121008217335, 4634260.568870276212692 ], [ 10522746.820750191807747, 4631196.672827012836933 ], [ 10520964.150424629449844, 4642519.620757663622499 ], [ 10505262.536248238757253, 4687744.72704688180238 ], [ 10451232.396877324208617, 4681750.262192680500448 ], [ 10441770.351479386910796, 4686013.00484743155539 ], [ 10438410.617927752435207, 4696070.410988963209093 ], [ 10451163.935390485450625, 4696803.129814216867089 ], [ 10433885.257988026365638, 4710856.884660600684583 ], [ 10403167.646379038691521, 4709591.343309171497822 ], [ 10383214.963488234207034, 4706793.976374007761478 ], [ 10372655.753189038485289, 4710790.205509411171079 ], [ 10374781.287546245381236, 4728240.891251281835139 ], [ 10367376.203699186444283, 4737166.098468188196421 ], [ 10368541.830087281763554, 4744692.41634339466691 ], [ 10350303.244715712964535, 4742228.089985566213727 ], [ 10345915.03038864210248, 4746024.52546230237931 ], [ 10337892.791284624487162, 4741561.976693493314087 ], [ 10295930.352632645517588, 4735967.123910862952471 ], [ 10287085.351172175258398, 4727175.256492370739579 ], [ 10282217.127200802788138, 4730172.505776023492217 ], [ 10279131.68487448617816, 4755615.787726229056716 ], [ 10299907.130121743306518, 4774598.367867650464177 ], [ 10312591.874778147786856, 4795645.744719815440476 ], [ 10324385.284271769225597, 4846798.769274116493762 ], [ 10330076.270599592477083, 4888294.00826393160969 ], [ 10342349.578418023884296, 4911206.270127352327108 ], [ 10344749.404000546783209, 4949504.516374930739403 ], [ 10409064.351125849410892, 4960627.645513645373285 ], [ 10437382.137152314186096, 4963025.344075684435666 ], [ 10444101.604255579411983, 4981941.390417548827827 ], [ 10442867.405061151832342, 4994596.375783446244895 ], [ 10465219.913534481078386, 5029297.834701165556908 ], [ 10484555.552487816661596, 5052010.388662003912032 ], [ 10523501.121619807556272, 5087244.67772664129734 ], [ 10547567.727612368762493, 5092040.313255803659558 ], [ 10559978.181043457239866, 5111422.510981258004904 ], [ 10590490.074233457446098, 5127008.152183608151972 ], [ 10608248.761280216276646, 5096702.641196490265429 ], [ 10619219.297097895294428, 5115152.334436606615782 ], [ 10638966.261569714173675, 5130471.689865899272263 ], [ 10650759.671063333749771, 5135666.957686779089272 ], [ 10670575.208341481164098, 5138464.256921777501702 ], [ 10690939.328070258721709, 5149720.598646787926555 ], [ 10699715.868043890222907, 5158845.551393760368228 ], [ 10702115.582306921482086, 5169102.851481674239039 ], [ 10695259.080910490825772, 5183423.014975459314883 ], [ 10706503.907953483983874, 5193680.2584631415084 ], [ 10691213.619295572862029, 5209998.673476469703019 ], [ 10694024.881716065108776, 5223253.131978129036725 ], [ 10684288.433773322030902, 5226650.082752162590623 ], [ 10689293.803357351571321, 5242568.750826735049486 ], [ 10698207.377624152228236, 5251893.474048897624016 ], [ 10729679.178783262148499, 5270609.607648763805628 ], [ 10769310.364659048616886, 5275072.162059597671032 ], [ 10794474.135552868247032, 5274939.047507422976196 ], [ 10817238.080864164978266, 5280866.899038578383625 ], [ 10832185.394170941784978, 5246032.209621381945908 ], [ 10892249.272581832483411, 5109690.746656243689358 ], [ 10866331.312137888744473, 5082981.848630085587502 ], [ 10868045.520976614207029, 5077520.237710600718856 ], [ 10906168.216432662680745, 5026766.930283362045884 ], [ 10937160.007947470992804, 5003388.272618575021625 ], [ 10946416.446245912462473, 5000391.054001908749342 ], [ 10947650.645440338179469, 4948904.984109470620751 ], [ 10979191.019405778497458, 4964956.989747962914407 ], [ 10972745.84352782741189, 4975080.992789793759584 ], [ 10983716.379345506429672, 4978877.55309649463743 ], [ 10986047.63212169893086, 4966955.083288551308215 ], [ 10998526.658359115943313, 4954899.464409752748907 ], [ 10997361.031971018761396, 4968953.291332198306918 ], [ 11018959.350894220173359, 4980342.753048956394196 ], [ 11025267.381159512326121, 4967288.065146567299962 ], [ 11031986.959582267329097, 4964757.070730021223426 ], [ 11039872.053073627874255, 4975147.555463773198426 ], [ 11040077.660173123702407, 4991465.861736172810197 ], [ 11083617.162051169201732, 4989734.25050042476505 ], [ 11095547.6058379560709, 5002455.797404094599187 ], [ 11138332.806846387684345, 4998792.482496521435678 ], [ 11143955.220367884263396, 4993996.869134081527591 ], [ 11158354.173863012343645, 4970685.03965680859983 ], [ 11158971.217800479382277, 4956231.580336351878941 ], [ 11150811.833083804696798, 4944908.64792303647846 ], [ 11150811.833083804696798, 4906344.017625954002142 ], [ 11132230.495000081136823, 4894688.165364407002926 ], [ 11123865.39186442270875, 4875239.239214851520956 ], [ 11074977.767690194770694, 4847930.996975183486938 ], [ 11095479.03303162753582, 4849662.803294511511922 ], [ 11112140.666496619582176, 4845599.815908128395677 ], [ 11121328.420669244602323, 4834876.425639563240111 ], [ 11136481.563714496791363, 4830680.16321955062449 ], [ 11146217.900337748229504, 4822754.185450290329754 ], [ 11159793.980156932026148, 4820289.727640045806766 ], [ 11166924.884098168462515, 4808966.823317918926477 ], [ 11168296.228905249387026, 4794846.373518398031592 ], [ 11187700.440664915367961, 4790850.040465348400176 ], [ 11187494.722245929762721, 4779194.135356168262661 ], [ 11200933.656452456489205, 4777329.160421557724476 ], [ 11225685.990508306771517, 4779926.852478701621294 ], [ 11225754.563314635306597, 4750354.016943290829659 ], [ 11228154.388897156342864, 4736966.25950281880796 ], [ 11224931.80095818080008, 4725376.90279208496213 ], [ 11238987.779102176427841, 4722512.864355560392141 ], [ 11239879.225584447383881, 4714053.991418961435556 ], [ 11256335.029310964047909, 4718116.94386257790029 ], [ 11268745.482742052525282, 4724644.268022336065769 ], [ 11265385.749190419912338, 4713521.118052557110786 ], [ 11270322.545968120917678, 4701731.921135485172272 ], [ 11280470.319429343566298, 4700000.104563927277923 ], [ 11277453.338589863851666, 4693472.884916570037603 ], [ 11305908.270228987559676, 4680618.016590942628682 ], [ 11310227.911749729886651, 4672358.823213433846831 ], [ 11318867.306110704317689, 4677487.446816614829004 ], [ 11329769.269122052937746, 4673158.125267572700977 ], [ 11348076.42729995213449, 4694338.700893462635577 ], [ 11362955.27911989018321, 4706127.900338928215206 ], [ 11346362.218461226671934, 4721780.150157808326185 ], [ 11335734.546675192192197, 4735034.638597906567156 ], [ 11385856.258724354207516, 4748955.26722233556211 ], [ 11405054.752065034583211, 4758280.04917904175818 ], [ 11421579.239917369559407, 4746357.651995750144124 ], [ 11466764.26650832220912, 4735967.123910862952471 ], [ 11504269.918026901781559, 4769269.970976057462394 ], [ 11532176.267215395346284, 4777195.930303824134171 ], [ 11559328.426853764802217, 4787852.861944435164332 ], [ 11573315.832191430032253, 4787120.142991543747485 ], [ 11587371.921654915437102, 4781791.733282096683979 ], [ 11582503.697683542966843, 4764407.719767030328512 ], [ 11596971.112665509805083, 4743493.553496354259551 ], [ 11600330.957536632195115, 4733702.542904189787805 ], [ 11595942.631890069693327, 4713121.517171023413539 ], [ 11582160.944971390068531, 4706660.671855145134032 ], [ 11561591.106823628768325, 4670893.527326719835401 ], [ 11512223.473005099222064, 4636791.524734998121858 ], [ 11522439.819272654131055, 4619207.738173941150308 ], [ 11525456.800112131983042, 4601557.240406012162566 ], [ 11507081.069127904251218, 4592099.235147210769355 ], [ 11506258.306771451607347, 4584706.003753837198019 ], [ 11510646.521098522469401, 4559928.755522545427084 ], [ 11541226.987094851210713, 4548938.864127889275551 ], [ 11571464.589059537276626, 4518100.519402694888413 ], [ 11597656.840728797018528, 4495987.535643896088004 ], [ 11609175.958997102454305, 4498918.14765642862767 ], [ 11625974.626755261793733, 4501449.120304886251688 ], [ 11652921.067974643781781, 4496120.670202631503344 ], [ 11656692.238364247605205, 4485130.697605991736054 ], [ 11647641.518484791740775, 4480867.981774556450546 ], [ 11644076.066514175385237, 4473008.563780986703932 ], [ 11648258.562422258779407, 4467280.522909389808774 ], [ 11663548.851080168038607, 4473541.348412078805268 ], [ 11672530.998153295367956, 4468679.184007252566516 ], [ 11683501.533970972523093, 4444701.17152592446655 ], [ 11706951.096026066690683, 4438440.25907881744206 ], [ 11709762.358446560800076, 4423254.295400377362967 ], [ 11715796.097486538812518, 4424453.112116486765444 ], [ 11725806.725335104390979, 4411398.39930784329772 ], [ 11724161.200622199103236, 4403339.169167313724756 ], [ 11712847.800772877410054, 4401607.408158974722028 ], [ 11713053.519191864877939, 4387820.162376252934337 ], [ 11719910.131907785311341, 4372767.191658488474786 ], [ 11724161.200622199103236, 4374632.277386416681111 ], [ 11732869.056470012292266, 4360045.66412493865937 ], [ 11733211.920501654967666, 4351653.242077980190516 ], [ 11741234.159605672582984, 4341729.120341880246997 ], [ 11739794.241992259398103, 4331471.769621232524514 ], [ 11745690.946739071980119, 4321281.232149598188698 ], [ 11726835.317430034279823, 4305295.910661594942212 ], [ 11725669.691041938960552, 4285181.008989778347313 ], [ 11732252.012532543390989, 4282117.077120363712311 ], [ 11742194.067574782297015, 4263134.611693970859051 ], [ 11751998.977004362270236, 4261669.249993160367012 ], [ 11763243.804047355428338, 4266198.424615929834545 ], [ 11772568.815152125433087, 4263600.848271870985627 ], [ 11765437.911210890859365, 4259204.890919665805995 ], [ 11782853.734226008877158, 4230764.286751461215317 ], [ 11785253.559808529913425, 4237491.509548882953823 ], [ 11801640.790728714317083, 4235093.585802922956645 ], [ 11807743.213894512504339, 4230897.453682429157197 ], [ 11806303.296281101182103, 4230431.239769134670496 ], [ 11788476.147747503593564, 4225435.78924707416445 ], [ 11788133.283715860918164, 4220240.588425653986633 ], [ 11805891.970762619748712, 4225102.76702759694308 ], [ 11806714.733119072392583, 4226235.111058689653873 ], [ 11807057.597150716930628, 4222638.415385200642049 ], [ 11808017.505119828507304, 4221306.315862635150552 ], [ 11808703.12186362221837, 4222105.61086892709136 ], [ 11811788.564189938828349, 4213580.012154123745859 ], [ 11819330.904969146475196, 4223637.561722811311483 ], [ 11835443.844664020463824, 4199992.511058572679758 ], [ 11852448.230841163545847, 4206186.78811916988343 ], [ 11855945.110005453228951, 4220440.421533616259694 ], [ 11848951.351676875725389, 4235693.086016994901001 ], [ 11852928.240485465154052, 4243086.331580691039562 ], [ 11848265.734933078289032, 4257872.728790118359029 ], [ 11855670.930099630728364, 4264599.895719597116113 ], [ 11855670.930099630728364, 4264333.428416969254613 ], [ 11855945.110005453228951, 4264400.078918402083218 ], [ 11856013.682811783626676, 4264666.547847408801317 ], [ 11881931.643255725502968, 4257939.339894325472414 ], [ 11896262.023944525048137, 4264599.895719597116113 ], [ 11902501.481403488665819, 4273591.596897607669234 ], [ 11894479.242299471050501, 4285181.008989778347313 ], [ 11905724.069342464208603, 4301232.876821574755013 ], [ 11906478.370212078094482, 4313221.976694788783789 ], [ 11895439.150268582627177, 4329140.658848277293146 ], [ 11895439.150268582627177, 4329140.658848277293146 ], [ 11866572.893110977485776, 4338465.363501936197281 ], [ 11866572.893110977485776, 4338465.363501936197281 ], [ 11856150.828424440696836, 4337266.474876713007689 ], [ 11854231.012486219406128, 4355849.394637759774923 ], [ 11857865.037263164296746, 4366772.798931344412267 ], [ 11844563.137349804863334, 4376030.993011462502182 ], [ 11852379.658034836873412, 4380893.072055220603943 ], [ 11857727.891650509089231, 4398610.168955896981061 ], [ 11857727.891650509089231, 4398610.168955896981061 ], [ 11865475.839529210701585, 4404338.320552105084062 ], [ 11870206.917887924239039, 4400608.373732596635818 ], [ 11873155.214601583778858, 4412930.414957563392818 ], [ 11866161.456273004412651, 4430780.701982260681689 ], [ 11874115.122570695355535, 4441437.595943848602474 ], [ 11867258.509854773059487, 4456890.08446607273072 ], [ 11883371.560869136825204, 4452893.754866044037044 ], [ 11886388.430389124900103, 4460953.014471831731498 ], [ 11886388.430389124900103, 4460953.014471831731498 ], [ 11899073.175045527517796, 4452827.04121120646596 ], [ 11914569.070802934467793, 4458755.034223770722747 ], [ 11921837.120356826111674, 4455224.949645281769335 ], [ 11931299.277074255049229, 4459154.569498566910625 ], [ 11941104.186503835022449, 4452960.329372161999345 ], [ 11943298.293667368590832, 4440238.670978202484548 ], [ 11943298.293667368590832, 4440238.670978202484548 ], [ 11945698.119249893352389, 4426917.562567437067628 ], [ 11964416.60294627211988, 4426384.754029558040202 ], [ 11971341.788468521088362, 4415261.603942607529461 ], [ 11991431.616971982643008, 4411598.317692896351218 ], [ 12012207.173538733273745, 4404538.106493233703077 ], [ 12015772.625509349629283, 4391217.051156484521925 ], [ 12023040.563743751496077, 4395013.537889475002885 ], [ 12023383.427775396034122, 4385755.280609889887273 ], [ 12040730.677984183654189, 4378495.366071223281324 ], [ 12044158.984342144802213, 4387020.904433599673212 ], [ 12051701.213801860809326, 4376497.133572946302593 ], [ 12060409.069649673998356, 4377829.293335201218724 ], [ 12067882.837622553110123, 4363842.047806802205741 ], [ 12077619.174245804548264, 4358913.263802209869027 ], [ 12079333.383084530010819, 4366106.762102633714676 ], [ 12091400.972483973950148, 4360511.802255182527006 ], [ 12095034.997260922566056, 4353718.065511958673596 ], [ 12094417.842003963887691, 4335667.933963498100638 ], [ 12101823.037170512601733, 4319749.289615740999579 ], [ 12095583.468392059206963, 4294106.114287804812193 ], [ 12088041.238932345062494, 4293773.055853207595646 ], [ 12077962.038277447223663, 4283582.441714675165713 ], [ 12080910.334991106763482, 4278587.109772440977395 ], [ 12080087.572634655982256, 4261602.616152511909604 ], [ 12082555.971023503690958, 4246483.124142973683774 ], [ 12091332.399677645415068, 4239822.635032566264272 ], [ 12092772.317291056737304, 4220906.621830359101295 ], [ 12090920.962839676067233, 4208651.282210178673267 ], [ 12076933.557502008974552, 4201324.628298520110548 ], [ 12061780.414456756785512, 4202790.006491938605905 ], [ 12049232.815413009375334, 4198727.080290094017982 ], [ 12041964.877178609371185, 4205454.122036218643188 ], [ 12027977.360521452501416, 4198460.570308006368577 ], [ 12007750.386405332013965, 4198727.080290094017982 ], [ 11994174.306586150079966, 4206320.067368758842349 ], [ 11983752.241899609565735, 4196529.076238617300987 ], [ 11987591.985095541924238, 4193531.771281201392412 ], [ 11995477.078586902469397, 4174216.219171831384301 ], [ 12007338.949567360803485, 4163359.45153623027727 ], [ 12000756.628076754510403, 4158031.000647404696792 ], [ 11981763.853155059739947, 4157165.152695026714355 ], [ 11973741.614051042124629, 4159363.111899057403207 ], [ 11969490.545336630195379, 4151636.99348466610536 ], [ 11943092.575248384848237, 4154634.138929253909737 ], [ 11939252.943371942266822, 4147707.142841125372797 ], [ 11932259.18504336476326, 4149372.291193855460733 ], [ 11921151.503613032400608, 4160695.246760409791023 ], [ 11920397.202743414789438, 4167156.040607606526464 ], [ 11900238.801433624699712, 4176747.206170240882784 ], [ 11893176.470298716798425, 4174749.032047602813691 ], [ 11878983.346542065963149, 4177546.413319954648614 ], [ 11863830.203496813774109, 4176014.582169423345476 ], [ 11854916.629230014979839, 4164691.657380857970566 ] ] ], [ [ [ 11807743.213894512504339, 4230897.453682429157197 ], [ 11808565.976250965148211, 4230631.121434663422406 ], [ 11808565.976250965148211, 4230631.121434663422406 ], [ 11807880.359507169574499, 4227034.354310214519501 ], [ 11806714.733119072392583, 4226235.111058689653873 ], [ 11805891.970762619748712, 4225102.76702759694308 ], [ 11806303.296281101182103, 4230431.239769134670496 ], [ 11807743.213894512504339, 4230897.453682429157197 ] ] ], [ [ [ 11808017.505119828507304, 4221306.315862635150552 ], [ 11807057.597150716930628, 4222638.415385200642049 ], [ 11806714.733119072392583, 4226235.111058689653873 ], [ 11807880.359507169574499, 4227034.354310214519501 ], [ 11807606.068281855434179, 4226301.666888744570315 ], [ 11807811.786700841039419, 4225102.76702759694308 ], [ 11808703.12186362221837, 4222105.61086892709136 ], [ 11808017.505119828507304, 4221306.315862635150552 ] ] ], [ [ [ 11447154.336329670622945, 4350387.776186676695943 ], [ 11447222.909136, 4349988.1499282149598 ], [ 11447017.190717013552785, 4350054.776312030851841 ], [ 11447017.190717013552785, 4350587.664000906050205 ], [ 11447154.336329670622945, 4350387.776186676695943 ] ] ], [ [ [ 11855945.110005453228951, 4264400.078918402083218 ], [ 11855670.930099630728364, 4264333.428416969254613 ], [ 11855670.930099630728364, 4264599.895719597116113 ], [ 11856013.682811783626676, 4264666.547847408801317 ], [ 11855945.110005453228951, 4264400.078918402083218 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 630000, "name": "青海省", "adchar": null, "childrenNum": 8.0, "level": "province", "subFeatureIndex": 28.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 10130274.816507758572698, 3910724.721182260196656 ], [ 10130274.816507758572698, 3910724.721182260196656 ], [ 10108470.77916556969285, 3910524.961496615316719 ], [ 10097294.524928908795118, 3913322.439991370774806 ], [ 10072953.516391541808844, 3930772.979437291622162 ], [ 10063902.796512084081769, 3929907.086381950415671 ], [ 10055811.984601739794016, 3936634.364244599826634 ], [ 10046212.79359114356339, 3951753.732729150447994 ], [ 10029002.688995013013482, 3957814.828997358679771 ], [ 10027768.489800589159131, 3965940.675109720788896 ], [ 10019951.969115557149053, 3969004.536247524432838 ], [ 10017003.672401895746589, 3976864.108495178166777 ], [ 10019677.677890243008733, 3986988.071458507794887 ], [ 10008432.850847249850631, 3994114.930845050606877 ], [ 10011381.258880401030183, 4001574.67228318983689 ], [ 10000616.330162217840552, 4011232.432706391904503 ], [ 9995953.824609834700823, 4010766.283449105452746 ], [ 9984434.817661019042134, 4023154.853523245081306 ], [ 9978126.676076235249639, 4035410.298829594627023 ], [ 9980457.928852427750826, 4041804.361465409398079 ], [ 9998559.36861134134233, 4052194.951401827391237 ], [ 9999313.558161465451121, 4068313.466893593315035 ], [ 10004524.646164480596781, 4073974.909580732230097 ], [ 9996708.125479448586702, 4081368.055824662093073 ], [ 9999107.951061971485615, 4090093.455221469979733 ], [ 9996365.261447807773948, 4113538.635152942035347 ], [ 9988205.876731131225824, 4117867.913784705568105 ], [ 9988960.177600745111704, 4127525.676852912642062 ], [ 9996433.834254134446383, 4129124.282629175577313 ], [ 10004044.636520178988576, 4138182.575829933863133 ], [ 9998902.232642985880375, 4150704.453211398795247 ], [ 9986148.915180254727602, 4152969.01893399329856 ], [ 9980320.783239770680666, 4148040.28832419635728 ], [ 9969830.257066395133734, 4155566.60079178865999 ], [ 9973464.170523850247264, 4178079.386148686986417 ], [ 9964550.596257051452994, 4182808.277710521128029 ], [ 9957488.265122145414352, 4194730.650276808999479 ], [ 9966676.130614256486297, 4202723.319787980988622 ], [ 9962767.925931487232447, 4213113.848889134824276 ], [ 9983817.66240406036377, 4220373.764563922770321 ], [ 9990262.838282007724047, 4229299.010218267329037 ], [ 9985394.725630128756166, 4237158.39525093510747 ], [ 9992662.663864530622959, 4245683.969326524995267 ], [ 9990605.702313654124737, 4266531.463784676045179 ], [ 9996708.125479448586702, 4279719.370960916392505 ], [ 9968596.057871969416738, 4281118.071735316887498 ], [ 9955294.157958609983325, 4289110.759469288401306 ], [ 9954060.070083675906062, 4306961.009260693565011 ], [ 9960436.673155294731259, 4303630.792466536164284 ], [ 9978469.540107877925038, 4307493.839762128889561 ], [ 9986628.924824554473162, 4313421.728375701233745 ], [ 10012204.021236855536699, 4309891.62584138661623 ], [ 10011792.584398882463574, 4318616.979901059530675 ], [ 10018649.197114802896976, 4324012.055144709534943 ], [ 10021871.78505377843976, 4336200.800623908638954 ], [ 10034967.966548152267933, 4333536.592511707916856 ], [ 10033048.15060993283987, 4329407.065743235871196 ], [ 10044910.021590391173959, 4322879.712588985450566 ], [ 10066645.486126249656081, 4318949.975542237050831 ], [ 10077410.303524941205978, 4321081.335317272692919 ], [ 10092563.446570193395019, 4319083.259369029663503 ], [ 10105179.618420269340277, 4312489.263976190239191 ], [ 10112378.98384834267199, 4303164.489573840051889 ], [ 10121498.276534125208855, 4304629.805170838721097 ], [ 10127737.845312578603625, 4315353.310617657378316 ], [ 10140354.017162652686238, 4312822.346634616144001 ], [ 10143987.930620109662414, 4316552.24982896540314 ], [ 10138159.909999119117856, 4341862.271340036764741 ], [ 10133017.394802432507277, 4345259.145189768634737 ], [ 10135965.802835583686829, 4360312.006527534686029 ], [ 10134045.875577870756388, 4373766.398360656574368 ], [ 10100997.011192692443728, 4381758.973027743399143 ], [ 10099008.622448142617941, 4398610.168955896981061 ], [ 10100585.685674211010337, 4415128.37143886461854 ], [ 10113818.901461752131581, 4427317.151706195436418 ], [ 10128286.316443717107177, 4427050.803685978055 ], [ 10150227.499398563057184, 4442636.377739468589425 ], [ 10163872.152024077251554, 4440838.116502500139177 ], [ 10161266.608022566884756, 4461952.019070023670793 ], [ 10151324.552980329841375, 4467813.297693938016891 ], [ 10151461.698592986911535, 4477937.360286569222808 ], [ 10145084.98420187830925, 4484664.521108676679432 ], [ 10141176.779519107192755, 4501715.529721056111157 ], [ 10136445.7011603936553, 4506777.612946177832782 ], [ 10125406.592536386102438, 4505911.669581896625459 ], [ 10114915.955043520778418, 4513837.728159122169018 ], [ 10116972.91659439727664, 4519632.375148531980813 ], [ 10105179.618420269340277, 4530156.097490931861103 ], [ 10076587.541168486699462, 4541479.037987750954926 ], [ 10076244.677136844024062, 4608750.60756085626781 ], [ 10077821.740362912416458, 4624735.907312346622348 ], [ 10059034.683860203251243, 4621938.542439986951649 ], [ 10058006.203084765002131, 4612480.54611159581691 ], [ 10049983.963980747386813, 4613146.647384866140783 ], [ 10034076.631385371088982, 4627666.593323287554085 ], [ 10031196.79615854844451, 4647115.407593293115497 ], [ 10053823.595857189968228, 4650578.927258033305407 ], [ 10066028.330869292840362, 4649180.180328753776848 ], [ 10070348.083709524944425, 4658371.682557949796319 ], [ 10086735.314629713073373, 4663966.578389923088253 ], [ 10087695.222598822787404, 4673691.028069347143173 ], [ 10111281.930266574025154, 4674223.816114918328822 ], [ 10164352.050348887220025, 4686079.664495525881648 ], [ 10179779.484619453549385, 4695004.71935177501291 ], [ 10227981.380730394273996, 4705128.796659487299621 ], [ 10237649.255866808816791, 4711789.293954180553555 ], [ 10260687.381083931773901, 4716052.050564451143146 ], [ 10270766.581738825887442, 4721979.97604894451797 ], [ 10284205.515945352613926, 4721780.150157808326185 ], [ 10287085.351172175258398, 4727175.256492370739579 ], [ 10295930.352632645517588, 4735967.123910862952471 ], [ 10337892.791284624487162, 4741561.976693493314087 ], [ 10345915.03038864210248, 4746024.52546230237931 ], [ 10350303.244715712964535, 4742228.089985566213727 ], [ 10368541.830087281763554, 4744692.41634339466691 ], [ 10367376.203699186444283, 4737166.098468188196421 ], [ 10374781.287546245381236, 4728240.891251281835139 ], [ 10372655.753189038485289, 4710790.205509411171079 ], [ 10383214.963488234207034, 4706793.976374007761478 ], [ 10403167.646379038691521, 4709591.343309171497822 ], [ 10433885.257988026365638, 4710856.884660600684583 ], [ 10451163.935390485450625, 4696803.129814216867089 ], [ 10438410.617927752435207, 4696070.410988963209093 ], [ 10441770.351479386910796, 4686013.00484743155539 ], [ 10451232.396877324208617, 4681750.262192680500448 ], [ 10505262.536248238757253, 4687744.72704688180238 ], [ 10520964.150424629449844, 4642519.620757663622499 ], [ 10522746.820750191807747, 4631196.672827012836933 ], [ 10539682.634121008217335, 4634260.568870276212692 ], [ 10554287.194715632125735, 4633994.143896359950304 ], [ 10572457.207280874252319, 4640388.262544182129204 ], [ 10588913.122326880693436, 4638589.949216302484274 ], [ 10604409.018084285780787, 4622071.739801937714219 ], [ 10610991.339574890211225, 4624802.594832150265574 ], [ 10633069.668142393231392, 4621205.775004391558468 ], [ 10653502.24935800768435, 4636192.072560311295092 ], [ 10668518.24679060280323, 4628132.838426096364856 ], [ 10670643.781147811561823, 4619673.883717452175915 ], [ 10693750.590490750968456, 4603888.43880064971745 ], [ 10698824.421561617404222, 4605886.623407968319952 ], [ 10711372.020605362951756, 4600491.563246457837522 ], [ 10721519.794066587463021, 4602356.428891781717539 ], [ 10724056.765261767432094, 4614278.834886413067579 ], [ 10738249.889018418267369, 4618741.471930140629411 ], [ 10760739.654423892498016, 4612014.300834736786783 ], [ 10756419.901583660393953, 4629864.588308965787292 ], [ 10764373.567881349474192, 4639255.896561574190855 ], [ 10760876.688717059791088, 4647981.284437675960362 ], [ 10773561.433373460546136, 4650911.9294238910079 ], [ 10775069.923793200403452, 4665698.267261329106987 ], [ 10795296.897909320890903, 4658771.419883284717798 ], [ 10804210.472176119685173, 4663766.748662896454334 ], [ 10804416.190595105290413, 4674889.947216766886413 ], [ 10798999.495492594316602, 4679152.675645453855395 ], [ 10796188.233072102069855, 4702930.856949677690864 ], [ 10791388.581907058134675, 4708459.142999927513301 ], [ 10794611.281165525317192, 4735700.752237051725388 ], [ 10799342.248204747214913, 4742028.294445987790823 ], [ 10793856.980295909568667, 4750154.204205974936485 ], [ 10822586.203160345554352, 4749354.849180988036096 ], [ 10839316.2981121763587, 4741828.50285704061389 ], [ 10873599.361691780388355, 4723178.870885280892253 ], [ 10876067.760080631822348, 4716385.194130880758166 ], [ 10890260.883837282657623, 4711656.210039792582393 ], [ 10910350.712340746074915, 4701532.064594891853631 ], [ 10919881.441864501684904, 4691075.097649651579559 ], [ 10937297.153560128062963, 4706127.900338928215206 ], [ 10940588.314305430278182, 4725576.656336639076471 ], [ 10952038.859767409041524, 4725909.683199494145811 ], [ 10960266.817290412262082, 4714919.845079056918621 ], [ 10974391.368240736424923, 4711656.210039792582393 ], [ 10992081.482481168583035, 4734102.239244302734733 ], [ 11000240.867197841405869, 4733969.005376257002354 ], [ 11015256.753310946747661, 4719915.155242394655943 ], [ 11032741.149132391437888, 4713987.291259674355388 ], [ 11028284.361998992040753, 4706927.139608893543482 ], [ 11045357.320982465520501, 4691474.689644600264728 ], [ 11060921.789546201005578, 4681417.252515154890716 ], [ 11070795.271782109513879, 4665165.496332663111389 ], [ 11077309.020466385409236, 4665764.936808321624994 ], [ 11082520.108469402417541, 4653176.517454773187637 ], [ 11094039.226737707853317, 4643052.493970942683518 ], [ 11112689.137627758085728, 4631862.708850228227675 ], [ 11124962.445446189492941, 4627799.722949379123747 ], [ 11146012.293238254263997, 4612214.117656419053674 ], [ 11152320.323503544554114, 4610815.339547242969275 ], [ 11149509.061083050444722, 4623270.593651784583926 ], [ 11142309.695654977113008, 4637124.505707092583179 ], [ 11132093.349387424066663, 4645583.48673047311604 ], [ 11139087.10771600343287, 4652976.613767516799271 ], [ 11158696.926575165241957, 4641986.775223924778402 ], [ 11161028.179351357743144, 4631329.848182296380401 ], [ 11167404.893742468208075, 4626068.036990481428802 ], [ 11184820.605438094586134, 4620340.024889309890568 ], [ 11192774.271735783666372, 4614345.454701442271471 ], [ 11200865.083646129816771, 4617009.749949363991618 ], [ 11215263.925821768119931, 4613346.344431795179844 ], [ 11223834.747376414015889, 4601890.216291611082852 ], [ 11236382.346420159563422, 4602090.120239454321563 ], [ 11230759.932898662984371, 4586570.992078706622124 ], [ 11260037.626894239336252, 4562060.208151672966778 ], [ 11283624.334561990574002, 4550004.607588642276824 ], [ 11294389.151960682123899, 4560528.169162593781948 ], [ 11309748.01342491991818, 4555199.803157766349614 ], [ 11316673.198947170749307, 4541812.061395447701216 ], [ 11331414.905154449865222, 4536550.240663087926805 ], [ 11334088.910642795264721, 4530688.980645233765244 ], [ 11348624.898431090638041, 4541079.452093031257391 ], [ 11358635.526279658079147, 4535018.293534414842725 ], [ 11358566.953473327681422, 4526892.465118581429124 ], [ 11369126.163772525265813, 4515303.112518610432744 ], [ 11366040.721446206793189, 4506844.108234105631709 ], [ 11376531.358939073979855, 4497852.414117118343711 ], [ 11402243.600964032113552, 4482200.148647110909224 ], [ 11405534.761709336191416, 4473741.184554570354521 ], [ 11421373.521498383954167, 4463483.953854334540665 ], [ 11426104.599857097491622, 4453026.904297441244125 ], [ 11408963.068067297339439, 4450162.886501558125019 ], [ 11410951.456811845302582, 4441770.530805304646492 ], [ 11404711.999352881684899, 4434710.454032414592803 ], [ 11417053.879977641627192, 4427916.563609313219786 ], [ 11419933.603884972631931, 4420989.676146923564374 ], [ 11433029.785379348322749, 4410199.523848802782595 ], [ 11422127.711048508062959, 4394946.909049848094583 ], [ 11439406.388450969010592, 4379161.341642235405743 ], [ 11440297.723613748326898, 4365773.689976598136127 ], [ 11447017.190717013552785, 4350587.664000906050205 ], [ 11447017.190717013552785, 4350054.776312030851841 ], [ 11468615.509640214964747, 4336067.581490489654243 ], [ 11473483.733611585572362, 4328674.359131101518869 ], [ 11464501.586538458243012, 4327342.342805660329759 ], [ 11459359.071341773495078, 4315086.83648129645735 ], [ 11452776.749851165339351, 4311956.463225803337991 ], [ 11462787.377699732780457, 4299967.386281292885542 ], [ 11461004.707374170422554, 4281517.635418018326163 ], [ 11441874.786839816719294, 4281717.491437999531627 ], [ 11430972.712508978322148, 4269328.817815477028489 ], [ 11444617.365134490653872, 4240288.837478292174637 ], [ 11437212.281287433579564, 4231363.687381830997765 ], [ 11410745.738392859697342, 4243419.352224480360746 ], [ 11404437.70812756754458, 4223504.346076525747776 ], [ 11399912.348187839612365, 4219507.943594428710639 ], [ 11389901.720339272171259, 4222971.499623090960085 ], [ 11385719.113111697137356, 4205387.555642300285399 ], [ 11395866.886572919785976, 4199659.575015496462584 ], [ 11399363.76573720946908, 4189868.487228382378817 ], [ 11389147.419469658285379, 4181409.651678912341595 ], [ 11387501.894756751134992, 4173616.784253041725606 ], [ 11378931.073202105239034, 4171818.401697600260377 ], [ 11365149.386283425614238, 4162093.983404013793916 ], [ 11359938.298280410468578, 4151770.161715500988066 ], [ 11345402.310492116957903, 4146974.52918339567259 ], [ 11345676.601717429235578, 4112606.154380049556494 ], [ 11355001.612822201102972, 4101283.090972525067627 ], [ 11371937.426193015649915, 4097153.640368286054581 ], [ 11377971.165232993662357, 4082566.966558284126222 ], [ 11377971.165232993662357, 4082566.966558284126222 ], [ 11381056.718878803774714, 4074974.036063957959414 ], [ 11380988.146072473376989, 4074974.036063957959414 ], [ 11381056.718878803774714, 4074974.036063957959414 ], [ 11380988.146072473376989, 4074974.036063957959414 ], [ 11375708.48526312969625, 4076572.471533726900816 ], [ 11371251.698129730299115, 4065382.775403371080756 ], [ 11362132.405443945899606, 4068313.466893593315035 ], [ 11361515.361506478860974, 4059454.865746739320457 ], [ 11350750.432788297533989, 4051329.008634199388325 ], [ 11349584.806400200352073, 4043536.206571353599429 ], [ 11337517.217000754550099, 4048997.776456179097295 ], [ 11325243.909182325005531, 4039539.862862599082291 ], [ 11312559.164525924250484, 4052794.395771563518792 ], [ 11302274.245452040806413, 4057123.714138213545084 ], [ 11280127.455397700890899, 4061786.092704250477254 ], [ 11269431.099485846236348, 4072576.199916392564774 ], [ 11249341.270982386544347, 4072243.128695311024785 ], [ 11241799.041522668674588, 4079236.718434096314013 ], [ 11231582.695255115628242, 4079303.346144063398242 ], [ 11223423.310538440942764, 4071510.433484143111855 ], [ 11217046.707466820254922, 4052861.002655173651874 ], [ 11221709.213019207119942, 4049663.909280687104911 ], [ 11243170.386329751461744, 4013963.346786473412067 ], [ 11260380.379606390371919, 4007968.848236100748181 ], [ 11264631.559640295803547, 4000109.418380435090512 ], [ 11261820.297219801694155, 3983258.18191898195073 ], [ 11269842.536323819309473, 3986588.459024370182306 ], [ 11286161.305757168680429, 3981193.377912324853241 ], [ 11299120.230319393798709, 3988986.208178201224655 ], [ 11308102.377392522990704, 3985256.339497148990631 ], [ 11312559.164525924250484, 3962144.164551818277687 ], [ 11325175.336375996470451, 3961344.938682794570923 ], [ 11328877.93395926989615, 3967006.38984171114862 ], [ 11328946.50676560215652, 3954884.277920281980187 ], [ 11320718.549242597073317, 3953019.295206623151898 ], [ 11315576.14536540210247, 3938299.406851138453931 ], [ 11325586.773213967680931, 3930639.842853942885995 ], [ 11312902.028557565063238, 3908660.038123267237097 ], [ 11297406.132800161838531, 3925511.250459325499833 ], [ 11288355.412920704111457, 3925311.370306743308902 ], [ 11287121.213726278394461, 3916253.028142068069428 ], [ 11276356.28500809520483, 3930173.610555204097182 ], [ 11263671.540351694449782, 3931239.235769919585437 ], [ 11256129.310891978442669, 3921181.858327157329768 ], [ 11262163.161251444369555, 3908660.038123267237097 ], [ 11263740.113158022984862, 3893207.496228361967951 ], [ 11257637.80131171643734, 3893940.208399950060993 ], [ 11257089.2188610881567, 3883349.864614233374596 ], [ 11269705.390711162239313, 3872093.576713212765753 ], [ 11268128.438804583624005, 3858972.210422217845917 ], [ 11260791.816444363445044, 3850446.767078017350286 ], [ 11251672.523758579045534, 3853310.778710909187794 ], [ 11235696.618356872349977, 3842387.432909594383091 ], [ 11208818.749943817034364, 3852644.735199299175292 ], [ 11203813.380359787493944, 3832596.481900188140571 ], [ 11192637.126123126596212, 3838324.620218260679394 ], [ 11189483.110990479588509, 3846317.210609884001315 ], [ 11176455.613621925935149, 3863035.24563400214538 ], [ 11169736.146518662571907, 3858106.448670873884112 ], [ 11160753.999445533379912, 3861170.310716698877513 ], [ 11155131.585924036800861, 3843186.763046005740762 ], [ 11141761.113204348832369, 3851445.792811880353838 ], [ 11147452.0995321739465, 3858772.403431631159037 ], [ 11145669.429206607863307, 3873692.081347305327654 ], [ 11136207.272489182651043, 3885880.903233627788723 ], [ 11127087.979803396388888, 3888411.957336980849504 ], [ 11118311.551149254664779, 3901399.998719617724419 ], [ 11115706.007147746160626, 3888012.273921777959913 ], [ 11108369.496107015758753, 3889544.224439507815987 ], [ 11105626.806492852047086, 3865965.867578531615436 ], [ 11088279.667603554204106, 3866232.263717954512686 ], [ 11082794.39969471655786, 3873958.519905984401703 ], [ 11063595.906354036182165, 3882084.417348793707788 ], [ 11050499.724859660491347, 3879220.295227892231196 ], [ 11046797.127276387065649, 3892941.151249670423567 ], [ 11040626.242623751983047, 3901266.798641244880855 ], [ 11020879.166832441464067, 3906262.242477191612124 ], [ 11004903.261430736631155, 3915320.536757051479071 ], [ 10993864.152806730940938, 3932171.804535722825676 ], [ 10996058.259970266371965, 3944760.152340623084456 ], [ 10991053.001705726608634, 3949755.631419938988984 ], [ 10991944.33686850965023, 3958880.595254380255938 ], [ 10981453.699375642463565, 3968405.189572852104902 ], [ 10978025.393017681315541, 3980194.274126739241183 ], [ 10982413.607344752177596, 3981526.476350744720548 ], [ 10969317.537169868126512, 3994847.486482122913003 ], [ 10960746.826934713870287, 4008568.25067688850686 ], [ 10954575.830962587147951, 4010966.040225173346698 ], [ 10958347.001352190971375, 4026285.308247159235179 ], [ 10954027.3598314486444, 4040605.587547481060028 ], [ 10932771.793620400130749, 4039340.00859298883006 ], [ 10915081.790699461475015, 4044335.401782186236233 ], [ 10902328.473236728459597, 4055258.707022859714925 ], [ 10902328.473236728459597, 4055258.707022859714925 ], [ 10890877.9277747515589, 4056790.693127274047583 ], [ 10872090.871272042393684, 4045867.394444175530225 ], [ 10876204.794373799115419, 4033745.109702091198415 ], [ 10871473.827334575355053, 4022955.017862912267447 ], [ 10849052.634735429659486, 4013630.24414576170966 ], [ 10841236.114050397649407, 4013297.285297731403261 ], [ 10846447.202053412795067, 3985988.999521064572036 ], [ 10844253.094889877364039, 3975931.540556433610618 ], [ 10856457.829901980236173, 3972001.870329234749079 ], [ 10859474.699421968311071, 3957281.982698035892099 ], [ 10867634.08413864299655, 3956749.160945037379861 ], [ 10881895.780701622366905, 3949888.854121542070061 ], [ 10873256.497660137712955, 3940630.65455770585686 ], [ 10867154.07449434325099, 3939764.825906657613814 ], [ 10862148.816229803487659, 3924778.550770430825651 ], [ 10852275.333993893116713, 3917651.705568624194711 ], [ 10852275.333993893116713, 3909459.235542507842183 ], [ 10858377.64584020152688, 3900134.460028216708452 ], [ 10856320.684289323166013, 3893806.960466094315052 ], [ 10839590.589337492361665, 3889477.62526951963082 ], [ 10840961.934144575148821, 3866032.466048636939377 ], [ 10845144.430052660405636, 3856174.823503538500518 ], [ 10858514.79145285859704, 3845184.994181203655899 ], [ 10879358.920825934037566, 3832729.699841449968517 ], [ 10872639.453722670674324, 3831397.587743640877306 ], [ 10850561.125155169516802, 3835060.925930082798004 ], [ 10847955.58115366101265, 3840589.170428933575749 ], [ 10835270.94781675003469, 3830997.983278203289956 ], [ 10841236.114050397649407, 3829332.779513786081225 ], [ 10835956.564560545608401, 3821340.148264370393008 ], [ 10841167.541244069114327, 3819541.775226917583495 ], [ 10845281.575665317475796, 3805821.09719510609284 ], [ 10839316.2981121763587, 3799227.094063335563987 ], [ 10831362.631814487278461, 3802091.159522224217653 ], [ 10827385.854325389489532, 3787437.944540226832032 ], [ 10832322.539783598855138, 3773117.79737072205171 ], [ 10812507.002505451440811, 3769054.865560653153807 ], [ 10798930.922686267644167, 3772118.618538702372462 ], [ 10786246.178029865026474, 3765125.116212373133749 ], [ 10767116.257495513185859, 3765058.42344775237143 ], [ 10776921.16692509315908, 3749472.819182146340609 ], [ 10771298.753403598442674, 3744544.034807888325304 ], [ 10780212.327670397236943, 3726693.665251524187624 ], [ 10772944.38943599537015, 3720565.993069258518517 ], [ 10755254.275195563212037, 3728825.04366818908602 ], [ 10750797.488062163814902, 3725694.657364321872592 ], [ 10738798.471469046548009, 3733154.393845619633794 ], [ 10730022.042814904823899, 3752803.073445931542665 ], [ 10714937.472575983032584, 3754068.617008638568223 ], [ 10706298.189534496515989, 3734153.49290847312659 ], [ 10714800.326963324099779, 3723496.579973465297371 ], [ 10709452.204667141661048, 3710774.937242553569376 ], [ 10704515.407889442518353, 3711041.431404246017337 ], [ 10701772.829594768583775, 3724295.870467191096395 ], [ 10691282.192101901397109, 3728492.060631724074483 ], [ 10684768.443417623639107, 3739282.145952344406396 ], [ 10675443.432312853634357, 3739348.696378221735358 ], [ 10667215.474789850413799, 3721631.686236061155796 ], [ 10662141.643718982115388, 3730423.594283244106919 ], [ 10644177.349572729319334, 3734952.831503314897418 ], [ 10636223.683275040239096, 3729224.661562044173479 ], [ 10624293.128168761730194, 3741213.698250419460237 ], [ 10615516.699514620006084, 3757931.648148517590016 ], [ 10625938.764201156795025, 3771452.633053226862103 ], [ 10620590.641904976218939, 3787238.152725659776479 ], [ 10610168.577218437567353, 3782842.129395760130137 ], [ 10605368.926053395494819, 3788903.274083449039608 ], [ 10602214.910920748487115, 3805488.083148286212236 ], [ 10587130.3406818266958, 3797362.153585107065737 ], [ 10586101.859906386584044, 3805687.916806905064732 ], [ 10604477.590890614315867, 3809084.679028996732086 ], [ 10599677.939725570380688, 3815545.440892789047211 ], [ 10584456.335193479433656, 3813946.99278251035139 ], [ 10573691.40647529810667, 3818809.182682327460498 ], [ 10565600.594564951956272, 3818009.910397867672145 ], [ 10563063.734689265489578, 3825469.719915457069874 ], [ 10553875.869197150692344, 3827334.71132440213114 ], [ 10550036.126001220196486, 3836393.053401273209602 ], [ 10532414.695886606350541, 3852045.248797080013901 ], [ 10523981.019944617524743, 3842254.238490306772292 ], [ 10508005.114542912691832, 3841588.288870585151017 ], [ 10505399.681860895827413, 3832396.723806784953922 ], [ 10485926.897294901311398, 3831264.384759850334376 ], [ 10479207.43019163608551, 3820407.624593550339341 ], [ 10459460.354400327429175, 3827134.77783183939755 ], [ 10448626.964195307344198, 3824670.395567772444338 ], [ 10444033.031449250876904, 3835660.344957998022437 ], [ 10425588.72765869461, 3838790.784674284979701 ], [ 10421611.950169594958425, 3832130.296898818109185 ], [ 10410229.977513946592808, 3825935.907326799817383 ], [ 10404264.699960805475712, 3836526.181931581348181 ], [ 10395625.416919322684407, 3832463.265455011744052 ], [ 10379375.220292301848531, 3850579.921553152147681 ], [ 10360451.018176937475801, 3845784.397155400831252 ], [ 10354897.177461767569184, 3860504.220572160556912 ], [ 10339058.417672719806433, 3855175.794566420838237 ], [ 10317802.962781162932515, 3864167.454020155128092 ], [ 10312249.122065994888544, 3858239.55722687439993 ], [ 10280982.928006380796432, 3864100.866090305149555 ], [ 10269806.673769714310765, 3858306.244384124875069 ], [ 10263498.643504424020648, 3862835.369793598074466 ], [ 10266721.231443399563432, 3871560.657629181630909 ], [ 10257601.938757613301277, 3880152.831331464927644 ], [ 10236483.629478711634874, 3871494.160346953198314 ], [ 10229901.196668615564704, 3883083.478221883065999 ], [ 10217490.743237527087331, 3887879.093359973281622 ], [ 10194726.909245720133185, 3900534.158925581723452 ], [ 10185607.616559933871031, 3909792.272760249208659 ], [ 10178613.858231356367469, 3904064.186108985450119 ], [ 10159278.219278018921614, 3914055.08448407612741 ], [ 10145084.98420187830925, 3905063.263470898848027 ], [ 10130274.816507758572698, 3910724.721182260196656 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 640000, "name": "宁夏回族自治区", "adchar": null, "childrenNum": 5.0, "level": "province", "subFeatureIndex": 29.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 11807606.068281855434179, 4226301.666888744570315 ], [ 11807880.359507169574499, 4227034.354310214519501 ], [ 11808565.976250965148211, 4230631.121434663422406 ], [ 11808565.976250965148211, 4230631.121434663422406 ], [ 11807743.213894512504339, 4230897.453682429157197 ], [ 11801640.790728714317083, 4235093.585802922956645 ], [ 11785253.559808529913425, 4237491.509548882953823 ], [ 11782853.734226008877158, 4230764.286751461215317 ], [ 11765437.911210890859365, 4259204.890919665805995 ], [ 11772568.815152125433087, 4263600.848271870985627 ], [ 11763243.804047355428338, 4266198.424615929834545 ], [ 11751998.977004362270236, 4261669.249993160367012 ], [ 11742194.067574782297015, 4263134.611693970859051 ], [ 11732252.012532543390989, 4282117.077120363712311 ], [ 11725669.691041938960552, 4285181.008989778347313 ], [ 11726835.317430034279823, 4305295.910661594942212 ], [ 11745690.946739071980119, 4321281.232149598188698 ], [ 11739794.241992259398103, 4331471.769621232524514 ], [ 11741234.159605672582984, 4341729.120341880246997 ], [ 11733211.920501654967666, 4351653.242077980190516 ], [ 11732869.056470012292266, 4360045.66412493865937 ], [ 11724161.200622199103236, 4374632.277386416681111 ], [ 11719910.131907785311341, 4372767.191658488474786 ], [ 11713053.519191864877939, 4387820.162376252934337 ], [ 11712847.800772877410054, 4401607.408158974722028 ], [ 11724161.200622199103236, 4403339.169167313724756 ], [ 11725806.725335104390979, 4411398.39930784329772 ], [ 11715796.097486538812518, 4424453.112116486765444 ], [ 11709762.358446560800076, 4423254.295400377362967 ], [ 11706951.096026066690683, 4438440.25907881744206 ], [ 11683501.533970972523093, 4444701.17152592446655 ], [ 11672530.998153295367956, 4468679.184007252566516 ], [ 11663548.851080168038607, 4473541.348412078805268 ], [ 11648258.562422258779407, 4467280.522909389808774 ], [ 11644076.066514175385237, 4473008.563780986703932 ], [ 11647641.518484791740775, 4480867.981774556450546 ], [ 11656692.238364247605205, 4485130.697605991736054 ], [ 11652921.067974643781781, 4496120.670202631503344 ], [ 11625974.626755261793733, 4501449.120304886251688 ], [ 11609175.958997102454305, 4498918.14765642862767 ], [ 11622614.893203629180789, 4504046.76055692601949 ], [ 11623917.665204383432865, 4510707.310923933051527 ], [ 11666428.574987500905991, 4514437.166022229008377 ], [ 11673696.624541392549872, 4518366.931302694603801 ], [ 11691249.481849675998092, 4520231.864143365062773 ], [ 11700917.245666598901153, 4527824.947942392900586 ], [ 11723612.618171568959951, 4537416.052070963196456 ], [ 11755221.56494333781302, 4537016.48116457555443 ], [ 11757895.681751172989607, 4548206.175968681462109 ], [ 11773254.431895921006799, 4551203.452890056185424 ], [ 11778054.083060964941978, 4559928.755522545427084 ], [ 11777574.184736154973507, 4570985.330439509823918 ], [ 11782099.544675882905722, 4579977.04926847293973 ], [ 11775448.650378946214914, 4591433.217732200399041 ], [ 11774831.495121989399195, 4605819.916601051576436 ], [ 11784979.26858321391046, 4621405.628389194607735 ], [ 11779974.010318677872419, 4631396.436507172882557 ], [ 11785870.603745996952057, 4663566.922841290943325 ], [ 11783470.778163474053144, 4670427.327945675700903 ], [ 11789367.482910284772515, 4683282.189734269864857 ], [ 11788476.147747503593564, 4691474.689644600264728 ], [ 11800269.557241125032306, 4703730.130744644440711 ], [ 11796635.532464176416397, 4708658.849730106070638 ], [ 11806646.160312743857503, 4717184.382438873872161 ], [ 11810622.937801843509078, 4733835.773262912407517 ], [ 11816108.317030172795057, 4743626.769403324462473 ], [ 11831467.067174920812249, 4742494.490184238180518 ], [ 11831535.639981249347329, 4760477.966042876243591 ], [ 11844700.282962461933494, 4763541.788143533281982 ], [ 11856219.40123076736927, 4760411.390316551551223 ], [ 11866915.757142622023821, 4775597.45061803329736 ], [ 11875966.47702207788825, 4772999.869143192656338 ], [ 11883508.706481793895364, 4776463.268230446614325 ], [ 11889679.591134428977966, 4767404.96467363089323 ], [ 11888445.503259493038058, 4752418.740817436948419 ], [ 11895507.723074911162257, 4737099.389400972053409 ], [ 11907575.423793844878674, 4729506.46925837919116 ], [ 11906066.933374106884003, 4713254.620301419869065 ], [ 11878846.200929408892989, 4681483.8821158753708 ], [ 11873635.224245883524418, 4664765.79391479305923 ], [ 11871989.588213488459587, 4646116.37698991689831 ], [ 11866847.184336293488741, 4634993.131155632436275 ], [ 11853613.857229260727763, 4624669.362111841328442 ], [ 11860744.761170495301485, 4617609.077416198328137 ], [ 11885428.522420013323426, 4604154.79385791067034 ], [ 11912854.973283698782325, 4596428.616377731785178 ], [ 11932396.33065602183342, 4601224.133695126511157 ], [ 11947892.226413426920772, 4591832.766458711586893 ], [ 11959959.815812872722745, 4578378.516260111704469 ], [ 11957902.854261994361877, 4571051.954157061874866 ], [ 11965993.666172340512276, 4571651.304550190456212 ], [ 11983546.523480623960495, 4560328.360774055123329 ], [ 11980255.362735319882631, 4547806.613630781881511 ], [ 11966747.855722464621067, 4546407.914133210666478 ], [ 11965170.903815887868404, 4538015.577840297482908 ], [ 11950017.760770635679364, 4524228.165040235035121 ], [ 11949263.571220509707928, 4511173.522795628756285 ], [ 11942818.284023070707917, 4506511.074887381866574 ], [ 11939869.987309411168098, 4486196.401486812159419 ], [ 11948646.415963552892208, 4462218.4083221424371 ], [ 11941104.186503835022449, 4452960.329372161999345 ], [ 11931299.277074255049229, 4459154.569498566910625 ], [ 11921837.120356826111674, 4455224.949645281769335 ], [ 11914569.070802934467793, 4458755.034223770722747 ], [ 11899073.175045527517796, 4452827.04121120646596 ], [ 11886388.430389124900103, 4460953.014471831731498 ], [ 11886388.430389124900103, 4460953.014471831731498 ], [ 11883371.560869136825204, 4452893.754866044037044 ], [ 11867258.509854773059487, 4456890.08446607273072 ], [ 11874115.122570695355535, 4441437.595943848602474 ], [ 11866161.456273004412651, 4430780.701982260681689 ], [ 11873155.214601583778858, 4412930.414957563392818 ], [ 11870206.917887924239039, 4400608.373732596635818 ], [ 11865475.839529210701585, 4404338.320552105084062 ], [ 11857727.891650509089231, 4398610.168955896981061 ], [ 11857727.891650509089231, 4398610.168955896981061 ], [ 11852379.658034836873412, 4380893.072055220603943 ], [ 11844563.137349804863334, 4376030.993011462502182 ], [ 11857865.037263164296746, 4366772.798931344412267 ], [ 11854231.012486219406128, 4355849.394637759774923 ], [ 11856150.828424440696836, 4337266.474876713007689 ], [ 11866572.893110977485776, 4338465.363501936197281 ], [ 11866572.893110977485776, 4338465.363501936197281 ], [ 11895439.150268582627177, 4329140.658848277293146 ], [ 11895439.150268582627177, 4329140.658848277293146 ], [ 11906478.370212078094482, 4313221.976694788783789 ], [ 11905724.069342464208603, 4301232.876821574755013 ], [ 11894479.242299471050501, 4285181.008989778347313 ], [ 11902501.481403488665819, 4273591.596897607669234 ], [ 11896262.023944525048137, 4264599.895719597116113 ], [ 11881931.643255725502968, 4257939.339894325472414 ], [ 11856013.682811783626676, 4264666.547847408801317 ], [ 11855670.930099630728364, 4264599.895719597116113 ], [ 11848265.734933078289032, 4257872.728790118359029 ], [ 11852928.240485465154052, 4243086.331580691039562 ], [ 11848951.351676875725389, 4235693.086016994901001 ], [ 11855945.110005453228951, 4220440.421533616259694 ], [ 11852448.230841163545847, 4206186.78811916988343 ], [ 11835443.844664020463824, 4199992.511058572679758 ], [ 11819330.904969146475196, 4223637.561722811311483 ], [ 11811788.564189938828349, 4213580.012154123745859 ], [ 11808703.12186362221837, 4222105.61086892709136 ], [ 11807811.786700841039419, 4225102.76702759694308 ], [ 11808017.505119828507304, 4225236.002035605721176 ], [ 11808086.077926155179739, 4225902.064630667679012 ], [ 11807606.068281855434179, 4226301.666888744570315 ] ] ], [ [ [ 11806303.296281101182103, 4230431.239769134670496 ], [ 11805891.970762619748712, 4225102.76702759694308 ], [ 11788133.283715860918164, 4220240.588425653986633 ], [ 11788476.147747503593564, 4225435.78924707416445 ], [ 11806303.296281101182103, 4230431.239769134670496 ] ] ], [ [ [ 11807811.786700841039419, 4225102.76702759694308 ], [ 11807606.068281855434179, 4226301.666888744570315 ], [ 11808086.077926155179739, 4225902.064630667679012 ], [ 11808017.505119828507304, 4225236.002035605721176 ], [ 11807811.786700841039419, 4225102.76702759694308 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 650000, "name": "新疆维吾尔自治区", "adchar": null, "childrenNum": 23.0, "level": "province", "subFeatureIndex": 30.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8798653.479159073904157, 4073775.121839351952076 ], [ 8789671.332085946574807, 4080768.715636399108917 ], [ 8780689.185012819245458, 4081501.336786807049066 ], [ 8765604.614773895591497, 4090026.76377585856244 ], [ 8761764.982897454872727, 4099151.768557235598564 ], [ 8753605.598180780187249, 4101283.090972525067627 ], [ 8747640.320627639070153, 4096887.250070863869041 ], [ 8743320.679106896743178, 4106211.960995549336076 ], [ 8731458.80812643840909, 4102015.830535276792943 ], [ 8730498.788837837055326, 4108876.194146437570453 ], [ 8714180.130723979324102, 4112805.955505065154284 ], [ 8712671.640304239466786, 4123929.004978343378752 ], [ 8706637.901264263316989, 4125594.135217383038253 ], [ 8709380.479558937251568, 4147907.028936788439751 ], [ 8703209.594906302168965, 4155300.175150720402598 ], [ 8705403.702069837599993, 4160428.834200459998101 ], [ 8696627.16209620423615, 4168887.728883316274732 ], [ 8696832.88051518984139, 4178612.112437399104238 ], [ 8689907.694992940872908, 4179478.000338663347065 ], [ 8684833.863922074437141, 4194930.566931359469891 ], [ 8684422.427084101364017, 4213713.244282987900078 ], [ 8698067.079709615558386, 4231030.758951823227108 ], [ 8684011.10156562179327, 4230897.453682429157197 ], [ 8673451.891266426071525, 4227234.174202328547835 ], [ 8662481.355448748916388, 4234560.860975877381861 ], [ 8648493.838791592046618, 4224969.670282577164471 ], [ 8629363.918257242068648, 4229565.446883136406541 ], [ 8615787.838438056409359, 4227633.824883471243083 ], [ 8605845.783395817503333, 4237557.996816510334611 ], [ 8593366.757158402353525, 4234694.073951565660536 ], [ 8579653.531726559624076, 4244485.004148971289396 ], [ 8567928.695039266720414, 4244618.20081371255219 ], [ 8553461.280057301744819, 4254209.468747163191438 ], [ 8545027.715434802696109, 4253343.577271326445043 ], [ 8537416.801849266514182, 4265932.055460137315094 ], [ 8526377.693225260823965, 4269328.817815477028489 ], [ 8523292.250898944213986, 4275789.5765863917768 ], [ 8526789.130063232034445, 4286313.269188576377928 ], [ 8521372.323641231283545, 4289510.341871141456068 ], [ 8501008.315231947228312, 4276455.701914370059967 ], [ 8493534.547259068116546, 4278853.513580996543169 ], [ 8476667.306694580242038, 4277721.205077013932168 ], [ 8478655.695439130067825, 4288111.661542795598507 ], [ 8471867.655529538169503, 4303231.103045391850173 ], [ 8455960.322934160009027, 4307693.623531650751829 ], [ 8453903.361383281648159, 4319615.997581236064434 ], [ 8462131.318906284868717, 4323412.500007697381079 ], [ 8461582.736455654725432, 4332204.528135339729488 ], [ 8467068.115683985874057, 4331671.582828698679805 ], [ 8459114.449386296793818, 4347523.816486638039351 ], [ 8464188.28045716136694, 4357048.418438511900604 ], [ 8454246.225414924323559, 4381892.205445694737136 ], [ 8446018.267891921103001, 4392682.330956688150764 ], [ 8429562.464165406301618, 4404404.869138851761818 ], [ 8408786.907598657533526, 4407535.345102723687887 ], [ 8408718.334792328998446, 4401540.877030021511018 ], [ 8400010.478944515809417, 4400275.336756991222501 ], [ 8396376.454167569056153, 4408334.612154699862003 ], [ 8395005.109360486268997, 4432778.82895287964493 ], [ 8376218.052857778035104, 4433977.746466455981135 ], [ 8363533.308201375417411, 4440638.344028612598777 ], [ 8352562.772383698262274, 4441437.595943848602474 ], [ 8337135.449432621710002, 4430713.988165052607656 ], [ 8331924.361429608426988, 4447032.374889470636845 ], [ 8319925.344836491160095, 4443036.141261004842818 ], [ 8316565.611284858547151, 4450895.598206099122763 ], [ 8300863.997108467854559, 4443702.121952519752085 ], [ 8293184.51071660220623, 4449230.430407032370567 ], [ 8289413.45164649002254, 4459620.876020446419716 ], [ 8294555.855523685924709, 4472608.923067808151245 ], [ 8311765.960119817405939, 4472009.490409045480192 ], [ 8318622.572835736908019, 4478603.447109140455723 ], [ 8328496.055071647278965, 4469345.245016400702298 ], [ 8339055.26537084300071, 4471742.993623794987798 ], [ 8340837.935696406289935, 4477870.767911549657583 ], [ 8362984.837070237845182, 4484131.733270505443215 ], [ 8366001.706590224988759, 4496986.506450613960624 ], [ 8356676.695485455915332, 4510907.153568006120622 ], [ 8352905.636415341868997, 4509175.357406857423484 ], [ 8342346.426116145215929, 4517301.183978227898479 ], [ 8336929.73101363517344, 4532687.042544454336166 ], [ 8349682.937156877480447, 4547140.475759034045041 ], [ 8339740.882114638574421, 4557531.02370981965214 ], [ 8339055.26537084300071, 4574781.729905090294778 ], [ 8329113.210328605026007, 4593964.142441870644689 ], [ 8325547.758357986807823, 4625401.950584731996059 ], [ 8334324.187012128531933, 4636658.278548846952617 ], [ 8333707.143074662424624, 4648047.838682322762907 ], [ 8325890.511070139706135, 4655441.037100684829056 ], [ 8317525.519253969192505, 4656306.90639331471175 ], [ 8308886.2362124864012, 4664499.429277495481074 ], [ 8294007.38439254835248, 4669894.452911107800901 ], [ 8263221.19997723121196, 4672558.678498914465308 ], [ 8254101.907291446812451, 4675489.388305650092661 ], [ 8245256.905830977484584, 4662501.20360251981765 ], [ 8247725.304219826124609, 4656306.90639331471175 ], [ 8229418.146041927859187, 4655441.037100684829056 ], [ 8226401.276521937921643, 4661568.736964887008071 ], [ 8215293.483772113919258, 4666098.00614352338016 ], [ 8210630.978219727985561, 4681616.999945337884128 ], [ 8211933.750220484100282, 4689609.680374292656779 ], [ 8204185.802341779693961, 4701332.354938014410436 ], [ 8211796.604607825167477, 4713254.620301419869065 ], [ 8218310.46461159363389, 4709791.21538210939616 ], [ 8217624.736548306420445, 4727641.484773726202548 ], [ 8209054.026313152164221, 4725909.683199494145811 ], [ 8206448.482311642728746, 4737166.098468188196421 ], [ 8197534.908044843934476, 4753284.579478298313916 ], [ 8186701.517839824780822, 4760344.815030094236135 ], [ 8188004.289840579964221, 4771934.104527464136481 ], [ 8182244.730706424452364, 4776796.394571687094867 ], [ 8192323.931361322291195, 4780925.888734819367528 ], [ 8194312.32010587118566, 4788652.108533089980483 ], [ 8209328.317538465373218, 4788052.703670817427337 ], [ 8222972.970163979567587, 4791049.941898476332426 ], [ 8232503.588368245400488, 4808034.337006084620953 ], [ 8227155.466072062961757, 4828548.889640633016825 ], [ 8220024.562130828388035, 4830613.554026368074119 ], [ 8220435.998968800529838, 4841470.355240875855088 ], [ 8227292.61168472096324, 4847597.958387459628284 ], [ 8227703.937203203327954, 4856456.577644608914852 ], [ 8235451.996401395648718, 4866647.238645268604159 ], [ 8231337.961980148218572, 4868245.680350548587739 ], [ 8240251.536246947944164, 4878303.110813922248781 ], [ 8266923.797560507431626, 4884164.509229302406311 ], [ 8277345.750927554443479, 4878902.583074246533215 ], [ 8286945.05325763951987, 4885896.245563159696758 ], [ 8301892.477883906103671, 4903879.727823508903384 ], [ 8312588.722476269118488, 4906543.918926257640123 ], [ 8315331.412090433761477, 4916135.04051648452878 ], [ 8338780.974145527929068, 4915335.84980586450547 ], [ 8326164.802295453846455, 4930588.476658046245575 ], [ 8328838.919103289954364, 4939713.470977663993835 ], [ 8336929.73101363517344, 4939979.936064614914358 ], [ 8345980.450893092900515, 4933052.875236778520048 ], [ 8360379.29306872934103, 4930055.624014580622315 ], [ 8364013.317845676094294, 4933519.170452190563083 ], [ 8375943.761632464826107, 4931387.736631757579744 ], [ 8388559.933482537977397, 4944442.397536813281476 ], [ 8397062.182230854406953, 4948172.28850204590708 ], [ 8410226.825212068855762, 4960694.109904089942575 ], [ 8419826.016222663223743, 4957097.464825935661793 ], [ 8420923.06980443187058, 4941311.930686855688691 ], [ 8430590.944940844550729, 4935117.646779258735478 ], [ 8423528.613805938512087, 4918932.572590238414705 ], [ 8427916.828133009374142, 4906876.902201901189983 ], [ 8441492.907952193170786, 4913604.054206731729209 ], [ 8451572.108607089146972, 4908342.191349582746625 ], [ 8458771.585354654118419, 4921596.744074133224785 ], [ 8479889.894633553922176, 4921530.105426477268338 ], [ 8491409.012901859357953, 4929989.074312924407423 ], [ 8497374.290455000475049, 4916001.837562831118703 ], [ 8509510.452660772949457, 4922995.529097544029355 ], [ 8520343.842865793034434, 4933585.744055768474936 ], [ 8522263.770123505964875, 4945108.455372283235192 ], [ 8533440.024360166862607, 4956498.054588893428445 ], [ 8535634.13152370415628, 4967621.205164466053247 ], [ 8532274.397972071543336, 4977012.523223614320159 ], [ 8541736.443370008841157, 4985671.189839580096304 ], [ 8545096.176921639591455, 5005586.30864292383194 ], [ 8555312.523189192637801, 5008849.938773984089494 ], [ 8558877.975159810855985, 5016376.324849366210401 ], [ 8571837.011041527613997, 5023170.195886393077672 ], [ 8581779.066083764657378, 5021571.566419746726751 ], [ 8590418.349125251173973, 5013712.180830379016697 ], [ 8604611.584201393648982, 5013046.148282194510102 ], [ 8612016.668048452585936, 5018374.506453840062022 ], [ 8624632.839898526668549, 5012246.82195691857487 ], [ 8637454.730167586356401, 5011181.204902164638042 ], [ 8663921.161742670461535, 5021105.330614978447556 ], [ 8662275.637029763311148, 5032161.946668930351734 ], [ 8672354.837684659287333, 5039688.392421708442271 ], [ 8679897.067144375294447, 5037890.048342583701015 ], [ 8697312.890159491449594, 5046082.398457789793611 ], [ 8701015.376423275098205, 5068928.206453840248287 ], [ 8719048.354695351794362, 5069194.52371453307569 ], [ 8733995.668002126738429, 5073523.989346916787326 ], [ 8747571.747821312397718, 5083647.958439686335623 ], [ 8755319.695700014010072, 5081516.658342356793582 ], [ 8765193.289255412295461, 5094637.918836261145771 ], [ 8774792.480266008526087, 5095370.593083499930799 ], [ 8789739.904892275109887, 5109091.213601043447852 ], [ 8796665.090414525941014, 5109757.347197332419455 ], [ 8809624.014976752921939, 5119548.33531145285815 ], [ 8818400.554950384423137, 5119947.909031689167023 ], [ 8830536.717156156897545, 5132469.765699206851423 ], [ 8834444.92183892801404, 5130538.285672365687788 ], [ 8845758.321688247844577, 5138331.104798666201532 ], [ 8855563.342437319457531, 5136133.09250027127564 ], [ 8865573.970285886898637, 5143726.221999865025282 ], [ 8880658.540524810552597, 5144925.035642171278596 ], [ 8889160.677953638136387, 5163308.144326179288328 ], [ 8896497.18899436853826, 5167171.290420883335173 ], [ 8921386.668662872165442, 5166172.15924921259284 ], [ 8927077.654990699142218, 5173165.730192787013948 ], [ 8921112.488757049664855, 5183689.532795730978251 ], [ 8924335.076696025207639, 5191016.06898208335042 ], [ 8937431.146870909258723, 5195944.813733765855432 ], [ 8937156.966965084895492, 5209132.785444582812488 ], [ 8931054.543799286708236, 5214794.184250548481941 ], [ 8928517.572604108601809, 5225451.170388088561594 ], [ 8935099.894094714894891, 5236507.622672812081873 ], [ 8923855.067051723599434, 5255423.602982095442712 ], [ 8930985.970992958173156, 5265347.785939876921475 ], [ 8934688.568576235324144, 5285462.736257954500616 ], [ 8952035.707465531304479, 5287460.82996915653348 ], [ 8961223.572957644239068, 5293655.150869819335639 ], [ 8972674.11841962300241, 5295919.835334368981421 ], [ 8959783.655344234779477, 5304178.887399242259562 ], [ 8947716.065944788977504, 5316767.24098498467356 ], [ 8971577.064837854355574, 5332286.42404967546463 ], [ 8993998.146117510274053, 5332885.779243239201605 ], [ 8992078.330179288983345, 5358995.188479818403721 ], [ 8982684.746268188580871, 5360860.197650434449315 ], [ 8990295.548534234985709, 5380175.789515234529972 ], [ 8989609.931790437549353, 5387502.288267032243311 ], [ 8963691.97134649567306, 5437123.4679668052122 ], [ 8962457.772152069956064, 5451044.020848584361374 ], [ 8956081.169080449268222, 5463832.281499734148383 ], [ 8955601.159436149522662, 5477486.407796184532344 ], [ 8949430.274783512577415, 5485146.117409862577915 ], [ 8951555.809140721336007, 5506459.760750359855592 ], [ 8944562.050812143832445, 5540761.621033874340355 ], [ 8951418.663528064265847, 5559610.99553703237325 ], [ 8940448.12771038711071, 5575196.682679388672113 ], [ 8927900.528666641563177, 5583255.966322264634073 ], [ 8924472.222308682277799, 5597109.963354824110866 ], [ 8905479.447386987507343, 5589117.249414895661175 ], [ 8902119.713835356757045, 5602238.560412471182644 ], [ 8893068.99395589902997, 5607233.949486567638814 ], [ 8921660.959888188168406, 5630812.252036353573203 ], [ 8932700.068512193858624, 5626482.983049254864454 ], [ 8942093.652423292398453, 5632544.037757297977805 ], [ 8950595.901171611621976, 5629280.431816007941961 ], [ 8960537.956213848665357, 5641535.824696986936033 ], [ 8972262.68158165179193, 5638205.555167131125927 ], [ 8987004.387788930907845, 5646131.54073794465512 ], [ 9005517.264385815709829, 5641602.407945199869573 ], [ 9009699.760293900966644, 5646797.57771822437644 ], [ 9019641.81533613987267, 5647197.31830713711679 ], [ 9029309.690472552552819, 5655989.156857192516327 ], [ 9035823.439156830310822, 5654790.237359958700836 ], [ 9066952.487603789195418, 5663449.059824785217643 ], [ 9080939.892941454425454, 5670109.63216261472553 ], [ 9087522.214432062581182, 5678035.62872301414609 ], [ 9104595.173415534198284, 5682098.650162879377604 ], [ 9119405.45242914557457, 5658320.452066005207598 ], [ 9134078.58583009801805, 5661917.048938736319542 ], [ 9140386.727414879947901, 5654856.918809390626848 ], [ 9160956.454243151471019, 5660584.995485018007457 ], [ 9182417.627553695812821, 5650061.382481263019145 ], [ 9193593.993109848350286, 5656855.063629594631493 ], [ 9195102.372210098430514, 5676170.719510929659009 ], [ 9189068.633170122280717, 5688825.755480390973389 ], [ 9159585.220755558460951, 5706742.682893349789083 ], [ 9157871.011916832998395, 5719664.057357200421393 ], [ 9160476.555918341502547, 5735049.900025999173522 ], [ 9166098.969439836218953, 5743975.134870410896838 ], [ 9166373.260665152221918, 5769951.200839530676603 ], [ 9179606.476452693343163, 5777144.625095190480351 ], [ 9185914.506717985495925, 5805052.30263218190521 ], [ 9209089.888867255300283, 5860001.845956833101809 ], [ 9220540.434329234063625, 5905027.307882035151124 ], [ 9225751.411012755706906, 5913352.887339014559984 ], [ 9232608.023728676140308, 5944391.039054101333022 ], [ 9238779.019700801, 5952783.340400469489396 ], [ 9242550.078770915046334, 5977294.311168976128101 ], [ 9256743.313847057521343, 5980691.044261475093663 ], [ 9268193.859309036284685, 5970367.268162255175412 ], [ 9280741.347033290192485, 5971299.748267498798668 ], [ 9286158.153455289080739, 5961508.781323461793363 ], [ 9291094.83891350030899, 5963640.128645974211395 ], [ 9303642.437957245856524, 5951717.703841009177268 ], [ 9324829.320042476058006, 5946455.817869341932237 ], [ 9343342.196639358997345, 5937197.769552568905056 ], [ 9351158.717324391007423, 5940527.974771970883012 ], [ 9360483.728429162874818, 5936398.44842232298106 ], [ 9372551.317828604951501, 5942659.418546983040869 ], [ 9392161.248007258400321, 5940994.239691348746419 ], [ 9398194.987047236412764, 5943525.267442350275815 ], [ 9407245.706926692277193, 5937664.019648897461593 ], [ 9434123.686659237369895, 5943658.482595925219357 ], [ 9445368.513702228665352, 5935066.354860656894743 ], [ 9454830.559100167825818, 5919880.312795656733215 ], [ 9460727.263846978545189, 5928738.792381539940834 ], [ 9471286.474146172404289, 5932268.918928446248174 ], [ 9492953.365875704213977, 5953316.28928305581212 ], [ 9498438.633784541860223, 5949386.537009222432971 ], [ 9522916.676615076139569, 5951517.860432676039636 ], [ 9527030.599716830998659, 5965438.444790218025446 ], [ 9538138.392466655001044, 5978493.064379808492959 ], [ 9537315.518790712580085, 5994145.461596163921058 ], [ 9540263.926823863759637, 6005002.131460622884333 ], [ 9530596.051687449216843, 6023718.357496591284871 ], [ 9530938.915719091892242, 6032443.542338638566434 ], [ 9523053.822227733209729, 6108240.761973893269897 ], [ 9521065.433483181521297, 6111371.152086729183793 ], [ 9527510.609361132606864, 6138812.690335630439222 ], [ 9537658.382822355255485, 6151267.883154548704624 ], [ 9539578.198760576546192, 6162790.55786688067019 ], [ 9550274.554672429338098, 6176844.399758235551417 ], [ 9564193.498523257672787, 6180041.450275757350028 ], [ 9598613.596396028995514, 6179108.902289487421513 ], [ 9607458.597856497392058, 6189099.755378411151469 ], [ 9619800.478481259196997, 6187367.967337439768016 ], [ 9638039.063852827996016, 6196959.285809585824609 ], [ 9644827.103762421756983, 6212145.339255720376968 ], [ 9660391.572326153516769, 6229396.066277205012739 ], [ 9657443.275612493976951, 6238387.861164454370737 ], [ 9664985.505072211846709, 6249311.233560083433986 ], [ 9657854.712450467050076, 6257037.420132686384022 ], [ 9655043.450029972940683, 6274088.371484111063182 ], [ 9666562.568298280239105, 6283546.468310888856649 ], [ 9672459.273045089095831, 6297400.39071196038276 ], [ 9694606.06309943087399, 6297600.128830963745713 ], [ 9697348.752713594585657, 6301330.009716586209834 ], [ 9711404.730857590213418, 6294336.517592892982066 ], [ 9728066.364322580397129, 6291539.145253973081708 ], [ 9733414.48661876283586, 6287609.32489491160959 ], [ 9741779.478434931486845, 6292138.467680830508471 ], [ 9740339.672141011804342, 6298865.700547059997916 ], [ 9776199.687627194449306, 6304393.871208570897579 ], [ 9781342.091504389420152, 6293337.410304585471749 ], [ 9777571.032434277236462, 6283413.134278668090701 ], [ 9786278.888282088562846, 6271490.882238957099617 ], [ 9782370.572279827669263, 6266228.968464182689786 ], [ 9769754.511749245226383, 6262432.549079668708146 ], [ 9767423.258973052725196, 6254706.178946158848703 ], [ 9789295.757802076637745, 6233858.688905044458807 ], [ 9799374.958456974476576, 6232593.182575152255595 ], [ 9806094.425560237839818, 6223268.364035650156438 ], [ 9799169.351357478648424, 6211878.890233535319567 ], [ 9791832.728997256606817, 6207149.883554716594517 ], [ 9800746.303264055401087, 6198557.825008008629084 ], [ 9808220.071236934512854, 6198158.120019786991179 ], [ 9818024.98066651634872, 6189432.85129386652261 ], [ 9836537.857263401150703, 6183771.319912003353238 ], [ 9845520.004336528480053, 6172248.632644453085959 ], [ 9852170.89863346144557, 6175845.28425613231957 ], [ 9863552.871289109811187, 6163256.932861836627126 ], [ 9860124.564931150525808, 6153132.860598284751177 ], [ 9869929.474360730499029, 6135548.904931725934148 ], [ 9884876.898986998945475, 6129154.832454948686063 ], [ 9887893.768506987020373, 6124625.639209983870387 ], [ 9900647.085969720035791, 6126090.974138963967562 ], [ 9916142.981727123260498, 6104710.666014056652784 ], [ 9933215.940710596740246, 6103578.248654699884355 ], [ 9949877.462856099009514, 6114568.291135586798191 ], [ 9970790.165035504847765, 6113169.521033308468759 ], [ 9979909.45772129110992, 6092521.870099300518632 ], [ 9989302.930312898010015, 6089791.003915541805327 ], [ 9992251.338346049189568, 6079600.386136364191771 ], [ 10014055.264368748292327, 6080732.633853130042553 ], [ 10014329.555594060570002, 6087859.413000552915037 ], [ 10028385.645057545974851, 6084529.164133646525443 ], [ 10027220.018669448792934, 6069942.450091903097928 ], [ 10033802.340160056948662, 6060950.768722042441368 ], [ 10055674.950308572500944, 6054023.793286197818816 ], [ 10063080.034155631437898, 6031910.824256895110011 ], [ 10070896.554840661585331, 6023718.357496591284871 ], [ 10070896.554840661585331, 6008399.039296914823353 ], [ 10077341.730718612670898, 6004136.220924658700824 ], [ 10073090.662004198879004, 5994012.29196585714817 ], [ 10081250.046720871701837, 5975962.174714051187038 ], [ 10104151.13764482922852, 5940861.065228875726461 ], [ 10119098.450951604172587, 5935665.747334114275873 ], [ 10125406.592536386102438, 5922411.25142973382026 ], [ 10123692.383697662502527, 5913685.919186802580953 ], [ 10136102.837128749117255, 5896102.0326804574579 ], [ 10132057.4868333209306, 5874188.968217114917934 ], [ 10138914.099549243226647, 5870325.8402119288221 ], [ 10128217.743637390434742, 5840619.676657915115356 ], [ 10118961.416658436879516, 5830495.634073433466256 ], [ 10132468.923671294003725, 5799790.514155303128064 ], [ 10133223.113221418112516, 5784071.66391561832279 ], [ 10113407.464623780921102, 5762424.868777653202415 ], [ 10098323.00570434704423, 5736981.517397055402398 ], [ 10094071.936989933252335, 5713669.515255803242326 ], [ 10093454.78173297457397, 5698616.737817459739745 ], [ 10104768.181582296267152, 5689824.755895784124732 ], [ 10108333.63355291262269, 5668044.762784738093615 ], [ 10116424.445463258773088, 5665846.840741386637092 ], [ 10116904.34378806874156, 5651793.085274422541261 ], [ 10130960.433251554146409, 5655989.156857192516327 ], [ 10144536.513070737943053, 5655589.499251818284392 ], [ 10157015.539308156818151, 5643201.027131642214954 ], [ 10172100.109547078609467, 5639004.764286199584603 ], [ 10180053.664525277912617, 5646198.158002977259457 ], [ 10192601.26356902346015, 5633409.897828669287264 ], [ 10207411.54258263297379, 5631811.439797126688063 ], [ 10219479.243301568552852, 5634542.277721734717488 ], [ 10252527.996367255225778, 5634342.370715121738613 ], [ 10268161.149056810885668, 5624018.506791206076741 ], [ 10276526.140872979536653, 5626083.373368121683598 ], [ 10297164.551827069371939, 5621687.418446760624647 ], [ 10328156.343341883271933, 5629480.226538518443704 ], [ 10339812.607222845777869, 5628880.698100125417113 ], [ 10345229.302325354889035, 5624284.955258454196155 ], [ 10372107.282057899981737, 5623951.895904534496367 ], [ 10401110.684828160330653, 5614493.893135529942811 ], [ 10409407.215157493948936, 5616492.070170878432691 ], [ 10432445.340374615043402, 5604902.790939341299236 ], [ 10433268.102731067687273, 5600373.57927617430687 ], [ 10487983.858845779672265, 5569401.993890577927232 ], [ 10500737.176308510825038, 5556080.997821941971779 ], [ 10504028.337053811177611, 5545557.297792014665902 ], [ 10516438.790484899654984, 5544624.715520662255585 ], [ 10531523.249404333531857, 5535100.178799077868462 ], [ 10544482.285286050289869, 5518315.60973693151027 ], [ 10569303.192148229107261, 5510855.766547385603189 ], [ 10575199.896895037963986, 5504728.091618993319571 ], [ 10619699.195422705262899, 5511122.179024808108807 ], [ 10611745.529125016182661, 5469893.319482262246311 ], [ 10634029.576111502945423, 5466563.12267860583961 ], [ 10644725.82070386596024, 5443117.981625803746283 ], [ 10657273.419747613370419, 5403354.516295680776238 ], [ 10670849.499566795304418, 5375779.816363668069243 ], [ 10673317.897955644875765, 5354732.469234440475702 ], [ 10677911.83070170134306, 5347006.25139042083174 ], [ 10727142.207588082179427, 5296852.243392842821777 ], [ 10729679.178783262148499, 5270609.607648763805628 ], [ 10698207.377624152228236, 5251893.474048897624016 ], [ 10689293.803357351571321, 5242568.750826735049486 ], [ 10684288.433773322030902, 5226650.082752162590623 ], [ 10694024.881716065108776, 5223253.131978129036725 ], [ 10691213.619295572862029, 5209998.673476469703019 ], [ 10706503.907953483983874, 5193680.2584631415084 ], [ 10695259.080910490825772, 5183423.014975459314883 ], [ 10702115.582306921482086, 5169102.851481674239039 ], [ 10699715.868043890222907, 5158845.551393760368228 ], [ 10690939.328070258721709, 5149720.598646787926555 ], [ 10670575.208341481164098, 5138464.256921777501702 ], [ 10650759.671063333749771, 5135666.957686779089272 ], [ 10638966.261569714173675, 5130471.689865899272263 ], [ 10619219.297097895294428, 5115152.334436606615782 ], [ 10608248.761280216276646, 5096702.641196490265429 ], [ 10590490.074233457446098, 5127008.152183608151972 ], [ 10559978.181043457239866, 5111422.510981258004904 ], [ 10547567.727612368762493, 5092040.313255803659558 ], [ 10523501.121619807556272, 5087244.67772664129734 ], [ 10484555.552487816661596, 5052010.388662003912032 ], [ 10465219.913534481078386, 5029297.834701165556908 ], [ 10442867.405061151832342, 4994596.375783446244895 ], [ 10444101.604255579411983, 4981941.390417548827827 ], [ 10437382.137152314186096, 4963025.344075684435666 ], [ 10409064.351125849410892, 4960627.645513645373285 ], [ 10344749.404000546783209, 4949504.516374930739403 ], [ 10342349.578418023884296, 4911206.270127352327108 ], [ 10330076.270599592477083, 4888294.00826393160969 ], [ 10324385.284271769225597, 4846798.769274116493762 ], [ 10312591.874778147786856, 4795645.744719815440476 ], [ 10299907.130121743306518, 4774598.367867650464177 ], [ 10279131.68487448617816, 4755615.787726229056716 ], [ 10282217.127200802788138, 4730172.505776023492217 ], [ 10287085.351172175258398, 4727175.256492370739579 ], [ 10284205.515945352613926, 4721780.150157808326185 ], [ 10270766.581738825887442, 4721979.97604894451797 ], [ 10260687.381083931773901, 4716052.050564451143146 ], [ 10237649.255866808816791, 4711789.293954180553555 ], [ 10227981.380730394273996, 4705128.796659487299621 ], [ 10179779.484619453549385, 4695004.71935177501291 ], [ 10164352.050348887220025, 4686079.664495525881648 ], [ 10111281.930266574025154, 4674223.816114918328822 ], [ 10087695.222598822787404, 4673691.028069347143173 ], [ 10086735.314629713073373, 4663966.578389923088253 ], [ 10070348.083709524944425, 4658371.682557949796319 ], [ 10066028.330869292840362, 4649180.180328753776848 ], [ 10053823.595857189968228, 4650578.927258033305407 ], [ 10031196.79615854844451, 4647115.407593293115497 ], [ 10034076.631385371088982, 4627666.593323287554085 ], [ 10049983.963980747386813, 4613146.647384866140783 ], [ 10058006.203084765002131, 4612480.54611159581691 ], [ 10059034.683860203251243, 4621938.542439986951649 ], [ 10077821.740362912416458, 4624735.907312346622348 ], [ 10076244.677136844024062, 4608750.60756085626781 ], [ 10076587.541168486699462, 4541479.037987750954926 ], [ 10105179.618420269340277, 4530156.097490931861103 ], [ 10116972.91659439727664, 4519632.375148531980813 ], [ 10114915.955043520778418, 4513837.728159122169018 ], [ 10125406.592536386102438, 4505911.669581896625459 ], [ 10136445.7011603936553, 4506777.612946177832782 ], [ 10141176.779519107192755, 4501715.529721056111157 ], [ 10145084.98420187830925, 4484664.521108676679432 ], [ 10151461.698592986911535, 4477937.360286569222808 ], [ 10151324.552980329841375, 4467813.297693938016891 ], [ 10161266.608022566884756, 4461952.019070023670793 ], [ 10163872.152024077251554, 4440838.116502500139177 ], [ 10150227.499398563057184, 4442636.377739468589425 ], [ 10128286.316443717107177, 4427050.803685978055 ], [ 10113818.901461752131581, 4427317.151706195436418 ], [ 10100585.685674211010337, 4415128.37143886461854 ], [ 10099008.622448142617941, 4398610.168955896981061 ], [ 10100997.011192692443728, 4381758.973027743399143 ], [ 10134045.875577870756388, 4373766.398360656574368 ], [ 10135965.802835583686829, 4360312.006527534686029 ], [ 10133017.394802432507277, 4345259.145189768634737 ], [ 10138159.909999119117856, 4341862.271340036764741 ], [ 10143987.930620109662414, 4316552.24982896540314 ], [ 10140354.017162652686238, 4312822.346634616144001 ], [ 10127737.845312578603625, 4315353.310617657378316 ], [ 10121498.276534125208855, 4304629.805170838721097 ], [ 10112378.98384834267199, 4303164.489573840051889 ], [ 10105179.618420269340277, 4312489.263976190239191 ], [ 10092563.446570193395019, 4319083.259369029663503 ], [ 10077410.303524941205978, 4321081.335317272692919 ], [ 10066645.486126249656081, 4318949.975542237050831 ], [ 10044910.021590391173959, 4322879.712588985450566 ], [ 10033048.15060993283987, 4329407.065743235871196 ], [ 10034967.966548152267933, 4333536.592511707916856 ], [ 10021871.78505377843976, 4336200.800623908638954 ], [ 10018649.197114802896976, 4324012.055144709534943 ], [ 10011792.584398882463574, 4318616.979901059530675 ], [ 10012204.021236855536699, 4309891.62584138661623 ], [ 9986628.924824554473162, 4313421.728375701233745 ], [ 9962013.625061871483922, 4321414.406849101185799 ], [ 9949260.418918631970882, 4332071.22034186962992 ], [ 9939455.398169562220573, 4333137.038739630952477 ], [ 9933284.513516927137971, 4341396.111927132122219 ], [ 9921628.249635962769389, 4335001.887658013030887 ], [ 9918817.098534958437085, 4339397.863245196640491 ], [ 9903458.23707072250545, 4344593.058518413454294 ], [ 9899207.168356308713555, 4350854.048624456860125 ], [ 9885493.942924465984106, 4347190.767031240276992 ], [ 9883368.408567260950804, 4340863.264625352807343 ], [ 9865541.260033661499619, 4354317.510977184399962 ], [ 9859918.846512164920568, 4364241.774388969875872 ], [ 9848536.873856516554952, 4367172.357807368040085 ], [ 9836812.03716922365129, 4363775.474292417056859 ], [ 9823030.238931054249406, 4365307.461739399470389 ], [ 9811099.795144265517592, 4359579.407872601412237 ], [ 9794232.554579777643085, 4361044.655158802866936 ], [ 9790461.384190175682306, 4355982.720469829626381 ], [ 9766257.63258495554328, 4353718.065511958673596 ], [ 9748293.338438700884581, 4347856.738046638667583 ], [ 9737185.54568887501955, 4349455.291932037100196 ], [ 9736019.919300779700279, 4357114.950265548191965 ], [ 9725049.383483102545142, 4358447.056698998436332 ], [ 9718947.071636797860265, 4350787.417290437035263 ], [ 9706330.899786721915007, 4348789.221990221180022 ], [ 9701394.103009022772312, 4341595.83286836091429 ], [ 9684389.716831877827644, 4343194.424407756887376 ], [ 9672253.554626103490591, 4336800.238060923293233 ], [ 9669442.292205611243844, 4341995.56210979167372 ], [ 9656551.940449710935354, 4340863.264625352807343 ], [ 9651546.57086568325758, 4334402.412130183540285 ], [ 9630839.698424754664302, 4328940.754521360620856 ], [ 9617195.045799242332578, 4329140.658848277293146 ], [ 9594362.527681613340974, 4318683.550643599592149 ], [ 9595733.872488697990775, 4305096.033421089872718 ], [ 9588260.104515818879008, 4297769.468352071940899 ], [ 9580169.29260547272861, 4279452.945974133908749 ], [ 9567827.411980714648962, 4270261.291324615478516 ], [ 9552468.661835964769125, 4270261.291324615478516 ], [ 9534847.231721354648471, 4263734.003607018850744 ], [ 9530458.906074790284038, 4252877.366934762336314 ], [ 9503581.037661738693714, 4259604.475261945277452 ], [ 9492336.210618745535612, 4271593.456201012246311 ], [ 9479857.184381330385804, 4265665.555645915679634 ], [ 9468063.886207198724151, 4266531.463784676045179 ], [ 9431998.152302030473948, 4247548.937164670787752 ], [ 9400800.531048744916916, 4238956.785327821038663 ], [ 9401280.540693044662476, 4228366.464413205161691 ], [ 9388184.359198668971658, 4220373.764563922770321 ], [ 9368848.720245331525803, 4212780.789702001027763 ], [ 9361512.209204601123929, 4213313.689232832752168 ], [ 9351501.581356033682823, 4221439.504897773265839 ], [ 9338062.647149506956339, 4213913.095496647059917 ], [ 9314955.83780656568706, 4213047.23624649643898 ], [ 9308784.953153930604458, 4209583.796947603113949 ], [ 9289723.494106417521834, 4215911.260887717828155 ], [ 9266479.650470310822129, 4221106.467031924985349 ], [ 9253657.760201249271631, 4218175.813180906698108 ], [ 9247075.438710642978549, 4226967.794044504873455 ], [ 9239396.063638269901276, 4229898.467621855437756 ], [ 9235144.994923856109381, 4255541.595749191008508 ], [ 9216015.074389504268765, 4257339.854565681889653 ], [ 9209638.359998393803835, 4250879.175778450444341 ], [ 9198187.814536415040493, 4258339.015042651444674 ], [ 9175492.553350936621428, 4261202.958743497729301 ], [ 9165618.959795536473393, 4252744.069775965064764 ], [ 9164727.624632755294442, 4240155.693402186967432 ], [ 9131884.478666560724378, 4225236.002035605721176 ], [ 9134147.158636424690485, 4211581.859952887520194 ], [ 9120159.753298759460449, 4200791.762123708613217 ], [ 9098904.187087709084153, 4199592.907210159115493 ], [ 9092047.574371790513396, 4195663.216733476147056 ], [ 9074014.707419205456972, 4195863.013962537050247 ], [ 9071889.17306200042367, 4203655.879220995120704 ], [ 9057216.039661047980189, 4212181.308526644483209 ], [ 9041308.707065669819713, 4207319.099124587140977 ], [ 9027938.345665471628308, 4219374.77793100476265 ], [ 9020396.11620575375855, 4215711.373425482772291 ], [ 9019778.96094879694283, 4206386.639387996867299 ], [ 8999551.986832676455379, 4210915.844209895469248 ], [ 8982273.420749707147479, 4210049.947423313744366 ], [ 8978639.395972762256861, 4217576.448040645569563 ], [ 8963074.927409028634429, 4217310.028487199917436 ], [ 8951487.236334392800927, 4222971.499623090960085 ], [ 8941339.462873168289661, 4216577.305537763051689 ], [ 8935442.758126357570291, 4203922.241822458803654 ], [ 8945933.395619224756956, 4192332.885982762556523 ], [ 8934277.131738262251019, 4191533.701295802369714 ], [ 8931191.689411945641041, 4183940.647535367868841 ], [ 8918712.663174528628588, 4172884.094861235003918 ], [ 8909044.788038114085793, 4168554.774609935935587 ], [ 8909387.652069756761193, 4150571.297712612897158 ], [ 8899719.888252833858132, 4139581.338110402692109 ], [ 8895194.528313105925918, 4120998.429806739557534 ], [ 8883469.691625813022256, 4093290.517342254985124 ], [ 8869482.174968658015132, 4089560.60968738142401 ], [ 8850420.827240632846951, 4090026.76377585856244 ], [ 8819771.78843797557056, 4084498.55044303368777 ], [ 8812229.558978257700801, 4088228.538519210647792 ], [ 8795430.891220100224018, 4082633.613919318653643 ], [ 8798653.479159073904157, 4073775.121839351952076 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 710000, "name": "台湾省", "adchar": null, "childrenNum": 0.0, "level": "province", "subFeatureIndex": 31.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13407732.021174749359488, 2564560.630516523960978 ], [ 13391413.251741399988532, 2575417.257617983501405 ], [ 13380648.434342708438635, 2598329.530102071817964 ], [ 13372969.059270333498716, 2632298.35820649145171 ], [ 13360421.460226587951183, 2640890.524760033469647 ], [ 13370363.515268828719854, 2673327.427459273487329 ], [ 13371872.005688566714525, 2693175.790753892157227 ], [ 13368923.597655417397618, 2703233.226322714239359 ], [ 13369746.471331359818578, 2717020.617035103496164 ], [ 13377837.171922216191888, 2729942.104342634323984 ], [ 13385722.265413574874401, 2734005.039339608047158 ], [ 13389287.717384193092585, 2744595.274418401066214 ], [ 13435021.326425775885582, 2826786.57626761496067 ], [ 13450037.212538879364729, 2837510.04385298024863 ], [ 13457648.126124417409301, 2847234.37273906590417 ], [ 13460184.98600010573864, 2859156.789503563195467 ], [ 13472389.832331696525216, 2880737.035899060312659 ], [ 13492959.559159968048334, 2891393.843399006873369 ], [ 13511060.998918881639838, 2895390.173311287071556 ], [ 13519151.810829227790236, 2909044.36510563082993 ], [ 13529231.011484121903777, 2913573.537308204453439 ], [ 13539036.032233195379376, 2911974.928712218999863 ], [ 13552612.112052379176021, 2895656.690541066229343 ], [ 13571742.032586729153991, 2892659.351641385816038 ], [ 13575101.766138361766934, 2879671.315360909327865 ], [ 13582369.704372763633728, 2875941.395238907076418 ], [ 13563719.793482713401318, 2855626.712482837028801 ], [ 13563308.356644740328193, 2843104.896281838882715 ], [ 13568999.342972565442324, 2828917.909371888730675 ], [ 13568245.153422441333532, 2818061.203937580808997 ], [ 13559742.904674122110009, 2794749.245213491842151 ], [ 13541298.712203059345484, 2765309.63646545028314 ], [ 13543081.382528619840741, 2754253.070215953979641 ], [ 13538830.313814209774137, 2743729.39988346491009 ], [ 13527859.777996530756354, 2697305.34249408589676 ], [ 13523060.126831486821175, 2671062.792546269949526 ], [ 13515860.650083923712373, 2655743.517361337784678 ], [ 13517574.858922649174929, 2648616.810665966942906 ], [ 13510923.964625714346766, 2642222.656488083768636 ], [ 13505781.449429029598832, 2625438.059167292900383 ], [ 13488639.917639225721359, 2598596.005139921791852 ], [ 13473349.740300808101892, 2589804.11392687400803 ], [ 13460184.98600010573864, 2547909.161236152052879 ], [ 13459362.223643651232123, 2515538.898466585204005 ], [ 13454768.290897594764829, 2509677.581847646273673 ], [ 13455522.591767208650708, 2499220.565468721091747 ], [ 13436461.132719695568085, 2502750.726017978508025 ], [ 13430838.719198197126389, 2515538.898466585204005 ], [ 13429673.092810103669763, 2540516.011147365905344 ], [ 13421787.999318743124604, 2555036.050877310335636 ], [ 13407732.021174749359488, 2564560.630516523960978 ] ] ], [ [ [ 13318938.919899418950081, 2698770.743745193816721 ], [ 13314824.996797664090991, 2693042.62457822682336 ], [ 13310093.918438952416182, 2702900.285394265316427 ], [ 13322504.37187003903091, 2704765.257216913625598 ], [ 13318938.919899418950081, 2698770.743745193816721 ] ] ], [ [ [ 13746996.871041702106595, 2967790.402593295555562 ], [ 13747613.914979171007872, 2966791.33979923883453 ], [ 13747408.196560183539987, 2966658.120084430091083 ], [ 13747339.623753855004907, 2966658.120084430091083 ], [ 13747134.0166543610394, 2966591.510680152103305 ], [ 13745831.244653608649969, 2966658.120084430091083 ], [ 13745762.671847280114889, 2966591.510680152103305 ], [ 13744185.608621209859848, 2965992.039633910171688 ], [ 13744117.035814879462123, 2965992.039633910171688 ], [ 13746996.871041702106595, 2967790.402593295555562 ] ] ], [ [ [ 13753442.046919651329517, 2965059.577736479230225 ], [ 13753442.046919651329517, 2965059.577736479230225 ], [ 13753099.182888008654118, 2965592.405859930440784 ], [ 13753099.182888008654118, 2965525.801287786569446 ], [ 13753442.046919651329517, 2965059.577736479230225 ] ] ], [ [ [ 13769143.661096042022109, 2989570.430698051117361 ], [ 13769280.806708700954914, 2989370.537928659003228 ], [ 13769212.233902372419834, 2988837.710210021119565 ], [ 13769212.233902372419834, 2988771.123584005516022 ], [ 13769143.661096042022109, 2989570.430698051117361 ] ] ], [ [ [ 13754607.673307748511434, 2964260.371774871367961 ], [ 13754607.673307748511434, 2964193.773239788133651 ], [ 13753373.474113322794437, 2964526.768933001440018 ], [ 13753442.046919651329517, 2964526.768933001440018 ], [ 13754607.673307748511434, 2964260.371774871367961 ] ] ], [ [ [ 13526488.433189449831843, 2521999.662084006238729 ], [ 13533482.19151802919805, 2521866.431825771927834 ], [ 13535813.444294219836593, 2510943.184516818262637 ], [ 13526488.433189449831843, 2521999.662084006238729 ] ] ], [ [ [ 13754607.673307748511434, 2964260.371774871367961 ], [ 13754676.246114078909159, 2964260.371774871367961 ], [ 13754676.246114078909159, 2964193.773239788133651 ], [ 13754607.673307748511434, 2964193.773239788133651 ], [ 13754607.673307748511434, 2964260.371774871367961 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 810000, "name": "香港特别行政区", "adchar": null, "childrenNum": 18.0, "level": "province", "subFeatureIndex": 32.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12693959.461211616173387, 2572153.574672463349998 ], [ 12695330.694699205458164, 2571953.795333832036704 ], [ 12695536.413118194788694, 2571953.795333832036704 ], [ 12711100.881681926548481, 2577881.682075857184827 ], [ 12711100.881681926548481, 2577881.682075857184827 ], [ 12716311.96968494169414, 2576483.036927189677954 ], [ 12716311.96968494169414, 2575150.91384153906256 ], [ 12719740.276042902842164, 2576682.750086518470198 ], [ 12719808.848849231377244, 2576682.750086518470198 ], [ 12720700.18401201441884, 2575883.550265207886696 ], [ 12722619.999950233846903, 2574418.189149409998208 ], [ 12730025.195116782560945, 2563827.88915321836248 ], [ 12735647.608638279139996, 2563628.089020838029683 ], [ 12735647.608638279139996, 2563561.489507480990142 ], [ 12730162.34072944149375, 2552438.393184438347816 ], [ 12726459.743146166205406, 2557766.781687732320279 ], [ 12725568.40798338316381, 2547576.237827082164586 ], [ 12725568.40798338316381, 2547442.925929279066622 ], [ 12718094.640010504052043, 2544512.376580317039043 ], [ 12720014.567268216982484, 2535653.811736991629004 ], [ 12712129.473776856437325, 2539516.857459996826947 ], [ 12703832.943447524681687, 2544245.922702432610095 ], [ 12703901.516253853216767, 2550107.198801134247333 ], [ 12694302.213923767209053, 2547709.43046318134293 ], [ 12693342.305954657495022, 2539117.236619630362839 ], [ 12673595.341482838615775, 2534588.100571519229561 ], [ 12679080.609391676262021, 2548641.92879882035777 ], [ 12692176.679566562175751, 2551439.25304286275059 ], [ 12681549.007780527696013, 2555768.648168065119535 ], [ 12681343.289361542090774, 2561829.754440281074494 ], [ 12693959.461211616173387, 2572153.574672463349998 ] ] ], [ [ [ 12729476.61266615614295, 2542780.561913298908621 ], [ 12729956.62231045588851, 2543779.668640105519444 ], [ 12730025.195116782560945, 2543779.668640105519444 ], [ 12729476.61266615614295, 2542780.561913298908621 ] ] ], [ [ [ 12726048.306308194994926, 2557367.208150954917073 ], [ 12726048.306308194994926, 2557433.783013679552823 ], [ 12725979.733501864597201, 2557500.358141010161489 ], [ 12726459.743146166205406, 2557766.781687732320279 ], [ 12726048.306308194994926, 2557367.208150954917073 ] ] ], [ [ [ 12731876.438248675316572, 2550306.958082484081388 ], [ 12731876.438248675316572, 2550440.172369743231684 ], [ 12732082.156667662784457, 2550373.6252630664967 ], [ 12731876.438248675316572, 2550306.958082484081388 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 820000, "name": "澳门特别行政区", "adchar": null, "childrenNum": 8.0, "level": "province", "subFeatureIndex": 33.0, "parent": { "adcode": 100000 } }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 12641300.666647784411907, 2537119.154221546370536 ], [ 12646306.036231813952327, 2527394.745345290750265 ], [ 12640752.195516645908356, 2524464.069996293634176 ], [ 12641300.666647784411907, 2537119.154221546370536 ] ] ] ] } }, +{ "type": "Feature", "properties": { "adcode": 100000, "name": "", "adchar": "JD", "childrenNum": null, "level": null, "subFeatureIndex": null, "parent": null }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 13638714.071316948160529, 2687838.724683710839599 ], [ 13638577.313096119090915, 2687489.55236494820565 ], [ 13638348.26545144803822, 2687203.544718925375491 ], [ 13638049.351467963308096, 2687008.693838021252304 ], [ 13637709.830360630527139, 2686924.069288189057261 ], [ 13637362.935450226068497, 2686957.95230291550979 ], [ 13637042.624747416004539, 2687107.028468465898186 ], [ 13636780.252499980852008, 2687356.706515921279788 ], [ 13636601.501227639615536, 2687682.552437147591263 ], [ 13636523.868127955123782, 2688052.670815774705261 ], [ 13636554.952982565388083, 2688430.835135133005679 ], [ 13667720.060038981959224, 2824067.468745414167643 ], [ 13667856.819373006001115, 2824419.696734117809683 ], [ 13668085.865904482081532, 2824708.220034788362682 ], [ 13668384.779887964949012, 2824904.792060650419444 ], [ 13668724.302108494564891, 2824990.165108754299581 ], [ 13669071.195905704051256, 2824955.981065744534135 ], [ 13669391.506608512252569, 2824805.587606571614742 ], [ 13669653.878855949267745, 2824553.709747588727623 ], [ 13669832.630128290504217, 2824225.006281958892941 ], [ 13669910.263227974995971, 2823851.656148247886449 ], [ 13669879.179486561566591, 2823470.209366572555155 ], [ 13638714.071316948160529, 2687838.724683710839599 ] ] ], [ [ [ 13488808.251633619889617, 2368696.747451582923532 ], [ 13488545.810368100181222, 2368451.808378202840686 ], [ 13488225.458477079868317, 2368305.615332410670817 ], [ 13487878.555774308741093, 2368272.475978202652186 ], [ 13487539.056930873543024, 2368355.632306715007871 ], [ 13487240.197493942454457, 2368546.94655401725322 ], [ 13487011.228886106982827, 2368827.69475644081831 ], [ 13486874.566400039941072, 2369170.399166106246412 ], [ 13486843.587298946455121, 2369541.515536099672318 ], [ 13486921.322812562808394, 2369904.716332706157118 ], [ 13487100.164253691211343, 2370224.44882372347638 ], [ 13569182.912152467295527, 2475575.878530430607498 ], [ 13569445.353417988866568, 2475822.312196948565543 ], [ 13569765.704195812344551, 2475969.401292524766177 ], [ 13570112.608011776581407, 2476002.74530423572287 ], [ 13570452.10685521364212, 2475919.077477113343775 ], [ 13570750.966292146593332, 2475726.592214944306761 ], [ 13570979.934899978339672, 2475444.133182992693037 ], [ 13571116.597386045381427, 2475099.352647761814296 ], [ 13571147.576487138867378, 2474726.003223267849535 ], [ 13571069.84097352437675, 2474360.632295678835362 ], [ 13570890.999532394111156, 2474039.001918683759868 ], [ 13488808.251633619889617, 2368696.747451582923532 ] ] ], [ [ [ 13299747.185878220945597, 2038376.433018940268084 ], [ 13299535.192379539832473, 2038085.868711018469185 ], [ 13299248.181789204478264, 2037878.412734931567684 ], [ 13298914.250033505260944, 2037774.367154253646731 ], [ 13298566.083854513242841, 2037783.917226806981489 ], [ 13298237.765940733253956, 2037906.126708132680506 ], [ 13297961.432002762332559, 2038129.036100276513025 ], [ 13297764.132676865905523, 2038430.827589659951627 ], [ 13297665.181894693523645, 2038781.962216625688598 ], [ 13297674.264451947063208, 2039148.069763387786224 ], [ 13297790.490905895829201, 2039493.314471103716642 ], [ 13359242.815024046227336, 2158889.732710934244096 ], [ 13359454.809635922312737, 2159182.050422731321305 ], [ 13359741.82022625207901, 2159390.763479636982083 ], [ 13360075.75198195502162, 2159495.441154049243778 ], [ 13360423.917047750204802, 2159485.833017905242741 ], [ 13360752.236074727028608, 2159362.880145482253283 ], [ 13361028.568899504840374, 2159138.622004116885364 ], [ 13361225.868225401267409, 2158835.010840357281268 ], [ 13361324.820120764896274, 2158481.770542269106954 ], [ 13361315.737563513219357, 2158113.479553112294525 ], [ 13361199.509996369481087, 2157766.190456140320748 ], [ 13299747.185878220945597, 2038376.433018940268084 ] ] ], [ [ [ 13255109.626316599547863, 1693923.960228093434125 ], [ 13255109.503865160048008, 1693906.912016904214397 ], [ 13255054.635601341724396, 1690066.14406485715881 ], [ 13254995.070768211036921, 1689710.87668587686494 ], [ 13254832.380672, 1689392.057908926857635 ], [ 13254582.490679066628218, 1689140.893800938734785 ], [ 13254269.863247511908412, 1688981.968733608722687 ], [ 13253925.09899216145277, 1688930.837861357023939 ], [ 13253581.946643037721515, 1688992.503317600116134 ], [ 13253273.995743291452527, 1689160.931655476801097 ], [ 13253031.390497837215662, 1689419.636606794781983 ], [ 13252877.879806837067008, 1689743.298501346725971 ], [ 13252828.489575162529945, 1690100.235176957445219 ], [ 13252883.236500734463334, 1693932.484338122652844 ], [ 13252883.236500734463334, 1809805.486268904060125 ], [ 13252937.719599112868309, 1810163.426765619078651 ], [ 13253095.837803836911917, 1810486.334012015955523 ], [ 13253342.11102651245892, 1810742.598406271776184 ], [ 13253652.43525780364871, 1810907.130979789653793 ], [ 13253996.431408666074276, 1810963.826119136530906 ], [ 13254340.427559534087777, 1810907.130979789653793 ], [ 13254650.750677628442645, 1810742.598406271776184 ], [ 13254897.025013498961926, 1810486.334012015955523 ], [ 13255055.142105026170611, 1810163.426765619078651 ], [ 13255109.626316599547863, 1809805.486268904060125 ], [ 13255109.626316599547863, 1693923.960228093434125 ] ] ], [ [ [ 13212117.125039216130972, 1253614.054552014684305 ], [ 13230942.575634300708771, 1301772.837862197309732 ], [ 13243658.145770899951458, 1344743.178869368974119 ], [ 13243809.841954199597239, 1345063.686937024351209 ], [ 13244050.993367101997137, 1345320.589259460801259 ], [ 13244357.995824785903096, 1345488.734325521392748 ], [ 13244700.797517515718937, 1345551.662069330457598 ], [ 13245045.842297984287143, 1345503.212679857388139 ], [ 13245359.355832686647773, 1345348.130080830538645 ], [ 13245610.647338006645441, 1345101.593949191505089 ], [ 13245775.119659265503287, 1344787.740685613593087 ], [ 13245836.672658503055573, 1344437.293113556923345 ], [ 13245789.282838076353073, 1344084.556462776381522 ], [ 13233059.872349187731743, 1301068.382815101183951 ], [ 13233028.315499939024448, 1300976.290709509979934 ], [ 13214153.673935070633888, 1252692.951521257869899 ], [ 13214079.106574160978198, 1252537.837078716605902 ], [ 13196082.353890782222152, 1221373.268613976659253 ], [ 13195860.952781930565834, 1221099.468570206081495 ], [ 13195567.307549947872758, 1220908.746939160628244 ], [ 13195230.160887351259589, 1220819.768971881596372 ], [ 13194882.515683576464653, 1220841.243693462340161 ], [ 13194558.402306964620948, 1220971.070653633913025 ], [ 13194289.545699190348387, 1221196.5416194438003 ], [ 13194102.266240660101175, 1221495.587046014377847 ], [ 13194014.89268553070724, 1221838.937174753053114 ], [ 13194035.981049867346883, 1222192.98268006183207 ], [ 13194163.46524391695857, 1222523.066478161374107 ], [ 13212117.125039216130972, 1253614.054552014684305 ] ] ], [ [ [ 12862373.698033031076193, 797640.569125844049267 ], [ 12862109.69050227291882, 797411.631306710885838 ], [ 12861788.407980307936668, 797276.119797436287627 ], [ 12861441.299336483702064, 797247.29923243552912 ], [ 12861102.343732161447406, 797327.991021345718764 ], [ 12860804.718828381970525, 797510.296323490329087 ], [ 12860577.558049079030752, 797776.371052187867463 ], [ 12860443.098575733602047, 798100.172224483336322 ], [ 12860414.502824941650033, 798450.001944625866599 ], [ 12860494.568255499005318, 798791.619234964018688 ], [ 12860675.457975259050727, 799091.582165367435664 ], [ 12939246.643668908625841, 892588.306709251948632 ], [ 12939510.651199663057923, 892817.69499722647015 ], [ 12939831.93372162617743, 892953.474168373737484 ], [ 12940179.04236545599997, 892982.351757765514776 ], [ 12940517.997969774529338, 892901.50039872713387 ], [ 12940815.622873557731509, 892718.835576257435605 ], [ 12941042.783652860671282, 892452.238598677911796 ], [ 12941177.243126202374697, 892127.806953183258884 ], [ 12941205.839990193024278, 891777.298622447997332 ], [ 12941125.774559633806348, 891435.025766769074835 ], [ 12940944.883726680651307, 891134.490205149864778 ], [ 12862373.698033031076193, 797640.569125844049267 ] ] ], [ [ [ 12501963.89568024687469, 393750.081859032565262 ], [ 12525114.281037859618664, 400738.949339698592667 ], [ 12561693.676469393074512, 417824.112840705085546 ], [ 12562028.484309490770102, 417920.263987341488246 ], [ 12562376.554753717035055, 417908.027131346287206 ], [ 12562703.815132334828377, 417788.5982195083634 ], [ 12562978.232148673385382, 417573.668938878108747 ], [ 12563172.943296410143375, 417284.277491406130139 ], [ 12563268.889565525576472, 416948.753429551667068 ], [ 12563256.677817385643721, 416599.940729278256185 ], [ 12563137.504736516624689, 416271.981442273594439 ], [ 12562923.035492358729243, 415996.981269827869255 ], [ 12562634.262714488431811, 415801.854908040550072 ], [ 12525982.341521505266428, 398683.167192950902972 ], [ 12525833.19789413176477, 398626.165090923022944 ], [ 12502569.104129452258348, 391603.115823025233112 ], [ 12502494.231753140687943, 391583.331628863757942 ], [ 12444553.468726921826601, 378415.112020695989486 ], [ 12444205.943748198449612, 378392.100805188762024 ], [ 12443868.328430546447635, 378477.796001788286958 ], [ 12443573.672417584806681, 378663.810771741496865 ], [ 12443350.818589381873608, 378931.935069758212194 ], [ 12443221.580000154674053, 379255.925250646658242 ], [ 12443198.610336426645517, 379604.066464425355662 ], [ 12443284.154912319034338, 379942.279328453063499 ], [ 12443469.841388937085867, 380237.458699279930443 ], [ 12443737.494633015245199, 380460.710008185356855 ], [ 12444060.912262814119458, 380590.177557933027856 ], [ 12501963.89568024687469, 393750.081859032565262 ] ] ], [ [ [ 12051510.381025183945894, 679117.82098448916804 ], [ 12051452.560568468645215, 679326.014581741765141 ], [ 12048818.889471225440502, 694250.100309580564499 ], [ 12048810.568339286372066, 694305.188698391662911 ], [ 12044421.117252673953772, 729201.244395982590504 ], [ 12044412.318560121580958, 729347.288821418886073 ], [ 12044631.791615389287472, 775656.009194886428304 ], [ 12044654.383906045928597, 775875.507355826557614 ], [ 12047507.526945365592837, 789921.813376589212567 ], [ 12047629.875971307978034, 790250.404396983911283 ], [ 12047847.002411710098386, 790524.817772007314488 ], [ 12048137.654262587428093, 790718.188714591553435 ], [ 12048473.378262091428041, 790811.588814737508073 ], [ 12048821.31289653852582, 790795.875168828410096 ], [ 12049147.399967726320028, 790672.584686730406247 ], [ 12049419.719724858179688, 790453.788216788205318 ], [ 12049611.614489475265145, 790160.902263699797913 ], [ 12049704.301323901861906, 789822.599777065217495 ], [ 12049688.707689629867673, 789471.995205995859578 ], [ 12046857.630399776622653, 775534.43212851730641 ], [ 12046639.03120251186192, 729409.906937862164341 ], [ 12051015.857545673847198, 694614.060883024358191 ], [ 12053625.816478185355663, 679824.234388852259144 ], [ 12056878.956051409244537, 671366.023624746710993 ], [ 12056952.230993028730154, 671023.648104097694159 ], [ 12056916.702264346182346, 670675.262454567593522 ], [ 12056775.848599450662732, 670354.969974328647368 ], [ 12056543.45803047157824, 670094.120803362573497 ], [ 12056242.276468960568309, 669918.249697653693147 ], [ 12055901.787995250895619, 669844.570242708548903 ], [ 12055555.320551691576838, 669880.293976793531328 ], [ 12055236.789847539737821, 670021.925384414149448 ], [ 12054977.374245779588819, 670255.600968573009595 ], [ 12054802.469061844050884, 670558.446692111785524 ], [ 12051510.381025183945894, 679117.82098448916804 ] ] ], [ [ [ 12259418.315245693549514, 1273972.721019495045766 ], [ 12266181.309383051469922, 1287717.09030278888531 ], [ 12271841.013820769265294, 1301431.171674365177751 ], [ 12276853.899696815758944, 1321482.901733455946669 ], [ 12279469.897711703553796, 1339794.981830619974062 ], [ 12280125.524984680116177, 1361867.805183509597555 ], [ 12279906.615206034854054, 1373032.192158781690523 ], [ 12279954.188703618943691, 1373385.239887904841453 ], [ 12280106.050752960145473, 1373705.968245826428756 ], [ 12280347.335749255493283, 1373962.980794391594827 ], [ 12280654.426149336621165, 1374131.118201822508126 ], [ 12280997.26012471690774, 1374193.920786829432473 ], [ 12281342.279301702976227, 1374145.238861572928727 ], [ 12281655.711573174223304, 1373989.839065129170194 ], [ 12281906.876174278557301, 1373742.933655956760049 ], [ 12282071.185969078913331, 1373428.695514656836167 ], [ 12282132.557517547160387, 1373077.884448539465666 ], [ 12282352.029459621757269, 1361884.773611056152731 ], [ 12282351.741142138838768, 1361827.368850891012698 ], [ 12281693.323089528828859, 1339660.662880810676143 ], [ 12281682.162197383120656, 1339530.849207759834826 ], [ 12279048.491100136190653, 1321095.249541046330705 ], [ 12279025.569303786382079, 1320978.212145389523357 ], [ 12273977.700164563953876, 1300786.914969805860892 ], [ 12273924.998178036883473, 1300626.879310996970162 ], [ 12268218.710986202582717, 1286800.297382341464981 ], [ 12268187.684017729014158, 1286731.619280893588439 ], [ 12261384.033775944262743, 1272905.065102476859465 ], [ 12261331.507674213498831, 1272810.026847345987335 ], [ 12253211.022440399974585, 1259641.916123199043795 ], [ 12252981.773307450115681, 1259374.590888656442985 ], [ 12252682.721287799999118, 1259192.579217986902222 ], [ 12252343.140067940577865, 1259113.69509689998813 ], [ 12251996.269647823646665, 1259145.658896243898198 ], [ 12251676.064698530361056, 1259285.344118740176782 ], [ 12251413.869449084624648, 1259519.075744183035567 ], [ 12251235.347494892776012, 1259823.97909780102782 ], [ 12251157.975996013730764, 1260170.208103210199624 ], [ 12251189.326904203742743, 1260523.872790061170235 ], [ 12251326.333367498591542, 1260850.353096729842946 ], [ 12259418.315245693549514, 1273972.721019495045766 ] ] ], [ [ [ 12226165.780720157548785, 1715602.036496399436146 ], [ 12219612.883197359740734, 1740502.704611642286181 ], [ 12208703.056577179580927, 1766031.203681519255042 ], [ 12197784.216417832300067, 1784592.768497318029404 ], [ 12191236.910473056137562, 1794413.448963597416878 ], [ 12166456.699790325015783, 1827306.53466152632609 ], [ 12166287.350562173873186, 1827623.451096615055576 ], [ 12166220.335115522146225, 1827979.357876150636002 ], [ 12166262.214621154591441, 1828339.415659757331014 ], [ 12166408.888069028034806, 1828668.378397498046979 ], [ 12166646.000810807570815, 1828934.044672510353848 ], [ 12166950.339393077418208, 1829110.406021855538711 ], [ 12167292.115833295509219, 1829180.196245906641707 ], [ 12167637.873058505356312, 1829136.582692590774968 ], [ 12167953.765490721911192, 1828983.835634016199037 ], [ 12168208.873028190806508, 1828736.90946772089228 ], [ 12193009.275953356176615, 1795815.000888771610335 ], [ 12193048.110870914533734, 1795760.243620638502762 ], [ 12199632.288057433441281, 1785883.698447279632092 ], [ 12199667.204528914764524, 1785827.979798346525058 ], [ 12210640.833915241062641, 1767172.33081034431234 ], [ 12210708.561806634068489, 1767038.215828157030046 ], [ 12221682.191192960366607, 1741359.417186117032543 ], [ 12221738.553364343941212, 1741195.133022916736081 ], [ 12228322.731664057821035, 1716174.942721937783062 ], [ 12228338.835141595453024, 1716105.346005860017613 ], [ 12230094.616244157776237, 1707326.358563059009612 ], [ 12230111.073717676103115, 1706965.927900989539921 ], [ 12230019.220666237175465, 1706617.872673995792866 ], [ 12229828.047251919284463, 1706316.264500525780022 ], [ 12229556.26850751042366, 1706090.622741327621043 ], [ 12229230.485338537022471, 1705963.032363338861614 ], [ 12228882.590779103338718, 1705945.982690450968221 ], [ 12228546.637461449950933, 1706041.141098843421787 ], [ 12228255.510276345536113, 1706239.195129776373506 ], [ 12228037.70812663435936, 1706520.759516605641693 ], [ 12227914.550921190530062, 1706858.274551989510655 ], [ 12226165.780720157548785, 1715602.036496399436146 ] ] ] ] } } +] +} diff --git a/src/assets/fonts/gentilis_regular.typeface.json b/src/assets/fonts/gentilis_regular.typeface.json new file mode 100644 index 0000000..606e52d --- /dev/null +++ b/src/assets/fonts/gentilis_regular.typeface.json @@ -0,0 +1 @@ +{"glyphs":{"ợ":{"x_min":54,"x_max":746,"ha":746,"o":"m 539 308 q 521 410 539 362 q 475 495 503 458 q 412 554 448 532 q 342 576 377 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 225 134 197 170 q 289 76 254 97 q 355 55 323 55 q 437 72 403 55 q 494 124 472 90 q 528 203 517 157 q 539 308 539 250 m 746 707 q 738 670 746 690 q 713 626 731 649 q 665 577 695 602 q 590 527 635 551 q 630 436 616 486 q 644 329 644 386 q 632 240 644 283 q 600 158 620 197 q 551 86 580 119 q 489 30 523 53 q 416 -6 454 6 q 336 -20 377 -20 q 219 4 271 -20 q 130 71 167 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 206 600 172 576 q 280 637 241 623 q 362 651 320 651 q 474 628 424 651 q 561 564 525 605 q 613 611 597 588 q 629 652 629 634 q 618 689 629 671 q 589 722 608 707 l 710 777 q 736 744 726 762 q 746 707 746 726 m 431 -189 q 425 -225 431 -208 q 408 -254 418 -242 q 383 -274 397 -267 q 352 -282 369 -282 q 308 -265 321 -282 q 295 -217 295 -248 q 301 -181 295 -198 q 318 -151 307 -164 q 343 -132 329 -139 q 373 -125 357 -125 q 431 -189 431 -125 "},"Ẩ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 620 957 q 607 938 612 944 q 591 927 602 932 l 405 1068 l 221 927 q 212 932 216 929 q 205 938 208 935 q 199 946 202 941 q 191 957 196 951 l 370 1167 l 442 1167 l 620 957 m 520 1392 q 508 1359 520 1374 q 478 1331 495 1344 q 445 1306 461 1318 q 422 1281 429 1294 q 421 1255 414 1269 q 456 1225 427 1242 q 435 1217 446 1218 q 414 1214 424 1215 q 369 1241 384 1229 q 351 1265 354 1254 q 355 1285 348 1275 q 373 1304 361 1294 q 398 1321 384 1313 q 425 1340 413 1330 q 446 1360 437 1349 q 454 1382 454 1370 q 441 1421 454 1408 q 409 1434 428 1434 q 390 1430 399 1434 q 376 1420 382 1426 q 366 1407 370 1414 q 363 1392 363 1399 q 364 1385 363 1388 q 368 1378 366 1381 q 354 1373 363 1376 q 336 1369 346 1371 q 317 1365 326 1367 q 301 1363 307 1363 l 293 1370 l 293 1379 q 306 1411 293 1395 q 339 1439 319 1426 q 383 1459 359 1451 q 431 1467 408 1467 q 497 1446 474 1467 q 520 1392 520 1426 "},"ǻ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 390 843 q 386 874 390 859 q 375 900 382 889 q 356 918 367 911 q 332 925 346 925 q 305 919 318 925 q 282 903 292 913 q 266 877 273 892 q 260 844 260 862 q 264 814 260 828 q 276 788 268 799 q 294 770 283 777 q 319 764 305 764 q 345 769 332 764 q 368 784 358 774 q 384 808 378 794 q 390 843 390 823 m 451 871 q 438 807 451 836 q 404 757 425 778 q 356 723 382 735 q 304 712 330 712 q 262 720 281 712 q 229 742 243 728 q 207 775 215 756 q 199 816 199 794 q 213 880 199 851 q 247 931 226 910 q 294 965 268 953 q 346 977 320 977 q 387 968 368 977 q 421 945 407 960 q 443 911 435 930 q 451 871 451 892 m 296 1008 q 274 1015 284 1010 q 257 1027 265 1021 l 416 1308 q 437 1306 424 1307 q 465 1302 451 1304 q 493 1297 480 1300 q 514 1292 507 1294 l 530 1266 l 296 1008 "},"ʉ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 320 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 281 l 217 281 l 217 226 q 224 146 217 178 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 m 692 281 l 621 281 l 621 172 q 624 103 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 42 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 281 l 43 281 l 27 295 q 34 318 30 306 q 43 342 37 331 l 115 342 l 115 481 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 612 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 342 l 519 342 l 519 481 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 342 l 692 342 l 707 325 l 692 281 "},"Ổ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 631 957 q 618 938 623 944 q 602 927 613 932 l 416 1068 l 232 927 q 223 932 227 929 q 216 938 219 935 q 210 946 213 941 q 202 957 206 951 l 381 1167 l 453 1167 l 631 957 m 531 1392 q 518 1359 531 1374 q 489 1331 506 1344 q 456 1306 472 1318 q 433 1281 440 1294 q 432 1255 425 1269 q 467 1225 438 1242 q 446 1217 457 1218 q 425 1214 435 1215 q 380 1241 394 1229 q 362 1265 365 1254 q 366 1285 359 1275 q 384 1304 372 1294 q 409 1321 395 1313 q 436 1340 424 1330 q 456 1360 448 1349 q 465 1382 465 1370 q 452 1421 465 1408 q 420 1434 439 1434 q 401 1430 409 1434 q 386 1420 393 1426 q 377 1407 380 1414 q 374 1392 374 1399 q 375 1385 374 1388 q 379 1378 377 1381 q 365 1373 374 1376 q 347 1369 357 1371 q 328 1365 337 1367 q 311 1363 318 1363 l 304 1370 l 304 1379 q 317 1411 304 1395 q 350 1439 330 1426 q 394 1459 370 1451 q 442 1467 418 1467 q 508 1446 485 1467 q 531 1392 531 1426 "},"Ừ":{"x_min":33.65625,"x_max":950.125,"ha":950,"o":"m 950 944 q 941 904 950 927 q 912 856 933 881 q 855 802 891 830 q 767 749 820 775 l 767 355 q 745 196 767 266 q 682 79 723 127 q 583 5 642 30 q 451 -20 525 -20 q 323 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 376 76 332 95 q 478 58 420 58 q 564 81 526 58 q 627 142 601 104 q 665 229 652 180 q 679 327 679 277 l 679 783 q 654 804 679 791 q 580 825 629 816 l 580 855 l 821 855 q 833 889 833 873 q 823 926 833 909 q 794 959 813 944 l 914 1014 q 940 981 930 999 q 950 944 950 963 m 579 957 q 564 938 569 944 q 548 927 559 931 l 230 1092 l 236 1122 q 251 1134 240 1128 q 274 1148 261 1141 q 297 1162 286 1156 q 316 1173 309 1168 l 579 957 "},"̂":{"x_min":-563.609375,"x_max":-134.28125,"ha":0,"o":"m -134 740 q -147 721 -142 727 q -163 710 -151 715 l -349 891 l -533 710 q -542 715 -538 712 q -549 721 -545 718 q -555 729 -552 724 q -563 740 -558 734 l -384 998 l -311 998 l -134 740 "},"Á":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 316 927 q 300 938 305 931 q 286 957 295 944 l 548 1173 q 567 1162 555 1168 q 590 1148 578 1156 q 613 1134 602 1141 q 628 1122 623 1128 l 634 1092 l 316 927 "},"ṑ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 598 868 q 594 851 597 861 q 586 831 590 841 q 578 812 582 822 q 572 797 575 803 l 155 797 l 140 813 q 145 830 141 821 q 152 850 148 840 q 160 869 156 859 q 168 885 164 878 l 583 885 l 598 868 m 440 975 q 422 962 431 967 q 402 954 413 957 l 163 1210 l 178 1237 q 198 1242 185 1239 q 226 1247 211 1244 q 255 1251 240 1250 q 277 1254 269 1253 l 440 975 "},"Ȯ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 485 1045 q 479 1009 485 1026 q 462 980 473 992 q 437 960 452 967 q 406 953 423 953 q 362 969 375 953 q 349 1018 349 986 q 355 1053 349 1036 q 372 1083 361 1070 q 397 1102 383 1095 q 427 1110 411 1110 q 485 1045 485 1110 "},"ĥ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 605 1127 q 592 1108 597 1114 q 576 1096 588 1102 l 390 1237 l 206 1096 q 197 1102 201 1099 q 190 1108 193 1104 q 184 1116 187 1111 q 176 1127 181 1121 l 355 1336 l 427 1336 l 605 1127 "},"»":{"x_min":94.953125,"x_max":619.890625,"ha":674,"o":"m 619 291 l 375 12 l 345 32 l 502 316 l 346 598 l 375 619 l 618 341 l 619 291 m 368 291 l 124 12 l 94 32 l 251 316 l 95 598 l 124 619 l 367 341 l 368 291 "},"Ḻ":{"x_min":33.65625,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 111 q 246 89 241 99 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 m 566 -155 q 561 -172 564 -162 q 554 -192 558 -182 q 546 -211 550 -201 q 539 -227 542 -220 l 122 -227 l 107 -210 q 112 -193 109 -202 q 120 -173 115 -183 q 128 -154 124 -164 q 135 -139 132 -145 l 551 -139 l 566 -155 "},"∆":{"x_min":40.015625,"x_max":741.96875,"ha":796,"o":"m 597 112 q 512 335 554 226 q 475 432 494 382 q 437 531 456 482 q 402 626 419 581 q 370 711 385 672 q 337 619 355 668 q 301 520 320 570 q 265 421 283 470 q 230 326 247 371 q 151 112 191 219 q 145 92 146 99 q 151 82 144 85 q 175 78 158 79 q 225 78 192 78 l 522 78 q 573 78 555 78 q 597 82 590 79 q 603 92 604 85 q 597 112 602 99 m 727 0 l 50 0 l 40 34 q 157 347 101 196 q 206 480 181 412 q 255 613 231 548 q 299 736 278 678 q 336 838 320 794 q 374 869 352 855 q 415 893 397 883 q 456 779 432 842 q 505 646 479 716 q 559 504 532 576 q 613 364 587 431 q 741 34 675 204 l 727 0 "},"ṟ":{"x_min":-46.125,"x_max":528.015625,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 m 412 -155 q 407 -172 411 -162 q 400 -192 404 -182 q 392 -211 396 -201 q 385 -227 388 -220 l -31 -227 l -46 -210 q -41 -193 -44 -202 q -33 -173 -37 -183 q -25 -154 -29 -164 q -18 -139 -21 -145 l 397 -139 l 412 -155 "},"ỹ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 590 912 q 561 857 578 884 q 523 808 544 830 q 478 773 503 787 q 427 760 454 760 q 382 771 404 760 q 341 798 361 783 q 300 825 320 813 q 261 837 280 837 q 211 814 234 837 q 164 755 189 792 l 128 768 q 157 823 140 796 q 194 873 173 851 q 239 908 215 894 q 290 922 263 922 q 339 910 316 922 q 382 883 362 898 q 421 856 402 868 q 455 845 439 845 q 506 866 481 845 q 554 928 531 888 l 590 912 "},"«":{"x_min":54.265625,"x_max":579.203125,"ha":674,"o":"m 54 291 l 54 315 q 54 332 54 324 q 55 341 54 339 l 299 619 l 327 598 l 320 586 q 303 554 314 574 q 278 508 292 534 q 248 457 263 483 q 220 405 233 430 q 195 360 206 379 q 177 328 184 340 q 171 316 170 316 l 328 32 l 299 12 l 54 291 m 305 291 l 305 315 q 305 332 305 324 q 306 341 305 339 l 550 619 l 578 598 l 571 586 q 554 554 564 574 q 529 508 543 534 q 499 457 514 483 q 471 405 484 430 q 446 360 457 379 q 428 328 435 340 q 422 316 421 316 l 579 32 l 550 12 l 305 291 "},"ử":{"x_min":27.515625,"x_max":851,"ha":851,"o":"m 851 707 q 840 662 851 688 q 803 608 830 637 q 733 549 777 579 q 621 491 688 519 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 683 71 l 725 55 q 676 25 699 39 q 634 1 653 11 q 599 -14 614 -8 q 576 -20 584 -20 q 537 11 552 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 609 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 531 519 513 q 502 559 512 549 q 473 574 492 570 q 424 579 455 578 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 625 l 620 538 q 672 568 650 553 q 707 599 693 584 q 727 627 721 614 q 734 652 734 641 q 723 689 734 671 q 694 722 713 707 l 815 777 q 841 744 831 762 q 851 707 851 726 m 483 904 q 471 871 483 886 q 441 843 458 856 q 409 817 425 829 q 385 793 393 806 q 384 767 378 780 q 419 736 391 753 q 398 728 409 730 q 377 726 388 727 q 332 753 347 740 q 315 776 318 765 q 318 797 312 787 q 336 815 325 806 q 362 833 348 824 q 388 851 376 842 q 409 871 401 861 q 417 894 417 882 q 405 933 417 920 q 372 946 392 946 q 354 942 362 946 q 339 932 345 938 q 330 918 333 926 q 326 903 326 911 q 328 896 326 900 q 332 889 330 893 q 318 885 326 887 q 299 880 309 882 q 280 877 290 878 q 264 874 271 875 l 256 882 l 256 891 q 269 922 256 907 q 302 950 282 938 q 347 971 322 963 q 395 979 371 979 q 460 958 437 979 q 483 904 483 938 "},"í":{"x_min":47.046875,"x_max":398.109375,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 164 710 q 142 717 151 712 q 125 729 132 722 l 284 1010 q 305 1007 292 1009 q 333 1003 318 1005 q 361 999 347 1001 q 382 994 375 996 l 398 967 l 164 710 "},"ʠ":{"x_min":54,"x_max":876.25,"ha":716,"o":"m 505 494 q 441 554 482 533 q 352 576 401 576 q 279 560 314 576 q 216 512 244 544 q 172 433 189 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 l 505 494 m 876 965 q 866 949 876 959 q 843 927 856 938 q 814 906 829 916 q 790 892 800 896 q 761 930 775 915 q 734 953 748 944 q 710 964 721 961 q 689 968 698 968 q 652 957 667 968 q 626 920 636 946 q 611 853 616 895 q 607 750 607 811 l 607 -254 q 628 -276 607 -265 q 701 -296 649 -287 l 701 -326 l 389 -326 l 389 -296 q 479 -276 453 -287 q 505 -254 505 -266 l 505 112 q 454 56 479 81 q 402 15 429 32 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 72 411 54 360 q 119 500 91 461 q 178 566 146 539 q 233 606 209 593 q 309 639 271 627 q 373 651 347 651 q 436 643 405 651 q 505 608 468 635 l 505 712 q 510 811 505 770 q 528 885 516 853 q 560 941 541 916 q 606 988 579 965 q 677 1035 640 1019 q 741 1051 715 1051 q 795 1039 771 1051 q 838 1014 820 1028 q 866 985 856 999 q 876 965 876 971 "},"ǜ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 572 854 q 566 818 572 835 q 550 789 560 801 q 525 769 539 776 q 494 762 511 762 q 450 778 463 762 q 436 826 436 795 q 443 862 436 845 q 460 892 449 879 q 484 911 470 904 q 515 919 498 919 q 572 854 572 919 m 301 854 q 295 818 301 835 q 279 789 289 801 q 254 769 268 776 q 223 762 240 762 q 179 778 192 762 q 165 826 165 795 q 172 862 165 845 q 189 892 178 879 q 213 911 199 904 q 244 919 227 919 q 301 854 301 919 m 446 975 q 429 962 438 967 q 408 954 420 957 l 170 1210 l 185 1237 q 205 1242 191 1239 q 232 1247 218 1244 q 261 1251 247 1250 q 284 1254 276 1253 l 446 975 "},"ṥ":{"x_min":64.5,"x_max":474.078125,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 240 710 q 218 717 227 712 q 201 729 208 722 l 360 1010 q 381 1007 368 1009 q 409 1003 394 1005 q 437 999 423 1001 q 458 994 451 996 l 474 967 l 240 710 m 337 1098 q 331 1063 337 1079 q 314 1033 325 1046 q 289 1013 304 1021 q 258 1006 275 1006 q 214 1023 228 1006 q 201 1071 201 1040 q 207 1106 201 1090 q 224 1136 213 1123 q 249 1156 235 1148 q 279 1163 263 1163 q 337 1098 337 1163 "},"µ":{"x_min":41.515625,"x_max":736.125,"ha":750,"o":"m 736 55 q 694 29 715 42 q 652 4 672 15 q 614 -13 631 -6 q 585 -21 597 -21 q 560 -9 571 -21 q 543 21 550 2 q 533 67 537 41 q 529 122 529 92 q 422 14 474 50 q 332 -21 371 -21 q 253 6 292 -21 q 185 82 214 34 l 185 78 q 192 -55 184 3 q 213 -159 199 -114 q 243 -237 226 -205 q 278 -290 261 -269 q 251 -300 268 -294 q 215 -314 234 -307 q 180 -328 196 -321 q 155 -339 163 -334 l 129 -319 l 129 495 q 127 537 129 522 q 117 560 125 552 q 91 572 108 568 q 41 579 73 575 l 41 606 q 90 615 67 611 q 131 624 112 619 q 169 635 151 629 q 205 651 187 641 l 207 647 q 215 639 211 644 q 223 630 219 635 q 231 621 228 625 l 231 248 q 239 196 231 224 q 264 145 248 169 q 303 105 280 121 q 354 89 326 89 q 392 92 373 89 q 433 106 411 95 q 478 138 454 118 q 529 194 501 159 l 529 507 q 526 533 529 518 q 520 563 524 548 q 512 591 516 578 q 503 610 508 604 q 564 628 533 618 q 622 651 595 639 l 641 624 q 635 582 639 606 q 631 514 632 557 l 631 181 q 637 92 631 118 q 657 67 643 67 q 689 72 672 67 q 729 86 706 77 l 736 55 "},"ỳ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 436 731 q 419 718 427 722 q 398 710 410 713 l 160 965 l 174 993 q 194 998 181 995 q 222 1003 208 1000 q 251 1007 237 1005 q 274 1010 265 1009 l 436 731 "},"Ḟ":{"x_min":33.65625,"x_max":608.59375,"ha":664,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 587 855 l 608 838 q 605 799 607 820 q 598 757 602 778 q 590 717 595 736 q 582 685 586 698 l 550 685 q 545 737 548 716 q 534 771 541 758 q 517 788 527 783 q 494 794 507 794 l 241 794 l 241 499 l 494 499 l 514 480 q 500 459 508 470 q 483 438 491 448 q 465 418 474 427 q 450 404 457 410 q 428 421 440 414 q 402 433 417 428 q 366 439 386 437 q 316 442 345 442 l 241 442 l 241 70 q 267 52 241 62 q 359 29 293 42 l 359 0 l 33 0 m 389 1045 q 382 1009 389 1026 q 366 980 376 992 q 341 960 355 967 q 310 953 327 953 q 266 969 279 953 q 253 1018 253 986 q 259 1053 253 1036 q 276 1083 265 1070 q 301 1102 287 1095 q 331 1110 314 1110 q 389 1045 389 1110 "},"M":{"x_min":40.6875,"x_max":1064.8125,"ha":1120,"o":"m 1051 825 q 1007 819 1031 825 q 959 801 983 812 l 966 70 q 991 50 966 62 q 1064 29 1015 38 l 1064 0 l 756 0 l 756 29 q 831 49 802 38 q 861 70 861 61 l 855 705 l 558 0 l 524 0 l 223 700 l 217 70 q 241 50 217 62 q 315 29 266 38 l 315 0 l 40 0 l 40 29 q 113 49 87 38 q 139 70 139 61 l 145 798 q 93 819 120 813 q 47 825 67 825 l 47 855 l 241 855 q 252 852 248 855 q 262 844 257 850 q 271 827 266 838 q 284 798 276 816 l 554 185 l 813 798 q 828 829 822 818 q 837 846 833 841 q 846 853 842 852 q 857 855 851 855 l 1051 855 l 1051 825 "},"Ḏ":{"x_min":27.5625,"x_max":761,"ha":823,"o":"m 307 818 q 241 816 273 818 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 805 q 80 799 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 602 -155 q 597 -172 600 -162 q 590 -192 594 -182 q 582 -211 585 -201 q 575 -227 578 -220 l 158 -227 l 143 -210 q 148 -193 145 -202 q 155 -173 151 -183 q 164 -154 160 -164 q 171 -139 168 -145 l 587 -139 l 602 -155 "},"ũ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 600 912 q 571 857 588 884 q 534 808 554 830 q 489 773 513 787 q 438 760 464 760 q 393 771 414 760 q 351 798 371 783 q 310 825 330 813 q 271 837 290 837 q 221 814 244 837 q 174 755 199 792 l 138 768 q 167 823 150 796 q 204 873 183 851 q 249 908 225 894 q 300 922 274 922 q 349 910 326 922 q 392 883 372 898 q 431 856 413 868 q 465 845 449 845 q 516 866 491 845 q 564 928 541 888 l 600 912 "},"ŭ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 590 922 q 544 829 569 867 q 490 768 518 792 q 432 735 462 745 q 371 725 401 725 q 306 735 337 725 q 247 768 275 745 q 194 829 219 792 q 149 922 169 867 q 165 941 157 934 q 185 953 173 947 q 224 887 202 914 q 270 845 246 861 q 320 822 295 829 q 368 815 345 815 q 418 822 392 815 q 468 845 444 829 q 515 887 493 861 q 554 953 537 914 q 573 941 565 947 q 590 922 581 934 "},"{":{"x_min":69.578125,"x_max":440.796875,"ha":467,"o":"m 440 1053 q 391 1015 414 1036 q 351 969 368 994 q 325 914 334 943 q 316 848 316 884 q 320 784 316 809 q 330 737 324 759 q 339 690 335 715 q 344 625 344 665 q 335 569 344 597 q 311 518 327 542 q 273 474 295 494 q 222 442 250 454 q 279 421 255 436 q 316 382 302 406 q 337 329 331 359 q 344 260 344 298 q 339 191 344 220 q 330 138 335 163 q 320 87 324 112 q 316 28 316 62 q 321 -37 316 -8 q 339 -89 326 -66 q 375 -132 352 -112 q 434 -172 398 -152 l 418 -214 q 320 -165 361 -190 q 253 -108 279 -140 q 215 -38 227 -77 q 203 48 203 0 q 207 114 203 88 q 217 164 211 140 q 226 216 222 188 q 231 285 231 243 q 203 369 231 340 q 125 397 176 397 l 110 397 q 103 396 106 397 q 95 395 100 396 q 81 393 91 394 l 69 429 q 190 492 149 450 q 231 585 231 534 q 228 631 231 612 q 223 667 226 651 q 217 697 220 683 q 210 726 213 711 q 205 762 207 742 q 203 810 203 782 q 218 896 203 855 q 262 970 233 936 q 331 1033 290 1004 q 423 1085 372 1061 l 440 1053 "},"¼":{"x_min":54.28125,"x_max":759.546875,"ha":814,"o":"m 644 332 l 507 153 l 644 153 l 644 332 m 759 142 q 744 124 751 132 q 729 111 737 116 l 708 111 l 708 39 q 709 34 708 36 q 715 30 710 32 q 730 25 720 27 q 755 19 739 22 l 755 0 l 569 0 l 569 19 q 608 26 593 23 q 631 31 623 29 q 641 37 639 34 q 644 42 644 39 l 644 111 l 455 111 l 442 121 l 632 381 q 665 393 648 387 q 694 405 682 399 l 708 393 l 708 153 l 749 153 l 759 142 m 66 432 l 66 455 q 114 461 95 458 q 144 469 133 465 q 158 477 154 473 q 163 484 163 481 l 163 732 q 162 753 163 746 q 156 764 161 760 q 148 768 153 766 q 131 769 142 769 q 104 766 121 768 q 62 760 87 764 l 54 782 q 92 793 69 786 q 138 807 115 800 q 183 823 162 815 q 217 838 205 831 l 231 826 l 231 484 q 234 477 231 481 q 247 469 237 473 q 274 461 256 465 q 320 455 292 458 l 320 432 l 66 432 m 214 2 q 184 -10 198 -5 q 151 -20 169 -15 l 134 0 l 651 816 q 680 828 664 821 q 711 838 696 834 l 727 819 l 214 2 "},"Ḿ":{"x_min":40.6875,"x_max":1064.8125,"ha":1120,"o":"m 1051 825 q 1007 819 1031 825 q 959 801 983 812 l 966 70 q 991 50 966 62 q 1064 29 1015 38 l 1064 0 l 756 0 l 756 29 q 831 49 802 38 q 861 70 861 61 l 855 705 l 558 0 l 524 0 l 223 700 l 217 70 q 241 50 217 62 q 315 29 266 38 l 315 0 l 40 0 l 40 29 q 113 49 87 38 q 139 70 139 61 l 145 798 q 93 819 120 813 q 47 825 67 825 l 47 855 l 241 855 q 252 852 248 855 q 262 844 257 850 q 271 827 266 838 q 284 798 276 816 l 554 185 l 813 798 q 828 829 822 818 q 837 846 833 841 q 846 853 842 852 q 857 855 851 855 l 1051 855 l 1051 825 m 463 927 q 446 938 451 931 q 432 957 441 944 l 695 1173 q 713 1162 701 1168 q 737 1148 725 1156 q 759 1134 749 1141 q 775 1122 769 1128 l 781 1092 l 463 927 "},"IJ":{"x_min":47.65625,"x_max":790.046875,"ha":838,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 790 825 q 717 804 743 816 q 691 783 691 793 l 691 139 q 680 4 691 58 q 650 -86 669 -49 q 607 -149 631 -124 q 556 -195 582 -173 q 515 -222 537 -210 q 471 -241 493 -233 q 429 -253 449 -249 q 396 -258 409 -258 q 355 -251 375 -258 q 319 -236 335 -245 q 294 -219 303 -228 q 284 -204 284 -210 q 293 -188 284 -198 q 314 -168 301 -178 q 339 -148 326 -158 q 362 -136 353 -139 q 396 -156 381 -148 q 422 -168 410 -164 q 446 -173 434 -172 q 470 -175 457 -175 q 507 -163 487 -175 q 544 -122 527 -151 q 571 -41 561 -92 q 582 89 582 10 l 582 783 q 577 792 582 787 q 557 802 571 797 q 516 813 542 808 q 450 825 491 819 l 450 855 l 790 855 l 790 825 "},"Ê":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 554 957 q 541 938 546 944 q 525 927 537 932 l 339 1068 l 156 927 q 146 932 150 929 q 140 938 143 935 q 133 946 137 941 q 125 957 130 951 l 304 1167 l 377 1167 l 554 957 "},")":{"x_min":27.65625,"x_max":359,"ha":440,"o":"m 359 450 q 336 234 359 338 q 273 42 314 129 q 175 -111 233 -45 q 48 -214 118 -177 l 27 -183 q 110 -87 71 -146 q 179 51 149 -27 q 226 225 209 129 q 244 430 244 321 q 229 622 244 528 q 188 798 215 716 q 120 946 160 880 q 27 1054 79 1012 l 48 1085 q 183 986 125 1050 q 280 840 241 923 q 339 657 319 756 q 359 450 359 557 "},"Ṽ":{"x_min":13.5625,"x_max":874.90625,"ha":903,"o":"m 874 825 q 802 808 828 817 q 769 781 776 800 l 510 40 q 491 14 504 25 q 462 -2 478 4 q 432 -13 446 -9 q 408 -20 417 -17 l 109 781 q 79 809 103 798 q 13 825 56 820 l 13 855 l 308 855 l 308 825 q 234 811 254 821 q 221 782 214 802 l 461 138 l 689 781 q 672 809 696 800 q 592 825 648 819 l 592 855 l 874 855 l 874 825 m 682 1103 q 653 1047 670 1075 q 615 998 636 1020 q 570 963 594 977 q 519 950 545 950 q 474 961 495 950 q 432 988 453 973 q 392 1015 412 1003 q 352 1027 372 1027 q 303 1005 325 1027 q 255 945 280 982 l 219 958 q 248 1013 231 986 q 286 1063 265 1041 q 331 1098 307 1084 q 381 1112 355 1112 q 430 1100 407 1112 q 474 1073 453 1088 q 512 1046 494 1058 q 547 1035 531 1035 q 597 1056 573 1035 q 645 1118 622 1078 l 682 1103 "},"a":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 "},"Ɲ":{"x_min":-166.421875,"x_max":867.34375,"ha":901,"o":"m 769 -20 q 716 -6 735 -16 q 689 14 697 2 l 213 673 l 213 139 q 206 4 213 58 q 185 -86 199 -49 q 151 -149 171 -124 q 105 -195 132 -173 q 64 -221 87 -209 q 20 -241 42 -232 q -21 -253 -1 -249 q -54 -258 -41 -258 q -95 -251 -74 -258 q -131 -236 -115 -245 q -156 -219 -146 -228 q -166 -204 -166 -210 q -157 -188 -166 -198 q -136 -168 -148 -178 q -110 -148 -124 -158 q -87 -136 -97 -139 q -54 -156 -68 -148 q -28 -168 -40 -164 q -4 -173 -15 -172 q 19 -175 6 -175 q 57 -163 37 -175 q 93 -122 77 -151 q 121 -41 110 -92 q 132 89 132 10 l 132 779 q 84 810 108 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 206 846 200 851 q 221 830 213 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 "},"Z":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 "},"":{"x_min":54,"x_max":885,"ha":715,"o":"m 330 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 l 505 494 q 441 554 482 533 q 352 576 401 576 q 279 560 314 576 q 216 512 244 544 q 172 433 189 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 m 505 112 q 454 57 479 81 q 402 15 429 32 q 345 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 73 411 54 360 q 119 500 92 461 q 178 566 146 539 q 233 606 209 593 q 309 639 271 628 q 373 651 347 651 q 410 648 391 651 q 447 639 428 646 q 486 620 466 632 q 530 587 507 608 q 551 602 540 594 q 572 619 562 610 q 591 636 582 627 q 607 651 600 644 l 628 630 q 617 589 621 611 q 610 543 613 569 q 607 486 607 516 l 607 -112 q 625 -232 607 -190 q 693 -275 644 -275 q 722 -268 708 -275 q 745 -252 735 -262 q 760 -230 755 -243 q 766 -205 766 -218 q 757 -178 766 -190 q 778 -162 763 -171 q 810 -147 793 -154 q 844 -136 827 -140 q 871 -133 861 -132 l 885 -161 q 865 -220 885 -188 q 812 -277 846 -251 q 735 -321 779 -303 q 643 -339 691 -339 q 575 -323 601 -339 q 532 -283 548 -308 q 511 -224 517 -257 q 505 -153 505 -190 l 505 112 "},"k":{"x_min":37.046875,"x_max":694.515625,"ha":695,"o":"m 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 878 q 128 926 132 909 q 114 952 124 943 q 84 963 103 960 q 37 969 66 966 l 37 996 q 129 1018 83 1006 q 208 1051 174 1031 l 234 1027 l 234 359 l 442 542 q 470 573 465 561 q 468 591 474 585 q 446 599 461 597 q 413 601 431 601 l 413 631 l 670 631 l 670 601 q 615 590 640 598 q 562 559 590 582 l 330 374 l 586 75 q 605 57 595 64 q 628 45 615 50 q 655 40 640 41 q 690 41 670 39 l 694 12 q 655 3 674 7 q 619 -1 636 0 q 589 -5 602 -4 q 569 -7 576 -7 q 523 1 541 -7 q 491 28 506 9 l 234 353 l 234 70 q 236 61 234 65 q 246 52 238 56 q 268 42 253 48 q 308 29 283 37 l 308 0 l 37 0 "},"Ù":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 579 957 q 564 938 569 944 q 548 927 559 931 l 230 1092 l 236 1122 q 251 1134 240 1128 q 274 1148 261 1141 q 297 1162 286 1156 q 316 1173 309 1168 l 579 957 "},"Ů":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 524 1060 q 520 1091 524 1076 q 508 1117 516 1106 q 490 1135 501 1128 q 466 1142 479 1142 q 439 1136 451 1142 q 416 1120 426 1130 q 400 1094 406 1109 q 394 1061 394 1079 q 398 1031 394 1045 q 410 1005 402 1016 q 428 987 417 994 q 452 981 439 981 q 479 986 466 981 q 502 1001 491 991 q 518 1026 512 1011 q 524 1060 524 1040 m 585 1088 q 572 1024 585 1053 q 537 974 559 995 q 490 940 516 952 q 438 929 464 929 q 396 937 415 929 q 362 959 376 945 q 341 992 349 973 q 333 1033 333 1011 q 346 1097 333 1068 q 380 1148 359 1127 q 427 1182 401 1170 q 480 1194 454 1194 q 521 1185 502 1194 q 554 1162 540 1177 q 577 1128 569 1147 q 585 1088 585 1109 "},"¢":{"x_min":71,"x_max":585.78125,"ha":652,"o":"m 174 417 q 185 331 174 370 q 216 263 196 292 q 263 215 236 234 q 322 186 290 195 l 322 654 q 264 631 291 648 q 217 585 238 614 q 185 514 197 556 q 174 417 174 473 m 383 -5 q 372 -14 376 -11 q 363 -19 367 -17 q 352 -23 358 -21 q 338 -28 347 -25 l 322 -11 l 322 87 q 228 110 273 89 q 148 170 183 131 q 92 266 113 209 q 71 397 71 323 q 89 509 71 456 q 141 604 108 562 q 220 675 174 646 q 322 719 267 705 l 322 822 q 335 832 331 829 q 342 836 339 835 q 350 839 345 838 q 365 844 355 841 l 383 829 l 383 730 q 399 731 391 730 q 416 731 407 731 q 462 727 438 731 q 507 716 485 723 q 546 699 528 709 q 576 677 564 690 q 574 654 577 669 q 564 623 570 639 q 551 592 558 607 q 537 568 543 576 l 513 574 q 497 598 507 585 q 470 622 486 611 q 433 643 454 634 q 383 656 411 652 l 383 177 q 417 179 401 177 q 453 189 433 180 q 497 215 472 197 q 559 264 522 233 l 585 237 q 523 169 551 196 q 471 125 495 142 q 426 100 447 108 q 383 89 404 92 l 383 -5 "},"Ɂ":{"x_min":27,"x_max":604,"ha":645,"o":"m 156 0 l 156 29 q 241 49 215 39 q 268 70 268 59 l 268 268 q 284 354 268 317 q 326 421 301 391 q 381 475 352 450 q 436 525 410 500 q 478 576 461 549 q 495 637 495 603 q 443 764 495 721 q 301 807 392 807 q 237 794 266 807 q 188 760 208 781 q 156 714 168 740 q 145 661 145 688 q 147 633 145 646 q 156 608 149 621 q 107 592 134 597 q 50 583 80 586 l 31 603 q 28 619 30 608 q 27 639 27 629 q 53 730 27 686 q 123 805 79 773 q 227 855 168 836 q 354 875 286 875 q 460 860 413 875 q 539 819 507 845 q 587 753 570 792 q 604 668 604 715 q 587 582 604 617 q 545 520 570 547 q 490 472 519 494 q 435 428 461 451 q 393 376 410 404 q 377 308 377 348 l 377 70 q 404 49 377 60 q 488 29 432 38 l 488 0 l 156 0 "},"ē":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 581 868 q 577 851 580 861 q 569 831 573 841 q 561 812 565 822 q 555 797 558 803 l 138 797 l 123 813 q 128 830 124 821 q 135 850 131 840 q 143 869 139 859 q 151 885 147 878 l 566 885 l 581 868 "},"Ẹ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 408 -189 q 402 -225 408 -208 q 385 -254 396 -242 q 361 -274 375 -267 q 329 -282 346 -282 q 286 -265 299 -282 q 272 -217 272 -248 q 278 -181 272 -198 q 295 -151 284 -164 q 320 -132 306 -139 q 350 -125 334 -125 q 408 -189 408 -125 "},"≠":{"x_min":41.375,"x_max":568.34375,"ha":610,"o":"m 442 519 l 551 519 l 568 501 q 558 471 564 488 q 548 444 552 455 l 395 444 l 314 316 l 551 316 l 568 298 q 558 269 564 284 q 548 241 552 253 l 267 241 l 179 101 q 161 91 173 96 q 136 82 149 86 q 109 73 122 77 q 88 67 96 69 l 71 90 l 165 241 l 58 241 l 41 259 q 50 287 44 273 q 62 316 56 302 l 212 316 l 293 444 l 58 444 l 41 461 q 50 490 44 474 q 62 519 56 506 l 339 519 l 427 658 q 472 678 446 670 q 518 692 497 686 l 537 669 l 442 519 "},"¥":{"x_min":-45.734375,"x_max":677.046875,"ha":652,"o":"m 159 0 l 159 29 q 246 55 221 42 q 271 78 271 68 l 271 296 l 86 296 l 71 313 q 78 335 74 323 q 86 358 82 347 l 271 358 l 271 393 q 221 493 247 443 q 169 588 195 542 q 117 673 142 634 q 68 742 91 713 q 54 756 62 750 q 34 768 47 763 q 4 776 22 773 q -43 780 -14 780 l -45 808 q 34 818 -5 814 q 102 823 74 823 q 155 796 133 823 q 203 729 180 764 q 248 656 226 694 q 292 576 270 618 q 338 485 314 534 l 483 742 q 477 770 493 760 q 408 787 460 780 l 408 817 l 677 817 l 677 787 q 605 769 630 778 q 571 742 580 759 l 380 392 l 380 358 l 563 358 l 580 342 l 563 296 l 380 296 l 380 78 q 385 68 380 74 q 404 55 391 62 q 439 42 417 48 q 492 29 460 35 l 492 0 l 159 0 "},"Ƚ":{"x_min":29.59375,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 364 l 44 364 l 29 380 q 36 402 32 391 q 44 425 40 414 l 132 425 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 425 l 403 425 l 420 409 l 403 364 l 241 364 l 241 111 q 246 89 241 98 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"Ĥ":{"x_min":33.65625,"x_max":861.34375,"ha":908,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 654 478 l 654 783 q 629 804 654 791 q 555 825 604 816 l 555 855 l 861 855 l 861 825 q 789 804 815 816 q 763 783 763 793 l 763 70 q 787 50 763 62 q 861 29 812 38 l 861 0 l 555 0 l 555 29 q 627 49 601 38 q 654 70 654 61 l 654 417 l 241 417 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 661 957 q 649 938 653 944 q 632 927 644 932 l 446 1068 l 263 927 q 253 932 257 929 q 247 938 250 935 q 240 946 244 941 q 232 957 237 951 l 411 1167 l 484 1167 l 661 957 "},"U":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 "},"Ñ":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 682 1103 q 653 1047 670 1075 q 615 998 636 1020 q 570 963 594 977 q 519 950 545 950 q 474 961 495 950 q 432 988 453 973 q 392 1015 412 1003 q 352 1027 372 1027 q 303 1005 325 1027 q 255 945 280 982 l 219 958 q 248 1013 231 986 q 286 1063 265 1041 q 331 1098 307 1084 q 381 1112 355 1112 q 430 1100 407 1112 q 474 1073 453 1088 q 512 1046 494 1058 q 547 1035 531 1035 q 597 1056 573 1035 q 645 1118 622 1078 l 682 1103 "},"F":{"x_min":33.65625,"x_max":608.59375,"ha":664,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 587 855 l 608 838 q 605 799 607 820 q 598 757 602 778 q 590 717 595 736 q 582 685 586 698 l 550 685 q 545 737 548 716 q 534 771 541 758 q 517 788 527 783 q 494 794 507 794 l 241 794 l 241 499 l 494 499 l 514 480 q 500 459 508 470 q 483 438 491 448 q 465 418 474 427 q 450 404 457 410 q 428 421 440 414 q 402 433 417 428 q 366 439 386 437 q 316 442 345 442 l 241 442 l 241 70 q 267 52 241 62 q 359 29 293 42 l 359 0 l 33 0 "},"ả":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 439 904 q 427 871 439 886 q 397 843 414 856 q 364 817 380 829 q 341 793 349 806 q 340 767 334 780 q 375 736 347 753 q 354 728 365 730 q 333 726 344 727 q 288 753 303 740 q 271 776 274 765 q 274 797 268 787 q 292 815 280 806 q 318 833 304 824 q 344 851 332 842 q 365 871 356 861 q 373 894 373 882 q 361 933 373 920 q 328 946 348 946 q 309 942 318 946 q 295 932 301 938 q 285 918 289 926 q 282 903 282 911 q 284 896 282 900 q 287 889 285 893 q 274 885 282 887 q 255 880 265 882 q 236 877 246 878 q 220 874 227 875 l 212 882 l 212 891 q 225 922 212 907 q 258 950 238 938 q 302 971 278 963 q 351 979 327 979 q 416 958 393 979 q 439 904 439 938 "},"ʔ":{"x_min":41,"x_max":577,"ha":604,"o":"m 135 0 l 135 29 q 251 70 251 49 l 251 336 q 267 432 251 388 q 309 513 284 475 q 363 585 333 551 q 416 652 392 619 q 458 720 441 685 q 475 793 475 755 q 461 870 475 835 q 422 932 447 906 q 365 972 398 957 q 294 987 332 987 q 241 973 267 987 q 196 939 216 960 q 164 891 176 917 q 152 838 152 864 q 154 818 152 828 q 160 799 156 808 q 114 782 138 787 q 60 773 91 776 l 42 793 q 41 804 41 799 l 41 816 q 66 906 41 863 q 135 981 92 949 q 233 1032 178 1013 q 347 1051 288 1051 q 442 1033 399 1051 q 514 984 484 1015 q 560 912 544 954 q 577 823 577 871 q 560 733 577 773 q 518 659 543 693 q 465 594 494 625 q 411 530 435 563 q 369 460 386 497 q 353 376 353 423 l 353 70 q 382 49 353 60 q 468 29 412 38 l 468 0 l 135 0 "},"ờ":{"x_min":54,"x_max":746,"ha":746,"o":"m 539 308 q 521 410 539 362 q 475 495 503 458 q 412 554 448 532 q 342 576 377 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 225 134 197 170 q 289 76 254 97 q 355 55 323 55 q 437 72 403 55 q 494 124 472 90 q 528 203 517 157 q 539 308 539 250 m 746 707 q 738 670 746 690 q 713 626 731 649 q 665 577 695 602 q 590 527 635 551 q 630 436 616 486 q 644 329 644 386 q 632 240 644 283 q 600 158 620 197 q 551 86 580 119 q 489 30 523 53 q 416 -6 454 6 q 336 -20 377 -20 q 219 4 271 -20 q 130 71 167 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 206 600 172 576 q 280 637 241 623 q 362 651 320 651 q 474 628 424 651 q 561 564 525 605 q 613 611 597 588 q 629 652 629 634 q 618 689 629 671 q 589 722 608 707 l 710 777 q 736 744 726 762 q 746 707 746 726 m 440 731 q 422 718 431 722 q 402 710 413 713 l 163 965 l 178 993 q 198 998 185 995 q 226 1003 211 1000 q 255 1007 240 1005 q 277 1010 269 1009 l 440 731 "},"̿":{"x_min":-697.21875,"x_max":43.40625,"ha":0,"o":"m 43 1051 q 38 1034 42 1044 q 31 1014 35 1024 q 23 995 27 1005 q 16 980 19 986 l -682 980 l -697 996 q -692 1013 -695 1004 q -685 1033 -689 1023 q -676 1052 -680 1042 q -669 1068 -672 1061 l 28 1068 l 43 1051 m 43 868 q 38 851 42 861 q 31 831 35 841 q 23 812 27 822 q 16 797 19 803 l -682 797 l -697 813 q -692 830 -695 821 q -685 850 -689 840 q -676 869 -680 859 q -669 885 -672 878 l 28 885 l 43 868 "},"å":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 390 843 q 386 874 390 859 q 375 900 382 889 q 356 918 367 911 q 332 925 346 925 q 305 919 318 925 q 282 903 292 913 q 266 877 273 892 q 260 844 260 862 q 264 814 260 828 q 276 788 268 799 q 294 770 283 777 q 319 764 305 764 q 345 769 332 764 q 368 784 358 774 q 384 808 378 794 q 390 843 390 823 m 451 871 q 438 807 451 836 q 404 757 425 778 q 356 723 382 735 q 304 712 330 712 q 262 720 281 712 q 229 742 243 728 q 207 775 215 756 q 199 816 199 794 q 213 880 199 851 q 247 931 226 910 q 294 965 268 953 q 346 977 320 977 q 387 968 368 977 q 421 945 407 960 q 443 911 435 930 q 451 871 451 892 "},"0":{"x_min":52,"x_max":600,"ha":652,"o":"m 489 383 q 474 547 489 476 q 435 664 459 617 q 379 735 411 711 q 312 760 347 760 q 250 741 278 760 q 203 683 222 722 q 173 583 184 644 q 163 437 163 522 q 176 273 163 344 q 213 154 190 202 q 269 82 236 106 q 339 58 301 58 q 402 76 374 58 q 449 134 430 95 q 478 236 468 174 q 489 383 489 297 m 600 408 q 579 243 600 321 q 521 106 558 165 q 430 14 483 48 q 312 -20 377 -20 q 199 14 248 -20 q 118 106 150 48 q 68 243 85 165 q 52 408 52 321 q 73 574 52 496 q 131 710 94 652 q 222 803 169 769 q 339 838 274 838 q 452 804 403 838 q 533 711 501 770 q 583 575 566 653 q 600 408 600 496 "},"ɋ":{"x_min":54,"x_max":885,"ha":715,"o":"m 330 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 l 505 494 q 441 554 482 533 q 352 576 401 576 q 279 560 314 576 q 216 512 244 544 q 172 433 189 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 m 505 112 q 454 57 479 81 q 402 15 429 32 q 345 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 73 411 54 360 q 119 500 92 461 q 178 566 146 539 q 233 606 209 593 q 309 639 271 628 q 373 651 347 651 q 410 648 391 651 q 447 639 428 646 q 486 620 466 632 q 530 587 507 608 q 551 602 540 594 q 572 619 562 610 q 591 636 582 627 q 607 651 600 644 l 628 630 q 617 589 621 611 q 610 543 613 569 q 607 486 607 516 l 607 -112 q 625 -232 607 -190 q 693 -275 644 -275 q 722 -268 708 -275 q 745 -252 735 -262 q 760 -230 755 -243 q 766 -205 766 -218 q 757 -178 766 -190 q 778 -162 763 -171 q 810 -147 793 -154 q 844 -136 827 -140 q 871 -133 861 -132 l 885 -161 q 865 -220 885 -188 q 812 -277 846 -251 q 735 -321 779 -303 q 643 -339 691 -339 q 575 -323 601 -339 q 532 -283 548 -308 q 511 -224 517 -257 q 505 -153 505 -190 l 505 112 "},"ō":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 598 868 q 594 851 597 861 q 586 831 590 841 q 578 812 582 822 q 572 797 575 803 l 155 797 l 140 813 q 145 830 141 821 q 152 850 148 840 q 160 869 156 859 q 168 885 164 878 l 583 885 l 598 868 "},"”":{"x_min":59.875,"x_max":542,"ha":606,"o":"m 256 878 q 246 821 256 852 q 220 760 237 790 q 177 701 202 729 q 119 653 152 673 l 89 676 q 114 709 103 690 q 132 747 124 728 q 142 784 139 766 q 146 816 146 802 q 127 869 146 846 q 70 894 109 892 l 59 924 q 85 943 65 933 q 128 963 105 954 q 174 980 152 973 q 209 986 197 986 q 243 941 231 964 q 256 878 256 917 m 542 878 q 532 821 542 852 q 505 760 523 790 q 462 701 488 729 q 405 653 437 673 l 376 676 q 400 709 390 690 q 418 747 411 728 q 429 784 425 766 q 433 816 433 802 q 414 869 433 846 q 356 894 395 892 l 345 924 q 370 943 350 933 q 414 963 390 954 q 460 980 437 973 q 495 986 483 986 q 529 941 517 964 q 542 878 542 917 "},"ḕ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 581 868 q 577 851 580 861 q 569 831 573 841 q 561 812 565 822 q 555 797 558 803 l 138 797 l 123 813 q 128 830 124 821 q 135 850 131 840 q 143 869 139 859 q 151 885 147 878 l 566 885 l 581 868 m 423 975 q 405 962 414 967 q 385 954 396 957 l 146 1210 l 161 1237 q 181 1242 168 1239 q 209 1247 194 1244 q 238 1251 223 1250 q 260 1254 252 1253 l 423 975 "},"ö":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 566 854 q 560 818 566 835 q 543 789 553 801 q 518 769 532 776 q 487 762 504 762 q 443 778 456 762 q 430 826 430 795 q 436 862 430 845 q 453 892 442 879 q 478 911 464 904 q 508 919 492 919 q 566 854 566 919 m 295 854 q 289 818 295 835 q 272 789 282 801 q 247 769 261 776 q 216 762 233 762 q 172 778 185 762 q 159 826 159 795 q 165 862 159 845 q 182 892 171 879 q 207 911 193 904 q 237 919 221 919 q 295 854 295 919 "},"ẉ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 563 -189 q 557 -225 563 -208 q 540 -254 551 -242 q 515 -274 530 -267 q 484 -282 501 -282 q 440 -265 453 -282 q 427 -217 427 -248 q 433 -181 427 -198 q 450 -151 439 -164 q 475 -132 461 -139 q 505 -125 489 -125 q 563 -189 563 -125 "},"Ȧ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 474 1045 q 468 1009 474 1026 q 451 980 462 992 q 426 960 441 967 q 395 953 412 953 q 351 969 365 953 q 338 1018 338 986 q 344 1053 338 1036 q 361 1083 350 1070 q 386 1102 372 1095 q 416 1110 400 1110 q 474 1045 474 1110 "},"ć":{"x_min":54,"x_max":569.71875,"ha":607,"o":"m 569 129 q 492 47 525 76 q 430 2 458 17 q 374 -16 401 -12 q 315 -20 347 -20 q 218 2 265 -20 q 134 65 171 24 q 76 166 98 106 q 54 301 54 226 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 433 186 480 q 156 322 156 385 q 173 217 156 264 q 219 137 190 170 q 285 85 248 103 q 364 68 323 68 q 399 69 383 68 q 435 80 415 71 q 479 106 454 89 q 543 156 505 124 l 569 129 m 303 710 q 281 717 290 712 q 264 729 271 722 l 423 1010 q 444 1007 431 1009 q 472 1003 457 1005 q 500 999 486 1001 q 521 994 514 996 l 537 967 l 303 710 "},"þ":{"x_min":37.046875,"x_max":682,"ha":736,"o":"m 590 276 q 576 397 590 343 q 539 488 562 450 q 485 546 516 526 q 422 566 455 566 q 390 558 410 566 q 345 533 370 551 q 292 486 320 515 q 234 413 263 456 l 234 144 q 333 82 286 103 q 427 61 381 61 q 496 79 466 61 q 547 128 526 97 q 579 197 568 158 q 590 276 590 235 m 682 333 q 671 253 682 294 q 641 172 660 211 q 596 97 622 133 q 537 36 570 62 q 467 -4 504 10 q 388 -20 429 -20 q 361 -16 377 -20 q 324 -4 344 -12 q 280 17 303 4 q 234 50 257 30 l 234 -254 q 259 -276 234 -265 q 349 -296 285 -287 l 349 -326 l 37 -326 l 37 -296 q 106 -276 81 -285 q 132 -254 132 -266 l 132 878 q 127 926 132 909 q 113 951 123 943 q 84 963 102 960 q 37 969 65 966 l 37 996 q 126 1017 85 1006 q 208 1051 168 1029 l 234 1027 l 233 496 q 302 567 268 538 q 366 615 336 596 q 422 642 396 634 q 468 651 448 651 q 553 629 514 651 q 621 566 593 607 q 666 466 650 525 q 682 333 682 407 "},"]":{"x_min":27.4375,"x_max":332,"ha":428,"o":"m 51 -227 l 28 -207 q 35 -174 30 -191 q 45 -149 41 -157 l 237 -149 l 237 1007 l 51 1007 l 27 1024 q 35 1056 29 1039 q 45 1085 41 1073 l 332 1085 l 332 -227 l 51 -227 "},"Ǒ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 453 943 l 381 943 l 202 1185 q 210 1196 206 1191 q 216 1204 213 1201 q 223 1210 219 1208 q 232 1217 227 1213 l 419 1046 l 602 1217 q 618 1204 613 1210 q 631 1185 623 1198 l 453 943 "},"ẁ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 585 731 q 568 718 577 722 q 548 710 559 713 l 309 965 l 324 993 q 344 998 330 995 q 372 1003 357 1000 q 400 1007 386 1005 q 423 1010 415 1009 l 585 731 "},"Ȟ":{"x_min":33.65625,"x_max":861.34375,"ha":908,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 654 478 l 654 783 q 629 804 654 791 q 555 825 604 816 l 555 855 l 861 855 l 861 825 q 789 804 815 816 q 763 783 763 793 l 763 70 q 787 50 763 62 q 861 29 812 38 l 861 0 l 555 0 l 555 29 q 627 49 601 38 q 654 70 654 61 l 654 417 l 241 417 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 484 943 l 411 943 l 232 1151 q 240 1162 237 1157 q 247 1170 244 1167 q 253 1176 250 1174 q 263 1183 257 1179 l 449 1039 l 632 1183 q 649 1170 644 1176 q 661 1151 653 1164 l 484 943 "},"ệ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 407 -189 q 401 -225 407 -208 q 384 -254 395 -242 q 359 -274 374 -267 q 328 -282 345 -282 q 284 -265 297 -282 q 271 -217 271 -248 q 277 -181 271 -198 q 294 -151 283 -164 q 319 -132 305 -139 q 349 -125 333 -125 q 407 -189 407 -125 m 560 740 q 547 721 552 727 q 531 710 542 715 l 345 891 l 161 710 q 152 715 155 712 q 145 721 148 718 q 139 729 142 724 q 130 740 135 734 l 309 998 l 382 998 l 560 740 "},"ĭ":{"x_min":-27.125,"x_max":413.71875,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 413 922 q 367 829 393 867 q 314 768 342 792 q 255 735 286 745 q 194 725 225 725 q 130 735 161 725 q 70 768 99 745 q 17 829 42 792 q -27 922 -6 867 q -10 941 -18 934 q 8 953 -2 947 q 47 887 25 914 q 94 845 69 861 q 144 822 118 829 q 191 815 169 815 q 241 822 215 815 q 292 845 267 829 q 339 887 317 861 q 377 953 361 914 q 397 941 389 947 q 413 922 405 934 "},"8":{"x_min":64,"x_max":588,"ha":652,"o":"m 186 644 q 200 592 186 614 q 239 553 215 570 q 295 521 264 535 q 361 491 327 506 q 431 563 410 527 q 452 636 452 599 q 441 697 452 671 q 411 740 430 723 q 365 765 393 757 q 305 774 338 774 q 252 762 274 774 q 215 732 230 750 q 193 690 201 713 q 186 644 186 667 m 479 210 q 463 286 479 254 q 421 341 447 318 q 362 381 395 364 q 294 414 329 398 q 239 367 262 390 q 201 321 216 345 q 180 271 187 297 q 173 214 173 244 q 184 148 173 178 q 217 95 195 117 q 269 60 239 73 q 339 48 300 48 q 403 62 376 48 q 446 99 429 76 q 471 151 463 122 q 479 210 479 180 m 588 239 q 565 139 588 186 q 504 56 543 92 q 414 0 465 21 q 306 -20 363 -20 q 202 -2 247 -20 q 127 45 158 15 q 79 113 95 74 q 64 193 64 151 q 76 264 64 230 q 112 329 89 298 q 168 387 135 360 q 242 437 201 414 q 187 466 213 450 q 141 504 161 483 q 110 554 121 526 q 99 620 99 582 q 117 707 99 667 q 168 776 136 747 q 245 821 201 805 q 340 838 289 838 q 431 824 391 838 q 498 787 470 810 q 539 730 525 763 q 554 657 554 696 q 543 603 554 629 q 514 554 533 578 q 471 509 496 531 q 415 466 445 488 q 480 430 449 450 q 535 383 512 410 q 573 321 559 356 q 588 239 588 285 "},"Ữ":{"x_min":33.65625,"x_max":950.125,"ha":950,"o":"m 950 944 q 941 904 950 927 q 912 856 933 881 q 855 802 891 830 q 767 749 820 775 l 767 355 q 745 196 767 266 q 682 79 723 127 q 583 5 642 30 q 451 -20 525 -20 q 323 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 376 76 332 95 q 478 58 420 58 q 564 81 526 58 q 627 142 601 104 q 665 229 652 180 q 679 327 679 277 l 679 783 q 654 804 679 791 q 580 825 629 816 l 580 855 l 821 855 q 833 889 833 873 q 823 926 833 909 q 794 959 813 944 l 914 1014 q 940 981 930 999 q 950 944 950 963 m 690 1103 q 661 1047 678 1075 q 623 998 644 1020 q 578 963 602 977 q 527 950 554 950 q 482 961 503 950 q 440 988 461 973 q 400 1015 420 1003 q 360 1027 380 1027 q 311 1005 333 1027 q 263 945 288 982 l 227 958 q 256 1013 240 986 q 294 1063 273 1041 q 339 1098 315 1084 q 389 1112 363 1112 q 438 1100 415 1112 q 482 1073 461 1088 q 520 1046 502 1058 q 555 1035 539 1035 q 605 1056 581 1035 q 653 1118 630 1078 l 690 1103 "},"R":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 "},"Ḇ":{"x_min":27.5625,"x_max":689,"ha":764,"o":"m 280 818 q 261 817 270 818 q 241 817 251 817 l 241 492 l 264 492 q 389 507 341 492 q 463 546 437 522 q 499 599 490 569 q 509 658 509 629 q 497 721 509 692 q 460 772 486 750 q 389 805 433 793 q 280 818 346 818 m 352 441 q 292 437 320 441 q 241 430 265 434 l 241 70 q 247 59 241 64 q 273 53 258 55 q 304 49 288 51 q 335 47 319 48 q 364 47 350 47 q 452 59 413 47 q 520 94 491 72 q 563 148 548 116 q 578 218 578 180 q 564 294 578 255 q 524 366 551 334 q 454 420 496 399 q 352 441 411 441 m 689 241 q 666 137 689 183 q 602 57 643 90 q 504 7 561 25 q 378 -10 447 -10 q 343 -9 364 -10 q 298 -8 322 -9 q 250 -7 275 -7 q 201 -5 224 -6 q 83 0 144 -2 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 81 800 106 803 q 33 792 56 796 l 27 834 q 88 848 54 841 q 162 861 123 856 q 241 871 201 867 q 318 875 281 875 q 440 862 385 875 q 534 826 495 849 q 593 768 572 802 q 614 692 614 734 q 579 566 614 619 q 484 491 544 514 q 565 460 528 482 q 630 405 602 437 q 673 330 657 372 q 689 241 689 288 m 587 -155 q 582 -172 585 -162 q 575 -192 579 -182 q 567 -211 571 -201 q 560 -227 563 -220 l 143 -227 l 128 -210 q 133 -193 130 -202 q 141 -173 137 -183 q 149 -154 145 -164 q 156 -139 153 -145 l 572 -139 l 587 -155 "},"Ż":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 m 444 1045 q 438 1009 444 1026 q 421 980 432 992 q 397 960 411 967 q 365 953 382 953 q 321 969 335 953 q 308 1018 308 986 q 314 1053 308 1036 q 331 1083 320 1070 q 356 1102 342 1095 q 386 1110 370 1110 q 444 1045 444 1110 "},"ḝ":{"x_min":54,"x_max":587,"ha":641,"o":"m 451 -155 q 439 -203 451 -180 q 401 -245 427 -226 q 337 -278 376 -264 q 241 -301 297 -292 l 226 -267 q 286 -252 262 -261 q 327 -232 311 -243 q 349 -209 342 -221 q 357 -186 357 -197 q 339 -154 357 -163 q 279 -141 321 -145 q 286 -122 281 -139 q 300 -77 291 -108 q 319 -20 308 -55 l 315 -20 q 215 2 262 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 203 597 168 573 q 237 617 218 607 q 276 634 256 627 q 316 646 296 642 q 355 651 336 651 q 433 638 399 651 q 494 605 468 626 q 537 557 519 585 q 566 499 555 530 q 582 437 577 469 q 587 377 587 405 q 554 352 574 363 q 512 332 534 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 356 68 310 68 q 397 70 377 68 q 440 82 417 73 q 492 110 463 92 q 558 160 520 129 q 573 146 566 155 q 583 132 579 137 q 503 52 537 82 q 439 6 469 22 q 379 -15 408 -10 q 374 -16 376 -15 l 356 -70 q 390 -80 373 -74 q 421 -97 408 -87 q 442 -121 434 -107 q 451 -155 451 -136 m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 450 393 q 470 398 465 393 q 476 417 476 403 q 470 463 476 435 q 450 517 465 490 q 407 561 435 543 q 336 580 380 580 m 566 922 q 520 829 545 867 q 466 768 495 792 q 408 735 438 745 q 347 725 377 725 q 282 735 314 725 q 223 768 251 745 q 170 829 195 792 q 125 922 145 867 q 141 941 133 934 q 161 953 149 947 q 200 887 178 914 q 246 845 222 861 q 296 822 271 829 q 344 815 322 815 q 394 822 368 815 q 445 845 420 829 q 492 887 470 861 q 530 953 514 914 q 550 941 541 947 q 566 922 558 934 "},"õ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 594 912 q 564 857 581 884 q 527 808 548 830 q 482 773 506 787 q 431 760 457 760 q 386 771 407 760 q 344 798 364 783 q 304 825 324 813 q 264 837 284 837 q 215 814 237 837 q 167 755 192 792 l 131 768 q 160 823 143 796 q 198 873 177 851 q 243 908 219 894 q 293 922 267 922 q 342 910 319 922 q 385 883 365 898 q 424 856 406 868 q 459 845 442 845 q 509 866 484 845 q 557 928 534 888 l 594 912 "},"ẘ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 573 843 q 569 874 573 859 q 558 900 565 889 q 540 918 550 911 q 515 925 529 925 q 488 919 501 925 q 465 903 475 913 q 450 877 456 892 q 443 844 443 862 q 448 814 443 828 q 459 788 452 799 q 477 770 466 777 q 502 764 488 764 q 528 769 515 764 q 551 784 541 774 q 567 808 561 794 q 573 843 573 823 m 634 871 q 621 807 634 836 q 587 757 608 778 q 539 723 565 735 q 487 712 513 712 q 445 720 464 712 q 412 742 426 728 q 390 775 398 756 q 382 816 382 794 q 396 880 382 851 q 430 931 409 910 q 477 965 451 953 q 529 977 503 977 q 570 968 551 977 q 604 945 590 960 q 626 911 618 930 q 634 871 634 892 "},"ẫ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 m 556 1217 q 527 1162 544 1189 q 490 1113 510 1135 q 444 1078 469 1092 q 394 1065 420 1065 q 348 1077 370 1065 q 307 1103 327 1089 q 266 1130 286 1118 q 227 1142 246 1142 q 177 1120 200 1142 q 130 1060 155 1098 l 94 1073 q 123 1129 106 1101 q 160 1178 139 1156 q 205 1213 181 1200 q 256 1227 229 1227 q 305 1215 282 1227 q 348 1188 328 1203 q 387 1162 368 1174 q 421 1150 405 1150 q 472 1171 447 1150 q 520 1233 497 1193 l 556 1217 "},"Ṡ":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 407 1045 q 401 1009 407 1026 q 384 980 395 992 q 359 960 374 967 q 328 953 345 953 q 284 969 297 953 q 271 1018 271 986 q 277 1053 271 1036 q 294 1083 283 1070 q 319 1102 305 1095 q 349 1110 333 1110 q 407 1045 407 1110 "},"ǝ":{"x_min":47,"x_max":577,"ha":631,"o":"m 301 51 q 422 103 379 51 q 474 258 465 156 l 201 258 q 168 242 180 258 q 156 199 156 226 q 168 140 156 167 q 202 93 181 113 q 249 62 223 73 q 301 51 275 51 m 577 329 q 550 180 577 249 q 477 61 523 111 q 390 0 438 19 q 282 -20 343 -20 q 190 -4 233 -20 q 115 40 147 11 q 65 106 83 68 q 47 189 47 144 q 53 239 47 216 q 71 276 59 261 q 115 298 91 287 q 163 319 139 309 l 475 319 q 456 419 473 374 q 412 494 440 463 q 347 542 385 525 q 269 559 310 559 q 231 556 250 559 q 190 545 212 553 q 140 522 167 537 q 78 481 113 506 q 62 495 69 485 q 52 510 56 505 q 128 581 93 554 q 195 624 163 609 q 256 645 226 640 q 317 651 286 651 q 414 628 367 651 q 497 565 460 606 q 555 464 533 524 q 577 329 577 404 "},"˙":{"x_min":68,"x_max":204,"ha":271,"o":"m 204 854 q 197 818 204 835 q 181 789 191 801 q 156 769 170 776 q 125 762 142 762 q 81 778 94 762 q 68 826 68 795 q 74 862 68 845 q 91 892 80 879 q 115 911 102 904 q 146 919 129 919 q 204 854 204 919 "},"ê":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 560 740 q 547 721 552 727 q 531 710 542 715 l 345 891 l 161 710 q 152 715 155 712 q 145 721 148 718 q 139 729 142 724 q 130 740 135 734 l 309 998 l 382 998 l 560 740 "},"„":{"x_min":59.875,"x_max":542,"ha":624,"o":"m 256 41 q 246 -15 256 15 q 220 -76 237 -46 q 177 -135 202 -107 q 119 -184 152 -162 l 89 -160 q 114 -127 103 -146 q 132 -89 124 -108 q 142 -52 139 -70 q 146 -20 146 -34 q 127 32 146 9 q 70 57 109 55 l 59 87 q 85 106 65 96 q 128 126 105 117 q 174 143 152 136 q 209 149 197 149 q 243 104 231 127 q 256 41 256 80 m 542 41 q 532 -15 542 15 q 505 -76 523 -46 q 462 -135 488 -107 q 405 -184 437 -162 l 376 -160 q 400 -127 390 -146 q 418 -89 411 -108 q 429 -52 425 -70 q 433 -20 433 -34 q 414 32 433 9 q 356 57 395 55 l 345 87 q 370 106 350 96 q 414 126 390 117 q 460 143 437 136 q 495 149 483 149 q 529 104 517 127 q 542 41 542 80 "},"Â":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 620 957 q 607 938 612 944 q 591 927 602 932 l 405 1068 l 221 927 q 212 932 216 929 q 205 938 208 935 q 199 946 202 941 q 191 957 196 951 l 370 1167 l 442 1167 l 620 957 "},"´":{"x_min":147.171875,"x_max":419.8125,"ha":443,"o":"m 185 710 q 164 717 173 712 q 147 729 155 722 l 305 1010 q 327 1007 314 1009 q 355 1003 341 1005 q 383 998 370 1001 q 404 994 396 996 l 419 967 l 185 710 "},"Ɛ":{"x_min":54,"x_max":653.34375,"ha":707,"o":"m 653 145 q 572 67 611 98 q 491 16 533 35 q 406 -11 450 -3 q 310 -20 361 -20 q 199 0 247 -20 q 119 52 152 20 q 70 120 87 83 q 54 192 54 158 q 67 268 54 231 q 103 336 81 305 q 154 392 125 368 q 215 430 183 416 q 113 499 150 453 q 77 613 77 546 q 109 725 77 672 q 203 815 142 778 q 295 858 247 842 q 399 875 344 875 q 534 857 472 875 q 640 804 596 840 q 613 761 629 781 q 579 722 597 741 l 550 727 q 508 759 528 745 q 465 782 488 772 q 418 795 443 791 q 363 800 393 800 q 291 787 325 800 q 230 753 256 774 q 187 701 203 731 q 172 635 172 671 q 182 581 172 608 q 222 532 193 554 q 301 495 251 510 q 428 478 351 481 l 428 427 q 308 402 358 422 q 225 356 258 383 q 178 296 193 328 q 163 233 163 263 q 178 166 163 196 q 222 113 194 135 q 287 77 250 90 q 368 65 325 65 q 429 68 401 65 q 485 84 457 72 q 547 117 514 96 q 624 175 580 139 l 653 145 "},"ỏ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 477 904 q 464 871 477 886 q 435 843 452 856 q 402 817 418 829 q 378 793 386 806 q 377 767 371 780 q 412 736 384 753 q 392 728 403 730 q 371 726 381 727 q 326 753 340 740 q 308 776 311 765 q 311 797 305 787 q 329 815 318 806 q 355 833 341 824 q 382 851 369 842 q 402 871 394 861 q 411 894 411 882 q 398 933 411 920 q 365 946 385 946 q 347 942 355 946 q 332 932 338 938 q 323 918 326 926 q 319 903 319 911 q 321 896 319 900 q 325 889 323 893 q 311 885 319 887 q 293 880 302 882 q 273 877 283 878 q 257 874 264 875 l 250 882 l 250 891 q 263 922 250 907 q 295 950 275 938 q 340 971 315 963 q 388 979 364 979 q 454 958 431 979 q 477 904 477 938 "},"ʃ":{"x_min":-176.328125,"x_max":485.5,"ha":342,"o":"m 265 44 q 254 -70 265 -21 q 224 -156 243 -119 q 181 -222 206 -194 q 130 -271 157 -249 q 89 -297 111 -285 q 43 -319 67 -310 q -4 -333 19 -328 q -48 -339 -27 -339 q -92 -331 -69 -339 q -133 -315 -114 -324 q -164 -295 -151 -305 q -176 -280 -176 -285 q -166 -263 -176 -274 q -143 -241 -156 -253 q -114 -219 -129 -230 q -90 -204 -100 -209 q -65 -222 -79 -214 q -37 -235 -52 -230 q -8 -243 -23 -240 q 18 -247 5 -247 q 73 -233 48 -247 q 116 -193 98 -220 q 145 -127 134 -167 q 156 -33 156 -87 q 150 84 156 20 q 137 216 145 148 q 119 353 128 284 q 101 486 110 422 q 88 605 93 550 q 83 699 83 659 q 91 806 83 761 q 115 884 100 851 q 152 942 130 917 q 202 988 174 966 q 242 1015 220 1003 q 285 1034 263 1026 q 325 1046 306 1042 q 358 1051 345 1051 q 401 1042 379 1051 q 442 1024 423 1034 q 473 1002 461 1013 q 485 985 485 991 q 475 969 485 980 q 452 947 465 958 q 424 925 438 935 q 399 910 409 915 q 366 935 383 924 q 334 952 349 945 q 306 962 319 959 q 284 966 292 966 q 249 953 266 966 q 220 917 233 940 q 200 857 208 893 q 192 776 192 822 q 197 661 192 724 q 210 529 202 597 q 228 392 219 461 q 246 258 237 322 q 259 139 254 194 q 265 44 265 84 "},"Ĉ":{"x_min":48,"x_max":690.84375,"ha":745,"o":"m 690 143 q 607 65 647 96 q 531 15 568 34 q 458 -11 494 -3 q 387 -20 422 -20 q 263 8 324 -20 q 155 90 203 36 q 77 221 106 144 q 48 397 48 299 q 80 594 48 506 q 169 744 113 682 q 300 841 226 807 q 458 875 375 875 q 587 855 532 875 q 677 806 642 835 q 675 793 682 803 q 659 770 669 783 q 636 744 648 757 q 616 723 625 731 l 593 727 q 511 779 558 759 q 401 800 463 800 q 351 791 378 800 q 296 764 323 783 q 242 716 268 746 q 196 645 216 687 q 164 548 176 603 q 153 422 153 492 q 179 264 153 332 q 246 151 205 196 q 337 83 287 106 q 436 61 388 61 q 532 86 473 61 q 665 173 591 111 q 672 167 669 172 q 679 158 676 163 q 686 149 683 153 q 690 143 688 145 m 630 957 q 617 938 622 944 q 601 927 613 932 l 415 1068 l 231 927 q 222 932 226 929 q 216 938 219 935 q 209 946 212 941 q 201 957 206 951 l 380 1167 l 453 1167 l 630 957 "},"Ɋ":{"x_min":45,"x_max":985,"ha":834,"o":"m 369 72 q 426 85 396 72 q 487 120 456 99 q 548 170 518 142 q 606 225 578 197 l 606 671 q 533 753 579 724 q 429 783 488 783 q 367 772 399 783 q 303 742 334 762 q 243 693 271 722 q 193 624 214 663 q 159 537 172 585 q 147 432 147 489 q 166 289 147 355 q 217 174 185 223 q 288 99 248 126 q 369 72 328 72 m 606 152 q 542 79 574 112 q 478 25 511 47 q 409 -8 445 3 q 331 -20 372 -20 q 268 -7 301 -20 q 204 29 236 5 q 143 90 172 54 q 92 174 114 127 q 57 279 70 222 q 45 405 45 337 q 57 506 45 458 q 89 595 69 554 q 133 672 108 637 q 185 735 158 707 q 235 783 211 763 q 280 816 260 803 q 327 841 303 830 q 375 859 352 851 q 418 871 398 867 q 455 875 439 875 q 496 872 476 875 q 538 861 517 869 q 582 837 559 852 q 630 796 605 821 q 652 813 641 804 q 674 833 664 823 q 693 854 684 844 q 711 874 703 865 l 740 848 q 727 792 732 823 q 718 731 722 766 q 715 654 715 695 l 715 -72 q 717 -162 715 -124 q 727 -226 719 -201 q 750 -263 735 -251 q 794 -275 766 -275 q 822 -269 809 -275 q 845 -254 835 -264 q 861 -233 855 -245 q 867 -207 867 -221 q 860 -179 867 -194 q 872 -166 860 -173 q 901 -150 884 -158 q 938 -138 919 -143 q 972 -133 957 -133 l 985 -159 q 963 -224 985 -192 q 907 -282 941 -256 q 829 -323 872 -307 q 743 -339 786 -339 q 672 -323 699 -339 q 631 -278 646 -307 q 611 -207 616 -249 q 606 -113 606 -166 l 606 152 "},"Ờ":{"x_min":48,"x_max":828,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 410 797 448 797 q 301 771 349 797 q 221 698 254 746 q 170 584 188 651 q 153 434 153 517 q 173 290 153 358 q 229 171 194 223 q 310 90 264 120 q 410 61 357 61 q 513 84 466 61 q 594 153 560 107 q 648 268 629 200 q 667 426 667 337 m 828 944 q 820 906 828 927 q 794 861 812 885 q 745 812 776 837 q 667 761 714 786 q 745 614 719 698 q 772 439 772 529 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 390 -20 467 -20 q 245 15 309 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 542 853 492 875 q 634 796 593 832 q 693 846 675 821 q 711 889 711 871 q 700 926 711 908 q 671 959 690 944 l 792 1014 q 818 981 808 999 q 828 944 828 963 m 537 957 q 522 938 527 944 q 506 927 517 931 l 188 1092 l 193 1122 q 209 1134 198 1128 q 231 1148 219 1141 q 255 1162 244 1156 q 274 1173 267 1168 l 537 957 "},"Ω":{"x_min":54.984375,"x_max":798,"ha":879,"o":"m 76 0 l 54 18 q 57 55 55 34 q 61 99 58 77 q 67 145 63 122 q 76 190 71 168 l 106 190 q 117 140 111 161 q 129 103 122 118 q 147 82 136 89 q 171 75 157 75 l 320 75 q 200 185 247 132 q 125 290 153 239 q 86 394 97 342 q 75 501 75 446 q 86 590 75 545 q 119 677 97 635 q 173 755 141 719 q 248 817 205 790 q 342 859 290 844 q 455 875 394 875 q 592 849 530 875 q 699 778 654 824 q 768 665 743 731 q 794 517 794 599 q 777 402 794 456 q 728 295 761 348 q 646 188 695 242 q 534 75 598 134 l 690 75 q 713 81 704 75 q 730 101 722 87 q 746 138 738 115 q 767 193 754 160 l 798 180 q 794 136 796 160 q 788 88 791 112 q 782 40 785 64 q 775 0 778 17 l 475 0 l 475 74 q 545 166 514 126 q 599 242 576 207 q 639 307 623 276 q 666 368 655 337 q 680 430 676 398 q 685 501 685 462 q 669 619 685 563 q 621 719 653 675 q 542 788 589 762 q 433 814 495 814 q 350 798 387 814 q 286 757 313 782 q 239 699 258 731 q 207 632 219 666 q 189 566 195 598 q 184 508 184 533 q 186 434 184 468 q 197 370 189 400 q 219 308 205 339 q 257 242 234 277 q 313 166 280 207 q 391 74 346 126 l 391 0 l 76 0 "},"ȧ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 393 854 q 387 818 393 835 q 371 789 381 801 q 346 769 360 776 q 314 762 331 762 q 271 778 284 762 q 257 826 257 795 q 263 862 257 845 q 280 892 270 879 q 305 911 291 904 q 336 919 319 919 q 393 854 393 919 "},"Ö":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 620 1045 q 614 1009 620 1026 q 597 980 608 992 q 572 960 587 967 q 541 953 558 953 q 497 969 510 953 q 484 1018 484 986 q 490 1053 484 1036 q 507 1083 496 1070 q 532 1102 518 1095 q 562 1110 546 1110 q 620 1045 620 1110 m 349 1045 q 343 1009 349 1026 q 326 980 337 992 q 301 960 316 967 q 270 953 287 953 q 226 969 239 953 q 213 1018 213 986 q 219 1053 213 1036 q 236 1083 225 1070 q 261 1102 247 1095 q 291 1110 275 1110 q 349 1045 349 1110 "},"ḏ":{"x_min":54,"x_max":712.796875,"ha":722,"o":"m 712 57 q 657 21 681 36 q 615 -2 633 7 q 584 -15 597 -11 q 561 -20 571 -20 q 525 10 539 -20 q 506 114 510 41 q 454 58 480 83 q 402 16 429 33 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 863 q 502 923 505 901 q 491 957 500 945 q 462 973 481 968 q 406 980 442 977 l 406 1006 q 506 1026 462 1014 q 585 1051 550 1039 l 607 1030 l 607 172 q 608 131 607 148 q 611 103 609 114 q 615 84 613 91 q 622 72 618 76 q 645 67 628 64 q 703 86 663 70 l 712 57 m 505 177 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 m 585 -155 q 580 -172 583 -162 q 573 -192 577 -182 q 565 -211 569 -201 q 558 -227 561 -220 l 141 -227 l 126 -210 q 131 -193 128 -202 q 139 -173 134 -183 q 147 -154 143 -164 q 154 -139 151 -145 l 570 -139 l 585 -155 "},"z":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 "},"Ḅ":{"x_min":27.5625,"x_max":689,"ha":764,"o":"m 280 818 q 261 817 270 818 q 241 817 251 817 l 241 492 l 264 492 q 389 507 341 492 q 463 546 437 522 q 499 599 490 569 q 509 658 509 629 q 497 721 509 692 q 460 772 486 750 q 389 805 433 793 q 280 818 346 818 m 352 441 q 292 437 320 441 q 241 430 265 434 l 241 70 q 247 59 241 64 q 273 53 258 55 q 304 49 288 51 q 335 47 319 48 q 364 47 350 47 q 452 59 413 47 q 520 94 491 72 q 563 148 548 116 q 578 218 578 180 q 564 294 578 255 q 524 366 551 334 q 454 420 496 399 q 352 441 411 441 m 689 241 q 666 137 689 183 q 602 57 643 90 q 504 7 561 25 q 378 -10 447 -10 q 343 -9 364 -10 q 298 -8 322 -9 q 250 -7 275 -7 q 201 -5 224 -6 q 83 0 144 -2 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 81 800 106 803 q 33 792 56 796 l 27 834 q 88 848 54 841 q 162 861 123 856 q 241 871 201 867 q 318 875 281 875 q 440 862 385 875 q 534 826 495 849 q 593 768 572 802 q 614 692 614 734 q 579 566 614 619 q 484 491 544 514 q 565 460 528 482 q 630 405 602 437 q 673 330 657 372 q 689 241 689 288 m 426 -189 q 420 -225 426 -208 q 403 -254 414 -242 q 378 -274 393 -267 q 347 -282 364 -282 q 303 -265 316 -282 q 290 -217 290 -248 q 296 -181 290 -198 q 313 -151 302 -164 q 338 -132 324 -139 q 368 -125 352 -125 q 426 -189 426 -125 "},"™":{"x_min":39.984375,"x_max":735.3125,"ha":776,"o":"m 117 547 l 117 563 q 149 573 141 568 q 158 581 158 577 l 158 827 l 83 827 q 75 825 79 827 q 69 819 72 823 q 62 806 66 814 q 52 783 58 797 l 39 787 q 40 802 39 793 q 42 821 41 811 q 45 841 44 831 q 48 855 47 850 l 314 855 l 322 848 q 321 833 321 842 q 319 815 320 824 q 317 797 318 805 q 314 783 316 789 l 302 783 q 293 815 297 804 q 278 827 289 827 l 207 827 l 207 581 q 214 573 207 578 q 247 563 221 568 l 247 547 l 117 547 m 729 838 q 698 832 715 838 l 700 578 q 708 571 700 575 q 735 563 717 566 l 735 547 l 616 547 l 616 563 q 643 571 633 566 q 654 578 654 575 l 651 787 l 542 547 l 523 547 l 413 786 l 411 578 q 419 571 411 575 q 445 563 427 566 l 445 547 l 340 547 l 340 563 q 366 571 358 566 q 375 578 375 575 l 377 831 q 359 836 368 835 q 343 838 350 838 l 343 855 l 421 855 q 428 851 426 855 q 437 833 431 847 l 538 621 l 636 833 q 644 851 642 848 q 653 855 647 855 l 729 855 l 729 838 "},"ặ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 380 -189 q 374 -225 380 -208 q 357 -254 368 -242 q 332 -274 346 -267 q 301 -282 318 -282 q 257 -265 270 -282 q 244 -217 244 -248 q 250 -181 244 -198 q 267 -151 256 -164 q 292 -132 278 -139 q 322 -125 306 -125 q 380 -189 380 -125 m 545 922 q 500 829 525 867 q 446 768 474 792 q 387 735 418 745 q 326 725 357 725 q 262 735 293 725 q 203 768 231 745 q 150 829 174 792 q 105 922 125 867 q 121 941 113 934 q 141 953 129 947 q 180 887 158 914 q 226 845 202 861 q 276 822 250 829 q 324 815 301 815 q 374 822 347 815 q 424 845 400 829 q 471 887 449 861 q 510 953 493 914 q 529 941 521 947 q 545 922 537 934 "},"Ř":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 m 389 943 l 316 943 l 137 1151 q 145 1162 142 1157 q 152 1170 149 1167 q 159 1176 155 1174 q 168 1183 162 1179 l 354 1039 l 537 1183 q 554 1170 549 1176 q 567 1151 558 1164 l 389 943 "},"Ň":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 487 943 l 415 943 l 236 1151 q 244 1162 240 1157 q 250 1170 247 1167 q 257 1176 253 1174 q 266 1183 261 1179 l 453 1039 l 636 1183 q 652 1170 647 1176 q 665 1151 657 1164 l 487 943 "},"ừ":{"x_min":27.515625,"x_max":851,"ha":851,"o":"m 851 707 q 840 662 851 688 q 803 608 830 637 q 733 549 777 579 q 621 491 688 519 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 683 71 l 725 55 q 676 25 699 39 q 634 1 653 11 q 599 -14 614 -8 q 576 -20 584 -20 q 537 11 552 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 609 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 531 519 513 q 502 559 512 549 q 473 574 492 570 q 424 579 455 578 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 625 l 620 538 q 672 568 650 553 q 707 599 693 584 q 727 627 721 614 q 734 652 734 641 q 723 689 734 671 q 694 722 713 707 l 815 777 q 841 744 831 762 q 851 707 851 726 m 446 731 q 429 718 438 722 q 408 710 420 713 l 170 965 l 185 993 q 205 998 191 995 q 232 1003 218 1000 q 261 1007 247 1005 q 284 1010 276 1009 l 446 731 "},"Ợ":{"x_min":48,"x_max":828,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 410 797 448 797 q 301 771 349 797 q 221 698 254 746 q 170 584 188 651 q 153 434 153 517 q 173 290 153 358 q 229 171 194 223 q 310 90 264 120 q 410 61 357 61 q 513 84 466 61 q 594 153 560 107 q 648 268 629 200 q 667 426 667 337 m 828 944 q 820 906 828 927 q 794 861 812 885 q 745 812 776 837 q 667 761 714 786 q 745 614 719 698 q 772 439 772 529 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 390 -20 467 -20 q 245 15 309 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 542 853 492 875 q 634 796 593 832 q 693 846 675 821 q 711 889 711 871 q 700 926 711 908 q 671 959 690 944 l 792 1014 q 818 981 808 999 q 828 944 828 963 m 485 -189 q 479 -225 485 -208 q 462 -254 473 -242 q 437 -274 452 -267 q 406 -282 423 -282 q 362 -265 375 -282 q 349 -217 349 -248 q 355 -181 349 -198 q 372 -151 361 -164 q 397 -132 383 -139 q 427 -125 411 -125 q 485 -189 485 -125 "},"ƴ":{"x_min":-31.875,"x_max":936.625,"ha":685,"o":"m 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 537 599 q 603 733 567 680 q 678 818 640 786 q 755 862 717 849 q 826 875 793 875 q 867 871 847 875 q 902 863 887 868 q 927 852 917 858 q 936 839 936 845 q 929 823 936 835 q 910 797 921 811 q 884 770 898 783 q 857 748 870 756 q 831 761 843 756 q 809 767 819 765 q 789 769 798 769 l 773 769 q 730 757 752 769 q 687 724 708 745 q 646 670 666 702 q 612 598 627 639 l 366 -62 q 300 -196 337 -143 q 225 -281 264 -250 q 149 -326 187 -313 q 78 -339 111 -339 q 37 -335 57 -339 q 2 -327 17 -332 q -22 -316 -12 -322 q -31 -303 -31 -309 q -24 -287 -31 -299 q -5 -261 -16 -275 q 20 -233 6 -247 q 47 -212 33 -220 q 95 -231 73 -229 q 131 -234 116 -234 q 174 -222 152 -234 q 219 -188 197 -210 q 261 -134 241 -166 q 296 -61 280 -102 l 311 -19 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 "},"É":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 250 927 q 234 938 239 931 q 220 957 229 944 l 482 1173 q 501 1162 489 1168 q 524 1148 512 1156 q 547 1134 537 1141 q 562 1122 557 1128 l 569 1092 l 250 927 "},"ṅ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 459 854 q 453 818 459 835 q 436 789 447 801 q 412 769 426 776 q 380 762 397 762 q 336 778 350 762 q 323 826 323 795 q 329 862 323 845 q 346 892 335 879 q 371 911 357 904 q 401 919 385 919 q 459 854 459 919 "},"³":{"x_min":25.5,"x_max":397,"ha":456,"o":"m 397 575 q 383 510 397 540 q 344 457 370 480 q 282 421 319 434 q 199 408 245 408 q 112 423 156 408 q 25 475 68 439 l 41 502 q 81 480 62 489 q 117 465 100 470 q 151 458 134 460 q 186 456 168 456 q 275 482 241 456 q 309 561 309 509 q 298 613 309 592 q 271 646 288 633 q 234 664 254 659 q 194 670 214 670 l 184 670 q 178 670 181 670 q 172 669 176 669 q 161 667 169 668 l 155 698 q 223 721 197 709 q 261 748 248 734 q 278 776 274 761 q 282 802 282 790 q 277 830 282 816 q 263 854 273 843 q 238 871 254 865 q 201 878 223 878 q 147 861 166 878 q 134 816 129 844 q 97 805 119 808 q 55 800 75 801 l 42 812 q 57 849 42 829 q 98 884 73 868 q 158 912 124 901 q 229 923 191 923 q 292 913 265 923 q 335 887 318 903 q 361 851 353 871 q 370 810 370 830 q 363 779 370 794 q 343 749 356 763 q 312 723 330 735 q 270 704 293 711 q 320 690 297 701 q 361 662 344 679 q 387 622 377 644 q 397 575 397 600 "},"Ṧ":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 375 943 l 303 943 l 124 1151 q 132 1162 128 1157 q 138 1170 135 1167 q 145 1176 141 1174 q 154 1183 149 1179 l 341 1039 l 524 1183 q 540 1170 535 1176 q 553 1151 545 1164 l 375 943 m 407 1262 q 401 1226 407 1243 q 384 1197 395 1209 q 359 1177 374 1184 q 328 1170 345 1170 q 284 1186 297 1170 q 271 1235 271 1203 q 277 1270 271 1253 q 294 1300 283 1287 q 319 1319 305 1312 q 349 1327 333 1327 q 407 1262 407 1327 "},"ṗ":{"x_min":37.046875,"x_max":682,"ha":736,"o":"m 590 288 q 576 398 590 347 q 539 486 562 449 q 485 544 516 523 q 422 566 455 566 q 390 558 410 566 q 345 533 370 551 q 292 486 320 515 q 234 413 263 456 l 234 144 q 290 106 264 121 q 339 83 316 91 q 382 71 362 74 q 421 68 402 68 q 488 82 457 68 q 541 124 519 96 q 577 193 564 152 q 590 288 590 234 m 682 333 q 671 253 682 294 q 643 172 661 211 q 601 97 626 133 q 548 36 577 62 q 487 -4 519 10 q 422 -20 455 -20 q 332 2 382 -20 q 234 66 282 24 l 234 -254 q 259 -276 234 -265 q 348 -296 284 -287 l 348 -326 l 37 -326 l 37 -296 q 106 -276 81 -286 q 132 -254 132 -266 l 132 481 q 129 522 132 506 q 116 549 126 539 q 88 563 106 558 q 37 569 69 567 l 37 596 q 81 606 60 601 q 121 619 102 612 q 160 633 141 625 q 200 651 180 641 l 223 627 l 230 492 q 298 563 263 533 q 363 612 332 593 q 421 641 394 632 q 468 651 448 651 q 553 629 514 651 q 621 566 593 607 q 666 466 650 525 q 682 333 682 407 m 427 854 q 420 818 427 835 q 404 789 414 801 q 379 769 393 776 q 348 762 365 762 q 304 778 317 762 q 291 826 291 795 q 297 862 291 845 q 314 892 303 879 q 339 911 325 904 q 369 919 352 919 q 427 854 427 919 "},"[":{"x_min":95,"x_max":400.25,"ha":428,"o":"m 400 -168 q 391 -198 396 -182 q 380 -227 386 -215 l 95 -227 l 95 1085 l 376 1085 l 398 1067 q 390 1032 395 1050 q 380 1007 384 1015 l 190 1007 l 190 -149 l 376 -149 l 400 -168 "},"Ǹ":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 571 957 q 556 938 561 944 q 540 927 551 931 l 222 1092 l 227 1122 q 243 1134 232 1128 q 265 1148 253 1141 q 289 1162 278 1156 q 308 1173 301 1168 l 571 957 "},"Ḗ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 576 1058 q 571 1041 575 1051 q 564 1021 568 1031 q 556 1002 560 1012 q 550 987 552 993 l 132 987 l 118 1003 q 122 1020 119 1011 q 130 1040 126 1030 q 138 1059 134 1049 q 145 1075 142 1068 l 561 1075 l 576 1058 m 250 1144 q 234 1155 239 1148 q 220 1174 229 1161 l 482 1390 q 501 1379 489 1385 q 524 1365 512 1373 q 547 1352 537 1358 q 562 1339 557 1345 l 569 1309 l 250 1144 "},"∏":{"x_min":32.984375,"x_max":828.015625,"ha":875,"o":"m 32 0 l 32 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 106 804 132 791 q 32 825 81 816 l 32 855 l 828 855 l 828 825 q 755 804 781 816 q 729 783 729 793 l 729 70 q 753 50 729 62 q 828 29 778 38 l 828 0 l 521 0 l 521 29 q 593 49 567 38 q 620 70 620 61 l 620 751 q 610 767 620 759 q 584 782 601 775 q 540 793 566 789 q 481 798 514 798 l 368 798 q 313 792 337 797 q 273 782 289 788 q 249 767 257 775 q 241 751 241 759 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 32 0 "},"Ḥ":{"x_min":33.65625,"x_max":861.34375,"ha":908,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 654 478 l 654 783 q 629 804 654 791 q 555 825 604 816 l 555 855 l 861 855 l 861 825 q 789 804 815 816 q 763 783 763 793 l 763 70 q 787 50 763 62 q 861 29 812 38 l 861 0 l 555 0 l 555 29 q 627 49 601 38 q 654 70 654 61 l 654 417 l 241 417 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 515 -189 q 509 -225 515 -208 q 493 -254 503 -242 q 468 -274 482 -267 q 437 -282 454 -282 q 393 -265 406 -282 q 379 -217 379 -248 q 386 -181 379 -198 q 403 -151 392 -164 q 427 -132 413 -139 q 458 -125 441 -125 q 515 -189 515 -125 "},"ḥ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 459 -189 q 453 -225 459 -208 q 436 -254 447 -242 q 412 -274 426 -267 q 380 -282 397 -282 q 336 -265 350 -282 q 323 -217 323 -248 q 329 -181 323 -198 q 346 -151 335 -164 q 371 -132 357 -139 q 401 -125 385 -125 q 459 -189 459 -125 "},"ˋ":{"x_min":0,"x_max":276.703125,"ha":277,"o":"m 276 731 q 259 718 267 722 q 238 710 250 713 l 0 965 l 14 993 q 34 998 21 995 q 62 1003 48 1000 q 91 1007 77 1005 q 113 1010 105 1009 l 276 731 "},"ğ":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 m 559 922 q 513 829 539 867 q 460 768 488 792 q 401 735 432 745 q 340 725 370 725 q 276 735 307 725 q 216 768 244 745 q 163 829 188 792 q 118 922 139 867 q 134 941 126 934 q 154 953 143 947 q 193 887 171 914 q 240 845 215 861 q 289 822 264 829 q 337 815 315 815 q 387 822 361 815 q 438 845 413 829 q 485 887 463 861 q 523 953 507 914 q 543 941 535 947 q 559 922 551 934 "},"Ở":{"x_min":48,"x_max":828,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 410 797 448 797 q 301 771 349 797 q 221 698 254 746 q 170 584 188 651 q 153 434 153 517 q 173 290 153 358 q 229 171 194 223 q 310 90 264 120 q 410 61 357 61 q 513 84 466 61 q 594 153 560 107 q 648 268 629 200 q 667 426 667 337 m 828 944 q 820 906 828 927 q 794 861 812 885 q 745 812 776 837 q 667 761 714 786 q 745 614 719 698 q 772 439 772 529 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 390 -20 467 -20 q 245 15 309 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 542 853 492 875 q 634 796 593 832 q 693 846 675 821 q 711 889 711 871 q 700 926 711 908 q 671 959 690 944 l 792 1014 q 818 981 808 999 q 828 944 828 963 m 531 1121 q 518 1088 531 1103 q 489 1060 506 1073 q 456 1034 472 1046 q 433 1010 440 1023 q 432 984 425 997 q 467 953 438 970 q 446 945 457 947 q 425 943 435 944 q 380 970 394 957 q 362 993 365 982 q 366 1014 359 1004 q 384 1032 372 1023 q 409 1050 395 1041 q 436 1068 424 1059 q 456 1088 448 1078 q 465 1111 465 1099 q 452 1150 465 1137 q 420 1163 439 1163 q 401 1159 409 1163 q 386 1149 393 1155 q 377 1135 380 1143 q 374 1120 374 1128 q 375 1113 374 1117 q 379 1106 377 1110 q 365 1102 374 1104 q 347 1097 357 1099 q 328 1094 337 1095 q 311 1091 318 1092 l 304 1099 l 304 1108 q 317 1139 304 1124 q 350 1167 330 1155 q 394 1188 370 1180 q 442 1196 418 1196 q 508 1175 485 1196 q 531 1121 531 1155 "},"Ṙ":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 m 420 1045 q 414 1009 420 1026 q 398 980 408 992 q 373 960 387 967 q 342 953 359 953 q 298 969 311 953 q 284 1018 284 986 q 291 1053 284 1036 q 308 1083 297 1070 q 332 1102 318 1095 q 363 1110 346 1110 q 420 1045 420 1110 "},"ª":{"x_min":33,"x_max":348.484375,"ha":355,"o":"m 348 520 q 296 491 317 499 q 264 482 275 482 q 245 495 255 482 q 231 538 235 509 q 166 495 198 508 q 112 482 135 482 q 84 486 98 482 q 59 499 70 490 q 40 523 47 508 q 33 559 33 537 q 65 633 33 601 q 166 685 97 666 l 229 701 l 229 712 q 226 749 229 733 q 218 776 224 765 q 200 793 212 787 q 170 799 188 799 q 149 794 160 799 q 130 781 138 789 q 118 760 122 772 q 120 734 115 748 q 112 727 121 731 q 90 720 102 723 q 66 715 78 717 q 49 715 54 714 l 44 729 q 65 769 47 750 q 108 804 84 789 q 159 829 133 820 q 202 838 184 838 q 243 831 226 838 q 271 808 260 824 q 286 767 281 792 q 291 704 291 741 l 291 571 q 293 543 291 552 q 301 530 296 535 q 314 529 304 528 q 344 537 325 530 l 348 520 m 34 397 l 34 447 l 328 447 l 328 397 l 34 397 m 229 569 l 229 672 l 199 665 q 150 647 169 657 q 119 626 130 637 q 103 602 107 615 q 99 575 99 589 q 102 552 99 560 q 111 538 106 543 q 123 531 117 533 q 134 529 129 529 q 179 538 155 529 q 229 569 203 548 "},"T":{"x_min":6.34375,"x_max":734.5625,"ha":765,"o":"m 207 0 l 207 29 q 260 42 238 35 q 294 55 281 48 q 313 67 307 61 q 319 78 319 73 l 319 794 l 116 794 q 97 790 106 794 q 80 774 89 786 q 61 738 72 762 q 35 675 50 714 l 6 688 q 15 773 9 728 q 28 855 21 819 l 714 855 l 734 838 q 727 762 733 803 q 714 678 722 721 l 683 678 q 671 731 676 709 q 659 767 666 753 q 644 787 653 781 q 620 794 634 794 l 428 794 l 428 78 q 452 55 428 69 q 539 29 476 42 l 539 0 l 207 0 "},"š":{"x_min":54.25,"x_max":483.578125,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 305 726 l 233 726 l 54 968 q 62 979 59 974 q 68 987 65 984 q 75 993 71 991 q 84 1000 79 996 l 271 829 l 454 1000 q 470 987 465 993 q 483 968 475 981 l 305 726 "},"":{"x_min":40.6875,"x_max":418.46875,"ha":459,"o":"m 418 247 q 408 215 415 232 q 398 186 402 198 l 57 186 l 40 204 q 49 234 44 217 q 61 264 55 250 l 401 264 l 418 247 m 418 422 q 408 391 415 409 l 398 363 l 57 363 l 40 380 q 49 410 44 393 q 61 440 55 427 l 401 440 l 418 422 "},"Þ":{"x_min":32.984375,"x_max":666,"ha":726,"o":"m 32 0 l 32 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 106 804 132 791 q 32 825 81 816 l 32 855 l 359 855 l 359 825 q 302 814 325 819 q 265 803 278 808 q 246 793 251 798 q 241 783 241 788 l 241 688 q 346 692 283 692 q 478 676 419 692 q 578 630 537 660 q 643 555 620 599 q 666 451 666 510 q 652 366 666 405 q 617 297 639 327 q 566 245 595 267 q 507 208 538 223 q 445 187 476 194 q 388 180 414 180 q 329 185 357 180 q 279 202 302 190 l 263 250 q 318 234 292 237 q 368 231 344 231 q 433 243 399 231 q 495 279 467 255 q 542 339 524 303 q 561 424 561 376 q 541 520 561 480 q 486 585 521 560 q 405 623 451 611 q 307 635 359 635 q 241 633 273 635 l 241 70 q 246 61 241 66 q 265 51 251 56 q 301 40 278 46 q 359 29 324 35 l 359 0 l 32 0 "},"j":{"x_min":-149.234375,"x_max":261,"ha":359,"o":"m 241 67 q 231 -65 241 -10 q 203 -158 221 -119 q 162 -223 186 -196 q 111 -271 139 -249 q 73 -297 93 -285 q 32 -319 52 -310 q -5 -333 12 -328 q -36 -339 -23 -339 q -77 -333 -57 -339 q -113 -321 -97 -328 q -139 -305 -129 -313 q -149 -291 -149 -297 q -139 -275 -149 -285 q -116 -253 -129 -264 q -87 -231 -102 -241 q -63 -216 -73 -221 q -18 -241 -41 -235 q 30 -247 4 -247 q 69 -234 50 -247 q 104 -190 88 -221 q 129 -106 120 -159 q 139 29 139 -52 l 139 454 q 137 510 139 489 q 126 542 135 531 q 98 560 117 554 q 44 569 79 565 l 44 596 q 94 607 72 601 q 136 620 116 613 q 175 634 156 626 q 215 651 194 642 l 241 651 l 241 67 m 261 854 q 254 818 261 835 q 238 789 248 801 q 213 769 227 776 q 183 762 199 762 q 138 778 152 762 q 125 826 125 795 q 131 862 125 845 q 148 892 137 879 q 172 911 158 904 q 203 919 187 919 q 261 854 261 919 "},"1":{"x_min":93.84375,"x_max":569.546875,"ha":652,"o":"m 114 0 l 114 35 q 203 49 167 42 q 259 65 238 57 q 289 81 280 73 q 298 96 298 89 l 298 637 q 295 679 298 664 q 285 703 293 694 q 270 710 281 707 q 237 712 258 713 q 184 707 216 711 q 108 694 152 703 l 93 728 q 161 751 122 736 q 240 781 200 765 q 316 815 280 798 q 374 844 352 831 l 400 820 l 400 96 q 407 82 400 90 q 433 66 414 74 q 485 50 452 58 q 569 35 518 42 l 569 0 l 114 0 "},"ɣ":{"x_min":13.796875,"x_max":670.875,"ha":685,"o":"m 334 28 q 296 -50 311 -17 q 272 -106 281 -83 q 260 -144 263 -128 q 257 -170 257 -159 q 264 -217 257 -198 q 283 -247 271 -236 q 308 -263 294 -259 q 336 -268 322 -268 q 361 -261 349 -268 q 384 -245 374 -255 q 401 -220 395 -234 q 408 -191 408 -206 q 405 -155 408 -172 q 396 -119 403 -139 q 379 -72 390 -99 q 350 -5 368 -46 l 334 28 m 670 601 q 637 592 650 597 q 617 583 625 588 q 605 571 609 578 q 596 555 601 565 l 394 149 l 430 72 q 463 0 449 32 q 485 -56 476 -30 q 498 -107 494 -82 q 502 -159 502 -131 q 491 -215 502 -184 q 460 -274 481 -246 q 406 -320 438 -301 q 327 -339 373 -339 q 271 -328 297 -339 q 224 -298 244 -317 q 193 -252 205 -279 q 182 -192 182 -225 q 184 -157 182 -175 q 194 -116 187 -138 q 214 -63 202 -93 q 247 6 227 -33 l 297 108 l 89 555 q 64 583 81 573 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 233 594 249 598 q 209 585 217 590 q 200 573 200 580 q 204 555 199 565 l 356 230 l 515 555 q 518 572 520 565 q 509 584 517 579 q 485 594 501 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 "},"ɩ":{"x_min":33.375,"x_max":405.984375,"ha":392,"o":"m 405 91 q 341 37 371 59 q 287 3 312 15 q 244 -14 263 -9 q 212 -20 225 -20 q 170 -10 186 -20 q 145 18 154 -1 q 132 67 135 37 q 129 137 129 97 l 129 454 q 127 510 129 489 q 117 543 126 531 q 89 560 109 555 q 33 569 70 566 l 33 596 q 78 606 54 600 q 124 619 101 612 q 169 634 148 626 q 207 651 190 642 l 231 651 l 231 205 q 233 133 231 159 q 240 93 235 106 q 256 75 246 79 q 281 72 265 72 q 319 83 288 72 q 395 126 351 95 l 405 91 "},"Ǜ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 662 1045 q 656 1009 662 1026 q 639 980 650 992 q 614 960 629 967 q 583 953 600 953 q 539 969 552 953 q 526 1018 526 986 q 532 1053 526 1036 q 549 1083 538 1070 q 574 1102 560 1095 q 604 1110 588 1110 q 662 1045 662 1110 m 391 1045 q 385 1009 391 1026 q 368 980 379 992 q 343 960 358 967 q 312 953 329 953 q 268 969 281 953 q 255 1018 255 986 q 261 1053 255 1036 q 278 1083 267 1070 q 303 1102 289 1095 q 333 1110 317 1110 q 391 1045 391 1110 m 579 1174 q 564 1155 569 1161 q 548 1144 559 1148 l 230 1309 l 236 1339 q 251 1352 240 1345 q 274 1365 261 1358 q 297 1379 286 1373 q 316 1390 309 1385 l 579 1174 "},"ǒ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 399 726 l 326 726 l 147 968 q 155 979 152 974 q 162 987 159 984 q 169 993 165 991 q 178 1000 172 996 l 364 829 l 548 1000 q 564 987 559 993 q 577 968 569 981 l 399 726 "},"ĉ":{"x_min":54,"x_max":569.71875,"ha":607,"o":"m 569 129 q 492 47 525 76 q 430 2 458 17 q 374 -16 401 -12 q 315 -20 347 -20 q 218 2 265 -20 q 134 65 171 24 q 76 166 98 106 q 54 301 54 226 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 433 186 480 q 156 322 156 385 q 173 217 156 264 q 219 137 190 170 q 285 85 248 103 q 364 68 323 68 q 399 69 383 68 q 435 80 415 71 q 479 106 454 89 q 543 156 505 124 l 569 129 m 546 740 q 533 721 538 727 q 517 710 529 715 l 331 891 l 147 710 q 138 715 142 712 q 131 721 134 718 q 125 729 128 724 q 117 740 122 734 l 296 998 l 368 998 l 546 740 "},"Ɔ":{"x_min":41,"x_max":691,"ha":745,"o":"m 691 460 q 662 264 691 352 q 581 113 633 176 q 459 14 530 49 q 305 -20 389 -20 q 189 -1 239 -20 q 106 48 140 17 q 57 114 73 78 q 41 186 41 151 q 49 241 41 214 q 81 293 58 267 q 113 308 96 301 q 146 322 129 315 q 178 334 163 328 q 205 343 192 339 l 220 310 q 189 287 201 298 q 170 263 177 276 q 161 236 163 251 q 159 203 159 222 q 171 152 159 178 q 207 106 184 127 q 263 71 230 85 q 336 58 296 58 q 429 77 384 58 q 509 140 474 96 q 564 256 543 184 q 586 434 586 329 q 559 592 586 525 q 492 706 533 660 q 400 774 450 751 q 301 797 350 797 q 260 792 282 797 q 209 778 237 788 q 146 749 180 767 q 71 702 112 731 q 64 708 68 704 q 57 717 60 712 q 51 726 53 722 q 47 733 48 731 q 132 806 92 778 q 209 849 172 834 q 280 869 246 864 q 348 875 313 875 q 473 847 412 875 q 583 766 535 819 q 661 635 631 712 q 691 460 691 558 "},"ī":{"x_min":25.09375,"x_max":375.0625,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 375 868 q 370 851 373 861 q 362 831 366 841 q 355 812 358 822 q 348 797 351 803 l 40 797 l 25 813 q 29 830 26 821 q 37 850 33 840 q 45 869 41 859 q 52 885 49 878 l 360 885 l 375 868 "},"Ď":{"x_min":27.5625,"x_max":761,"ha":823,"o":"m 307 818 q 241 816 273 818 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 805 q 80 799 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 409 943 l 337 943 l 158 1151 q 166 1162 162 1157 q 172 1170 169 1167 q 179 1176 175 1174 q 188 1183 183 1179 l 375 1039 l 558 1183 q 574 1170 569 1176 q 587 1151 579 1164 l 409 943 "},"&":{"x_min":54,"x_max":912.4375,"ha":926,"o":"m 301 766 q 312 684 301 727 q 344 596 324 641 q 420 648 390 622 q 466 699 449 674 q 488 748 482 724 q 495 794 495 771 q 488 839 495 818 q 470 876 482 860 q 440 901 458 892 q 399 911 422 911 q 356 898 374 911 q 325 865 337 885 q 307 819 313 845 q 301 766 301 792 m 357 57 q 463 75 415 57 q 550 124 511 93 q 480 200 516 159 q 410 286 444 241 q 344 379 376 331 q 288 476 313 427 q 229 419 253 446 q 191 363 206 391 q 170 308 176 336 q 164 253 164 281 q 180 168 164 205 q 223 107 196 132 q 285 69 250 82 q 357 57 320 57 m 912 507 q 878 472 895 486 q 845 447 862 458 q 817 458 833 453 q 785 466 801 462 q 755 472 770 470 q 728 475 740 474 q 740 452 736 462 q 747 429 744 441 q 750 402 749 417 q 751 368 751 388 q 729 266 751 320 q 670 162 708 213 q 756 86 717 117 q 812 57 782 64 q 881 60 841 50 l 887 30 q 787 -7 828 5 q 732 -20 747 -20 q 680 7 717 -20 q 594 81 643 34 q 476 8 541 36 q 337 -20 411 -20 q 222 -3 274 -20 q 132 45 169 13 q 74 126 95 78 q 54 239 54 175 q 67 316 54 277 q 106 394 81 355 q 170 470 132 433 q 257 542 208 507 q 226 637 238 590 q 215 728 215 683 q 233 830 215 783 q 282 911 251 876 q 352 964 312 945 q 434 984 392 984 q 507 970 478 984 q 555 933 537 956 q 581 879 573 909 q 589 816 589 849 q 544 683 589 745 q 419 571 500 621 q 395 555 406 562 q 372 539 383 547 q 425 451 396 495 q 488 364 455 407 q 556 282 521 322 q 625 206 591 241 q 657 275 646 240 q 669 340 669 309 q 659 393 669 368 q 634 437 650 419 q 599 467 619 456 q 560 478 580 478 l 545 497 q 567 516 553 506 q 595 532 582 526 l 896 532 l 912 507 "},"ṻ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 605 868 q 600 851 604 861 q 593 831 597 841 q 585 812 589 822 q 579 797 581 803 l 162 797 l 147 813 q 151 830 148 821 q 159 850 155 840 q 167 869 163 859 q 174 885 171 878 l 590 885 l 605 868 m 572 1098 q 566 1063 572 1079 q 550 1033 560 1046 q 525 1013 539 1021 q 494 1006 511 1006 q 450 1023 463 1006 q 436 1071 436 1040 q 443 1106 436 1090 q 460 1136 449 1123 q 484 1156 470 1148 q 515 1163 498 1163 q 572 1098 572 1163 m 301 1098 q 295 1063 301 1079 q 279 1033 289 1046 q 254 1013 268 1021 q 223 1006 240 1006 q 179 1023 192 1006 q 165 1071 165 1040 q 172 1106 165 1090 q 189 1136 178 1123 q 213 1156 199 1148 q 244 1163 227 1163 q 301 1098 301 1163 "},"G":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 "},"`":{"x_min":20.34375,"x_max":297.0625,"ha":443,"o":"m 297 731 q 280 719 290 725 q 259 710 270 713 l 20 965 l 35 993 q 55 997 42 995 q 83 1002 68 999 q 111 1007 97 1005 q 134 1010 126 1009 l 297 731 "},"ỗ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 577 740 q 564 721 569 727 q 548 710 559 715 l 362 891 l 178 710 q 169 715 172 712 q 162 721 165 718 q 155 729 159 724 q 147 740 152 734 l 326 998 l 399 998 l 577 740 m 594 1217 q 564 1162 581 1189 q 527 1113 548 1135 q 482 1078 506 1092 q 431 1065 457 1065 q 386 1077 407 1065 q 344 1103 364 1089 q 304 1130 324 1118 q 264 1142 284 1142 q 215 1120 237 1142 q 167 1060 192 1098 l 131 1073 q 160 1129 143 1101 q 198 1178 177 1156 q 243 1213 219 1200 q 293 1227 267 1227 q 342 1215 319 1227 q 385 1188 365 1203 q 424 1162 406 1174 q 459 1150 442 1150 q 509 1171 484 1150 q 557 1233 534 1193 l 594 1217 "},"Ễ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 554 957 q 541 938 546 944 q 525 927 537 932 l 339 1068 l 156 927 q 146 932 150 929 q 140 938 143 935 q 133 946 137 941 q 125 957 130 951 l 304 1167 l 377 1167 l 554 957 m 571 1374 q 542 1319 559 1346 q 504 1270 525 1292 q 459 1234 484 1248 q 408 1221 435 1221 q 363 1233 385 1221 q 322 1259 342 1245 q 281 1286 301 1274 q 242 1298 261 1298 q 192 1276 215 1298 q 145 1216 170 1254 l 109 1229 q 138 1285 121 1257 q 175 1334 154 1312 q 220 1369 196 1356 q 271 1383 244 1383 q 320 1371 297 1383 q 363 1344 343 1359 q 402 1318 383 1330 q 436 1306 420 1306 q 487 1327 462 1306 q 535 1389 512 1349 l 571 1374 "},"ằ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 545 922 q 500 829 525 867 q 446 768 474 792 q 387 735 418 745 q 326 725 357 725 q 262 735 293 725 q 203 768 231 745 q 150 829 174 792 q 105 922 125 867 q 121 941 113 934 q 141 953 129 947 q 180 887 158 914 q 226 845 202 861 q 276 822 250 829 q 324 815 301 815 q 374 822 347 815 q 424 845 400 829 q 471 887 449 861 q 510 953 493 914 q 529 941 521 947 q 545 922 537 934 m 402 948 q 385 935 394 939 q 364 927 376 930 l 126 1182 l 141 1210 q 161 1215 147 1212 q 188 1220 174 1217 q 217 1224 203 1222 q 240 1227 231 1226 l 402 948 "},"ŏ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 583 922 q 537 829 562 867 q 483 768 512 792 q 425 735 455 745 q 364 725 394 725 q 299 735 330 725 q 240 768 268 745 q 187 829 212 792 q 142 922 162 867 q 158 941 150 934 q 178 953 166 947 q 217 887 195 914 q 263 845 239 861 q 313 822 288 829 q 361 815 339 815 q 411 822 385 815 q 462 845 437 829 q 509 887 486 861 q 547 953 531 914 q 567 941 558 947 q 583 922 575 934 "},"Ả":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 520 1121 q 508 1088 520 1103 q 478 1060 495 1073 q 445 1034 461 1046 q 422 1010 429 1023 q 421 984 414 997 q 456 953 427 970 q 435 945 446 947 q 414 943 424 944 q 369 970 384 957 q 351 993 354 982 q 355 1014 348 1004 q 373 1032 361 1023 q 398 1050 384 1041 q 425 1068 413 1059 q 446 1088 437 1078 q 454 1111 454 1099 q 441 1150 454 1137 q 409 1163 428 1163 q 390 1159 399 1163 q 376 1149 382 1155 q 366 1135 370 1143 q 363 1120 363 1128 q 364 1113 363 1117 q 368 1106 366 1110 q 354 1102 363 1104 q 336 1097 346 1099 q 317 1094 326 1095 q 301 1091 307 1092 l 293 1099 l 293 1108 q 306 1139 293 1124 q 339 1167 319 1155 q 383 1188 359 1180 q 431 1196 408 1196 q 497 1175 474 1196 q 520 1121 520 1155 "},"ý":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 330 710 q 308 717 318 712 q 291 729 299 722 l 450 1010 q 471 1007 458 1009 q 499 1003 484 1005 q 527 999 514 1001 q 548 994 541 996 l 564 967 l 330 710 "},"º":{"x_min":33,"x_max":358,"ha":392,"o":"m 294 656 q 285 710 294 684 q 261 755 276 736 q 226 786 246 774 q 184 798 206 798 q 148 787 164 798 q 120 759 132 777 q 103 716 109 740 q 97 662 97 691 q 106 608 97 634 q 131 563 115 582 q 166 532 146 544 q 206 521 185 521 q 240 531 224 521 q 268 559 256 541 q 287 602 280 578 q 294 656 294 627 m 41 397 l 41 447 l 350 447 l 350 397 l 41 397 m 358 666 q 342 598 358 632 q 303 539 327 565 q 247 497 278 513 q 184 482 216 482 q 122 494 150 482 q 74 530 94 507 q 43 584 54 553 q 33 653 33 615 q 46 721 33 688 q 83 780 60 755 q 139 822 107 806 q 206 838 170 838 q 267 825 239 838 q 315 789 294 812 q 346 735 335 766 q 358 666 358 703 "},"∞":{"x_min":54,"x_max":864,"ha":918,"o":"m 232 288 q 272 291 255 288 q 308 303 290 294 q 349 329 327 312 q 401 374 371 346 q 371 412 388 392 q 333 447 354 432 q 286 473 312 463 q 229 483 260 483 q 177 474 197 483 q 147 450 158 464 q 132 420 136 436 q 129 391 129 404 q 135 360 129 377 q 154 326 141 342 q 187 299 167 310 q 232 288 206 288 m 685 494 q 644 489 663 494 q 605 475 625 485 q 564 449 586 465 q 513 407 542 432 q 544 369 527 389 q 584 335 562 350 q 632 309 605 319 q 688 300 658 300 q 740 309 720 300 q 770 333 759 318 q 785 363 781 347 q 789 391 789 379 q 782 423 789 405 q 763 456 776 440 q 730 483 750 472 q 685 494 711 494 m 278 573 q 342 562 313 573 q 398 533 372 551 q 444 493 423 515 q 482 448 465 471 q 554 507 522 484 q 615 546 586 531 q 669 566 643 560 q 722 573 695 573 q 774 561 748 573 q 819 528 799 549 q 851 480 839 508 q 864 419 864 452 q 845 343 864 380 q 796 276 827 305 q 724 228 764 246 q 639 210 684 210 q 574 220 604 210 q 518 249 544 231 q 470 289 492 266 q 431 333 448 311 q 355 270 387 294 q 297 233 324 246 q 247 214 271 219 q 195 210 222 210 q 143 221 169 210 q 98 254 118 233 q 66 302 78 274 q 54 363 54 330 q 72 439 54 402 q 121 506 90 477 q 193 554 153 536 q 278 573 233 573 "},"ź":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 m 296 710 q 274 717 284 712 q 257 729 265 722 l 416 1010 q 437 1007 424 1009 q 465 1003 451 1005 q 493 999 480 1001 q 514 994 507 996 l 530 967 l 296 710 "},"Ư":{"x_min":33.65625,"x_max":950.125,"ha":950,"o":"m 950 944 q 941 904 950 927 q 912 856 933 881 q 855 802 891 830 q 767 749 820 775 l 767 355 q 745 196 767 266 q 682 79 723 127 q 583 5 642 30 q 451 -20 525 -20 q 323 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 376 76 332 95 q 478 58 420 58 q 564 81 526 58 q 627 142 601 104 q 665 229 652 180 q 679 327 679 277 l 679 783 q 654 804 679 791 q 580 825 629 816 l 580 855 l 821 855 q 833 889 833 873 q 823 926 833 909 q 794 959 813 944 l 914 1014 q 940 981 930 999 q 950 944 950 963 "},"͟":{"x_min":-442.875,"x_max":442.875,"ha":0,"o":"m 442 -420 q 438 -437 441 -427 q 430 -457 434 -447 q 422 -476 426 -466 q 416 -492 419 -485 l -427 -492 l -442 -475 q -438 -458 -441 -467 q -430 -438 -434 -448 q -422 -419 -426 -429 q -415 -404 -418 -410 l 427 -404 l 442 -420 "},"ń":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 362 710 q 340 717 349 712 q 323 729 330 722 l 482 1010 q 503 1007 490 1009 q 531 1003 516 1005 q 559 999 545 1001 q 580 994 573 996 l 596 967 l 362 710 "},"Ḵ":{"x_min":33.65625,"x_max":796.46875,"ha":803,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 438 l 518 765 q 538 794 534 783 q 535 811 542 805 q 511 820 528 817 q 468 825 494 823 l 468 855 l 753 855 l 753 825 q 714 820 731 823 q 683 813 697 817 q 659 802 670 808 q 637 783 647 795 l 340 455 l 668 85 q 694 64 680 72 q 724 54 708 57 q 757 51 740 51 q 791 53 774 51 l 796 24 q 716 0 756 11 q 643 -10 675 -10 q 608 -3 623 -10 q 579 19 593 2 l 241 433 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 644 -155 q 639 -172 642 -162 q 632 -192 636 -182 q 624 -211 628 -201 q 617 -227 620 -220 l 200 -227 l 185 -210 q 190 -193 187 -202 q 198 -173 193 -183 q 206 -154 202 -164 q 213 -139 210 -145 l 629 -139 l 644 -155 "},"":{"x_min":13.5625,"x_max":874.90625,"ha":903,"o":"m 13 29 q 85 46 59 37 q 118 73 111 54 l 378 814 q 397 840 383 829 q 425 857 410 850 q 456 868 441 864 q 480 875 471 872 l 778 73 q 808 45 785 56 q 874 29 832 34 l 874 0 l 579 0 l 579 29 q 654 43 634 33 q 666 72 674 52 l 427 716 l 199 73 q 216 45 191 54 q 295 29 240 35 l 295 0 l 13 0 l 13 29 "},"ḹ":{"x_min":-29.171875,"x_max":429.3125,"ha":376,"o":"m 40 0 l 40 29 q 89 38 69 33 q 120 49 108 44 q 136 59 131 54 q 142 70 142 65 l 142 878 q 137 926 142 909 q 123 951 133 943 q 93 963 112 960 q 47 969 75 966 l 47 996 q 136 1017 95 1006 q 219 1051 177 1029 l 244 1027 l 244 70 q 267 49 244 60 q 345 29 290 38 l 345 0 l 40 0 m 261 -189 q 255 -225 261 -208 q 238 -254 249 -242 q 213 -274 228 -267 q 182 -282 199 -282 q 138 -265 152 -282 q 125 -217 125 -248 q 131 -181 125 -198 q 148 -151 137 -164 q 173 -132 159 -139 q 203 -125 187 -125 q 261 -189 261 -125 m 429 1275 q 424 1258 427 1268 q 417 1238 421 1248 q 409 1219 413 1229 q 402 1204 405 1210 l -14 1204 l -29 1220 q -24 1237 -27 1228 q -16 1257 -21 1247 q -8 1276 -12 1267 q -1 1292 -4 1285 l 414 1292 l 429 1275 "},"¤":{"x_min":107.296875,"x_max":545.015625,"ha":652,"o":"m 245 488 q 220 450 228 471 q 212 407 212 429 q 220 364 212 385 q 245 327 228 344 q 284 302 262 310 q 326 294 305 294 q 369 302 348 294 q 407 327 390 310 q 432 365 424 344 q 441 408 441 386 q 432 450 441 429 q 407 488 424 471 q 369 513 390 505 q 326 522 348 522 q 284 513 305 522 q 245 488 262 505 m 500 190 l 428 261 q 379 237 405 245 q 326 230 353 230 q 273 237 299 230 q 224 261 247 245 l 151 189 l 128 190 q 117 210 122 199 q 107 232 112 221 l 180 305 q 155 353 163 327 q 148 406 148 379 q 155 460 148 434 q 180 510 163 487 l 107 583 l 109 605 q 129 616 118 611 q 151 627 140 622 l 223 553 q 272 578 246 570 q 326 587 299 587 q 379 578 353 587 q 428 553 405 570 l 500 626 l 523 626 l 543 581 l 471 510 q 496 460 487 487 q 505 406 505 434 q 496 353 505 379 q 472 304 488 327 l 544 233 l 545 210 l 500 190 "},"Ǣ":{"x_min":0.0625,"x_max":1042.296875,"ha":1082,"o":"m 525 779 q 518 789 525 786 q 503 792 512 793 q 485 785 494 791 q 472 767 476 779 l 365 499 l 525 499 l 525 779 m 1042 165 q 1027 63 1036 106 q 1013 0 1018 19 l 428 0 l 428 29 q 499 49 474 38 q 525 70 525 61 l 525 442 l 342 442 l 193 75 q 205 45 184 55 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 72 46 46 37 q 107 75 98 55 l 387 768 q 384 788 392 780 q 360 802 377 795 q 317 814 343 808 q 258 825 291 819 l 258 855 l 975 855 l 996 838 q 992 799 994 820 q 986 757 990 778 q 977 717 982 736 q 968 685 973 698 l 937 685 q 932 737 936 716 q 921 771 928 758 q 904 788 914 783 q 882 794 895 794 l 634 794 l 634 499 l 908 499 l 927 480 q 913 459 920 470 q 897 438 905 448 q 880 418 889 427 q 864 404 872 410 q 842 421 854 414 q 815 433 831 428 q 779 439 800 437 q 729 442 758 442 l 634 442 l 634 104 q 639 86 634 94 q 659 72 644 78 q 702 64 674 67 q 774 61 729 61 l 861 61 q 915 64 893 61 q 953 79 937 67 q 983 114 970 91 q 1011 177 997 137 l 1042 165 m 862 1058 q 857 1041 861 1051 q 850 1021 854 1031 q 842 1002 846 1012 q 836 987 838 993 l 419 987 l 404 1003 q 408 1020 405 1011 q 416 1040 412 1030 q 424 1059 420 1049 q 432 1075 428 1068 l 847 1075 l 862 1058 "},"Ɨ":{"x_min":32.75,"x_max":370.296875,"ha":414,"o":"m 353 417 l 255 417 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 417 l 47 417 l 32 433 q 39 455 36 443 q 47 478 43 467 l 146 478 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 478 l 353 478 l 370 462 l 353 417 "},"Ĝ":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 m 648 957 q 635 938 640 944 q 619 927 630 932 l 433 1068 l 249 927 q 240 932 244 929 q 233 938 236 935 q 227 946 230 941 q 219 957 223 951 l 398 1167 l 470 1167 l 648 957 "},"p":{"x_min":37.046875,"x_max":682,"ha":736,"o":"m 590 288 q 576 398 590 347 q 539 486 562 449 q 485 544 516 523 q 422 566 455 566 q 390 558 410 566 q 345 533 370 551 q 292 486 320 515 q 234 413 263 456 l 234 144 q 290 106 264 121 q 339 83 316 91 q 382 71 362 74 q 421 68 402 68 q 488 82 457 68 q 541 124 519 96 q 577 193 564 152 q 590 288 590 234 m 682 333 q 671 253 682 294 q 643 172 661 211 q 601 97 626 133 q 548 36 577 62 q 487 -4 519 10 q 422 -20 455 -20 q 332 2 382 -20 q 234 66 282 24 l 234 -254 q 259 -276 234 -265 q 348 -296 284 -287 l 348 -326 l 37 -326 l 37 -296 q 106 -276 81 -286 q 132 -254 132 -266 l 132 481 q 129 522 132 506 q 116 549 126 539 q 88 563 106 558 q 37 569 69 567 l 37 596 q 81 606 60 601 q 121 619 102 612 q 160 633 141 625 q 200 651 180 641 l 223 627 l 230 492 q 298 563 263 533 q 363 612 332 593 q 421 641 394 632 q 468 651 448 651 q 553 629 514 651 q 621 566 593 607 q 666 466 650 525 q 682 333 682 407 "},"S":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 "},"ễ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 560 740 q 547 721 552 727 q 531 710 542 715 l 345 891 l 161 710 q 152 715 155 712 q 145 721 148 718 q 139 729 142 724 q 130 740 135 734 l 309 998 l 382 998 l 560 740 m 577 1217 q 548 1162 564 1189 q 510 1113 531 1135 q 465 1078 489 1092 q 414 1065 440 1065 q 369 1077 390 1065 q 327 1103 347 1089 q 287 1130 307 1118 q 247 1142 267 1142 q 198 1120 220 1142 q 150 1060 175 1098 l 114 1073 q 143 1129 126 1101 q 181 1178 160 1156 q 226 1213 202 1200 q 276 1227 250 1227 q 325 1215 302 1227 q 368 1188 348 1203 q 407 1162 389 1174 q 442 1150 425 1150 q 492 1171 467 1150 q 540 1233 517 1193 l 577 1217 "},"/":{"x_min":33.234375,"x_max":616.5,"ha":652,"o":"m 143 -192 q 125 -202 136 -197 q 102 -211 114 -207 q 78 -220 90 -216 q 58 -227 66 -224 l 33 -210 l 508 1051 q 549 1071 526 1063 q 591 1085 571 1079 l 616 1070 l 143 -192 "},"ⱡ":{"x_min":47.5625,"x_max":396.4375,"ha":444,"o":"m 381 434 l 273 434 l 273 70 q 296 49 273 60 q 374 29 319 38 l 374 0 l 69 0 l 69 29 q 118 38 98 33 q 149 49 137 44 q 165 59 160 54 q 171 70 171 65 l 171 434 l 62 434 l 47 448 q 54 471 50 459 q 62 495 57 484 l 171 495 l 171 570 l 62 570 l 47 584 q 54 607 50 595 q 62 631 57 620 l 171 631 l 171 878 q 166 926 171 909 q 152 951 162 943 q 122 963 141 960 q 76 969 104 966 l 76 996 q 165 1017 124 1006 q 248 1051 206 1029 l 273 1027 l 273 631 l 381 631 l 396 614 l 381 570 l 273 570 l 273 495 l 381 495 l 396 478 l 381 434 "},"Ọ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 485 -189 q 479 -225 485 -208 q 462 -254 473 -242 q 437 -274 452 -267 q 406 -282 423 -282 q 362 -265 375 -282 q 349 -217 349 -248 q 355 -181 349 -198 q 372 -151 361 -164 q 397 -132 383 -139 q 427 -125 411 -125 q 485 -189 485 -125 "},"̨":{"x_min":-478,"x_max":-220.4375,"ha":0,"o":"m -220 -202 q -254 -238 -234 -221 q -293 -270 -273 -256 q -334 -292 -314 -284 q -371 -301 -354 -301 q -410 -296 -391 -301 q -444 -282 -429 -292 q -468 -252 -459 -271 q -478 -202 -478 -233 q -424 -83 -478 -141 q -268 29 -371 -25 l -238 16 q -316 -42 -286 -13 q -362 -95 -346 -70 q -384 -141 -379 -120 q -390 -179 -390 -162 q -373 -216 -390 -204 q -331 -228 -357 -228 q -289 -215 -314 -228 q -236 -177 -265 -203 l -220 -202 "},"̋":{"x_min":-488.328125,"x_max":-75.96875,"ha":0,"o":"m -449 710 q -467 716 -461 712 q -488 728 -474 720 l -368 1010 q -349 1006 -360 1008 q -327 1002 -338 1005 q -305 998 -316 1000 q -288 993 -295 995 l -273 965 l -449 710 m -252 710 q -271 716 -265 712 q -290 728 -278 720 l -171 1010 q -152 1006 -163 1008 q -130 1002 -141 1005 q -108 998 -119 1000 q -90 993 -98 995 l -75 965 l -252 710 "},"y":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 "},"Π":{"x_min":32.984375,"x_max":828.015625,"ha":875,"o":"m 32 0 l 32 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 106 804 132 791 q 32 825 81 816 l 32 855 l 828 855 l 828 825 q 755 804 781 816 q 729 783 729 793 l 729 70 q 753 50 729 62 q 828 29 778 38 l 828 0 l 521 0 l 521 29 q 593 49 567 38 q 620 70 620 61 l 620 751 q 610 767 620 759 q 584 782 601 775 q 540 793 566 789 q 481 798 514 798 l 368 798 q 313 792 337 797 q 273 782 289 788 q 249 767 257 775 q 241 751 241 759 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 32 0 "},"ˊ":{"x_min":0,"x_max":272.640625,"ha":273,"o":"m 38 710 q 16 717 26 712 q 0 729 7 722 l 158 1010 q 180 1007 166 1009 q 207 1003 193 1005 q 236 999 222 1001 q 257 994 249 996 l 272 967 l 38 710 "},"Ḧ":{"x_min":33.65625,"x_max":861.34375,"ha":908,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 654 478 l 654 783 q 629 804 654 791 q 555 825 604 816 l 555 855 l 861 855 l 861 825 q 789 804 815 816 q 763 783 763 793 l 763 70 q 787 50 763 62 q 861 29 812 38 l 861 0 l 555 0 l 555 29 q 627 49 601 38 q 654 70 654 61 l 654 417 l 241 417 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 650 1045 q 644 1009 650 1026 q 628 980 638 992 q 603 960 617 967 q 572 953 589 953 q 528 969 541 953 q 514 1018 514 986 q 521 1053 514 1036 q 538 1083 527 1070 q 562 1102 548 1095 q 593 1110 576 1110 q 650 1045 650 1110 m 379 1045 q 373 1009 379 1026 q 357 980 367 992 q 332 960 346 967 q 301 953 318 953 q 257 969 270 953 q 243 1018 243 986 q 250 1053 243 1036 q 267 1083 256 1070 q 291 1102 277 1095 q 322 1110 305 1110 q 379 1045 379 1110 "},"–":{"x_min":41.375,"x_max":610.40625,"ha":652,"o":"m 610 370 q 601 338 607 355 q 590 309 596 320 l 58 309 l 41 325 q 50 356 44 340 q 62 387 56 373 l 594 387 l 610 370 "},"ë":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 549 854 q 543 818 549 835 q 526 789 536 801 q 501 769 515 776 q 470 762 487 762 q 426 778 439 762 q 413 826 413 795 q 419 862 413 845 q 436 892 425 879 q 461 911 447 904 q 491 919 475 919 q 549 854 549 919 m 278 854 q 272 818 278 835 q 255 789 265 801 q 230 769 244 776 q 199 762 216 762 q 155 778 168 762 q 142 826 142 795 q 148 862 142 845 q 165 892 154 879 q 190 911 176 904 q 220 919 204 919 q 278 854 278 919 "},"ƒ":{"x_min":-169.578125,"x_max":537.734375,"ha":402,"o":"m 537 986 q 527 970 537 980 q 504 947 518 959 q 476 925 490 936 q 451 911 461 915 q 417 935 434 925 q 385 953 400 946 q 357 964 370 960 q 336 968 344 968 q 298 955 318 968 q 260 912 277 943 q 232 827 243 881 q 221 689 221 773 l 221 631 l 395 631 l 414 611 q 400 591 408 601 q 381 570 391 580 q 363 553 372 560 q 347 543 353 545 q 302 559 331 551 q 221 567 273 567 l 221 66 q 210 -68 221 -12 q 181 -163 199 -124 q 137 -228 162 -202 q 86 -275 113 -254 q 46 -302 67 -290 q 7 -322 26 -313 q -29 -334 -12 -330 q -59 -339 -46 -339 q -99 -333 -80 -339 q -134 -320 -119 -328 q -160 -304 -150 -312 q -169 -291 -169 -296 q -160 -275 -169 -286 q -137 -253 -150 -264 q -108 -231 -123 -241 q -84 -216 -94 -221 q -59 -232 -70 -226 q -36 -241 -47 -238 q -14 -245 -25 -244 q 9 -247 -3 -247 q 47 -235 28 -247 q 82 -192 67 -223 q 108 -107 98 -160 q 118 30 118 -53 l 118 567 l 27 567 l 13 586 l 66 631 l 118 631 l 118 652 q 129 786 118 731 q 158 878 140 841 q 202 941 177 916 q 254 988 227 967 q 293 1015 272 1003 q 336 1034 315 1026 q 376 1046 357 1042 q 408 1051 395 1051 q 451 1042 429 1051 q 493 1024 474 1034 q 525 1003 512 1013 q 537 986 537 992 "},"ȟ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 427 1112 l 355 1112 l 176 1320 q 184 1332 181 1327 q 190 1340 187 1337 q 197 1346 193 1343 q 206 1352 201 1349 l 393 1209 l 576 1352 q 592 1340 588 1346 q 605 1320 597 1334 l 427 1112 "},"Ẏ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 477 1045 q 471 1009 477 1026 q 455 980 465 992 q 430 960 444 967 q 399 953 416 953 q 355 969 368 953 q 341 1018 341 986 q 348 1053 341 1036 q 365 1083 354 1070 q 389 1102 375 1095 q 420 1110 403 1110 q 477 1045 477 1110 "},"J":{"x_min":-129.421875,"x_max":376.328125,"ha":424,"o":"m 376 825 q 304 804 330 816 q 278 783 278 793 l 278 139 q 266 4 278 58 q 236 -86 255 -49 q 193 -149 218 -124 q 142 -195 169 -173 q 102 -222 124 -210 q 57 -241 80 -233 q 15 -253 35 -249 q -17 -258 -4 -258 q -58 -251 -37 -258 q -94 -236 -78 -245 q -119 -219 -109 -228 q -129 -204 -129 -210 q -120 -188 -129 -198 q -99 -168 -111 -178 q -73 -148 -87 -158 q -50 -136 -60 -139 q -17 -156 -31 -148 q 8 -168 -3 -164 q 32 -173 21 -172 q 56 -175 43 -175 q 94 -163 74 -175 q 130 -122 114 -151 q 158 -41 147 -92 q 169 89 169 10 l 169 783 q 163 792 169 787 q 143 802 158 797 q 103 813 128 808 q 36 825 77 819 l 36 855 l 376 855 l 376 825 "},"ŷ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 573 740 q 560 721 565 727 q 544 710 556 715 l 358 891 l 174 710 q 165 715 169 712 q 159 721 162 718 q 152 729 155 724 q 144 740 149 734 l 323 998 l 396 998 l 573 740 "},"ŕ":{"x_min":37.046875,"x_max":528.015625,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 m 276 710 q 254 717 263 712 q 237 729 244 722 l 396 1010 q 417 1007 404 1009 q 445 1003 430 1005 q 473 999 459 1001 q 494 994 486 996 l 510 967 l 276 710 "},"ṝ":{"x_min":37.046875,"x_max":541.21875,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 m 251 -189 q 245 -225 251 -208 q 228 -254 239 -242 q 203 -274 218 -267 q 172 -282 189 -282 q 128 -265 141 -282 q 115 -217 115 -248 q 121 -181 115 -198 q 138 -151 127 -164 q 163 -132 149 -139 q 193 -125 177 -125 q 251 -189 251 -125 m 541 868 q 536 851 539 861 q 529 831 533 841 q 521 812 524 822 q 514 797 517 803 l 97 797 l 82 813 q 87 830 84 821 q 94 850 90 840 q 103 869 99 859 q 110 885 107 878 l 526 885 l 541 868 "},"˘":{"x_min":27.125,"x_max":467.96875,"ha":495,"o":"m 467 922 q 422 829 447 867 q 368 768 396 792 q 309 735 340 745 q 248 725 279 725 q 184 735 215 725 q 125 768 153 745 q 72 829 96 792 q 27 922 47 867 q 43 941 35 934 q 63 953 51 947 q 102 887 80 914 q 148 845 124 861 q 198 822 172 829 q 246 815 223 815 q 296 822 269 815 q 346 845 322 829 q 393 887 371 861 q 432 953 415 914 q 451 941 443 947 q 467 922 459 934 "},"ẋ":{"x_min":13.5625,"x_max":689.078125,"ha":699,"o":"m 416 0 l 416 29 q 448 33 433 30 q 471 41 463 35 q 480 59 480 48 q 466 88 480 70 l 332 271 l 204 88 q 193 59 191 70 q 208 41 196 48 q 237 33 219 35 q 270 29 254 30 l 270 0 l 13 0 l 13 29 q 59 39 40 33 q 91 54 78 45 q 114 72 105 62 q 130 92 123 82 l 295 322 l 136 540 q 118 563 127 553 q 97 581 109 574 q 66 594 84 589 q 21 602 48 599 l 21 631 l 305 631 l 305 602 q 269 596 284 599 q 246 586 254 592 q 239 569 238 579 q 252 542 240 558 l 362 391 l 466 542 q 480 569 478 558 q 474 586 481 580 q 452 596 467 593 q 416 602 437 599 l 416 631 l 674 631 l 674 602 q 589 581 619 597 q 541 540 559 566 l 399 340 l 580 92 q 598 72 588 82 q 620 54 607 62 q 649 38 632 45 q 689 29 666 31 l 689 0 l 416 0 m 419 854 q 413 818 419 835 q 396 789 407 801 q 372 769 386 776 q 340 762 357 762 q 296 778 310 762 q 283 826 283 795 q 289 862 283 845 q 306 892 295 879 q 331 911 317 904 q 361 919 345 919 q 419 854 419 919 "},"D":{"x_min":27.5625,"x_max":761,"ha":823,"o":"m 307 818 q 241 816 273 818 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 805 q 80 799 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 "},"ĺ":{"x_min":40.265625,"x_max":421.84375,"ha":376,"o":"m 40 0 l 40 29 q 89 38 69 33 q 120 49 108 44 q 136 59 131 54 q 142 70 142 65 l 142 878 q 137 926 142 909 q 123 951 133 943 q 93 963 112 960 q 47 969 75 966 l 47 996 q 136 1017 95 1006 q 219 1051 177 1029 l 244 1027 l 244 70 q 267 49 244 60 q 345 29 290 38 l 345 0 l 40 0 m 103 1144 q 87 1155 92 1148 q 73 1174 82 1161 l 335 1390 q 354 1379 342 1385 q 377 1365 365 1373 q 400 1352 389 1358 q 415 1339 410 1345 l 421 1309 l 103 1144 "},"ł":{"x_min":36.421875,"x_max":366.296875,"ha":390,"o":"m 47 0 l 47 29 q 96 38 76 33 q 127 49 115 44 q 143 59 138 54 q 149 70 149 65 l 149 459 l 52 391 l 36 402 q 39 417 37 411 q 42 428 40 422 q 46 442 43 433 q 55 465 49 450 l 149 530 l 149 878 q 144 926 149 909 q 130 951 140 943 q 100 963 119 960 q 54 969 82 966 l 54 996 q 143 1017 102 1006 q 226 1051 184 1029 l 251 1027 l 251 600 l 350 670 l 366 659 q 362 641 364 648 q 358 628 360 634 q 354 616 356 623 q 346 598 351 609 l 251 530 l 251 70 q 274 49 251 60 q 352 29 297 38 l 352 0 l 47 0 "},"":{"x_min":91.5625,"x_max":242.125,"ha":347,"o":"m 202 477 q 189 471 197 474 q 172 467 181 469 q 154 464 164 465 q 137 463 145 463 l 91 1031 q 115 1042 99 1036 q 149 1055 131 1048 q 182 1065 166 1061 q 206 1072 198 1070 l 242 1054 l 202 477 "},"$":{"x_min":59.6875,"x_max":585,"ha":652,"o":"m 153 649 q 163 604 153 624 q 193 569 174 585 q 238 541 212 554 q 293 517 263 529 l 293 756 q 227 745 253 755 q 183 720 200 735 q 160 686 167 705 q 153 649 153 668 m 493 219 q 482 276 493 251 q 452 319 471 300 q 407 352 433 337 q 354 378 382 366 l 354 76 q 406 92 381 80 q 450 122 431 103 q 481 165 469 141 q 493 219 493 190 m 354 -96 q 343 -105 347 -102 q 334 -110 339 -108 q 324 -114 330 -112 q 311 -118 319 -115 l 293 -103 l 293 -6 q 232 -1 260 -6 q 178 10 204 2 q 125 32 151 19 q 69 65 99 46 q 62 87 64 68 q 59 132 59 107 q 61 184 59 158 q 69 230 63 211 l 98 228 q 181 121 130 158 q 293 77 231 85 l 293 402 q 210 434 251 417 q 138 475 170 451 q 86 533 106 500 q 67 618 67 567 q 78 679 67 646 q 115 741 89 712 q 185 791 142 770 q 293 820 228 813 l 293 920 q 306 928 302 925 q 314 932 310 930 q 321 935 317 934 q 336 939 326 936 l 354 924 l 354 823 q 414 818 385 822 q 469 806 444 814 q 516 786 495 797 q 550 762 536 775 q 548 745 554 757 q 534 718 543 732 q 513 689 524 703 q 493 666 501 675 l 466 672 q 410 722 439 703 q 354 749 382 741 l 354 493 q 437 458 396 477 q 511 412 479 439 q 564 347 544 384 q 585 255 585 309 q 570 173 585 215 q 526 95 555 130 q 454 32 497 59 q 354 -2 411 6 l 354 -96 "},"w":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 "},"":{"x_min":29.59375,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 364 l 44 364 l 29 380 q 36 402 32 391 q 44 425 40 414 l 132 425 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 425 l 403 425 l 420 409 l 403 364 l 241 364 l 241 111 q 246 89 241 98 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"Ç":{"x_min":47,"x_max":690.40625,"ha":745,"o":"m 508 -155 q 496 -203 508 -180 q 458 -245 484 -226 q 394 -278 433 -264 q 298 -301 354 -292 l 283 -267 q 343 -252 319 -261 q 384 -232 368 -243 q 406 -209 399 -221 q 414 -187 414 -197 q 396 -154 414 -164 q 336 -141 378 -145 q 343 -122 338 -139 q 357 -77 348 -108 q 376 -20 365 -55 q 262 8 319 -17 q 154 90 202 36 q 76 221 106 143 q 47 397 47 299 q 79 594 47 506 q 168 744 112 682 q 299 841 225 807 q 457 875 374 875 q 586 855 531 875 q 676 806 641 835 q 674 793 681 803 q 658 770 668 783 q 635 744 647 757 q 615 723 624 731 l 592 727 q 510 779 557 759 q 400 800 462 800 q 350 791 377 800 q 295 764 322 783 q 241 716 267 746 q 195 645 215 687 q 163 548 175 603 q 152 422 152 492 q 178 264 152 332 q 245 151 204 196 q 337 83 286 106 q 436 61 387 61 q 531 86 472 61 q 665 173 590 111 q 672 167 668 172 q 679 158 676 163 q 685 149 682 153 q 690 143 688 145 q 607 65 647 96 q 530 14 567 33 q 457 -12 493 -4 q 430 -16 444 -14 l 413 -70 q 447 -81 430 -74 q 478 -97 465 -87 q 499 -122 491 -107 q 508 -155 508 -136 "},"Ŝ":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 553 957 q 540 938 545 944 q 524 927 535 932 l 338 1068 l 154 927 q 145 932 149 929 q 138 938 141 935 q 132 946 135 941 q 124 957 128 951 l 303 1167 l 375 1167 l 553 957 "},"C":{"x_min":48,"x_max":690.84375,"ha":745,"o":"m 690 143 q 607 65 647 96 q 531 15 568 34 q 458 -11 494 -3 q 387 -20 422 -20 q 263 8 324 -20 q 155 90 203 36 q 77 221 106 144 q 48 397 48 299 q 80 594 48 506 q 169 744 113 682 q 300 841 226 807 q 458 875 375 875 q 587 855 532 875 q 677 806 642 835 q 675 793 682 803 q 659 770 669 783 q 636 744 648 757 q 616 723 625 731 l 593 727 q 511 779 558 759 q 401 800 463 800 q 351 791 378 800 q 296 764 323 783 q 242 716 268 746 q 196 645 216 687 q 164 548 176 603 q 153 422 153 492 q 179 264 153 332 q 246 151 205 196 q 337 83 287 106 q 436 61 388 61 q 532 86 473 61 q 665 173 591 111 q 672 167 669 172 q 679 158 676 163 q 686 149 683 153 q 690 143 688 145 "},"Ḯ":{"x_min":-3.640625,"x_max":428.625,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 403 1045 q 397 1009 403 1026 q 380 980 391 992 q 355 960 370 967 q 324 953 341 953 q 280 969 293 953 q 267 1018 267 986 q 273 1053 267 1036 q 290 1083 279 1070 q 315 1102 301 1095 q 345 1110 329 1110 q 403 1045 403 1110 m 132 1045 q 126 1009 132 1026 q 109 980 120 992 q 84 960 99 967 q 53 953 70 953 q 9 969 22 953 q -3 1018 -3 986 q 2 1053 -3 1036 q 19 1083 8 1070 q 44 1102 30 1095 q 74 1110 58 1110 q 132 1045 132 1110 m 110 1144 q 93 1155 99 1148 q 80 1174 88 1161 l 342 1390 q 360 1379 349 1385 q 384 1365 372 1373 q 406 1352 396 1358 q 422 1339 417 1345 l 428 1309 l 110 1144 "},"̉":{"x_min":-464,"x_max":-237,"ha":0,"o":"m -237 904 q -249 871 -237 886 q -279 843 -262 856 q -311 817 -295 829 q -335 793 -327 806 q -336 767 -342 780 q -301 736 -329 753 q -321 728 -311 730 q -343 726 -332 727 q -388 753 -373 740 q -405 776 -402 765 q -402 797 -408 787 q -384 815 -395 806 q -358 833 -372 824 q -332 851 -344 842 q -311 871 -319 861 q -303 894 -303 882 q -315 933 -303 920 q -348 946 -328 946 q -366 942 -358 946 q -381 932 -375 938 q -390 918 -387 926 q -394 903 -394 911 q -392 896 -394 900 q -388 889 -390 893 q -402 885 -394 887 q -421 880 -411 882 q -440 877 -430 878 q -456 874 -449 875 l -464 882 l -464 891 q -451 922 -464 907 q -418 950 -438 938 q -373 971 -398 963 q -325 979 -349 979 q -260 958 -283 979 q -237 904 -237 938 "},"ɫ":{"x_min":-0.40625,"x_max":462.40625,"ha":463,"o":"m 462 604 q 433 549 450 577 q 395 500 416 522 q 350 465 374 479 q 299 452 326 452 q 282 454 290 452 l 282 70 q 305 49 282 60 q 383 29 328 38 l 383 0 l 78 0 l 78 29 q 127 39 107 33 q 158 49 146 44 q 174 59 169 54 q 180 70 180 65 l 180 512 q 155 524 167 519 q 132 529 144 529 q 83 506 105 529 q 35 446 60 484 l 0 460 q 28 515 11 488 q 66 565 45 543 q 111 600 87 586 q 161 614 135 614 q 180 611 170 614 l 180 879 q 175 926 180 909 q 161 951 171 943 q 131 963 150 960 q 85 969 113 966 l 85 996 q 174 1017 133 1006 q 257 1051 215 1029 l 282 1027 l 282 555 q 305 542 294 547 q 327 537 316 537 q 377 558 353 537 q 425 620 402 580 l 462 604 "},"Ẻ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 454 1121 q 442 1088 454 1103 q 412 1060 429 1073 q 379 1034 395 1046 q 356 1010 363 1023 q 355 984 349 997 q 390 953 361 970 q 369 945 380 947 q 348 943 358 944 q 303 970 318 957 q 286 993 289 982 q 289 1014 282 1004 q 307 1032 295 1023 q 333 1050 318 1041 q 359 1068 347 1059 q 380 1088 371 1078 q 388 1111 388 1099 q 375 1150 388 1137 q 343 1163 363 1163 q 324 1159 333 1163 q 310 1149 316 1155 q 300 1135 304 1143 q 297 1120 297 1128 q 299 1113 297 1117 q 302 1106 300 1110 q 289 1102 297 1104 q 270 1097 280 1099 q 251 1094 260 1095 q 235 1091 241 1092 l 227 1099 l 227 1108 q 240 1139 227 1124 q 273 1167 253 1155 q 317 1188 293 1180 q 366 1196 342 1196 q 431 1175 408 1196 q 454 1121 454 1155 "},"È":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 460 957 q 445 938 451 944 q 430 927 440 931 l 111 1092 l 117 1122 q 132 1134 122 1128 q 155 1148 143 1141 q 179 1162 167 1156 q 198 1173 190 1168 l 460 957 "},"fi":{"x_min":30.875,"x_max":770.984375,"ha":808,"o":"m 554 985 q 544 969 554 980 q 521 947 535 958 q 493 925 507 935 q 468 910 478 915 q 435 935 452 924 q 403 952 419 945 q 375 962 388 959 q 353 966 362 966 q 315 954 335 966 q 278 911 295 942 q 249 826 261 880 q 238 689 238 773 l 238 631 l 412 631 l 432 611 q 417 591 426 602 q 399 571 408 580 q 381 553 389 561 q 366 543 372 545 q 321 559 350 551 q 238 567 292 567 l 238 69 q 245 61 238 65 q 269 52 252 57 q 312 42 286 48 q 379 29 339 36 l 379 0 l 41 0 l 41 29 q 111 49 87 37 q 136 69 136 61 l 136 567 l 45 567 l 30 585 l 83 631 l 136 631 l 136 652 q 146 786 136 731 q 176 878 157 841 q 219 941 195 916 q 271 988 244 967 q 311 1015 289 1003 q 354 1034 332 1026 q 395 1046 375 1042 q 427 1051 414 1051 q 470 1042 448 1051 q 511 1024 493 1034 q 542 1002 530 1013 q 554 985 554 991 m 479 0 l 479 29 q 549 49 525 38 q 574 70 574 61 l 574 454 q 572 510 574 488 q 562 543 571 531 q 534 560 553 555 q 479 569 515 566 l 479 596 q 523 606 500 600 q 569 619 546 612 q 614 634 593 626 q 652 651 635 642 l 676 651 l 676 70 q 698 50 676 62 q 770 29 721 38 l 770 0 l 479 0 m 696 854 q 689 818 696 835 q 673 789 683 801 q 648 769 662 776 q 617 762 634 762 q 573 778 586 762 q 560 826 560 795 q 566 862 560 845 q 583 892 572 879 q 608 911 594 904 q 638 919 622 919 q 696 854 696 919 "},"":{"x_min":0,"x_max":276.703125,"ha":277,"o":"m 276 731 q 259 718 267 722 q 238 710 250 713 l 0 965 l 14 993 q 34 998 21 995 q 62 1003 48 1000 q 91 1007 77 1005 q 113 1010 105 1009 l 276 731 "},"X":{"x_min":21.03125,"x_max":833.53125,"ha":855,"o":"m 527 0 l 527 29 q 575 36 557 31 q 602 46 594 40 q 609 62 610 53 q 598 86 608 72 l 409 363 l 238 86 q 241 44 219 56 q 326 29 263 33 l 326 0 l 21 0 l 21 29 q 96 44 65 32 q 144 86 127 57 l 359 437 l 133 768 q 113 793 123 783 q 92 809 104 802 q 65 818 80 815 q 27 826 50 822 l 27 855 l 333 855 l 333 826 q 258 809 276 820 q 261 768 240 798 l 428 522 l 581 768 q 590 794 591 784 q 577 810 588 804 q 544 820 565 817 q 493 826 523 823 l 493 855 l 800 855 l 800 826 q 756 819 775 823 q 722 809 737 815 q 696 793 707 802 q 676 768 685 783 l 478 449 l 726 86 q 747 61 736 71 q 770 45 757 52 q 798 35 782 39 q 833 29 813 31 l 833 0 l 527 0 "},"ô":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 577 740 q 564 721 569 727 q 548 710 559 715 l 362 891 l 178 710 q 169 715 172 712 q 162 721 165 718 q 155 729 159 724 q 147 740 152 734 l 326 998 l 399 998 l 577 740 "},"ṹ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 600 912 q 571 857 588 884 q 534 808 554 830 q 489 773 513 787 q 438 760 464 760 q 393 771 414 760 q 351 798 371 783 q 310 825 330 813 q 271 837 290 837 q 221 814 244 837 q 174 755 199 792 l 138 768 q 167 823 150 796 q 204 873 183 851 q 249 908 225 894 q 300 922 274 922 q 349 910 326 922 q 392 883 372 898 q 431 856 413 868 q 465 845 449 845 q 516 866 491 845 q 564 928 541 888 l 600 912 m 340 954 q 318 961 328 956 q 301 973 309 967 l 460 1254 q 481 1251 468 1253 q 509 1248 495 1250 q 537 1243 524 1246 q 558 1238 551 1240 l 574 1212 l 340 954 "},"":{"x_min":48,"x_max":502,"ha":556,"o":"m 101 0 l 101 29 q 217 70 217 49 l 217 180 q 230 247 217 219 q 264 296 244 274 q 308 335 284 318 q 352 369 332 352 q 386 407 372 387 q 400 454 400 427 q 388 510 400 485 q 357 552 376 535 q 313 578 338 569 q 260 587 288 587 q 217 578 236 587 q 185 554 198 569 q 165 519 172 539 q 159 479 159 500 q 161 459 159 469 q 167 439 163 449 q 121 422 145 428 q 67 414 98 417 l 49 434 q 48 445 48 439 l 48 456 q 71 535 48 499 q 131 596 94 570 q 217 636 169 622 q 313 651 264 651 q 390 638 355 651 q 450 602 425 625 q 488 549 474 580 q 502 484 502 519 q 488 422 502 448 q 454 376 474 396 q 410 340 434 356 q 366 304 386 323 q 332 263 346 286 q 319 206 319 240 l 319 70 q 348 49 319 60 q 434 29 378 38 l 434 0 l 101 0 "},"Ė":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 408 1045 q 402 1009 408 1026 q 385 980 396 992 q 361 960 375 967 q 329 953 346 953 q 286 969 299 953 q 272 1018 272 986 q 278 1053 272 1036 q 295 1083 284 1070 q 320 1102 306 1095 q 350 1110 334 1110 q 408 1045 408 1110 "},"ấ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 m 296 1015 q 274 1022 284 1017 q 257 1034 265 1028 l 416 1315 q 437 1312 424 1314 q 465 1309 451 1311 q 493 1304 480 1307 q 514 1299 507 1301 l 530 1273 l 296 1015 "},"ŋ":{"x_min":37.046875,"x_max":651,"ha":760,"o":"m 651 59 q 638 -73 651 -19 q 605 -165 625 -128 q 558 -228 584 -203 q 504 -275 532 -254 q 463 -303 486 -291 q 417 -322 440 -314 q 373 -334 394 -330 q 340 -339 353 -339 q 290 -332 317 -339 q 240 -315 263 -325 q 201 -293 216 -305 q 185 -272 185 -282 q 195 -255 185 -266 q 219 -233 205 -245 q 248 -211 233 -222 q 272 -196 263 -201 q 313 -226 292 -215 q 353 -245 334 -238 q 388 -255 372 -252 q 415 -258 405 -258 q 457 -245 434 -258 q 501 -201 481 -232 q 535 -114 521 -169 q 549 23 549 -60 l 549 429 q 544 496 549 470 q 529 536 539 521 q 502 556 519 551 q 462 562 485 562 q 415 552 441 562 q 359 519 388 542 q 297 461 329 497 q 233 372 265 425 l 233 70 q 258 49 233 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 481 q 129 523 132 508 q 118 548 127 539 q 90 560 109 556 q 37 569 71 564 l 37 597 q 122 618 83 604 q 200 652 161 632 l 224 628 l 230 458 q 296 539 260 504 q 368 599 332 575 q 439 637 405 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 59 "},"Ỵ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 477 -189 q 471 -225 477 -208 q 455 -254 465 -242 q 430 -274 444 -267 q 399 -282 416 -282 q 355 -265 368 -282 q 341 -217 341 -248 q 348 -181 341 -198 q 365 -151 354 -164 q 389 -132 375 -139 q 420 -125 403 -125 q 477 -189 477 -125 "},"":{"x_min":29.59375,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 60 l 132 296 l 44 296 l 29 312 q 36 334 32 323 q 44 357 40 346 l 132 357 l 132 432 l 44 432 l 29 448 q 36 470 32 459 q 44 493 40 482 l 132 493 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 493 l 403 493 l 420 477 l 403 432 l 241 432 l 241 357 l 403 357 l 420 341 l 403 296 l 241 296 l 241 111 q 246 89 241 98 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"ṇ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 459 -189 q 453 -225 459 -208 q 436 -254 447 -242 q 412 -274 426 -267 q 380 -282 397 -282 q 336 -265 350 -282 q 323 -217 323 -248 q 329 -181 323 -198 q 346 -151 335 -164 q 371 -132 357 -139 q 401 -125 385 -125 q 459 -189 459 -125 "},"Ǟ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 609 1045 q 603 1009 609 1026 q 586 980 597 992 q 561 960 576 967 q 530 953 547 953 q 486 969 500 953 q 473 1018 473 986 q 479 1053 473 1036 q 496 1083 485 1070 q 521 1102 507 1095 q 551 1110 535 1110 q 609 1045 609 1110 m 338 1045 q 332 1009 338 1026 q 315 980 326 992 q 290 960 305 967 q 259 953 276 953 q 215 969 229 953 q 202 1018 202 986 q 208 1053 202 1036 q 225 1083 214 1070 q 250 1102 236 1095 q 280 1110 264 1110 q 338 1045 338 1110 m 642 1275 q 637 1258 640 1268 q 630 1238 634 1248 q 622 1219 626 1229 q 615 1204 618 1210 l 198 1204 l 183 1220 q 188 1237 185 1228 q 196 1257 191 1247 q 204 1276 200 1267 q 211 1292 208 1285 l 627 1292 l 642 1275 "},"ü":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 572 854 q 566 818 572 835 q 550 789 560 801 q 525 769 539 776 q 494 762 511 762 q 450 778 463 762 q 436 826 436 795 q 443 862 436 845 q 460 892 449 879 q 484 911 470 904 q 515 919 498 919 q 572 854 572 919 m 301 854 q 295 818 301 835 q 279 789 289 801 q 254 769 268 776 q 223 762 240 762 q 179 778 192 762 q 165 826 165 795 q 172 862 165 845 q 189 892 178 879 q 213 911 199 904 q 244 919 227 919 q 301 854 301 919 "},"Ÿ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 612 1045 q 606 1009 612 1026 q 590 980 600 992 q 565 960 579 967 q 534 953 551 953 q 490 969 503 953 q 476 1018 476 986 q 483 1053 476 1036 q 500 1083 489 1070 q 524 1102 510 1095 q 555 1110 538 1110 q 612 1045 612 1110 m 341 1045 q 335 1009 341 1026 q 319 980 329 992 q 294 960 308 967 q 263 953 280 953 q 219 969 232 953 q 205 1018 205 986 q 212 1053 205 1036 q 229 1083 218 1070 q 253 1102 239 1095 q 284 1110 267 1110 q 341 1045 341 1110 "},"€":{"x_min":16.28125,"x_max":627.359375,"ha":652,"o":"m 423 317 l 201 317 q 229 197 209 246 q 276 118 248 148 q 337 74 303 88 q 406 61 370 61 q 447 66 427 61 q 490 85 467 72 q 540 120 513 98 q 602 173 567 142 q 609 167 605 172 q 616 158 613 163 q 622 149 619 153 q 627 143 625 145 q 553 65 586 96 q 489 15 520 34 q 426 -11 458 -3 q 358 -20 395 -20 q 261 0 307 -20 q 181 61 216 20 q 122 166 145 102 q 93 317 99 230 l 31 317 l 16 333 q 23 355 19 344 q 31 378 27 367 l 91 378 l 91 380 q 95 466 91 425 l 51 466 l 36 482 q 43 504 40 493 q 51 527 47 516 l 103 527 q 147 661 118 603 q 218 759 176 719 q 313 818 260 798 q 429 838 366 838 q 489 832 463 838 q 538 817 516 827 q 578 796 560 808 q 614 769 596 784 q 612 756 618 766 q 595 733 606 746 q 573 707 585 720 q 553 686 561 694 l 529 690 q 497 719 512 706 q 464 742 482 732 q 424 757 446 752 q 372 763 402 763 q 323 752 349 763 q 274 716 297 742 q 231 643 250 689 q 203 527 212 598 l 444 527 l 461 511 l 444 466 l 198 466 q 197 436 197 451 q 196 405 196 421 l 196 378 l 423 378 l 440 362 l 423 317 "},"ß":{"x_min":37.046875,"x_max":724,"ha":785,"o":"m 724 192 q 711 114 724 152 q 670 46 698 76 q 599 -1 642 16 q 494 -20 555 -20 q 448 -14 475 -20 q 393 -2 420 -9 q 344 14 366 5 q 318 32 323 24 q 315 47 316 35 q 314 75 314 59 q 315 110 314 92 q 317 145 315 128 q 321 175 319 162 q 328 192 324 187 l 354 183 q 376 121 359 147 q 416 79 393 95 q 468 55 440 62 q 521 48 495 48 q 566 55 545 48 q 602 75 587 62 q 627 106 618 88 q 636 147 636 125 q 622 208 636 182 q 587 254 609 234 q 538 291 566 274 q 482 322 511 307 q 425 353 452 337 q 376 389 397 369 q 341 434 354 409 q 328 494 328 459 q 344 568 328 539 q 386 616 361 597 q 440 647 411 634 q 494 674 469 660 q 536 708 519 688 q 553 760 553 728 q 543 831 553 795 q 513 897 534 867 q 461 946 493 927 q 383 966 428 966 q 323 954 350 966 q 275 911 295 942 q 244 826 255 879 q 234 688 234 772 l 234 0 l 37 0 l 37 29 q 107 49 83 37 q 132 69 132 61 l 132 651 q 143 787 132 732 q 172 880 154 842 q 215 942 191 917 q 266 988 239 966 q 348 1034 303 1018 q 442 1051 394 1051 q 541 1026 501 1051 q 608 966 582 1002 q 644 886 633 929 q 656 806 656 844 q 638 716 656 751 q 595 658 621 680 q 539 621 569 636 q 483 594 509 607 q 440 565 457 581 q 423 522 423 549 q 435 483 423 499 q 470 452 448 466 q 518 425 491 438 q 573 396 545 411 q 628 364 601 381 q 676 321 655 346 q 711 266 698 297 q 724 192 724 234 "},"ǩ":{"x_min":37.046875,"x_max":694.515625,"ha":695,"o":"m 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 878 q 128 926 132 909 q 114 952 124 943 q 84 963 103 960 q 37 969 66 966 l 37 996 q 129 1018 83 1006 q 208 1051 174 1031 l 234 1027 l 234 359 l 442 542 q 470 573 465 561 q 468 591 474 585 q 446 599 461 597 q 413 601 431 601 l 413 631 l 670 631 l 670 601 q 615 590 640 598 q 562 559 590 582 l 330 374 l 586 75 q 605 57 595 64 q 628 45 615 50 q 655 40 640 41 q 690 41 670 39 l 694 12 q 655 3 674 7 q 619 -1 636 0 q 589 -5 602 -4 q 569 -7 576 -7 q 523 1 541 -7 q 491 28 506 9 l 234 353 l 234 70 q 236 61 234 65 q 246 52 238 56 q 268 42 253 48 q 308 29 283 37 l 308 0 l 37 0 m 402 1112 l 329 1112 l 150 1320 q 158 1332 155 1327 q 165 1340 162 1337 q 171 1346 168 1343 q 181 1352 175 1349 l 367 1209 l 550 1352 q 567 1340 562 1346 q 579 1320 571 1334 l 402 1112 "},"Ể":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 554 957 q 541 938 546 944 q 525 927 537 932 l 339 1068 l 156 927 q 146 932 150 929 q 140 938 143 935 q 133 946 137 941 q 125 957 130 951 l 304 1167 l 377 1167 l 554 957 m 454 1392 q 442 1359 454 1374 q 412 1331 429 1344 q 379 1306 395 1318 q 356 1281 363 1294 q 355 1255 349 1269 q 390 1225 361 1242 q 369 1217 380 1218 q 348 1214 358 1215 q 303 1241 318 1229 q 286 1265 289 1254 q 289 1285 282 1275 q 307 1304 295 1294 q 333 1321 318 1313 q 359 1340 347 1330 q 380 1360 371 1349 q 388 1382 388 1370 q 375 1421 388 1408 q 343 1434 363 1434 q 324 1430 333 1434 q 310 1420 316 1426 q 300 1407 304 1414 q 297 1392 297 1399 q 299 1385 297 1388 q 302 1378 300 1381 q 289 1373 297 1376 q 270 1369 280 1371 q 251 1365 260 1367 q 235 1363 241 1363 l 227 1370 l 227 1379 q 240 1411 227 1395 q 273 1439 253 1426 q 317 1459 293 1451 q 366 1467 342 1467 q 431 1446 408 1467 q 454 1392 454 1426 "},"ǵ":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 m 309 710 q 288 717 297 712 q 271 729 278 722 l 430 1010 q 451 1007 438 1009 q 479 1003 464 1005 q 507 999 493 1001 q 528 994 520 996 l 543 967 l 309 710 "},"":{"x_min":47.5625,"x_max":396.4375,"ha":444,"o":"m 381 434 l 273 434 l 273 70 q 296 49 273 60 q 374 29 319 38 l 374 0 l 69 0 l 69 29 q 118 38 98 33 q 149 49 137 44 q 165 59 160 54 q 171 70 171 65 l 171 434 l 62 434 l 47 448 q 54 471 50 459 q 62 495 57 484 l 171 495 l 171 570 l 62 570 l 47 584 q 54 607 50 595 q 62 631 57 620 l 171 631 l 171 878 q 166 926 171 909 q 152 951 162 943 q 122 963 141 960 q 76 969 104 966 l 76 996 q 165 1017 124 1006 q 248 1051 206 1029 l 273 1027 l 273 631 l 381 631 l 396 614 l 381 570 l 273 570 l 273 495 l 381 495 l 396 478 l 381 434 "},"ẳ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 545 922 q 500 829 525 867 q 446 768 474 792 q 387 735 418 745 q 326 725 357 725 q 262 735 293 725 q 203 768 231 745 q 150 829 174 792 q 105 922 125 867 q 121 941 113 934 q 141 953 129 947 q 180 887 158 914 q 226 845 202 861 q 276 822 250 829 q 324 815 301 815 q 374 822 347 815 q 424 845 400 829 q 471 887 449 861 q 510 953 493 914 q 529 941 521 947 q 545 922 537 934 m 439 1121 q 427 1088 439 1103 q 397 1060 414 1073 q 364 1034 380 1046 q 341 1010 349 1023 q 340 984 334 997 q 375 953 347 970 q 354 945 365 947 q 333 943 344 944 q 288 970 303 957 q 271 993 274 982 q 274 1014 268 1004 q 292 1032 280 1023 q 318 1050 304 1041 q 344 1068 332 1059 q 365 1088 356 1078 q 373 1111 373 1099 q 361 1150 373 1137 q 328 1163 348 1163 q 309 1159 318 1163 q 295 1149 301 1155 q 285 1135 289 1143 q 282 1120 282 1128 q 284 1113 282 1117 q 287 1106 285 1110 q 274 1102 282 1104 q 255 1097 265 1099 q 236 1094 246 1095 q 220 1091 227 1092 l 212 1099 l 212 1108 q 225 1139 212 1124 q 258 1167 238 1155 q 302 1188 278 1180 q 351 1196 327 1196 q 416 1175 393 1196 q 439 1121 439 1155 "},"Ű":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 348 927 q 330 933 337 929 q 309 945 323 937 l 429 1227 q 448 1223 437 1225 q 471 1219 459 1222 q 492 1215 482 1217 q 510 1210 503 1212 l 524 1182 l 348 927 m 545 927 q 526 933 533 929 q 507 945 519 937 l 626 1227 q 645 1223 634 1225 q 667 1219 656 1222 q 689 1215 678 1217 q 707 1210 699 1212 l 722 1182 l 545 927 "},"c":{"x_min":54,"x_max":569.71875,"ha":607,"o":"m 569 129 q 492 47 525 76 q 430 2 458 17 q 374 -16 401 -12 q 315 -20 347 -20 q 218 2 265 -20 q 134 65 171 24 q 76 166 98 106 q 54 301 54 226 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 433 186 480 q 156 322 156 385 q 173 217 156 264 q 219 137 190 170 q 285 85 248 103 q 364 68 323 68 q 399 69 383 68 q 435 80 415 71 q 479 106 454 89 q 543 156 505 124 l 569 129 "},"¶":{"x_min":33,"x_max":715.03125,"ha":769,"o":"m 300 -170 l 300 -140 q 373 -119 347 -131 q 400 -98 400 -108 l 400 361 q 374 358 388 359 q 341 357 359 357 q 222 372 278 357 q 124 421 166 388 q 57 501 81 453 q 33 612 33 548 q 55 718 33 670 q 119 801 78 766 q 218 855 161 836 q 344 875 275 875 q 380 874 359 875 q 427 871 402 873 q 480 868 453 870 q 534 865 508 867 q 666 855 597 860 l 715 855 l 715 826 q 642 804 668 816 q 616 783 616 793 l 616 -98 q 640 -119 616 -107 q 715 -140 665 -131 l 715 -170 l 300 -170 m 401 414 l 401 814 q 331 818 359 818 q 257 803 291 818 q 198 765 223 789 q 159 707 173 740 q 146 636 146 674 q 158 560 146 599 q 199 488 171 521 q 269 435 226 456 q 371 414 311 414 l 401 414 m 536 786 q 509 794 522 790 l 482 800 l 482 -98 q 491 -111 482 -105 q 508 -119 501 -117 q 526 -111 516 -117 q 536 -98 536 -105 l 536 786 "},"Ụ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 527 -189 q 521 -225 527 -208 q 504 -254 515 -242 q 479 -274 494 -267 q 448 -282 465 -282 q 404 -265 417 -282 q 391 -217 391 -248 q 397 -181 391 -198 q 414 -151 403 -164 q 439 -132 425 -139 q 469 -125 453 -125 q 527 -189 527 -125 "},"":{"x_min":29.59375,"x_max":871.125,"ha":908,"o":"m 478 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 417 l 241 417 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 478 l 854 478 l 871 462 l 854 417 l 766 417 l 766 355 q 744 196 766 266 q 681 78 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 97 q 132 301 132 218 l 132 417 l 44 417 l 29 433 q 36 455 32 444 q 44 478 40 467 l 132 478 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 678 478 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 "},"­":{"x_min":41.375,"x_max":426.609375,"ha":468,"o":"m 426 370 q 416 338 422 355 q 405 309 411 320 l 58 309 l 41 325 q 50 356 44 340 q 62 387 56 373 l 409 387 l 426 370 "},"Ṑ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 653 1058 q 648 1041 651 1051 q 640 1021 644 1031 q 633 1002 636 1012 q 626 987 629 993 l 209 987 l 194 1003 q 199 1020 196 1011 q 206 1040 202 1030 q 214 1059 210 1049 q 222 1075 219 1068 l 638 1075 l 653 1058 m 537 1174 q 522 1155 527 1161 q 506 1144 517 1148 l 188 1309 l 193 1339 q 209 1352 198 1345 q 231 1365 219 1358 q 255 1379 244 1373 q 274 1390 267 1385 l 537 1174 "},"ȳ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 595 868 q 590 851 594 861 q 583 831 587 841 q 575 812 579 822 q 569 797 571 803 l 151 797 l 137 813 q 141 830 138 821 q 149 850 145 840 q 157 869 153 859 q 164 885 161 878 l 580 885 l 595 868 "},"Ẓ":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 m 431 -189 q 425 -225 431 -208 q 408 -254 418 -242 q 383 -274 397 -267 q 352 -282 369 -282 q 308 -265 321 -282 q 295 -217 295 -248 q 301 -181 295 -198 q 318 -151 307 -164 q 343 -132 329 -139 q 373 -125 357 -125 q 431 -189 431 -125 "},"ḳ":{"x_min":37.046875,"x_max":694.515625,"ha":695,"o":"m 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 878 q 128 926 132 909 q 114 952 124 943 q 84 963 103 960 q 37 969 66 966 l 37 996 q 129 1018 83 1006 q 208 1051 174 1031 l 234 1027 l 234 359 l 442 542 q 470 573 465 561 q 468 591 474 585 q 446 599 461 597 q 413 601 431 601 l 413 631 l 670 631 l 670 601 q 615 590 640 598 q 562 559 590 582 l 330 374 l 586 75 q 605 57 595 64 q 628 45 615 50 q 655 40 640 41 q 690 41 670 39 l 694 12 q 655 3 674 7 q 619 -1 636 0 q 589 -5 602 -4 q 569 -7 576 -7 q 523 1 541 -7 q 491 28 506 9 l 234 353 l 234 70 q 236 61 234 65 q 246 52 238 56 q 268 42 253 48 q 308 29 283 37 l 308 0 l 37 0 m 433 -189 q 427 -225 433 -208 q 411 -254 421 -242 q 386 -274 400 -267 q 354 -282 371 -282 q 311 -265 324 -282 q 297 -217 297 -248 q 303 -181 297 -198 q 320 -151 310 -164 q 345 -132 331 -139 q 376 -125 359 -125 q 433 -189 433 -125 "},":":{"x_min":89,"x_max":250,"ha":318,"o":"m 250 83 q 242 39 250 59 q 223 4 235 19 q 193 -18 210 -10 q 156 -27 176 -27 q 104 -7 120 -27 q 89 48 89 12 q 96 91 89 71 q 116 127 103 111 q 146 151 129 142 q 183 160 164 160 q 233 140 216 160 q 250 83 250 120 m 250 575 q 242 531 250 551 q 223 496 235 511 q 193 473 210 481 q 156 464 176 464 q 104 484 120 464 q 89 540 89 504 q 96 583 89 563 q 116 618 103 603 q 146 642 129 634 q 183 651 164 651 q 233 631 216 651 q 250 575 250 611 "},"ś":{"x_min":64.5,"x_max":474.078125,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 240 710 q 218 717 227 712 q 201 729 208 722 l 360 1010 q 381 1007 368 1009 q 409 1003 394 1005 q 437 999 423 1001 q 458 994 451 996 l 474 967 l 240 710 "},"͞":{"x_min":-442.875,"x_max":442.875,"ha":0,"o":"m 442 1187 q 438 1170 441 1180 q 430 1150 434 1160 q 422 1131 426 1141 q 416 1116 419 1122 l -427 1116 l -442 1132 q -438 1149 -441 1140 q -430 1169 -434 1159 q -422 1188 -426 1178 q -415 1204 -418 1197 l 427 1204 l 442 1187 "},"ẇ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 576 854 q 570 818 576 835 q 554 789 564 801 q 529 769 543 776 q 498 762 515 762 q 454 778 467 762 q 440 826 440 795 q 447 862 440 845 q 464 892 453 879 q 488 911 474 904 q 519 919 502 919 q 576 854 576 919 "}," ":{"x_min":0,"x_max":0,"ha":306},"¾":{"x_min":54.796875,"x_max":759.546875,"ha":814,"o":"m 214 2 q 184 -10 198 -5 q 151 -20 169 -15 l 134 0 l 651 815 q 680 827 664 821 q 711 837 696 834 l 728 818 l 214 2 m 759 142 q 744 124 751 132 q 729 111 737 116 l 708 111 l 708 39 q 709 34 708 36 q 715 30 710 32 q 730 25 720 27 q 755 19 739 22 l 755 0 l 569 0 l 569 19 q 608 26 593 23 q 631 31 623 29 q 641 37 639 34 q 644 42 644 39 l 644 111 l 455 111 l 442 121 l 632 381 q 665 393 648 387 q 694 405 682 399 l 708 393 l 708 153 l 749 153 l 759 142 m 353 559 q 342 507 353 531 q 310 465 331 483 q 260 436 290 447 q 193 426 231 426 q 124 438 159 426 q 54 479 89 451 l 67 501 q 128 471 102 479 q 183 464 155 464 q 255 485 228 464 q 282 548 282 507 q 273 590 282 573 q 251 616 264 606 q 222 631 238 627 q 190 636 205 636 l 182 636 q 177 635 179 636 q 172 634 175 635 q 163 633 169 634 l 158 658 q 212 676 192 666 q 243 698 232 686 q 256 720 253 709 q 260 741 260 731 q 256 763 260 752 q 245 782 252 774 q 225 796 237 791 q 195 802 212 802 q 152 788 167 802 q 141 752 137 774 q 112 744 129 747 q 78 739 95 740 l 68 749 q 80 778 68 763 q 113 807 92 794 q 160 829 133 821 q 217 838 187 838 q 268 830 246 838 q 303 809 290 822 q 324 780 317 796 q 331 747 331 764 q 309 698 331 723 q 250 662 288 674 q 291 651 272 660 q 323 628 309 642 q 345 597 337 615 q 353 559 353 579 m 644 333 l 508 153 l 644 153 l 644 333 "},"m":{"x_min":37.046875,"x_max":1095.640625,"ha":1115,"o":"m 803 0 l 803 29 q 875 51 852 42 q 898 70 898 61 l 898 429 q 893 498 898 470 q 880 541 889 525 q 856 563 870 557 q 821 570 841 570 q 774 557 799 570 q 722 521 749 544 q 669 464 696 498 q 617 388 642 430 l 617 70 q 638 51 617 61 q 712 29 659 42 l 712 0 l 420 0 l 420 29 q 492 51 469 42 q 515 70 515 61 l 515 429 q 510 498 515 470 q 497 541 506 525 q 474 563 488 557 q 438 570 459 570 q 341 522 392 570 q 234 388 291 475 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 525 132 509 q 117 549 127 540 q 88 561 107 557 q 37 570 69 565 l 37 597 q 84 606 62 601 q 125 619 106 612 q 163 634 145 626 q 199 651 181 642 l 223 627 l 231 471 q 292 550 261 516 q 354 606 323 583 q 413 639 385 628 q 466 651 441 651 q 526 643 498 651 q 573 616 553 635 q 605 567 593 598 q 617 491 617 537 l 616 477 q 675 552 645 520 q 736 606 706 584 q 795 639 766 628 q 849 651 824 651 q 909 642 881 651 q 956 615 936 633 q 988 568 976 596 q 1000 502 1000 540 l 1000 70 q 1021 51 1000 61 q 1095 29 1042 42 l 1095 0 l 803 0 "},"Ị":{"x_min":47.65625,"x_max":353.34375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 268 -189 q 262 -225 268 -208 q 245 -254 256 -242 q 220 -274 235 -267 q 189 -282 206 -282 q 145 -265 158 -282 q 132 -217 132 -248 q 138 -181 132 -198 q 155 -151 144 -164 q 180 -132 166 -139 q 210 -125 194 -125 q 268 -189 268 -125 "},"ž":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 m 362 726 l 289 726 l 110 968 q 118 979 115 974 q 125 987 122 984 q 131 993 128 991 q 141 1000 135 996 l 327 829 l 510 1000 q 526 987 522 993 q 539 968 531 981 l 362 726 "},"ớ":{"x_min":54,"x_max":746,"ha":746,"o":"m 539 308 q 521 410 539 362 q 475 495 503 458 q 412 554 448 532 q 342 576 377 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 225 134 197 170 q 289 76 254 97 q 355 55 323 55 q 437 72 403 55 q 494 124 472 90 q 528 203 517 157 q 539 308 539 250 m 746 707 q 738 670 746 690 q 713 626 731 649 q 665 577 695 602 q 590 527 635 551 q 630 436 616 486 q 644 329 644 386 q 632 240 644 283 q 600 158 620 197 q 551 86 580 119 q 489 30 523 53 q 416 -6 454 6 q 336 -20 377 -20 q 219 4 271 -20 q 130 71 167 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 206 600 172 576 q 280 637 241 623 q 362 651 320 651 q 474 628 424 651 q 561 564 525 605 q 613 611 597 588 q 629 652 629 634 q 618 689 629 671 q 589 722 608 707 l 710 777 q 736 744 726 762 q 746 707 746 726 m 333 710 q 311 717 321 712 q 295 729 302 722 l 453 1010 q 475 1007 461 1009 q 502 1003 488 1005 q 531 999 517 1001 q 552 994 544 996 l 567 967 l 333 710 "},"á":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 296 710 q 274 717 284 712 q 257 729 265 722 l 416 1010 q 437 1007 424 1009 q 465 1003 451 1005 q 493 999 480 1001 q 514 994 507 996 l 530 967 l 296 710 "},"×":{"x_min":63.078125,"x_max":505.953125,"ha":570,"o":"m 63 213 l 231 381 l 64 547 l 63 570 q 94 582 77 577 q 126 592 111 588 l 284 433 l 442 592 q 474 582 457 588 q 505 570 491 577 l 505 547 l 337 380 l 505 213 l 505 190 q 474 178 492 184 q 443 169 455 172 l 284 327 l 126 169 q 94 178 113 172 q 63 190 76 184 l 63 213 "},"ḍ":{"x_min":54,"x_max":712.796875,"ha":722,"o":"m 712 57 q 657 21 681 36 q 615 -2 633 7 q 584 -15 597 -11 q 561 -20 571 -20 q 525 10 539 -20 q 506 114 510 41 q 454 58 480 83 q 402 16 429 33 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 863 q 502 923 505 901 q 491 957 500 945 q 462 973 481 968 q 406 980 442 977 l 406 1006 q 506 1026 462 1014 q 585 1051 550 1039 l 607 1030 l 607 172 q 608 131 607 148 q 611 103 609 114 q 615 84 613 91 q 622 72 618 76 q 645 67 628 64 q 703 86 663 70 l 712 57 m 505 177 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 m 424 -189 q 418 -225 424 -208 q 401 -254 412 -242 q 376 -274 391 -267 q 345 -282 362 -282 q 301 -265 314 -282 q 288 -217 288 -248 q 294 -181 288 -198 q 311 -151 300 -164 q 336 -132 322 -139 q 366 -125 350 -125 q 424 -189 424 -125 "},"Ǻ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 471 1060 q 467 1091 471 1076 q 455 1117 463 1106 q 437 1135 448 1128 q 413 1142 426 1142 q 386 1136 399 1142 q 363 1120 373 1130 q 347 1094 353 1109 q 341 1061 341 1079 q 345 1031 341 1045 q 357 1005 349 1016 q 375 987 364 994 q 399 981 386 981 q 426 986 413 981 q 449 1001 439 991 q 465 1026 459 1011 q 471 1060 471 1040 m 532 1088 q 519 1024 532 1053 q 484 974 506 995 q 437 940 463 952 q 385 929 411 929 q 343 937 362 929 q 310 959 323 945 q 288 992 296 973 q 280 1033 280 1011 q 293 1097 280 1068 q 327 1148 306 1127 q 375 1182 348 1170 q 427 1194 401 1194 q 468 1185 449 1194 q 502 1162 487 1177 q 524 1128 516 1147 q 532 1088 532 1109 m 316 1225 q 300 1236 305 1230 q 286 1256 295 1243 l 548 1471 q 567 1460 555 1467 q 590 1447 578 1454 q 613 1433 602 1440 q 628 1421 623 1426 l 634 1390 l 316 1225 "},"K":{"x_min":33.65625,"x_max":796.46875,"ha":803,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 438 l 518 765 q 538 794 534 783 q 535 811 542 805 q 511 820 528 817 q 468 825 494 823 l 468 855 l 753 855 l 753 825 q 714 820 731 823 q 683 813 697 817 q 659 802 670 808 q 637 783 647 795 l 340 455 l 668 85 q 694 64 680 72 q 724 54 708 57 q 757 51 740 51 q 791 53 774 51 l 796 24 q 716 0 756 11 q 643 -10 675 -10 q 608 -3 623 -10 q 579 19 593 2 l 241 433 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 "},"7":{"x_min":70.53125,"x_max":600.234375,"ha":652,"o":"m 600 791 q 537 643 569 718 q 475 496 505 568 q 417 355 444 423 q 365 226 389 287 q 323 116 342 166 q 293 30 304 66 q 243 1 269 13 q 183 -20 217 -11 l 155 2 q 261 200 214 106 q 347 382 307 294 q 423 556 387 471 q 497 729 459 642 l 189 729 q 169 728 179 729 q 149 719 160 727 q 127 690 139 710 q 101 630 115 669 l 70 642 q 75 682 72 658 q 83 730 79 705 q 91 778 87 755 q 99 817 95 802 l 577 817 l 600 791 "},"̈":{"x_min":-553,"x_max":-146,"ha":0,"o":"m -146 854 q -152 818 -146 835 q -168 789 -158 801 q -193 769 -179 776 q -224 762 -207 762 q -268 778 -255 762 q -282 826 -282 795 q -275 862 -282 845 q -258 892 -269 879 q -234 911 -248 904 q -203 919 -220 919 q -146 854 -146 919 m -417 854 q -423 818 -417 835 q -439 789 -429 801 q -464 769 -450 776 q -495 762 -478 762 q -539 778 -526 762 q -553 826 -553 795 q -546 862 -553 845 q -529 892 -540 879 q -505 911 -519 904 q -474 919 -491 919 q -417 854 -417 919 "},"¨":{"x_min":68,"x_max":474,"ha":543,"o":"m 474 854 q 467 818 474 835 q 451 789 461 801 q 426 769 440 776 q 395 762 412 762 q 351 778 364 762 q 338 826 338 795 q 344 862 338 845 q 361 892 350 879 q 385 911 372 904 q 416 919 399 919 q 474 854 474 919 m 204 854 q 197 818 204 835 q 181 789 191 801 q 156 769 170 776 q 125 762 142 762 q 81 778 94 762 q 68 826 68 795 q 74 862 68 845 q 91 892 80 879 q 115 911 102 904 q 146 919 129 919 q 204 854 204 919 "},"Y":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 "},"E":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 "},"Ô":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 631 957 q 618 938 623 944 q 602 927 613 932 l 416 1068 l 232 927 q 223 932 227 929 q 216 938 219 935 q 210 946 213 941 q 202 957 206 951 l 381 1167 l 453 1167 l 631 957 "},"ổ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 577 740 q 564 721 569 727 q 548 710 559 715 l 362 891 l 178 710 q 169 715 172 712 q 162 721 165 718 q 155 729 159 724 q 147 740 152 734 l 326 998 l 399 998 l 577 740 m 477 1209 q 464 1176 477 1191 q 435 1148 452 1161 q 402 1123 418 1134 q 378 1098 386 1111 q 377 1072 371 1086 q 412 1042 384 1059 q 392 1033 403 1035 q 371 1031 381 1032 q 326 1058 340 1046 q 308 1081 311 1071 q 311 1102 305 1092 q 329 1120 318 1111 q 355 1138 341 1130 q 382 1157 369 1147 q 402 1177 394 1166 q 411 1199 411 1187 q 398 1238 411 1225 q 365 1251 385 1251 q 347 1247 355 1251 q 332 1237 338 1243 q 323 1224 326 1231 q 319 1209 319 1216 q 321 1202 319 1205 q 325 1194 323 1198 q 311 1190 319 1192 q 293 1186 302 1188 q 273 1182 283 1184 q 257 1179 264 1180 l 250 1187 l 250 1196 q 263 1228 250 1212 q 295 1256 275 1243 q 340 1276 315 1268 q 388 1284 364 1284 q 454 1263 431 1284 q 477 1209 477 1243 "},"Ï":{"x_min":-3.640625,"x_max":403.359375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 403 1045 q 397 1009 403 1026 q 380 980 391 992 q 355 960 370 967 q 324 953 341 953 q 280 969 293 953 q 267 1018 267 986 q 273 1053 267 1036 q 290 1083 279 1070 q 315 1102 301 1095 q 345 1110 329 1110 q 403 1045 403 1110 m 132 1045 q 126 1009 132 1026 q 109 980 120 992 q 84 960 99 967 q 53 953 70 953 q 9 969 22 953 q -3 1018 -3 986 q 2 1053 -3 1036 q 19 1083 8 1070 q 44 1102 30 1095 q 74 1110 58 1110 q 132 1045 132 1110 "},"ġ":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 m 407 854 q 401 818 407 835 q 384 789 395 801 q 359 769 374 776 q 328 762 345 762 q 284 778 297 762 q 271 826 271 795 q 277 862 271 845 q 294 892 283 879 q 319 911 305 904 q 349 919 333 919 q 407 854 407 919 "},"Ẳ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 626 1139 q 580 1046 606 1084 q 527 985 555 1009 q 468 952 499 962 q 407 942 438 942 q 343 952 374 942 q 283 985 311 962 q 230 1046 255 1009 q 185 1139 206 1084 q 202 1158 193 1151 q 221 1170 210 1164 q 260 1104 238 1131 q 307 1062 282 1078 q 357 1039 331 1046 q 404 1032 382 1032 q 454 1039 428 1032 q 505 1062 480 1046 q 552 1104 530 1078 q 590 1170 574 1131 q 610 1158 602 1164 q 626 1139 618 1151 m 520 1338 q 508 1305 520 1320 q 478 1277 495 1290 q 445 1251 461 1263 q 422 1227 429 1240 q 421 1201 414 1215 q 456 1170 427 1187 q 435 1162 446 1164 q 414 1160 424 1161 q 369 1187 384 1174 q 351 1210 354 1200 q 355 1231 348 1221 q 373 1249 361 1240 q 398 1267 384 1258 q 425 1285 413 1276 q 446 1305 437 1295 q 454 1328 454 1316 q 441 1367 454 1354 q 409 1380 428 1380 q 390 1376 399 1380 q 376 1366 382 1372 q 366 1352 370 1360 q 363 1338 363 1345 q 364 1330 363 1334 q 368 1323 366 1327 q 354 1319 363 1321 q 336 1314 346 1316 q 317 1311 326 1312 q 301 1308 307 1309 l 293 1316 l 293 1325 q 306 1357 293 1341 q 339 1384 319 1372 q 383 1405 359 1397 q 431 1413 408 1413 q 497 1392 474 1413 q 520 1338 520 1372 "},"ứ":{"x_min":27.515625,"x_max":851,"ha":851,"o":"m 851 707 q 840 662 851 688 q 803 608 830 637 q 733 549 777 579 q 621 491 688 519 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 683 71 l 725 55 q 676 25 699 39 q 634 1 653 11 q 599 -14 614 -8 q 576 -20 584 -20 q 537 11 552 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 609 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 531 519 513 q 502 559 512 549 q 473 574 492 570 q 424 579 455 578 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 625 l 620 538 q 672 568 650 553 q 707 599 693 584 q 727 627 721 614 q 734 652 734 641 q 723 689 734 671 q 694 722 713 707 l 815 777 q 841 744 831 762 q 851 707 851 726 m 340 710 q 318 717 328 712 q 301 729 309 722 l 460 1010 q 481 1007 468 1009 q 509 1003 495 1005 q 537 999 524 1001 q 558 994 551 996 l 574 967 l 340 710 "},"ẑ":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 "},"Ɖ":{"x_min":18.0625,"x_max":761,"ha":823,"o":"m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 417 l 32 417 l 18 433 q 25 455 21 444 q 32 478 28 467 l 132 478 l 132 805 q 80 798 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 307 818 q 241 816 273 818 l 241 478 l 416 478 l 433 462 l 416 417 l 241 417 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 "},"Ấ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 620 957 q 607 938 612 944 q 591 927 602 932 l 405 1068 l 221 927 q 212 932 216 929 q 205 938 208 935 q 199 946 202 941 q 191 957 196 951 l 370 1167 l 442 1167 l 620 957 m 316 1198 q 300 1209 305 1203 q 286 1228 295 1216 l 548 1444 q 567 1433 555 1440 q 590 1420 578 1427 q 613 1406 602 1413 q 628 1394 623 1399 l 634 1363 l 316 1198 "},"ể":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 560 740 q 547 721 552 727 q 531 710 542 715 l 345 891 l 161 710 q 152 715 155 712 q 145 721 148 718 q 139 729 142 724 q 130 740 135 734 l 309 998 l 382 998 l 560 740 m 460 1209 q 447 1176 460 1191 q 418 1148 435 1161 q 385 1123 401 1134 q 361 1098 369 1111 q 360 1072 354 1086 q 395 1042 367 1059 q 375 1033 386 1035 q 354 1031 364 1032 q 309 1058 323 1046 q 291 1081 294 1071 q 294 1102 288 1092 q 312 1120 301 1111 q 338 1138 324 1130 q 365 1157 352 1147 q 385 1177 377 1166 q 394 1199 394 1187 q 381 1238 394 1225 q 348 1251 368 1251 q 330 1247 338 1251 q 315 1237 321 1243 q 306 1224 309 1231 q 302 1209 302 1216 q 304 1202 302 1205 q 308 1194 306 1198 q 294 1190 302 1192 q 276 1186 285 1188 q 256 1182 266 1184 q 240 1179 247 1180 l 233 1187 l 233 1196 q 246 1228 233 1212 q 278 1256 258 1243 q 323 1276 298 1268 q 371 1284 347 1284 q 437 1263 414 1284 q 460 1209 460 1243 "},"Ḕ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 576 1058 q 571 1041 575 1051 q 564 1021 568 1031 q 556 1002 560 1012 q 550 987 552 993 l 132 987 l 118 1003 q 122 1020 119 1011 q 130 1040 126 1030 q 138 1059 134 1049 q 145 1075 142 1068 l 561 1075 l 576 1058 m 460 1174 q 445 1155 451 1161 q 430 1144 440 1148 l 111 1309 l 117 1339 q 132 1352 122 1345 q 155 1365 143 1358 q 179 1379 167 1373 q 198 1390 190 1385 l 460 1174 "},"b":{"x_min":6.828125,"x_max":644,"ha":705,"o":"m 644 333 q 633 253 644 294 q 604 172 623 211 q 555 97 584 133 q 491 36 527 62 q 411 -4 454 10 q 317 -20 368 -20 q 282 -14 305 -20 q 230 2 259 -8 q 166 29 200 13 q 95 65 131 45 l 95 878 q 91 926 95 910 q 78 952 88 943 q 51 963 69 960 q 6 969 34 966 l 6 996 q 92 1018 51 1007 q 171 1051 133 1029 l 178 1044 q 186 1036 182 1040 q 197 1027 191 1032 l 196 493 q 264 563 230 533 q 328 612 297 593 q 385 641 359 632 q 431 651 412 651 q 516 629 477 651 q 584 566 555 607 q 628 466 612 525 q 644 333 644 407 m 552 276 q 538 396 552 344 q 500 485 524 449 q 447 540 477 521 q 384 559 416 559 q 352 551 372 559 q 307 528 332 544 q 253 483 282 511 q 197 413 225 455 l 197 137 q 252 103 224 117 q 305 82 280 90 q 351 71 330 74 q 384 68 372 68 q 456 85 425 68 q 509 133 487 103 q 541 200 530 162 q 552 276 552 237 "},"̃":{"x_min":-580.5625,"x_max":-118.015625,"ha":0,"o":"m -118 912 q -147 857 -130 884 q -184 808 -164 830 q -229 773 -205 787 q -280 760 -254 760 q -325 771 -304 760 q -367 798 -347 783 q -407 825 -387 813 q -447 837 -427 837 q -497 814 -474 837 q -544 755 -519 792 l -580 768 q -551 823 -568 796 q -514 873 -535 851 q -468 908 -493 894 q -418 922 -444 922 q -369 910 -392 922 q -326 883 -346 898 q -287 856 -305 868 q -252 845 -269 845 q -202 866 -227 845 q -154 928 -177 888 l -118 912 "},"fl":{"x_min":30.875,"x_max":777.734375,"ha":808,"o":"m 472 0 l 472 29 q 521 38 501 33 q 552 49 540 44 q 568 59 563 54 q 574 70 574 65 l 574 878 q 569 926 574 909 q 555 951 565 942 q 535 960 546 957 q 520 947 528 953 q 492 925 507 935 q 467 910 478 915 q 435 935 451 924 q 403 952 418 945 q 374 962 388 959 q 352 966 361 966 q 315 954 335 966 q 278 911 295 942 q 249 826 260 880 q 238 689 238 773 l 238 631 l 412 631 l 432 611 q 417 591 426 602 q 399 571 408 580 q 381 553 389 561 q 366 543 372 545 q 321 559 350 551 q 238 567 292 567 l 238 69 q 245 61 238 65 q 269 52 252 57 q 312 42 286 48 q 379 29 339 36 l 379 0 l 41 0 l 41 29 q 111 49 87 37 q 136 69 136 61 l 136 567 l 45 567 l 30 585 l 83 631 l 136 631 l 136 652 q 146 786 136 731 q 176 878 157 841 q 219 941 194 916 q 270 988 243 967 q 310 1015 289 1003 q 353 1034 332 1026 q 394 1046 375 1042 q 426 1051 413 1051 q 470 1042 447 1051 q 510 1023 492 1034 q 535 1008 524 1016 q 569 1017 552 1013 q 651 1051 609 1029 l 676 1027 l 676 70 q 699 49 676 60 q 777 29 722 38 l 777 0 l 472 0 "},"Ḡ":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 m 670 1058 q 665 1041 668 1051 q 657 1021 661 1031 q 650 1002 653 1012 q 643 987 646 993 l 226 987 l 211 1003 q 216 1020 212 1011 q 223 1040 219 1030 q 231 1059 227 1049 q 239 1075 236 1068 l 655 1075 l 670 1058 "},"ȭ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 594 912 q 564 857 581 884 q 527 808 548 830 q 482 773 506 787 q 431 760 457 760 q 386 771 407 760 q 344 798 364 783 q 304 825 324 813 q 264 837 284 837 q 215 814 237 837 q 167 755 192 792 l 131 768 q 160 823 143 796 q 198 873 177 851 q 243 908 219 894 q 293 922 267 922 q 342 910 319 922 q 385 883 365 898 q 424 856 406 868 q 459 845 442 845 q 509 866 484 845 q 557 928 534 888 l 594 912 m 598 1112 q 594 1095 597 1105 q 586 1076 590 1085 q 578 1056 582 1066 q 572 1041 575 1047 l 155 1041 l 140 1058 q 145 1075 141 1065 q 152 1094 148 1084 q 160 1113 156 1104 q 168 1129 164 1122 l 583 1129 l 598 1112 "},"Ŋ":{"x_min":32.984375,"x_max":763,"ha":838,"o":"m 763 187 q 748 58 763 117 q 709 -47 733 0 q 653 -132 684 -95 q 586 -195 621 -169 q 544 -221 568 -209 q 494 -241 521 -232 q 442 -253 468 -249 q 391 -258 415 -258 q 331 -250 361 -258 q 277 -231 302 -243 q 238 -207 253 -220 q 223 -184 223 -195 q 234 -167 223 -178 q 259 -145 245 -156 q 290 -123 274 -133 q 316 -109 306 -113 q 355 -140 334 -127 q 397 -162 376 -153 q 439 -174 418 -170 q 476 -179 459 -179 q 540 -158 508 -179 q 597 -97 572 -138 q 638 5 622 -56 q 654 151 654 67 l 654 591 q 645 683 654 647 q 622 741 637 719 q 586 771 607 762 q 540 780 565 780 q 482 768 513 780 q 415 726 451 756 q 336 642 379 695 q 241 507 293 590 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 32 0 l 32 29 q 105 49 79 38 q 132 70 132 61 l 132 698 q 129 741 132 725 q 118 768 127 758 q 90 783 109 778 q 37 791 71 788 l 37 820 q 131 842 83 829 q 217 875 180 856 l 241 851 l 240 629 q 339 748 292 701 q 429 823 386 795 q 510 863 471 851 q 585 875 549 875 q 646 866 615 875 q 703 833 677 857 q 746 769 729 810 q 763 665 763 729 l 763 187 "},"Ǔ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 495 943 l 423 943 l 244 1151 q 252 1162 248 1157 q 258 1170 255 1167 q 265 1176 261 1174 q 274 1183 269 1179 l 461 1039 l 644 1183 q 660 1170 655 1176 q 673 1151 665 1164 l 495 943 "},"Ũ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 690 1103 q 661 1047 678 1075 q 623 998 644 1020 q 578 963 602 977 q 527 950 554 950 q 482 961 503 950 q 440 988 461 973 q 400 1015 420 1003 q 360 1027 380 1027 q 311 1005 333 1027 q 263 945 288 982 l 227 958 q 256 1013 240 986 q 294 1063 273 1041 q 339 1098 315 1084 q 389 1112 363 1112 q 438 1100 415 1112 q 482 1073 461 1088 q 520 1046 502 1058 q 555 1035 539 1035 q 605 1056 581 1035 q 653 1118 630 1078 l 690 1103 "},"L":{"x_min":33.65625,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 111 q 246 89 241 99 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"Ẋ":{"x_min":21.03125,"x_max":833.53125,"ha":855,"o":"m 527 0 l 527 29 q 575 36 557 31 q 602 46 594 40 q 609 62 610 53 q 598 86 608 72 l 409 363 l 238 86 q 241 44 219 56 q 326 29 263 33 l 326 0 l 21 0 l 21 29 q 96 44 65 32 q 144 86 127 57 l 359 437 l 133 768 q 113 793 123 783 q 92 809 104 802 q 65 818 80 815 q 27 826 50 822 l 27 855 l 333 855 l 333 826 q 258 809 276 820 q 261 768 240 798 l 428 522 l 581 768 q 590 794 591 784 q 577 810 588 804 q 544 820 565 817 q 493 826 523 823 l 493 855 l 800 855 l 800 826 q 756 819 775 823 q 722 809 737 815 q 696 793 707 802 q 676 768 685 783 l 478 449 l 726 86 q 747 61 736 71 q 770 45 757 52 q 798 35 782 39 q 833 29 813 31 l 833 0 l 527 0 m 495 1045 q 489 1009 495 1026 q 472 980 483 992 q 447 960 462 967 q 416 953 433 953 q 372 969 386 953 q 359 1018 359 986 q 365 1053 359 1036 q 382 1083 371 1070 q 407 1102 393 1095 q 437 1110 421 1110 q 495 1045 495 1110 "},"Ɫ":{"x_min":-40.9375,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 400 q 111 409 121 406 q 91 413 101 413 q 42 390 64 413 q -5 330 20 368 l -40 344 q -12 399 -28 372 q 25 449 4 427 q 70 484 46 470 q 121 498 94 498 q 126 497 123 498 q 132 497 128 497 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 440 q 264 426 253 431 q 287 421 276 421 q 337 442 312 421 q 385 504 362 464 l 422 488 q 392 433 409 461 q 355 384 375 406 q 310 349 334 363 q 259 336 285 336 q 241 338 249 336 l 241 111 q 246 89 241 98 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"ṯ":{"x_min":6.78125,"x_max":465.265625,"ha":478,"o":"m 458 79 q 392 36 425 55 q 330 5 360 17 q 276 -13 301 -7 q 233 -20 250 -20 q 188 -11 209 -20 q 150 17 166 -2 q 124 70 134 37 q 115 150 115 102 l 115 567 l 27 567 l 13 585 l 66 631 l 115 631 l 115 797 l 195 868 l 217 851 l 217 631 l 438 631 l 458 611 q 443 591 452 602 q 424 571 434 580 q 405 553 415 561 q 389 543 396 545 q 340 559 373 551 q 252 567 307 567 l 217 567 l 217 208 q 220 140 217 167 q 233 97 224 113 q 256 74 242 81 q 290 68 269 68 q 349 77 313 68 q 438 114 385 86 l 458 79 m 465 -155 q 460 -172 463 -162 q 453 -192 457 -182 q 445 -211 448 -201 q 438 -227 441 -220 l 21 -227 l 6 -210 q 11 -193 8 -202 q 18 -173 14 -183 q 27 -154 23 -164 q 34 -139 31 -145 l 450 -139 l 465 -155 "},"Ĭ":{"x_min":-20.34375,"x_max":420.5,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 420 1139 q 374 1046 400 1084 q 321 985 349 1009 q 262 952 292 962 q 201 942 231 942 q 137 952 168 942 q 77 985 105 962 q 24 1046 49 1009 q -20 1139 0 1084 q -4 1158 -12 1151 q 15 1170 4 1164 q 54 1104 32 1131 q 101 1062 76 1078 q 150 1039 125 1046 q 198 1032 176 1032 q 248 1039 222 1032 q 299 1062 274 1046 q 346 1104 324 1078 q 384 1170 368 1131 q 404 1158 396 1164 q 420 1139 412 1151 "},"À":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 526 957 q 511 938 516 944 q 495 927 506 931 l 177 1092 l 183 1122 q 198 1134 187 1128 q 221 1148 208 1141 q 244 1162 233 1156 q 263 1173 256 1168 l 526 957 "},"̊":{"x_min":-475,"x_max":-223,"ha":0,"o":"m -284 843 q -288 874 -284 859 q -299 900 -292 889 q -317 918 -307 911 q -342 925 -328 925 q -369 919 -356 925 q -391 903 -382 913 q -407 877 -401 892 q -414 844 -414 862 q -409 814 -414 828 q -398 788 -405 799 q -380 770 -390 777 q -355 764 -369 764 q -329 769 -342 764 q -306 784 -316 774 q -290 808 -296 794 q -284 843 -284 823 m -223 871 q -236 807 -223 836 q -270 757 -249 778 q -318 723 -292 735 q -370 712 -344 712 q -412 720 -393 712 q -445 742 -431 728 q -467 775 -459 756 q -475 816 -475 794 q -461 880 -475 851 q -427 931 -448 910 q -380 965 -406 953 q -328 977 -354 977 q -287 968 -306 977 q -253 945 -267 960 q -231 911 -239 930 q -223 871 -223 892 "},"‑":{"x_min":41.375,"x_max":426.609375,"ha":468,"o":"m 426 370 q 416 338 422 355 q 405 309 411 320 l 58 309 l 41 325 q 50 356 44 340 q 62 387 56 373 l 409 387 l 426 370 "},"½":{"x_min":54.484375,"x_max":759.421875,"ha":814,"o":"m 66 432 l 66 455 q 114 461 95 458 q 144 469 133 465 q 158 477 154 473 q 163 484 163 481 l 163 732 q 162 753 163 746 q 156 764 161 760 q 148 768 154 766 q 132 769 142 769 q 104 766 121 768 q 62 760 87 764 l 54 782 q 92 793 70 786 q 138 807 115 800 q 183 823 162 815 q 217 838 205 831 l 231 826 l 231 484 q 234 477 231 481 q 247 469 237 473 q 274 461 256 465 q 320 455 292 458 l 320 432 l 66 432 m 214 2 q 184 -10 198 -5 q 151 -20 169 -15 l 134 0 l 651 816 q 680 828 664 821 q 711 838 696 834 l 728 819 l 214 2 m 754 0 l 479 0 l 468 23 q 578 135 536 90 q 644 210 620 180 q 676 261 668 241 q 685 300 685 281 q 669 348 685 330 q 614 366 653 366 q 588 360 600 366 q 567 346 575 355 q 554 326 558 337 q 549 303 549 315 q 521 293 535 297 q 489 288 506 289 l 479 297 q 492 333 479 314 q 528 367 506 351 q 579 392 550 382 q 640 402 609 402 q 685 396 665 402 q 721 379 706 391 q 745 350 737 368 q 754 309 754 333 q 743 265 754 288 q 709 214 733 243 q 646 144 685 184 q 548 45 607 103 l 696 45 q 717 53 709 45 q 728 70 724 61 q 735 97 733 82 l 759 93 l 754 0 "},"ḟ":{"x_min":30.875,"x_max":554.734375,"ha":432,"o":"m 554 985 q 544 969 554 980 q 521 947 535 958 q 493 925 507 935 q 468 910 478 915 q 435 935 452 924 q 403 952 419 945 q 375 962 388 959 q 353 966 362 966 q 315 954 335 966 q 278 911 295 942 q 249 826 261 880 q 238 689 238 773 l 238 631 l 412 631 l 432 611 q 417 591 426 602 q 399 571 408 580 q 381 553 389 561 q 366 543 372 545 q 321 559 350 551 q 238 567 292 567 l 238 69 q 245 61 238 65 q 269 52 252 57 q 312 42 286 48 q 379 29 339 36 l 379 0 l 41 0 l 41 29 q 111 49 87 37 q 136 69 136 61 l 136 567 l 45 567 l 30 585 l 83 631 l 136 631 l 136 652 q 146 786 136 731 q 176 878 157 841 q 219 941 195 916 q 271 988 244 967 q 311 1015 289 1003 q 354 1034 332 1026 q 395 1046 375 1042 q 427 1051 414 1051 q 470 1042 448 1051 q 511 1024 493 1034 q 542 1002 530 1013 q 554 985 554 991 m 353 1215 q 347 1179 353 1196 q 330 1150 340 1162 q 305 1130 319 1137 q 274 1122 291 1122 q 230 1139 243 1122 q 217 1187 217 1156 q 223 1223 217 1206 q 240 1252 229 1240 q 265 1272 251 1265 q 295 1279 279 1279 q 353 1215 353 1279 "},"'":{"x_min":108.515625,"x_max":238.734375,"ha":347,"o":"m 209 565 q 196 559 204 562 q 179 555 188 557 q 161 552 170 553 q 144 551 152 551 l 108 967 q 130 977 115 971 q 159 988 144 982 q 188 998 174 993 q 209 1004 202 1002 l 238 989 l 209 565 "},"ij":{"x_min":47.046875,"x_max":637.40625,"ha":736,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 264 854 q 257 818 264 835 q 241 789 251 801 q 216 769 230 776 q 185 762 202 762 q 141 778 154 762 q 128 826 128 795 q 134 862 128 845 q 151 892 140 879 q 176 911 162 904 q 206 919 190 919 q 264 854 264 919 m 617 67 q 607 -65 617 -10 q 580 -158 597 -119 q 539 -223 563 -196 q 488 -271 515 -249 q 449 -297 469 -285 q 408 -319 429 -310 q 370 -333 388 -328 q 339 -339 352 -339 q 298 -333 318 -339 q 262 -321 278 -328 q 237 -305 246 -313 q 227 -291 227 -297 q 237 -275 227 -285 q 260 -253 246 -264 q 288 -231 273 -241 q 313 -216 303 -221 q 358 -241 335 -235 q 406 -247 381 -247 q 445 -234 426 -247 q 480 -190 465 -221 q 505 -106 496 -159 q 515 29 515 -52 l 515 454 q 513 510 515 489 q 503 542 512 531 q 475 560 494 554 q 420 569 455 565 l 420 596 q 470 607 448 601 q 513 620 493 613 q 551 634 533 626 q 592 651 570 642 l 617 651 l 617 67 m 637 854 q 631 818 637 835 q 614 789 625 801 q 589 769 604 776 q 559 762 575 762 q 515 778 528 762 q 501 826 501 795 q 507 862 501 845 q 524 892 513 879 q 549 911 535 904 q 579 919 563 919 q 637 854 637 919 "},"Ḷ":{"x_min":33.65625,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 111 q 246 89 241 99 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 m 405 -189 q 399 -225 405 -208 q 382 -254 393 -242 q 357 -274 372 -267 q 326 -282 343 -282 q 282 -265 295 -282 q 269 -217 269 -248 q 275 -181 269 -198 q 292 -151 281 -164 q 317 -132 303 -139 q 347 -125 331 -125 q 405 -189 405 -125 "},"˛":{"x_min":68,"x_max":325.5625,"ha":359,"o":"m 325 -202 q 291 -238 311 -221 q 252 -270 272 -256 q 211 -292 231 -284 q 174 -301 191 -301 q 135 -296 154 -301 q 101 -282 116 -292 q 77 -252 86 -271 q 68 -202 68 -233 q 121 -83 68 -141 q 277 29 174 -25 l 307 16 q 229 -42 259 -13 q 183 -95 199 -70 q 161 -141 166 -120 q 156 -179 156 -162 q 172 -216 156 -204 q 214 -228 188 -228 q 256 -215 231 -228 q 309 -177 280 -203 l 325 -202 "},"ɵ":{"x_min":54,"x_max":645,"ha":699,"o":"m 162 281 q 189 192 168 233 q 237 120 209 151 q 295 72 264 90 q 355 55 327 55 q 434 70 400 55 q 490 116 467 86 q 525 187 512 145 q 540 281 537 229 l 162 281 m 539 342 q 514 432 533 390 q 467 506 494 474 q 408 557 440 538 q 343 576 375 576 q 260 558 294 576 q 203 509 225 540 q 171 434 182 477 q 159 342 161 392 l 539 342 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 "},"ɛ":{"x_min":54,"x_max":561.765625,"ha":593,"o":"m 561 129 q 480 47 517 77 q 410 2 443 18 q 347 -16 377 -12 q 288 -20 317 -20 q 187 -7 231 -20 q 114 28 144 5 q 69 82 84 51 q 54 150 54 113 q 65 205 54 179 q 95 252 77 231 q 136 290 113 274 q 183 316 159 306 q 104 369 132 336 q 77 458 77 402 q 85 500 77 479 q 106 540 93 521 q 139 576 120 559 q 181 606 158 593 q 217 625 197 617 q 260 639 238 634 q 306 647 282 644 q 352 651 329 651 q 400 647 375 651 q 448 636 426 643 q 491 619 471 629 q 524 597 510 609 q 522 574 525 589 q 512 542 518 559 q 499 510 506 526 q 487 486 492 495 l 461 492 q 443 522 455 507 q 410 551 430 538 q 361 574 390 565 q 297 583 333 583 q 245 574 268 583 q 205 551 221 565 q 179 518 188 536 q 171 479 171 499 q 177 438 171 458 q 203 400 183 417 q 261 370 223 383 q 360 354 298 358 l 367 318 q 276 301 314 314 q 212 267 237 287 q 176 225 187 248 q 165 179 164 202 q 176 137 165 157 q 207 100 187 117 q 257 74 228 84 q 323 65 286 65 q 362 67 342 65 q 408 78 383 69 q 464 106 432 87 q 535 157 495 124 l 561 129 "},"ǔ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 406 726 l 333 726 l 154 968 q 162 979 159 974 q 169 987 166 984 q 175 993 172 991 q 185 1000 179 996 l 371 829 l 554 1000 q 571 987 566 993 q 583 968 575 981 l 406 726 "},"ṏ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 594 912 q 564 857 581 884 q 527 808 548 830 q 482 773 506 787 q 431 760 457 760 q 386 771 407 760 q 344 798 364 783 q 304 825 324 813 q 264 837 284 837 q 215 814 237 837 q 167 755 192 792 l 131 768 q 160 823 143 796 q 198 873 177 851 q 243 908 219 894 q 293 922 267 922 q 342 910 319 922 q 385 883 365 898 q 424 856 406 868 q 459 845 442 845 q 509 866 484 845 q 557 928 534 888 l 594 912 m 566 1098 q 560 1063 566 1079 q 543 1033 553 1046 q 518 1013 532 1021 q 487 1006 504 1006 q 443 1023 456 1006 q 430 1071 430 1040 q 436 1106 430 1090 q 453 1136 442 1123 q 478 1156 464 1148 q 508 1163 492 1163 q 566 1098 566 1163 m 295 1098 q 289 1063 295 1079 q 272 1033 282 1046 q 247 1013 261 1021 q 216 1006 233 1006 q 172 1023 185 1006 q 159 1071 159 1040 q 165 1106 159 1090 q 182 1136 171 1123 q 207 1156 193 1148 q 237 1163 221 1163 q 295 1098 295 1163 "},"Ć":{"x_min":48,"x_max":690.84375,"ha":745,"o":"m 690 143 q 607 65 647 96 q 531 15 568 34 q 458 -11 494 -3 q 387 -20 422 -20 q 263 8 324 -20 q 155 90 203 36 q 77 221 106 144 q 48 397 48 299 q 80 594 48 506 q 169 744 113 682 q 300 841 226 807 q 458 875 375 875 q 587 855 532 875 q 677 806 642 835 q 675 793 682 803 q 659 770 669 783 q 636 744 648 757 q 616 723 625 731 l 593 727 q 511 779 558 759 q 401 800 463 800 q 351 791 378 800 q 296 764 323 783 q 242 716 268 746 q 196 645 216 687 q 164 548 176 603 q 153 422 153 492 q 179 264 153 332 q 246 151 205 196 q 337 83 287 106 q 436 61 388 61 q 532 86 473 61 q 665 173 591 111 q 672 167 669 172 q 679 158 676 163 q 686 149 683 153 q 690 143 688 145 m 326 927 q 310 938 315 931 q 296 957 305 944 l 558 1173 q 577 1162 565 1168 q 600 1148 588 1156 q 623 1134 613 1141 q 638 1122 633 1128 l 644 1092 l 326 927 "},"ẓ":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 m 374 -189 q 368 -225 374 -208 q 352 -254 362 -242 q 327 -274 341 -267 q 295 -282 312 -282 q 252 -265 265 -282 q 238 -217 238 -248 q 244 -181 238 -198 q 261 -151 251 -164 q 286 -132 272 -139 q 317 -125 300 -125 q 374 -189 374 -125 "},"£":{"x_min":43.765625,"x_max":609.328125,"ha":652,"o":"m 417 363 l 253 363 q 249 274 255 316 q 233 193 244 231 q 208 124 223 156 q 175 67 192 92 q 229 71 205 70 q 272 71 253 72 q 309 70 292 71 q 344 68 326 70 q 382 67 362 67 q 426 67 401 67 q 480 72 458 68 q 520 86 502 75 q 551 121 537 98 q 580 183 565 143 l 609 171 q 602 115 606 142 q 595 66 599 89 q 587 26 591 43 q 581 0 584 9 q 509 -19 551 -17 q 421 -16 468 -21 q 324 -4 374 -12 q 226 6 274 3 q 135 5 178 10 q 59 -20 92 0 l 43 12 q 81 44 64 29 q 108 76 97 59 q 127 116 120 93 q 138 172 135 139 q 141 252 142 205 q 136 363 140 298 l 58 363 l 43 380 q 50 402 47 390 q 58 425 54 414 l 132 425 q 142 598 127 521 q 192 728 157 674 q 283 809 227 781 q 416 838 339 838 q 450 836 434 838 q 486 830 467 835 q 528 816 505 825 q 584 790 552 806 q 580 747 583 773 q 574 696 577 722 q 566 647 570 670 q 557 610 561 623 l 525 610 q 475 733 516 695 q 366 771 434 771 q 330 767 348 771 q 296 751 312 763 q 267 716 280 739 q 247 655 254 694 q 239 560 240 617 q 247 425 238 503 l 417 425 l 434 409 l 417 363 "},"ẹ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 407 -189 q 401 -225 407 -208 q 384 -254 395 -242 q 359 -274 374 -267 q 328 -282 345 -282 q 284 -265 297 -282 q 271 -217 271 -248 q 277 -181 271 -198 q 294 -151 283 -164 q 319 -132 305 -139 q 349 -125 333 -125 q 407 -189 407 -125 "},"ů":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 434 843 q 430 874 434 859 q 419 900 426 889 q 401 918 411 911 q 376 925 390 925 q 349 919 362 925 q 326 903 336 913 q 311 877 317 892 q 304 844 304 862 q 308 814 304 828 q 320 788 313 799 q 338 770 327 777 q 363 764 349 764 q 389 769 376 764 q 412 784 402 774 q 428 808 422 794 q 434 843 434 823 m 495 871 q 482 807 495 836 q 448 757 469 778 q 400 723 426 735 q 348 712 374 712 q 306 720 325 712 q 273 742 287 728 q 251 775 259 756 q 243 816 243 794 q 257 880 243 851 q 291 931 270 910 q 338 965 312 953 q 390 977 364 977 q 431 968 412 977 q 465 945 451 960 q 487 911 479 930 q 495 871 495 892 "},"Ō":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 653 1058 q 648 1041 651 1051 q 640 1021 644 1031 q 633 1002 636 1012 q 626 987 629 993 l 209 987 l 194 1003 q 199 1020 196 1011 q 206 1040 202 1030 q 214 1059 210 1049 q 222 1075 219 1068 l 638 1075 l 653 1058 "},"Ṻ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 695 1058 q 690 1041 693 1051 q 682 1021 687 1031 q 675 1002 678 1012 q 668 987 671 993 l 251 987 l 236 1003 q 241 1020 238 1011 q 248 1040 244 1030 q 257 1059 252 1049 q 264 1075 261 1068 l 680 1075 l 695 1058 m 662 1262 q 656 1226 662 1243 q 639 1197 650 1209 q 614 1177 629 1184 q 583 1170 600 1170 q 539 1186 552 1170 q 526 1235 526 1203 q 532 1270 526 1253 q 549 1300 538 1287 q 574 1319 560 1312 q 604 1327 588 1327 q 662 1262 662 1327 m 391 1262 q 385 1226 391 1243 q 368 1197 379 1209 q 343 1177 358 1184 q 312 1170 329 1170 q 268 1186 281 1170 q 255 1235 255 1203 q 261 1270 255 1253 q 278 1300 267 1287 q 303 1319 289 1312 q 333 1327 317 1327 q 391 1262 391 1327 "},"Ǵ":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 m 344 927 q 327 938 333 931 q 314 957 322 944 l 576 1173 q 594 1162 583 1168 q 618 1148 606 1156 q 640 1134 630 1141 q 656 1122 651 1128 l 662 1092 l 344 927 "},"Ğ":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 m 654 1139 q 608 1046 634 1084 q 555 985 583 1009 q 496 952 526 962 q 435 942 465 942 q 370 952 402 942 q 311 985 339 962 q 258 1046 283 1009 q 213 1139 233 1084 q 229 1158 221 1151 q 249 1170 238 1164 q 288 1104 266 1131 q 335 1062 310 1078 q 384 1039 359 1046 q 432 1032 410 1032 q 482 1039 456 1032 q 533 1062 508 1046 q 580 1104 558 1078 q 618 1170 602 1131 q 638 1158 630 1164 q 654 1139 646 1151 "},"v":{"x_min":13.5625,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 404 40 q 386 14 398 25 q 361 -2 375 4 q 334 -13 347 -9 q 312 -20 321 -17 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 121 l 522 555 q 524 573 525 565 q 515 585 523 580 q 492 594 507 590 q 451 601 476 597 l 451 631 l 670 631 l 670 601 "},"û":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 583 740 q 571 721 575 727 q 554 710 566 715 l 368 891 l 185 710 q 175 715 179 712 q 169 721 172 718 q 162 729 166 724 q 154 740 159 734 l 333 998 l 406 998 l 583 740 "},"Ẑ":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 m 590 957 q 577 938 582 944 q 561 927 573 932 l 375 1068 l 191 927 q 182 932 186 929 q 175 938 179 935 q 169 946 172 941 q 161 957 166 951 l 340 1167 l 413 1167 l 590 957 "},"Ź":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 m 286 927 q 270 938 275 931 q 256 957 265 944 l 518 1173 q 537 1162 525 1168 q 560 1148 548 1156 q 583 1134 573 1141 q 598 1122 593 1128 l 604 1092 l 286 927 "},"":{"x_min":68,"x_max":229,"ha":290,"o":"m 229 493 q 221 449 229 469 q 202 414 214 429 q 172 391 189 399 q 135 383 155 383 q 83 402 99 383 q 68 458 68 422 q 75 501 68 481 q 95 537 82 521 q 125 561 108 552 q 162 570 143 570 q 212 550 195 570 q 229 493 229 530 m 229 164 q 221 120 229 140 q 202 85 214 100 q 172 62 189 70 q 135 54 155 54 q 83 73 99 54 q 68 129 68 93 q 75 172 68 152 q 95 208 82 192 q 125 232 108 223 q 162 241 143 241 q 212 221 195 241 q 229 164 229 201 "},"Ṁ":{"x_min":40.6875,"x_max":1064.8125,"ha":1120,"o":"m 1051 825 q 1007 819 1031 825 q 959 801 983 812 l 966 70 q 991 50 966 62 q 1064 29 1015 38 l 1064 0 l 756 0 l 756 29 q 831 49 802 38 q 861 70 861 61 l 855 705 l 558 0 l 524 0 l 223 700 l 217 70 q 241 50 217 62 q 315 29 266 38 l 315 0 l 40 0 l 40 29 q 113 49 87 38 q 139 70 139 61 l 145 798 q 93 819 120 813 q 47 825 67 825 l 47 855 l 241 855 q 252 852 248 855 q 262 844 257 850 q 271 827 266 838 q 284 798 276 816 l 554 185 l 813 798 q 828 829 822 818 q 837 846 833 841 q 846 853 842 852 q 857 855 851 855 l 1051 855 l 1051 825 m 621 1045 q 614 1009 621 1026 q 598 980 608 992 q 573 960 587 967 q 542 953 559 953 q 498 969 511 953 q 485 1018 485 986 q 491 1053 485 1036 q 508 1083 497 1070 q 532 1102 519 1095 q 563 1110 546 1110 q 621 1045 621 1110 "},"ˉ":{"x_min":113.265625,"x_max":571.734375,"ha":685,"o":"m 571 868 q 567 851 570 861 q 559 831 563 841 q 551 812 555 822 q 545 797 548 803 l 128 797 l 113 813 q 118 830 114 821 q 125 850 121 840 q 133 869 129 859 q 141 885 137 878 l 556 885 l 571 868 "},"ḻ":{"x_min":-35.953125,"x_max":422.53125,"ha":376,"o":"m 40 0 l 40 29 q 89 38 69 33 q 120 49 108 44 q 136 59 131 54 q 142 70 142 65 l 142 878 q 137 926 142 909 q 123 951 133 943 q 93 963 112 960 q 47 969 75 966 l 47 996 q 136 1017 95 1006 q 219 1051 177 1029 l 244 1027 l 244 70 q 267 49 244 60 q 345 29 290 38 l 345 0 l 40 0 m 422 -155 q 417 -172 421 -162 q 410 -192 414 -182 q 402 -211 406 -201 q 396 -227 398 -220 l -21 -227 l -35 -210 q -31 -193 -34 -202 q -23 -173 -27 -183 q -15 -154 -19 -164 q -8 -139 -11 -145 l 407 -139 l 422 -155 "},"ɔ":{"x_min":45,"x_max":573,"ha":627,"o":"m 573 329 q 549 192 573 256 q 484 81 525 129 q 388 7 444 34 q 270 -20 333 -20 q 181 -5 222 -20 q 109 36 139 9 q 62 100 79 63 q 45 181 45 137 q 51 222 45 203 q 72 257 57 242 q 126 274 97 265 q 181 289 155 283 l 195 257 q 179 240 186 248 q 168 222 172 232 q 162 202 164 213 q 160 177 160 192 q 171 131 160 154 q 202 91 183 108 q 246 62 221 73 q 298 51 271 51 q 368 67 336 51 q 422 116 399 83 q 458 196 445 148 q 471 308 471 244 q 454 412 471 365 q 409 491 437 458 q 343 541 380 523 q 266 559 306 559 q 227 556 246 559 q 186 545 208 553 q 137 522 164 537 q 76 481 111 506 q 60 495 67 485 q 50 510 53 505 q 126 581 91 554 q 192 624 161 609 q 254 645 224 640 q 315 651 284 651 q 411 628 364 651 q 493 565 457 606 q 551 464 529 524 q 573 329 573 404 "},"Ĺ":{"x_min":33.65625,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 111 q 246 89 241 99 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 m 227 927 q 210 938 215 931 q 196 957 205 944 l 459 1173 q 477 1162 465 1168 q 501 1148 489 1156 q 523 1134 513 1141 q 539 1122 533 1128 l 545 1092 l 227 927 "},"ỵ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 590 -189 q 584 -225 590 -208 q 567 -254 578 -242 q 542 -274 557 -267 q 511 -282 528 -282 q 467 -265 481 -282 q 454 -217 454 -248 q 460 -181 454 -198 q 477 -151 466 -164 q 502 -132 488 -139 q 532 -125 516 -125 q 590 -189 590 -125 "},"":{"x_min":98.34375,"x_max":242.125,"ha":340,"o":"m 206 443 q 192 437 200 440 q 176 433 185 435 q 158 430 167 431 q 141 429 149 429 l 98 963 q 121 974 105 968 q 152 987 136 980 q 184 997 169 993 q 206 1004 198 1002 l 242 986 l 206 443 "},"ḇ":{"x_min":6.828125,"x_max":644,"ha":705,"o":"m 644 333 q 633 253 644 294 q 604 172 623 211 q 555 97 584 133 q 491 36 527 62 q 411 -4 454 10 q 317 -20 368 -20 q 282 -14 305 -20 q 230 2 259 -8 q 166 29 200 13 q 95 65 131 45 l 95 878 q 91 926 95 910 q 78 952 88 943 q 51 963 69 960 q 6 969 34 966 l 6 996 q 92 1018 51 1007 q 171 1051 133 1029 l 178 1044 q 186 1036 182 1040 q 197 1027 191 1032 l 196 493 q 264 563 230 533 q 328 612 297 593 q 385 641 359 632 q 431 651 412 651 q 516 629 477 651 q 584 566 555 607 q 628 466 612 525 q 644 333 644 407 m 552 276 q 538 396 552 344 q 500 485 524 449 q 447 540 477 521 q 384 559 416 559 q 352 551 372 559 q 307 528 332 544 q 253 483 282 511 q 197 413 225 455 l 197 137 q 252 103 224 117 q 305 82 280 90 q 351 71 330 74 q 384 68 372 68 q 456 85 425 68 q 509 133 487 103 q 541 200 530 162 q 552 276 552 237 m 554 -155 q 549 -172 552 -162 q 541 -192 545 -182 q 534 -211 537 -201 q 527 -227 530 -220 l 110 -227 l 95 -210 q 100 -193 96 -202 q 107 -173 103 -183 q 115 -154 111 -164 q 123 -139 120 -145 l 539 -139 l 554 -155 "},"Č":{"x_min":48,"x_max":690.84375,"ha":745,"o":"m 690 143 q 607 65 647 96 q 531 15 568 34 q 458 -11 494 -3 q 387 -20 422 -20 q 263 8 324 -20 q 155 90 203 36 q 77 221 106 144 q 48 397 48 299 q 80 594 48 506 q 169 744 113 682 q 300 841 226 807 q 458 875 375 875 q 587 855 532 875 q 677 806 642 835 q 675 793 682 803 q 659 770 669 783 q 636 744 648 757 q 616 723 625 731 l 593 727 q 511 779 558 759 q 401 800 463 800 q 351 791 378 800 q 296 764 323 783 q 242 716 268 746 q 196 645 216 687 q 164 548 176 603 q 153 422 153 492 q 179 264 153 332 q 246 151 205 196 q 337 83 287 106 q 436 61 388 61 q 532 86 473 61 q 665 173 591 111 q 672 167 669 172 q 679 158 676 163 q 686 149 683 153 q 690 143 688 145 m 453 943 l 380 943 l 201 1151 q 209 1162 206 1157 q 216 1170 212 1167 q 222 1176 219 1174 q 231 1183 226 1179 l 418 1039 l 601 1183 q 617 1170 613 1176 q 630 1151 622 1164 l 453 943 "},"x":{"x_min":13.5625,"x_max":689.078125,"ha":699,"o":"m 416 0 l 416 29 q 448 33 433 30 q 471 41 463 35 q 480 59 480 48 q 466 88 480 70 l 332 271 l 204 88 q 193 59 191 70 q 208 41 196 48 q 237 33 219 35 q 270 29 254 30 l 270 0 l 13 0 l 13 29 q 59 39 40 33 q 91 54 78 45 q 114 72 105 62 q 130 92 123 82 l 295 322 l 136 540 q 118 563 127 553 q 97 581 109 574 q 66 594 84 589 q 21 602 48 599 l 21 631 l 305 631 l 305 602 q 269 596 284 599 q 246 586 254 592 q 239 569 238 579 q 252 542 240 558 l 362 391 l 466 542 q 480 569 478 558 q 474 586 481 580 q 452 596 467 593 q 416 602 437 599 l 416 631 l 674 631 l 674 602 q 589 581 619 597 q 541 540 559 566 l 399 340 l 580 92 q 598 72 588 82 q 620 54 607 62 q 649 38 632 45 q 689 29 666 31 l 689 0 l 416 0 "},"è":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 423 731 q 405 718 414 722 q 385 710 396 713 l 146 965 l 161 993 q 181 998 168 995 q 209 1003 194 1000 q 238 1007 223 1005 q 260 1010 252 1009 l 423 731 "},"Ń":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 361 927 q 344 938 349 931 q 330 957 339 944 l 593 1173 q 611 1162 600 1168 q 635 1148 623 1156 q 657 1134 647 1141 q 673 1122 668 1128 l 679 1092 l 361 927 "},"ḿ":{"x_min":37.046875,"x_max":1095.640625,"ha":1116,"o":"m 803 0 l 803 29 q 875 51 852 42 q 898 70 898 61 l 898 429 q 893 498 898 470 q 880 541 889 525 q 856 563 870 557 q 821 570 841 570 q 774 557 799 570 q 722 521 749 544 q 669 464 696 498 q 617 388 642 430 l 617 70 q 638 51 617 61 q 712 29 659 42 l 712 0 l 420 0 l 420 29 q 492 51 469 42 q 515 70 515 61 l 515 429 q 510 498 515 470 q 497 541 506 525 q 474 563 488 557 q 438 570 459 570 q 341 522 392 570 q 234 388 291 475 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 525 132 509 q 117 549 127 540 q 88 561 107 557 q 37 570 69 565 l 37 597 q 84 606 62 601 q 125 619 106 612 q 163 634 145 626 q 199 651 181 642 l 223 627 l 231 471 q 292 550 261 516 q 354 606 323 583 q 413 639 385 628 q 466 651 441 651 q 526 643 498 651 q 573 616 553 635 q 605 567 593 598 q 617 491 617 537 l 616 477 q 675 552 645 520 q 736 606 706 584 q 795 639 766 628 q 849 651 824 651 q 909 642 881 651 q 956 615 936 633 q 988 568 976 596 q 1000 502 1000 540 l 1000 70 q 1021 51 1000 61 q 1095 29 1042 42 l 1095 0 l 803 0 m 537 710 q 515 717 524 712 q 498 729 505 722 l 657 1010 q 678 1007 665 1009 q 706 1003 691 1005 q 734 999 720 1001 q 755 994 748 996 l 771 967 l 537 710 "},"Ṇ":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 519 -189 q 513 -225 519 -208 q 496 -254 507 -242 q 471 -274 485 -267 q 440 -282 457 -282 q 396 -265 409 -282 q 383 -217 383 -248 q 389 -181 383 -198 q 406 -151 395 -164 q 431 -132 417 -139 q 461 -125 445 -125 q 519 -189 519 -125 "},".":{"x_min":89,"x_max":250,"ha":318,"o":"m 250 83 q 242 39 250 59 q 223 4 235 19 q 193 -18 210 -10 q 156 -27 176 -27 q 104 -7 120 -27 q 89 48 89 12 q 96 91 89 71 q 116 127 103 111 q 146 151 129 142 q 183 160 164 160 q 233 140 216 160 q 250 83 250 120 "},"Ẉ":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 m 652 -189 q 646 -225 652 -208 q 629 -254 640 -242 q 604 -274 618 -267 q 573 -282 590 -282 q 529 -265 542 -282 q 516 -217 516 -248 q 522 -181 516 -198 q 539 -151 528 -164 q 564 -132 550 -139 q 594 -125 578 -125 q 652 -189 652 -125 "},"ṣ":{"x_min":64.5,"x_max":474,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 337 -189 q 331 -225 337 -208 q 314 -254 325 -242 q 289 -274 304 -267 q 258 -282 275 -282 q 214 -265 228 -282 q 201 -217 201 -248 q 207 -181 201 -198 q 224 -151 213 -164 q 249 -132 235 -139 q 279 -125 263 -125 q 337 -189 337 -125 "},"Ǎ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 442 943 l 370 943 l 191 1151 q 199 1162 196 1157 q 205 1170 202 1167 q 212 1176 208 1174 q 221 1183 216 1179 l 408 1039 l 591 1183 q 607 1170 602 1176 q 620 1151 612 1164 l 442 943 "},"ʊ":{"x_min":40.828125,"x_max":617.3125,"ha":659,"o":"m 617 601 q 543 580 574 590 q 518 570 530 575 q 499 559 507 565 q 489 548 491 554 q 492 538 486 542 q 543 483 522 511 q 575 424 563 454 q 593 361 588 393 q 599 294 599 329 q 590 227 599 262 q 566 156 582 191 q 527 89 550 121 q 471 33 503 57 q 401 -5 440 9 q 315 -20 362 -20 q 195 4 245 -20 q 113 68 145 28 q 66 161 81 108 q 51 270 51 213 q 75 414 51 346 q 163 538 100 481 q 167 548 169 543 q 157 560 165 554 q 138 570 150 565 q 114 580 127 576 q 40 601 83 591 l 40 631 l 275 631 l 287 568 q 230 516 255 544 q 187 455 205 488 q 161 381 170 422 q 153 290 153 341 q 168 203 153 245 q 211 127 184 160 q 273 74 238 94 q 348 55 309 55 q 417 74 387 55 q 467 123 447 93 q 497 189 487 153 q 507 260 507 225 q 497 358 507 311 q 470 446 488 406 q 427 517 452 486 q 369 568 401 549 l 382 631 l 617 631 l 617 601 "},"‘":{"x_min":62,"x_max":259.5,"ha":318,"o":"m 259 712 q 233 693 253 704 q 189 672 213 681 q 144 656 166 662 q 109 651 121 650 q 74 694 86 671 q 62 757 62 717 q 71 814 62 784 q 97 875 80 845 q 141 934 115 906 q 199 983 167 961 l 228 959 q 203 925 214 944 q 185 888 193 907 q 175 851 178 869 q 172 818 172 833 q 190 766 172 788 q 248 742 208 744 l 259 712 "},"π":{"x_min":13.453125,"x_max":718.125,"ha":731,"o":"m 709 74 q 649 26 674 45 q 603 -2 623 8 q 567 -16 583 -12 q 536 -21 551 -21 q 495 -6 512 -21 q 465 33 477 7 q 447 97 453 59 q 442 181 442 134 q 443 233 442 202 q 447 307 444 264 q 454 405 450 350 q 465 532 458 460 q 370 534 416 532 q 268 537 324 535 q 259 374 262 459 q 256 203 256 290 q 257 112 256 154 q 263 33 259 70 q 233 19 253 27 q 191 4 214 11 q 145 -10 168 -3 q 107 -22 122 -17 q 102 -15 105 -19 q 96 -7 99 -11 q 88 2 92 -3 q 119 51 106 28 q 143 101 133 74 q 161 164 153 128 q 175 250 168 199 q 188 371 182 301 q 202 538 194 441 l 167 538 q 128 536 145 538 q 95 530 111 534 q 63 517 79 525 q 29 495 48 508 l 13 519 q 52 563 33 543 q 90 599 71 584 q 129 622 109 614 q 170 631 149 631 l 600 631 q 653 633 629 631 q 699 651 678 636 l 718 631 q 647 556 682 582 q 579 530 611 530 l 535 530 q 527 419 529 475 q 525 310 525 363 q 528 204 525 248 q 538 131 531 160 q 557 90 546 103 q 584 77 569 77 q 604 78 594 77 q 626 82 614 79 q 655 90 638 85 q 694 104 671 95 l 709 74 "},"∅":{"x_min":54,"x_max":862,"ha":916,"o":"m 774 426 q 752 561 774 498 q 692 675 731 625 l 277 121 q 361 71 316 88 q 458 54 407 54 q 581 83 523 54 q 681 163 638 112 q 749 282 724 214 q 774 426 774 350 m 142 426 q 163 291 142 354 q 223 177 184 227 l 637 732 q 553 782 598 764 q 457 800 508 800 q 334 770 392 800 q 234 690 277 741 q 166 571 191 639 q 142 426 142 502 m 54 427 q 68 546 54 489 q 109 653 83 603 q 172 743 135 702 q 254 813 209 784 q 351 859 299 843 q 458 875 402 875 q 579 854 521 875 q 685 796 636 833 l 756 891 q 798 910 775 902 q 842 924 821 918 l 862 901 l 743 743 q 830 600 798 681 q 862 427 862 520 q 830 253 862 334 q 743 111 798 171 q 614 15 688 50 q 458 -20 541 -20 q 336 0 394 -20 q 230 58 279 21 l 160 -35 q 143 -45 154 -40 q 119 -55 132 -50 q 93 -63 106 -59 q 73 -70 81 -67 l 54 -47 l 172 110 q 85 253 117 172 q 54 427 54 334 "},"Ỏ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 531 1121 q 518 1088 531 1103 q 489 1060 506 1073 q 456 1034 472 1046 q 433 1010 440 1023 q 432 984 425 997 q 467 953 438 970 q 446 945 457 947 q 425 943 435 944 q 380 970 394 957 q 362 993 365 982 q 366 1014 359 1004 q 384 1032 372 1023 q 409 1050 395 1041 q 436 1068 424 1059 q 456 1088 448 1078 q 465 1111 465 1099 q 452 1150 465 1137 q 420 1163 439 1163 q 401 1159 409 1163 q 386 1149 393 1155 q 377 1135 380 1143 q 374 1120 374 1128 q 375 1113 374 1117 q 379 1106 377 1110 q 365 1102 374 1104 q 347 1097 357 1099 q 328 1094 337 1095 q 311 1091 318 1092 l 304 1099 l 304 1108 q 317 1139 304 1124 q 350 1167 330 1155 q 394 1188 370 1180 q 442 1196 418 1196 q 508 1175 485 1196 q 531 1121 531 1155 "},"Ớ":{"x_min":48,"x_max":828,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 410 797 448 797 q 301 771 349 797 q 221 698 254 746 q 170 584 188 651 q 153 434 153 517 q 173 290 153 358 q 229 171 194 223 q 310 90 264 120 q 410 61 357 61 q 513 84 466 61 q 594 153 560 107 q 648 268 629 200 q 667 426 667 337 m 828 944 q 820 906 828 927 q 794 861 812 885 q 745 812 776 837 q 667 761 714 786 q 745 614 719 698 q 772 439 772 529 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 390 -20 467 -20 q 245 15 309 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 542 853 492 875 q 634 796 593 832 q 693 846 675 821 q 711 889 711 871 q 700 926 711 908 q 671 959 690 944 l 792 1014 q 818 981 808 999 q 828 944 828 963 m 327 927 q 310 938 316 931 q 297 957 305 944 l 559 1173 q 577 1162 566 1168 q 601 1148 589 1156 q 623 1134 613 1141 q 639 1122 634 1128 l 645 1092 l 327 927 "},"Ṗ":{"x_min":27.5625,"x_max":666,"ha":726,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 82 800 106 803 q 33 792 57 796 l 27 834 q 98 850 60 843 q 178 863 136 858 q 261 871 219 868 q 345 875 304 875 q 478 859 419 875 q 578 813 537 843 q 643 738 620 782 q 666 634 666 693 q 652 549 666 588 q 617 480 639 510 q 566 428 595 450 q 507 391 538 406 q 445 370 476 377 q 388 363 414 363 q 279 383 324 363 l 263 434 q 318 417 292 421 q 368 414 344 414 q 433 426 399 414 q 495 462 467 438 q 542 523 524 487 q 561 607 561 559 q 541 702 561 662 q 486 768 521 742 q 405 805 451 793 q 307 818 359 818 q 273 817 290 818 q 241 817 257 817 l 241 70 q 246 61 241 66 q 265 51 251 57 q 301 40 278 46 q 359 29 324 35 l 359 0 l 33 0 m 414 1045 q 408 1009 414 1026 q 392 980 402 992 q 367 960 381 967 q 335 953 352 953 q 292 969 305 953 q 278 1018 278 986 q 284 1053 278 1036 q 301 1083 291 1070 q 326 1102 312 1095 q 357 1110 340 1110 q 414 1045 414 1110 "},"9":{"x_min":68,"x_max":590,"ha":652,"o":"m 326 377 q 412 403 373 377 q 481 471 452 429 q 463 612 479 555 q 424 703 447 669 q 371 751 400 737 q 315 766 342 766 q 254 752 281 766 q 208 713 226 738 q 179 654 189 688 q 170 580 170 620 q 185 478 170 518 q 223 416 200 439 q 274 385 246 393 q 326 377 301 377 m 590 495 q 562 304 590 392 q 477 147 534 215 q 333 33 420 79 q 128 -29 246 -12 l 116 11 q 272 70 206 33 q 381 155 337 106 q 447 263 424 203 q 478 391 471 323 q 438 354 459 371 q 392 326 416 337 q 344 308 369 314 q 297 302 320 302 q 200 319 242 302 q 128 369 158 337 q 83 444 99 401 q 68 539 68 488 q 77 608 68 572 q 103 677 86 644 q 145 739 120 710 q 200 790 170 768 q 267 824 231 811 q 343 837 303 837 q 435 817 390 837 q 514 756 479 797 q 569 649 548 714 q 590 495 590 585 "},"Ṟ":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 m 581 -155 q 577 -172 580 -162 q 569 -192 573 -182 q 561 -211 565 -201 q 555 -227 558 -220 l 138 -227 l 123 -210 q 128 -193 124 -202 q 135 -173 131 -183 q 143 -154 139 -164 q 151 -139 147 -145 l 566 -139 l 581 -155 "},"l":{"x_min":40.265625,"x_max":345.734375,"ha":376,"o":"m 40 0 l 40 29 q 89 38 69 33 q 120 49 108 44 q 136 59 131 54 q 142 70 142 65 l 142 878 q 137 926 142 909 q 123 951 133 943 q 93 963 112 960 q 47 969 75 966 l 47 996 q 136 1017 95 1006 q 219 1051 177 1029 l 244 1027 l 244 70 q 267 49 244 60 q 345 29 290 38 l 345 0 l 40 0 "},"Ẫ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 620 957 q 607 938 612 944 q 591 927 602 932 l 405 1068 l 221 927 q 212 932 216 929 q 205 938 208 935 q 199 946 202 941 q 191 957 196 951 l 370 1167 l 442 1167 l 620 957 m 637 1374 q 608 1319 625 1346 q 570 1270 591 1292 q 525 1234 550 1248 q 474 1221 501 1221 q 429 1233 451 1221 q 387 1259 408 1245 q 347 1286 367 1274 q 307 1298 327 1298 q 258 1276 280 1298 q 210 1216 236 1254 l 174 1229 q 203 1285 187 1257 q 241 1334 220 1312 q 286 1369 262 1356 q 337 1383 310 1383 q 385 1371 362 1383 q 429 1344 408 1359 q 467 1318 449 1330 q 502 1306 486 1306 q 553 1327 528 1306 q 600 1389 577 1349 l 637 1374 "},"Ȭ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 648 1103 q 619 1047 636 1075 q 581 998 602 1020 q 536 963 560 977 q 485 950 512 950 q 440 961 461 950 q 398 988 419 973 q 358 1015 378 1003 q 318 1027 338 1027 q 269 1005 291 1027 q 221 945 246 982 l 185 958 q 214 1013 198 986 q 252 1063 231 1041 q 297 1098 273 1084 q 347 1112 321 1112 q 396 1100 373 1112 q 440 1073 419 1088 q 478 1046 460 1058 q 513 1035 497 1035 q 563 1056 539 1035 q 611 1118 588 1078 l 648 1103 m 653 1275 q 648 1258 651 1268 q 640 1238 644 1248 q 633 1219 636 1229 q 626 1204 629 1210 l 209 1204 l 194 1220 q 199 1237 196 1228 q 206 1257 202 1247 q 214 1276 210 1267 q 222 1292 219 1285 l 638 1292 l 653 1275 "},"Ü":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 662 1045 q 656 1009 662 1026 q 639 980 650 992 q 614 960 629 967 q 583 953 600 953 q 539 969 552 953 q 526 1018 526 986 q 532 1053 526 1036 q 549 1083 538 1070 q 574 1102 560 1095 q 604 1110 588 1110 q 662 1045 662 1110 m 391 1045 q 385 1009 391 1026 q 368 980 379 992 q 343 960 358 967 q 312 953 329 953 q 268 969 281 953 q 255 1018 255 986 q 261 1053 255 1036 q 278 1083 267 1070 q 303 1102 289 1095 q 333 1110 317 1110 q 391 1045 391 1110 "},"à":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 402 731 q 385 718 394 722 q 364 710 376 713 l 126 965 l 141 993 q 161 998 147 995 q 188 1003 174 1000 q 217 1007 203 1005 q 240 1010 231 1009 l 402 731 "},"Ś":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 249 927 q 232 938 238 931 q 219 957 227 944 l 481 1173 q 499 1162 488 1168 q 523 1148 511 1156 q 545 1134 535 1141 q 561 1122 556 1128 l 567 1092 l 249 927 "},"ó":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 333 710 q 311 717 321 712 q 295 729 302 722 l 453 1010 q 475 1007 461 1009 q 502 1003 488 1005 q 531 999 517 1001 q 552 994 544 996 l 567 967 l 333 710 "},"ǟ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 528 854 q 522 818 528 835 q 506 789 516 801 q 481 769 495 776 q 449 762 466 762 q 406 778 419 762 q 392 826 392 795 q 398 862 392 845 q 415 892 405 879 q 440 911 426 904 q 471 919 454 919 q 528 854 528 919 m 257 854 q 251 818 257 835 q 235 789 245 801 q 210 769 224 776 q 178 762 195 762 q 135 778 148 762 q 121 826 121 795 q 127 862 121 845 q 144 892 134 879 q 169 911 155 904 q 200 919 183 919 q 257 854 257 919 m 561 1112 q 556 1095 560 1105 q 549 1076 553 1085 q 541 1056 545 1066 q 535 1041 537 1047 l 118 1041 l 103 1058 q 107 1075 104 1065 q 115 1094 111 1084 q 123 1113 119 1104 q 130 1129 127 1122 l 546 1129 l 561 1112 "},"ẍ":{"x_min":13.5625,"x_max":689.078125,"ha":699,"o":"m 416 0 l 416 29 q 448 33 433 30 q 471 41 463 35 q 480 59 480 48 q 466 88 480 70 l 332 271 l 204 88 q 193 59 191 70 q 208 41 196 48 q 237 33 219 35 q 270 29 254 30 l 270 0 l 13 0 l 13 29 q 59 39 40 33 q 91 54 78 45 q 114 72 105 62 q 130 92 123 82 l 295 322 l 136 540 q 118 563 127 553 q 97 581 109 574 q 66 594 84 589 q 21 602 48 599 l 21 631 l 305 631 l 305 602 q 269 596 284 599 q 246 586 254 592 q 239 569 238 579 q 252 542 240 558 l 362 391 l 466 542 q 480 569 478 558 q 474 586 481 580 q 452 596 467 593 q 416 602 437 599 l 416 631 l 674 631 l 674 602 q 589 581 619 597 q 541 540 559 566 l 399 340 l 580 92 q 598 72 588 82 q 620 54 607 62 q 649 38 632 45 q 689 29 666 31 l 689 0 l 416 0 m 554 854 q 548 818 554 835 q 531 789 542 801 q 507 769 521 776 q 475 762 492 762 q 431 778 445 762 q 418 826 418 795 q 424 862 418 845 q 441 892 430 879 q 466 911 452 904 q 496 919 480 919 q 554 854 554 919 m 283 854 q 277 818 283 835 q 260 789 271 801 q 236 769 250 776 q 204 762 221 762 q 160 778 174 762 q 147 826 147 795 q 153 862 147 845 q 170 892 159 879 q 195 911 181 904 q 225 919 209 919 q 283 854 283 919 "},"¦":{"x_min":118,"x_max":221,"ha":318,"o":"m 221 -239 q 204 -250 214 -245 q 183 -260 194 -255 q 162 -268 172 -264 q 143 -275 151 -272 l 118 -259 l 118 332 q 156 352 137 343 q 195 367 174 360 l 221 350 l 221 -239 m 221 520 q 204 510 214 515 q 183 500 194 504 q 162 492 172 496 q 143 485 151 488 l 118 500 l 118 1099 q 156 1119 137 1111 q 195 1133 174 1127 l 221 1118 l 221 520 "},"Ʃ":{"x_min":40.015625,"x_max":684.328125,"ha":722,"o":"m 684 234 q 680 173 682 206 q 675 107 678 140 l 670 46 q 666 0 668 18 l 61 0 l 40 29 l 336 430 l 54 825 l 54 855 l 511 855 q 582 856 549 855 q 655 865 615 857 l 658 660 l 620 652 q 596 729 608 702 q 572 769 583 756 q 550 783 560 781 q 529 786 539 786 l 210 786 l 442 456 l 173 95 l 548 95 q 582 101 569 95 q 607 124 596 107 q 626 168 617 140 q 648 242 636 197 l 684 234 "},"̛":{"x_min":-219.578125,"x_max":48,"ha":47,"o":"m 48 707 q 36 660 48 687 q -4 603 24 633 q -82 541 -32 572 q -207 482 -131 510 l -219 524 q -151 556 -179 538 q -104 590 -122 573 q -77 624 -85 608 q -69 652 -69 640 q -79 689 -69 671 q -108 722 -89 707 l 12 777 q 38 744 28 762 q 48 707 48 726 "},"Ẕ":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 m 592 -155 q 587 -172 590 -162 q 579 -192 583 -182 q 572 -211 575 -201 q 565 -227 568 -220 l 148 -227 l 133 -210 q 138 -193 134 -202 q 145 -173 141 -183 q 153 -154 149 -164 q 161 -139 158 -145 l 577 -139 l 592 -155 "},"Ỷ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 523 1121 q 511 1088 523 1103 q 481 1060 498 1073 q 449 1034 465 1046 q 425 1010 433 1023 q 424 984 418 997 q 459 953 431 970 q 438 945 449 947 q 417 943 428 944 q 372 970 387 957 q 355 993 358 982 q 358 1014 352 1004 q 376 1032 365 1023 q 402 1050 388 1041 q 428 1068 416 1059 q 449 1088 441 1078 q 457 1111 457 1099 q 445 1150 457 1137 q 412 1163 432 1163 q 394 1159 402 1163 q 379 1149 385 1155 q 370 1135 373 1143 q 366 1120 366 1128 q 368 1113 366 1117 q 372 1106 370 1110 q 358 1102 366 1104 q 339 1097 349 1099 q 320 1094 330 1095 q 304 1091 311 1092 l 296 1099 l 296 1108 q 309 1139 296 1124 q 342 1167 322 1155 q 387 1188 362 1180 q 435 1196 411 1196 q 500 1175 477 1196 q 523 1121 523 1155 "},"Ő":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 306 927 q 288 933 295 929 q 267 945 281 937 l 387 1227 q 406 1223 395 1225 q 428 1219 417 1222 q 450 1215 440 1217 q 467 1210 461 1212 l 482 1182 l 306 927 m 503 927 q 484 933 491 929 q 465 945 477 937 l 584 1227 q 603 1223 592 1225 q 625 1219 614 1222 q 647 1215 636 1217 q 665 1210 657 1212 l 680 1182 l 503 927 "},"ṭ":{"x_min":13.265625,"x_max":458.453125,"ha":478,"o":"m 458 79 q 392 36 425 55 q 330 5 360 17 q 276 -13 301 -7 q 233 -20 250 -20 q 188 -11 209 -20 q 150 17 166 -2 q 124 70 134 37 q 115 150 115 102 l 115 567 l 27 567 l 13 585 l 66 631 l 115 631 l 115 797 l 195 868 l 217 851 l 217 631 l 438 631 l 458 611 q 443 591 452 602 q 424 571 434 580 q 405 553 415 561 q 389 543 396 545 q 340 559 373 551 q 252 567 307 567 l 217 567 l 217 208 q 220 140 217 167 q 233 97 224 113 q 256 74 242 81 q 290 68 269 68 q 349 77 313 68 q 438 114 385 86 l 458 79 m 304 -189 q 298 -225 304 -208 q 281 -254 292 -242 q 256 -274 271 -267 q 225 -282 242 -282 q 181 -265 194 -282 q 168 -217 168 -248 q 174 -181 168 -198 q 191 -151 180 -164 q 216 -132 202 -139 q 246 -125 230 -125 q 304 -189 304 -125 "},"Ṕ":{"x_min":27.5625,"x_max":666,"ha":726,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 82 800 106 803 q 33 792 57 796 l 27 834 q 98 850 60 843 q 178 863 136 858 q 261 871 219 868 q 345 875 304 875 q 478 859 419 875 q 578 813 537 843 q 643 738 620 782 q 666 634 666 693 q 652 549 666 588 q 617 480 639 510 q 566 428 595 450 q 507 391 538 406 q 445 370 476 377 q 388 363 414 363 q 279 383 324 363 l 263 434 q 318 417 292 421 q 368 414 344 414 q 433 426 399 414 q 495 462 467 438 q 542 523 524 487 q 561 607 561 559 q 541 702 561 662 q 486 768 521 742 q 405 805 451 793 q 307 818 359 818 q 273 817 290 818 q 241 817 257 817 l 241 70 q 246 61 241 66 q 265 51 251 57 q 301 40 278 46 q 359 29 324 35 l 359 0 l 33 0 m 257 927 q 240 938 245 931 q 226 957 235 944 l 489 1173 q 507 1162 495 1168 q 531 1148 518 1156 q 553 1134 543 1141 q 569 1122 563 1128 l 575 1092 l 257 927 "},"Ž":{"x_min":40.015625,"x_max":672.125,"ha":726,"o":"m 672 198 q 669 150 670 177 q 667 97 668 124 q 665 45 666 70 q 663 0 664 19 l 59 0 l 40 30 l 522 787 l 210 787 q 187 779 200 787 q 162 755 174 772 q 139 714 149 739 q 120 653 128 688 l 82 661 l 101 865 q 135 859 120 861 q 165 855 150 856 q 195 855 179 855 l 648 855 l 665 825 l 187 68 l 541 68 q 567 74 556 68 q 589 96 579 80 q 611 139 600 112 q 634 208 621 166 l 672 198 m 413 943 l 340 943 l 161 1151 q 169 1162 166 1157 q 175 1170 172 1167 q 182 1176 179 1174 q 191 1183 186 1179 l 378 1039 l 561 1183 q 577 1170 573 1176 q 590 1151 582 1164 l 413 943 "},"ƪ":{"x_min":20,"x_max":663.4375,"ha":479,"o":"m 182 823 q 211 828 198 823 q 235 840 224 833 q 255 857 246 848 q 270 875 263 867 q 178 987 249 987 q 150 980 163 987 q 126 961 136 973 q 110 935 116 950 q 105 905 105 920 q 111 871 105 886 q 128 845 117 856 q 153 829 139 835 q 182 823 167 823 m 20 869 q 35 931 20 899 q 79 990 51 963 q 145 1033 107 1016 q 228 1051 183 1051 q 300 1031 270 1051 q 349 979 329 1011 q 377 904 368 946 q 387 818 387 862 q 382 608 387 715 q 371 397 377 501 q 360 196 365 294 q 356 13 356 98 q 364 -122 356 -67 q 387 -211 372 -178 q 424 -260 402 -245 q 472 -275 445 -275 q 508 -265 492 -275 q 533 -241 524 -256 q 544 -210 543 -227 q 537 -179 546 -193 q 549 -168 535 -176 q 581 -151 562 -159 q 620 -137 600 -143 q 650 -133 640 -131 l 663 -159 q 646 -216 665 -185 q 595 -275 627 -247 q 519 -320 562 -302 q 429 -339 476 -339 q 348 -317 383 -339 q 291 -255 314 -295 q 258 -157 269 -214 q 247 -26 247 -99 q 251 178 247 73 q 262 386 256 283 q 273 588 268 489 q 278 777 278 688 q 277 790 278 784 q 277 804 277 797 q 212 755 246 770 q 144 741 178 741 q 91 750 114 741 q 52 777 68 760 q 28 818 36 795 q 20 869 20 842 "},"Î":{"x_min":-14.921875,"x_max":414.40625,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 414 957 q 401 938 406 944 q 385 927 396 932 l 199 1068 l 15 927 q 6 932 10 929 q 0 938 2 935 q -6 946 -3 941 q -14 957 -10 951 l 164 1167 l 236 1167 l 414 957 "},"e":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 "},"Ề":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 554 957 q 541 938 546 944 q 525 927 537 932 l 339 1068 l 156 927 q 146 932 150 929 q 140 938 143 935 q 133 946 137 941 q 125 957 130 951 l 304 1167 l 377 1167 l 554 957 m 460 1228 q 445 1209 451 1216 q 430 1198 440 1203 l 111 1363 l 117 1394 q 132 1406 122 1399 q 155 1420 143 1413 q 179 1433 167 1427 q 198 1444 190 1440 l 460 1228 "},"Ĕ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 560 1139 q 515 1046 540 1084 q 461 985 489 1009 q 402 952 433 962 q 341 942 372 942 q 277 952 308 942 q 218 985 246 962 q 165 1046 189 1009 q 120 1139 140 1084 q 136 1158 128 1151 q 155 1170 144 1164 q 194 1104 172 1131 q 241 1062 217 1078 q 291 1039 265 1046 q 339 1032 316 1032 q 388 1039 362 1032 q 439 1062 415 1046 q 486 1104 464 1078 q 524 1170 508 1131 q 544 1158 536 1164 q 560 1139 552 1151 "},"ị":{"x_min":47.046875,"x_max":338.953125,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 264 854 q 257 818 264 835 q 241 789 251 801 q 216 769 230 776 q 185 762 202 762 q 141 778 154 762 q 128 826 128 795 q 134 862 128 845 q 151 892 140 879 q 176 911 162 904 q 206 919 190 919 q 264 854 264 919 m 261 -189 q 255 -225 261 -208 q 238 -254 249 -242 q 213 -274 228 -267 q 182 -282 199 -282 q 138 -265 152 -282 q 125 -217 125 -248 q 131 -181 125 -198 q 148 -151 137 -164 q 173 -132 159 -139 q 203 -125 187 -125 q 261 -189 261 -125 "},"Ṃ":{"x_min":40.6875,"x_max":1064.8125,"ha":1120,"o":"m 1051 825 q 1007 819 1031 825 q 959 801 983 812 l 966 70 q 991 50 966 62 q 1064 29 1015 38 l 1064 0 l 756 0 l 756 29 q 831 49 802 38 q 861 70 861 61 l 855 705 l 558 0 l 524 0 l 223 700 l 217 70 q 241 50 217 62 q 315 29 266 38 l 315 0 l 40 0 l 40 29 q 113 49 87 38 q 139 70 139 61 l 145 798 q 93 819 120 813 q 47 825 67 825 l 47 855 l 241 855 q 252 852 248 855 q 262 844 257 850 q 271 827 266 838 q 284 798 276 816 l 554 185 l 813 798 q 828 829 822 818 q 837 846 833 841 q 846 853 842 852 q 857 855 851 855 l 1051 855 l 1051 825 m 621 -189 q 614 -225 621 -208 q 598 -254 608 -242 q 573 -274 587 -267 q 542 -282 559 -282 q 498 -265 511 -282 q 485 -217 485 -248 q 491 -181 485 -198 q 508 -151 497 -164 q 532 -132 519 -139 q 563 -125 546 -125 q 621 -189 621 -125 "},"◌":{"x_min":50.859375,"x_max":672.125,"ha":723,"o":"m 330 588 q 339 611 330 602 q 361 621 348 621 q 384 611 375 621 q 394 588 394 602 q 384 565 394 574 q 361 556 375 556 q 339 565 348 556 q 330 588 330 574 m 330 31 q 339 54 330 45 q 361 64 348 64 q 384 54 375 64 q 394 31 394 45 q 384 9 394 18 q 361 0 375 0 q 339 9 348 0 q 330 31 330 18 m 438 579 q 450 594 442 589 q 467 600 458 600 q 490 589 481 600 q 500 566 500 579 q 489 544 500 553 q 467 535 479 535 q 445 545 454 535 q 436 568 436 555 q 438 579 436 573 m 225 64 q 238 79 229 74 q 256 85 248 85 q 278 74 269 85 q 288 52 288 64 q 277 30 288 39 q 255 21 267 21 q 232 31 241 21 q 223 52 223 41 q 223 58 223 56 q 225 64 224 61 m 535 530 q 558 540 546 540 q 580 530 571 540 q 590 507 590 521 q 580 484 590 493 q 558 475 571 475 q 536 485 545 475 q 527 507 527 495 q 535 530 527 520 m 141 135 q 163 146 151 146 q 187 136 177 146 q 197 113 197 127 q 187 90 197 100 q 164 81 178 81 q 141 90 151 81 q 132 113 132 100 q 141 135 132 126 m 606 447 q 612 449 609 448 q 618 450 615 450 q 640 440 630 450 q 651 417 651 431 q 641 395 651 405 q 617 385 632 385 q 596 394 605 385 q 587 416 587 403 q 592 434 587 426 q 606 447 597 443 m 91 233 q 104 236 97 236 q 127 227 118 236 q 137 204 137 218 q 127 181 137 191 q 104 171 118 171 q 81 180 91 171 q 72 204 72 190 q 77 221 72 214 q 91 233 82 229 m 639 343 q 662 333 653 343 q 672 310 672 324 q 662 288 672 297 q 640 279 653 279 l 637 279 q 616 288 625 279 q 607 309 607 297 q 617 332 607 323 q 639 343 627 341 m 82 342 q 105 332 95 342 q 115 311 115 323 q 105 287 115 297 q 83 278 95 278 l 82 278 q 59 287 68 278 q 50 310 50 297 q 60 332 50 323 q 82 342 69 342 m 630 233 q 645 221 640 229 q 651 204 651 213 q 641 181 651 190 q 618 172 631 172 q 594 181 602 172 q 586 204 586 191 q 596 227 586 219 q 619 236 606 236 q 630 233 625 236 m 116 447 q 131 434 125 443 q 137 416 137 425 q 126 393 137 402 q 103 385 116 385 q 80 395 89 385 q 72 417 72 405 q 81 440 72 431 q 103 450 91 450 q 109 449 107 450 q 116 447 112 448 m 581 137 q 591 114 591 127 q 581 91 591 101 q 558 82 572 82 q 535 91 544 82 q 526 114 526 101 q 534 136 526 127 q 557 146 543 146 q 581 137 570 146 m 186 530 q 197 508 197 521 q 188 484 197 493 q 164 476 179 476 q 141 485 151 476 q 132 506 132 494 q 141 530 132 520 q 164 540 151 540 q 186 530 177 540 m 497 65 q 499 59 498 62 q 500 53 500 56 q 490 31 500 41 q 467 21 481 21 q 445 30 455 21 q 435 54 435 39 q 443 75 435 65 q 465 86 452 86 q 483 80 474 86 q 497 65 492 75 m 284 580 q 287 567 287 574 q 278 544 287 554 q 256 535 270 535 q 233 544 243 535 q 223 567 223 553 q 232 589 223 579 q 256 600 242 600 q 272 594 265 600 q 284 580 280 589 "},"ò":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 440 731 q 422 718 431 722 q 402 710 413 713 l 163 965 l 178 993 q 198 998 185 995 q 226 1003 211 1000 q 255 1007 240 1005 q 277 1010 269 1009 l 440 731 "},"^":{"x_min":67.828125,"x_max":615.140625,"ha":684,"o":"m 615 430 q 582 404 598 414 q 543 383 566 393 l 518 401 l 326 891 l 156 430 q 139 416 149 423 q 120 403 130 409 q 100 391 109 396 q 83 383 90 386 l 67 401 l 286 991 q 306 1007 294 999 q 330 1024 318 1016 q 354 1039 342 1032 q 376 1051 366 1046 l 615 430 "},"∙":{"x_min":34,"x_max":170,"ha":203,"o":"m 170 488 q 163 452 170 469 q 147 423 157 435 q 122 403 136 410 q 91 396 108 396 q 47 412 60 396 q 34 460 34 429 q 40 496 34 479 q 57 526 46 513 q 81 545 68 538 q 112 553 95 553 q 170 488 170 553 "},"ǘ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 572 854 q 566 818 572 835 q 550 789 560 801 q 525 769 539 776 q 494 762 511 762 q 450 778 463 762 q 436 826 436 795 q 443 862 436 845 q 460 892 449 879 q 484 911 470 904 q 515 919 498 919 q 572 854 572 919 m 301 854 q 295 818 301 835 q 279 789 289 801 q 254 769 268 776 q 223 762 240 762 q 179 778 192 762 q 165 826 165 795 q 172 862 165 845 q 189 892 178 879 q 213 911 199 904 q 244 919 227 919 q 301 854 301 919 m 340 954 q 318 961 328 956 q 301 973 309 967 l 460 1254 q 481 1251 468 1253 q 509 1248 495 1250 q 537 1243 524 1246 q 558 1238 551 1240 l 574 1212 l 340 954 "},"ṉ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 620 -155 q 615 -172 619 -162 q 608 -192 612 -182 q 600 -211 604 -201 q 594 -227 596 -220 l 177 -227 l 162 -210 q 166 -193 163 -202 q 174 -173 170 -183 q 182 -154 178 -164 q 189 -139 186 -145 l 605 -139 l 620 -155 "},"ū":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 605 868 q 600 851 604 861 q 593 831 597 841 q 585 812 589 822 q 579 797 581 803 l 162 797 l 147 813 q 151 830 148 821 q 159 850 155 840 q 167 869 163 859 q 174 885 171 878 l 590 885 l 605 868 "},"ˆ":{"x_min":33.234375,"x_max":462.546875,"ha":497,"o":"m 462 740 q 449 721 454 727 q 433 710 444 715 l 247 891 l 63 710 q 54 715 58 712 q 47 721 50 718 q 41 729 44 724 q 33 740 37 734 l 212 998 l 284 998 l 462 740 "},"Ẅ":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 m 787 1045 q 781 1009 787 1026 q 764 980 775 992 q 739 960 753 967 q 708 953 725 953 q 664 969 677 953 q 651 1018 651 986 q 657 1053 651 1036 q 674 1083 663 1070 q 699 1102 685 1095 q 729 1110 713 1110 q 787 1045 787 1110 m 516 1045 q 510 1009 516 1026 q 493 980 504 992 q 468 960 482 967 q 437 953 454 953 q 393 969 406 953 q 380 1018 380 986 q 386 1053 380 1036 q 403 1083 392 1070 q 428 1102 414 1095 q 458 1110 442 1110 q 516 1045 516 1110 "},"ȷ":{"x_min":-149.234375,"x_max":241,"ha":359,"o":"m 241 67 q 231 -65 241 -10 q 203 -158 221 -119 q 162 -223 186 -196 q 111 -271 139 -249 q 73 -297 93 -285 q 32 -319 52 -310 q -5 -333 12 -328 q -36 -339 -23 -339 q -77 -333 -57 -339 q -113 -321 -97 -328 q -139 -305 -129 -313 q -149 -291 -149 -297 q -139 -275 -149 -285 q -116 -253 -129 -264 q -87 -231 -102 -241 q -63 -216 -73 -221 q -18 -241 -41 -235 q 30 -247 4 -247 q 69 -234 50 -247 q 104 -190 88 -221 q 129 -106 120 -159 q 139 29 139 -52 l 139 454 q 137 510 139 489 q 126 542 135 531 q 98 560 117 554 q 44 569 79 565 l 44 596 q 94 607 72 601 q 136 620 116 613 q 175 634 156 626 q 215 651 194 642 l 241 651 l 241 67 "},"č":{"x_min":54,"x_max":569.71875,"ha":607,"o":"m 569 129 q 492 47 525 76 q 430 2 458 17 q 374 -16 401 -12 q 315 -20 347 -20 q 218 2 265 -20 q 134 65 171 24 q 76 166 98 106 q 54 301 54 226 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 433 186 480 q 156 322 156 385 q 173 217 156 264 q 219 137 190 170 q 285 85 248 103 q 364 68 323 68 q 399 69 383 68 q 435 80 415 71 q 479 106 454 89 q 543 156 505 124 l 569 129 m 368 726 l 296 726 l 117 968 q 125 979 122 974 q 131 987 128 984 q 138 993 134 991 q 147 1000 142 996 l 334 829 l 517 1000 q 533 987 529 993 q 546 968 538 981 l 368 726 "},"’":{"x_min":59.875,"x_max":256,"ha":318,"o":"m 256 878 q 246 821 256 852 q 220 760 237 790 q 177 701 202 729 q 119 653 152 673 l 89 676 q 114 709 103 690 q 132 747 124 728 q 142 784 139 766 q 146 816 146 802 q 127 869 146 846 q 70 894 109 892 l 59 924 q 85 943 65 933 q 128 963 105 954 q 174 980 152 973 q 209 986 197 986 q 243 941 231 964 q 256 878 256 917 "},"-":{"x_min":41.375,"x_max":426.609375,"ha":468,"o":"m 426 370 q 416 338 422 355 q 405 309 411 320 l 58 309 l 41 325 q 50 356 44 340 q 62 387 56 373 l 409 387 l 426 370 "},"Q":{"x_min":47,"x_max":869.4375,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 869 -79 q 836 -132 853 -109 q 802 -172 819 -156 q 772 -198 786 -189 q 747 -207 757 -207 q 664 -186 705 -207 q 582 -135 623 -165 q 501 -74 541 -106 q 420 -18 461 -41 q 389 -20 404 -20 q 252 14 315 -20 q 143 108 188 49 q 72 246 97 167 q 47 415 47 325 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 438 772 521 q 752 299 772 367 q 700 176 733 232 q 619 76 666 119 q 518 8 573 32 q 580 -28 549 -8 q 641 -66 611 -48 q 698 -96 670 -84 q 751 -109 726 -109 q 768 -106 759 -109 q 789 -97 777 -103 q 815 -81 800 -91 q 851 -56 830 -71 l 869 -79 "},"ě":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 382 726 l 309 726 l 130 968 q 139 979 135 974 q 145 987 142 984 q 152 993 148 991 q 161 1000 155 996 l 347 829 l 531 1000 q 547 987 542 993 q 560 968 552 981 l 382 726 "},"œ":{"x_min":54,"x_max":1047,"ha":1101,"o":"m 802 580 q 742 566 770 580 q 692 527 714 552 q 655 469 670 503 q 635 394 641 435 l 907 394 q 928 399 922 394 q 934 418 934 404 q 928 464 934 436 q 909 517 923 491 q 869 561 895 542 q 802 580 844 580 m 527 308 q 509 410 527 362 q 463 495 492 459 q 397 554 434 532 q 322 575 361 575 q 255 556 285 575 q 203 502 225 536 q 169 421 181 468 q 158 320 158 374 q 176 218 158 266 q 223 133 194 169 q 289 75 253 96 q 363 53 326 53 q 429 73 399 53 q 481 126 459 92 q 515 207 503 160 q 527 308 527 253 m 1047 378 q 1013 352 1033 364 q 971 332 992 340 l 631 332 q 645 231 631 279 q 684 148 659 184 q 744 91 709 112 q 823 70 779 70 q 860 72 842 70 q 901 83 879 74 q 951 111 923 93 q 1016 160 978 129 q 1032 147 1025 156 q 1042 133 1038 138 q 962 53 997 83 q 899 6 928 22 q 841 -14 869 -9 q 782 -20 814 -20 q 716 -10 748 -20 q 656 18 685 0 q 604 63 628 36 q 564 125 581 90 q 514 66 542 93 q 456 20 487 39 q 391 -9 425 1 q 322 -20 357 -20 q 215 4 264 -20 q 130 71 166 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 97 471 77 432 q 147 543 118 510 q 209 600 175 576 q 283 637 244 623 q 362 651 322 651 q 433 640 399 651 q 496 612 466 630 q 548 567 525 594 q 589 509 572 541 q 628 557 606 535 q 675 596 649 579 q 709 616 690 606 q 748 634 728 626 q 787 646 767 642 q 822 651 806 651 q 896 638 864 651 q 954 605 929 626 q 997 557 979 585 q 1026 499 1015 530 q 1041 437 1036 469 q 1047 378 1047 406 "},"Ộ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 485 -189 q 479 -225 485 -208 q 462 -254 473 -242 q 437 -274 452 -267 q 406 -282 423 -282 q 362 -265 375 -282 q 349 -217 349 -248 q 355 -181 349 -198 q 372 -151 361 -164 q 397 -132 383 -139 q 427 -125 411 -125 q 485 -189 485 -125 m 631 957 q 618 938 623 944 q 602 927 613 932 l 416 1068 l 232 927 q 223 932 227 929 q 216 938 219 935 q 210 946 213 941 q 202 957 206 951 l 381 1167 l 453 1167 l 631 957 "},"ṩ":{"x_min":64.5,"x_max":474,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 337 -189 q 331 -225 337 -208 q 314 -254 325 -242 q 289 -274 304 -267 q 258 -282 275 -282 q 214 -265 228 -282 q 201 -217 201 -248 q 207 -181 201 -198 q 224 -151 213 -164 q 249 -132 235 -139 q 279 -125 263 -125 q 337 -189 337 -125 m 337 854 q 331 818 337 835 q 314 789 325 801 q 289 769 304 776 q 258 762 275 762 q 214 778 228 762 q 201 826 201 795 q 207 862 201 845 q 224 892 213 879 q 249 911 235 904 q 279 919 263 919 q 337 854 337 919 "},"Ậ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 474 -189 q 468 -225 474 -208 q 451 -254 462 -242 q 426 -274 441 -267 q 395 -282 412 -282 q 351 -265 365 -282 q 338 -217 338 -248 q 344 -181 338 -198 q 361 -151 350 -164 q 386 -132 372 -139 q 416 -125 400 -125 q 474 -189 474 -125 m 620 957 q 607 938 612 944 q 591 927 602 932 l 405 1068 l 221 927 q 212 932 216 929 q 205 938 208 935 q 199 946 202 941 q 191 957 196 951 l 370 1167 l 442 1167 l 620 957 "},"":{"x_min":30.515625,"x_max":230.59375,"ha":231,"o":"m 230 0 l 230 -200 l 204 -200 l 204 -26 l 30 -26 l 30 0 l 230 0 "},"#":{"x_min":59,"x_max":666.015625,"ha":652,"o":"m 270 400 l 398 400 l 448 574 l 320 574 l 270 400 m 546 652 l 649 652 l 666 635 q 656 602 662 620 q 644 574 650 585 l 524 574 l 474 400 l 577 400 l 592 381 q 583 350 588 368 q 573 322 578 333 l 452 322 l 393 115 q 364 98 381 105 q 330 86 348 92 l 313 99 l 376 322 l 248 322 l 189 115 q 161 98 177 105 q 128 86 145 92 l 110 99 l 173 322 l 73 322 l 59 338 q 67 369 62 352 q 79 400 73 386 l 196 400 l 245 574 l 147 574 l 130 590 q 140 621 134 605 q 151 652 146 638 l 267 652 l 324 848 q 354 864 339 859 q 383 876 368 869 l 403 861 l 343 652 l 470 652 l 526 848 q 557 864 541 859 q 588 876 572 869 l 606 861 l 546 652 "},"Ǧ":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 m 470 943 l 398 943 l 219 1151 q 227 1162 223 1157 q 233 1170 230 1167 q 240 1176 236 1174 q 249 1183 244 1179 l 436 1039 l 619 1183 q 635 1170 630 1176 q 648 1151 640 1164 l 470 943 "},"ɂ":{"x_min":48,"x_max":502,"ha":556,"o":"m 101 0 l 101 29 q 217 70 217 49 l 217 180 q 230 247 217 219 q 264 296 244 274 q 308 335 284 318 q 352 369 332 352 q 386 407 372 387 q 400 454 400 427 q 388 510 400 485 q 357 552 376 535 q 313 578 338 569 q 260 587 288 587 q 217 578 236 587 q 185 554 198 569 q 165 519 172 539 q 159 479 159 500 q 161 459 159 469 q 167 439 163 449 q 121 422 145 428 q 67 414 98 417 l 49 434 q 48 445 48 439 l 48 456 q 71 535 48 499 q 131 596 94 570 q 217 636 169 622 q 313 651 264 651 q 390 638 355 651 q 450 602 425 625 q 488 549 474 580 q 502 484 502 519 q 488 422 502 448 q 454 376 474 396 q 410 340 434 356 q 366 304 386 323 q 332 263 346 286 q 319 206 319 240 l 319 70 q 348 49 319 60 q 434 29 378 38 l 434 0 l 101 0 "},"ꞌ":{"x_min":98.34375,"x_max":242.125,"ha":340,"o":"m 206 443 q 192 437 200 440 q 176 433 185 435 q 158 430 167 431 q 141 429 149 429 l 98 963 q 121 974 105 968 q 152 987 136 980 q 184 997 169 993 q 206 1004 198 1002 l 242 986 l 206 443 "},"Ⱡ":{"x_min":29.59375,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 60 l 132 296 l 44 296 l 29 312 q 36 334 32 323 q 44 357 40 346 l 132 357 l 132 432 l 44 432 l 29 448 q 36 470 32 459 q 44 493 40 482 l 132 493 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 493 l 403 493 l 420 477 l 403 432 l 241 432 l 241 357 l 403 357 l 420 341 l 403 296 l 241 296 l 241 111 q 246 89 241 98 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"Ɵ":{"x_min":47,"x_max":772,"ha":834,"o":"m 664 478 q 636 598 657 541 q 582 700 615 656 q 505 770 549 744 q 409 797 461 797 q 307 774 352 797 q 229 710 261 752 q 176 610 196 669 q 153 478 157 551 l 664 478 m 152 417 q 176 279 154 343 q 232 165 197 214 q 312 89 267 117 q 409 61 358 61 q 511 83 465 61 q 591 151 558 106 q 645 263 625 196 q 666 417 664 329 l 152 417 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 "},"Å":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 471 1060 q 467 1091 471 1076 q 455 1117 463 1106 q 437 1135 448 1128 q 413 1142 426 1142 q 386 1136 399 1142 q 363 1120 373 1130 q 347 1094 353 1109 q 341 1061 341 1079 q 345 1031 341 1045 q 357 1005 349 1016 q 375 987 364 994 q 399 981 386 981 q 426 986 413 981 q 449 1001 439 991 q 465 1026 459 1011 q 471 1060 471 1040 m 532 1088 q 519 1024 532 1053 q 484 974 506 995 q 437 940 463 952 q 385 929 411 929 q 343 937 362 929 q 310 959 323 945 q 288 992 296 973 q 280 1033 280 1011 q 293 1097 280 1068 q 327 1148 306 1127 q 375 1182 348 1170 q 427 1194 401 1194 q 468 1185 449 1194 q 502 1162 487 1177 q 524 1128 516 1147 q 532 1088 532 1109 "},"Ȫ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 620 1045 q 614 1009 620 1026 q 597 980 608 992 q 572 960 587 967 q 541 953 558 953 q 497 969 510 953 q 484 1018 484 986 q 490 1053 484 1036 q 507 1083 496 1070 q 532 1102 518 1095 q 562 1110 546 1110 q 620 1045 620 1110 m 349 1045 q 343 1009 349 1026 q 326 980 337 992 q 301 960 316 967 q 270 953 287 953 q 226 969 239 953 q 213 1018 213 986 q 219 1053 213 1036 q 236 1083 225 1070 q 261 1102 247 1095 q 291 1110 275 1110 q 349 1045 349 1110 m 653 1275 q 648 1258 651 1268 q 640 1238 644 1248 q 633 1219 636 1229 q 626 1204 629 1210 l 209 1204 l 194 1220 q 199 1237 196 1228 q 206 1257 202 1247 q 214 1276 210 1267 q 222 1292 219 1285 l 638 1292 l 653 1275 "},"ǎ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 362 726 l 289 726 l 110 968 q 118 979 115 974 q 125 987 122 984 q 131 993 128 991 q 141 1000 135 996 l 327 829 l 510 1000 q 526 987 522 993 q 539 968 531 981 l 362 726 "},"¸":{"x_min":52.78125,"x_max":277,"ha":318,"o":"m 277 -155 q 265 -203 277 -180 q 227 -245 253 -226 q 163 -278 202 -264 q 67 -301 123 -292 l 52 -267 q 112 -252 88 -261 q 153 -232 137 -243 q 175 -209 168 -221 q 183 -186 183 -197 q 165 -154 183 -163 q 105 -141 147 -145 q 112 -122 107 -139 q 127 -77 117 -108 q 155 10 136 -47 l 208 8 l 181 -70 q 216 -80 199 -74 q 247 -97 234 -87 q 268 -121 260 -107 q 277 -155 277 -136 "},"=":{"x_min":41.375,"x_max":568.34375,"ha":610,"o":"m 568 298 q 558 269 564 284 q 548 241 552 253 l 58 241 l 41 259 q 50 287 44 273 q 62 316 56 302 l 551 316 l 568 298 m 568 501 q 558 471 564 488 q 548 444 552 455 l 58 444 l 41 461 q 50 490 44 474 q 62 519 56 506 l 551 519 l 568 501 "},"ạ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 380 -189 q 374 -225 380 -208 q 357 -254 368 -242 q 332 -274 346 -267 q 301 -282 318 -282 q 257 -265 270 -282 q 244 -217 244 -248 q 250 -181 244 -198 q 267 -151 256 -164 q 292 -132 278 -139 q 322 -125 306 -125 q 380 -189 380 -125 "},"Ǖ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 662 1045 q 656 1009 662 1026 q 639 980 650 992 q 614 960 629 967 q 583 953 600 953 q 539 969 552 953 q 526 1018 526 986 q 532 1053 526 1036 q 549 1083 538 1070 q 574 1102 560 1095 q 604 1110 588 1110 q 662 1045 662 1110 m 391 1045 q 385 1009 391 1026 q 368 980 379 992 q 343 960 358 967 q 312 953 329 953 q 268 969 281 953 q 255 1018 255 986 q 261 1053 255 1036 q 278 1083 267 1070 q 303 1102 289 1095 q 333 1110 317 1110 q 391 1045 391 1110 m 695 1275 q 690 1258 693 1268 q 682 1238 687 1248 q 675 1219 678 1229 q 668 1204 671 1210 l 251 1204 l 236 1220 q 241 1237 238 1228 q 248 1257 244 1247 q 257 1276 252 1267 q 264 1292 261 1285 l 680 1292 l 695 1275 "},"ú":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 340 710 q 318 717 328 712 q 301 729 309 722 l 460 1010 q 481 1007 468 1009 q 509 1003 495 1005 q 537 999 524 1001 q 558 994 551 996 l 574 967 l 340 710 "},"˚":{"x_min":47,"x_max":300,"ha":347,"o":"m 239 843 q 234 874 239 859 q 223 900 230 889 q 204 918 215 911 q 180 925 193 925 q 153 919 166 925 q 130 903 140 913 q 114 877 120 892 q 108 844 108 862 q 112 814 108 828 q 123 788 116 799 q 142 770 131 777 q 166 764 153 764 q 193 769 180 764 q 216 784 206 774 q 232 808 226 794 q 239 843 239 823 m 300 871 q 286 807 300 836 q 252 757 273 778 q 204 723 230 735 q 152 712 178 712 q 109 720 129 712 q 76 742 90 728 q 54 775 62 756 q 47 816 47 794 q 60 880 47 851 q 94 931 73 910 q 141 965 115 953 q 194 977 168 977 q 235 968 216 977 q 269 945 255 960 q 291 911 283 930 q 300 871 300 892 "},"¯":{"x_min":113.265625,"x_max":571.734375,"ha":685,"o":"m 571 868 q 567 851 570 861 q 559 831 563 841 q 551 812 555 822 q 545 797 548 803 l 128 797 l 113 813 q 118 830 114 821 q 125 850 121 840 q 133 869 129 859 q 141 885 137 878 l 556 885 l 571 868 "},"u":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 "},"ṛ":{"x_min":37.046875,"x_max":528.015625,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 m 251 -189 q 245 -225 251 -208 q 228 -254 239 -242 q 203 -274 218 -267 q 172 -282 189 -282 q 128 -265 141 -282 q 115 -217 115 -248 q 121 -181 115 -198 q 138 -151 127 -164 q 163 -132 149 -139 q 193 -125 177 -125 q 251 -189 251 -125 "},"":{"x_min":0,"x_max":272.640625,"ha":273,"o":"m 38 710 q 16 717 26 712 q 0 729 7 722 l 158 1010 q 180 1007 166 1009 q 207 1003 193 1005 q 236 999 222 1001 q 257 994 249 996 l 272 967 l 38 710 "},"ẻ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 460 904 q 447 871 460 886 q 418 843 435 856 q 385 817 401 829 q 361 793 369 806 q 360 767 354 780 q 395 736 367 753 q 375 728 386 730 q 354 726 364 727 q 309 753 323 740 q 291 776 294 765 q 294 797 288 787 q 312 815 301 806 q 338 833 324 824 q 365 851 352 842 q 385 871 377 861 q 394 894 394 882 q 381 933 394 920 q 348 946 368 946 q 330 942 338 946 q 315 932 321 938 q 306 918 309 926 q 302 903 302 911 q 304 896 302 900 q 308 889 306 893 q 294 885 302 887 q 276 880 285 882 q 256 877 266 878 q 240 874 247 875 l 233 882 l 233 891 q 246 922 233 907 q 278 950 258 938 q 323 971 298 963 q 371 979 347 979 q 437 958 414 979 q 460 904 460 938 "},"Ṏ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 648 1103 q 619 1047 636 1075 q 581 998 602 1020 q 536 963 560 977 q 485 950 512 950 q 440 961 461 950 q 398 988 419 973 q 358 1015 378 1003 q 318 1027 338 1027 q 269 1005 291 1027 q 221 945 246 982 l 185 958 q 214 1013 198 986 q 252 1063 231 1041 q 297 1098 273 1084 q 347 1112 321 1112 q 396 1100 373 1112 q 440 1073 419 1088 q 478 1046 460 1058 q 513 1035 497 1035 q 563 1056 539 1035 q 611 1118 588 1078 l 648 1103 m 620 1262 q 614 1226 620 1243 q 597 1197 608 1209 q 572 1177 587 1184 q 541 1170 558 1170 q 497 1186 510 1170 q 484 1235 484 1203 q 490 1270 484 1253 q 507 1300 496 1287 q 532 1319 518 1312 q 562 1327 546 1327 q 620 1262 620 1327 m 349 1262 q 343 1226 349 1243 q 326 1197 337 1209 q 301 1177 316 1184 q 270 1170 287 1170 q 226 1186 239 1170 q 213 1235 213 1203 q 219 1270 213 1253 q 236 1300 225 1287 q 261 1319 247 1312 q 291 1327 275 1327 q 349 1262 349 1327 "},"ẗ":{"x_min":13.265625,"x_max":458.453125,"ha":478,"o":"m 458 79 q 392 36 425 55 q 330 5 360 17 q 276 -13 301 -7 q 233 -20 250 -20 q 188 -11 209 -20 q 150 17 166 -2 q 124 70 134 37 q 115 150 115 102 l 115 567 l 27 567 l 13 585 l 66 631 l 115 631 l 115 797 l 195 868 l 217 851 l 217 631 l 438 631 l 458 611 q 443 591 452 602 q 424 571 434 580 q 405 553 415 561 q 389 543 396 545 q 340 559 373 551 q 252 567 307 567 l 217 567 l 217 208 q 220 140 217 167 q 233 97 224 113 q 256 74 242 81 q 290 68 269 68 q 349 77 313 68 q 438 114 385 86 l 458 79 m 439 1037 q 433 1001 439 1018 q 416 972 427 985 q 391 952 406 960 q 360 945 377 945 q 316 962 329 945 q 303 1010 303 978 q 309 1045 303 1029 q 326 1075 315 1062 q 351 1095 337 1087 q 381 1102 365 1102 q 439 1037 439 1102 m 168 1037 q 162 1001 168 1018 q 145 972 156 985 q 120 952 135 960 q 89 945 106 945 q 45 962 58 945 q 32 1010 32 978 q 38 1045 32 1029 q 55 1075 44 1062 q 80 1095 66 1087 q 110 1102 94 1102 q 168 1037 168 1102 "},"ẵ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 545 922 q 500 829 525 867 q 446 768 474 792 q 387 735 418 745 q 326 725 357 725 q 262 735 293 725 q 203 768 231 745 q 150 829 174 792 q 105 922 125 867 q 121 941 113 934 q 141 953 129 947 q 180 887 158 914 q 226 845 202 861 q 276 822 250 829 q 324 815 301 815 q 374 822 347 815 q 424 845 400 829 q 471 887 449 861 q 510 953 493 914 q 529 941 521 947 q 545 922 537 934 m 556 1129 q 527 1074 544 1101 q 490 1025 510 1047 q 444 990 469 1004 q 394 977 420 977 q 348 988 370 977 q 307 1015 327 1000 q 266 1042 286 1030 q 227 1054 246 1054 q 177 1032 200 1054 q 130 972 155 1009 l 94 985 q 123 1040 106 1013 q 160 1090 139 1068 q 205 1125 181 1111 q 256 1139 229 1139 q 305 1127 282 1139 q 348 1100 328 1115 q 387 1073 368 1085 q 421 1062 405 1062 q 472 1083 447 1062 q 520 1145 497 1105 l 556 1129 "},"ữ":{"x_min":27.515625,"x_max":851,"ha":851,"o":"m 851 707 q 840 662 851 688 q 803 608 830 637 q 733 549 777 579 q 621 491 688 519 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 683 71 l 725 55 q 676 25 699 39 q 634 1 653 11 q 599 -14 614 -8 q 576 -20 584 -20 q 537 11 552 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 609 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 531 519 513 q 502 559 512 549 q 473 574 492 570 q 424 579 455 578 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 625 l 620 538 q 672 568 650 553 q 707 599 693 584 q 727 627 721 614 q 734 652 734 641 q 723 689 734 671 q 694 722 713 707 l 815 777 q 841 744 831 762 q 851 707 851 726 m 600 912 q 571 857 588 884 q 534 808 554 830 q 489 773 513 787 q 438 760 464 760 q 393 771 414 760 q 351 798 371 783 q 310 825 330 813 q 271 837 290 837 q 221 814 244 837 q 174 755 199 792 l 138 768 q 167 823 150 796 q 204 873 183 851 q 249 908 225 894 q 300 922 274 922 q 349 910 326 922 q 392 883 372 898 q 431 856 413 868 q 465 845 449 845 q 516 866 491 845 q 564 928 541 888 l 600 912 "},"ɗ":{"x_min":54,"x_max":876.25,"ha":722,"o":"m 876 964 q 866 948 876 959 q 843 927 856 938 q 814 905 829 915 q 790 891 800 896 q 761 929 775 914 q 734 951 748 943 q 710 962 721 959 q 689 966 698 966 q 652 955 667 966 q 626 919 636 944 q 611 852 616 894 q 607 749 607 811 l 607 172 q 608 131 607 148 q 611 103 609 114 q 615 84 613 91 q 622 71 618 76 q 645 67 628 64 q 703 86 663 70 l 712 56 q 657 21 681 35 q 615 -2 633 6 q 584 -16 597 -12 q 561 -21 571 -21 q 525 9 539 -21 q 506 114 510 40 q 454 58 480 83 q 402 16 429 33 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 712 q 510 811 505 770 q 528 885 516 853 q 560 941 541 916 q 606 988 579 965 q 677 1035 640 1019 q 741 1051 715 1051 q 795 1039 771 1051 q 838 1013 820 1028 q 866 985 856 999 q 876 964 876 970 m 505 177 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 "},"é":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 316 710 q 295 717 304 712 q 278 729 285 722 l 436 1010 q 458 1007 444 1009 q 485 1003 471 1005 q 514 999 500 1001 q 535 994 527 996 l 550 967 l 316 710 "},"ḃ":{"x_min":6.828125,"x_max":644,"ha":705,"o":"m 644 333 q 633 253 644 294 q 604 172 623 211 q 555 97 584 133 q 491 36 527 62 q 411 -4 454 10 q 317 -20 368 -20 q 282 -14 305 -20 q 230 2 259 -8 q 166 29 200 13 q 95 65 131 45 l 95 878 q 91 926 95 910 q 78 952 88 943 q 51 963 69 960 q 6 969 34 966 l 6 996 q 92 1018 51 1007 q 171 1051 133 1029 l 178 1044 q 186 1036 182 1040 q 197 1027 191 1032 l 196 493 q 264 563 230 533 q 328 612 297 593 q 385 641 359 632 q 431 651 412 651 q 516 629 477 651 q 584 566 555 607 q 628 466 612 525 q 644 333 644 407 m 552 276 q 538 396 552 344 q 500 485 524 449 q 447 540 477 521 q 384 559 416 559 q 352 551 372 559 q 307 528 332 544 q 253 483 282 511 q 197 413 225 455 l 197 137 q 252 103 224 117 q 305 82 280 90 q 351 71 330 74 q 384 68 372 68 q 456 85 425 68 q 509 133 487 103 q 541 200 530 162 q 552 276 552 237 m 468 854 q 462 818 468 835 q 445 789 456 801 q 420 769 435 776 q 389 762 406 762 q 345 778 358 762 q 332 826 332 795 q 338 862 332 845 q 355 892 344 879 q 380 911 366 904 q 410 919 394 919 q 468 854 468 919 "},"B":{"x_min":27.5625,"x_max":689,"ha":764,"o":"m 280 818 q 261 817 270 818 q 241 817 251 817 l 241 492 l 264 492 q 389 507 341 492 q 463 546 437 522 q 499 599 490 569 q 509 658 509 629 q 497 721 509 692 q 460 772 486 750 q 389 805 433 793 q 280 818 346 818 m 352 441 q 292 437 320 441 q 241 430 265 434 l 241 70 q 247 59 241 64 q 273 53 258 55 q 304 49 288 51 q 335 47 319 48 q 364 47 350 47 q 452 59 413 47 q 520 94 491 72 q 563 148 548 116 q 578 218 578 180 q 564 294 578 255 q 524 366 551 334 q 454 420 496 399 q 352 441 411 441 m 689 241 q 666 137 689 183 q 602 57 643 90 q 504 7 561 25 q 378 -10 447 -10 q 343 -9 364 -10 q 298 -8 322 -9 q 250 -7 275 -7 q 201 -5 224 -6 q 83 0 144 -2 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 81 800 106 803 q 33 792 56 796 l 27 834 q 88 848 54 841 q 162 861 123 856 q 241 871 201 867 q 318 875 281 875 q 440 862 385 875 q 534 826 495 849 q 593 768 572 802 q 614 692 614 734 q 579 566 614 619 q 484 491 544 514 q 565 460 528 482 q 630 405 602 437 q 673 330 657 372 q 689 241 689 288 "},"…":{"x_min":89,"x_max":860.40625,"ha":929,"o":"m 250 83 q 242 39 250 59 q 223 4 235 19 q 193 -18 210 -10 q 156 -27 176 -27 q 104 -7 120 -27 q 89 48 89 12 q 96 91 89 71 q 116 127 103 111 q 146 151 129 142 q 183 160 164 160 q 233 140 216 160 q 250 83 250 120 m 555 83 q 548 39 555 59 q 528 4 541 19 q 498 -18 515 -10 q 461 -27 481 -27 q 409 -7 425 -27 q 394 48 394 12 q 401 91 394 71 q 421 127 409 111 q 452 151 434 142 q 488 160 469 160 q 538 140 522 160 q 555 83 555 120 m 860 83 q 853 39 860 59 q 833 4 846 19 q 803 -18 821 -10 q 767 -27 786 -27 q 714 -7 730 -27 q 699 48 699 12 q 706 91 699 71 q 727 127 714 111 q 757 151 740 142 q 793 160 774 160 q 843 140 827 160 q 860 83 860 120 "},"Ủ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 573 1121 q 560 1088 573 1103 q 531 1060 548 1073 q 498 1034 514 1046 q 475 1010 482 1023 q 474 984 467 997 q 509 953 480 970 q 488 945 499 947 q 467 943 477 944 q 422 970 436 957 q 404 993 407 982 q 408 1014 401 1004 q 426 1032 414 1023 q 451 1050 437 1041 q 478 1068 466 1059 q 498 1088 490 1078 q 507 1111 507 1099 q 494 1150 507 1137 q 462 1163 481 1163 q 443 1159 452 1163 q 429 1149 435 1155 q 419 1135 422 1143 q 416 1120 416 1128 q 417 1113 416 1117 q 421 1106 419 1110 q 407 1102 416 1104 q 389 1097 399 1099 q 370 1094 379 1095 q 353 1091 360 1092 l 346 1099 l 346 1108 q 359 1139 346 1124 q 392 1167 372 1155 q 436 1188 412 1180 q 484 1196 460 1196 q 550 1175 527 1196 q 573 1121 573 1155 "},"H":{"x_min":33.65625,"x_max":861.34375,"ha":908,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 654 478 l 654 783 q 629 804 654 791 q 555 825 604 816 l 555 855 l 861 855 l 861 825 q 789 804 815 816 q 763 783 763 793 l 763 70 q 787 50 763 62 q 861 29 812 38 l 861 0 l 555 0 l 555 29 q 627 49 601 38 q 654 70 654 61 l 654 417 l 241 417 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 "},"î":{"x_min":-21.703125,"x_max":407.625,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 407 740 q 394 721 399 727 q 378 710 389 715 l 192 891 l 8 710 q 0 715 3 712 q -7 721 -4 718 q -13 729 -10 724 q -21 740 -16 734 l 157 998 l 229 998 l 407 740 "},"ư":{"x_min":27.515625,"x_max":851,"ha":851,"o":"m 851 707 q 840 662 851 688 q 803 608 830 637 q 733 549 777 579 q 621 491 688 519 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 683 71 l 725 55 q 676 25 699 39 q 634 1 653 11 q 599 -14 614 -8 q 576 -20 584 -20 q 537 11 552 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 609 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 531 519 513 q 502 559 512 549 q 473 574 492 570 q 424 579 455 578 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 625 l 620 538 q 672 568 650 553 q 707 599 693 584 q 727 627 721 614 q 734 652 734 641 q 723 689 734 671 q 694 722 713 707 l 815 777 q 841 744 831 762 q 851 707 851 726 "},"−":{"x_min":41.375,"x_max":527.65625,"ha":570,"o":"m 527 402 q 518 372 524 389 q 507 344 512 355 l 58 344 l 41 360 q 50 389 44 374 q 62 419 56 405 l 511 419 l 527 402 "},"ɓ":{"x_min":95,"x_max":644,"ha":705,"o":"m 552 276 q 538 396 552 344 q 500 485 524 449 q 447 540 477 521 q 384 559 416 559 q 352 551 372 559 q 307 528 332 544 q 253 483 282 511 q 197 413 225 455 l 197 137 q 252 103 224 117 q 305 82 280 90 q 351 71 330 74 q 384 68 372 68 q 456 85 425 68 q 509 133 487 103 q 541 200 530 162 q 552 276 552 237 m 644 333 q 633 253 644 294 q 604 172 623 211 q 555 97 584 133 q 491 36 527 62 q 411 -4 454 10 q 317 -20 368 -20 q 282 -14 305 -20 q 230 2 259 -8 q 166 29 200 13 q 95 65 131 45 l 95 597 q 106 742 95 681 q 139 847 118 802 q 190 926 160 893 q 257 988 220 959 q 298 1015 275 1003 q 343 1034 321 1026 q 386 1046 366 1042 q 419 1051 406 1051 q 478 1039 449 1051 q 530 1013 507 1028 q 565 984 552 998 q 579 963 579 969 q 569 947 579 957 q 546 924 559 936 q 518 903 532 913 q 493 888 503 893 q 426 944 464 923 q 347 966 387 966 q 299 950 325 966 q 250 896 272 934 q 212 795 227 858 q 197 634 197 731 l 196 493 q 264 563 230 533 q 328 612 297 593 q 385 641 359 632 q 431 651 412 651 q 516 629 477 651 q 584 566 555 607 q 628 466 612 525 q 644 333 644 407 "},"ḧ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 594 1215 q 588 1179 594 1196 q 571 1150 582 1162 q 547 1130 561 1137 q 515 1122 532 1122 q 471 1139 485 1122 q 458 1187 458 1156 q 464 1223 458 1206 q 481 1252 470 1240 q 506 1272 492 1265 q 536 1279 520 1279 q 594 1215 594 1279 m 323 1215 q 317 1179 323 1196 q 300 1150 311 1162 q 276 1130 290 1137 q 244 1122 261 1122 q 200 1139 214 1122 q 187 1187 187 1156 q 193 1223 187 1206 q 210 1252 199 1240 q 235 1272 221 1265 q 265 1279 249 1279 q 323 1215 323 1279 "},"ā":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 561 868 q 556 851 560 861 q 549 831 553 841 q 541 812 545 822 q 535 797 537 803 l 118 797 l 103 813 q 107 830 104 821 q 115 850 111 840 q 123 869 119 859 q 130 885 127 878 l 546 885 l 561 868 "},"Ṥ":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 249 927 q 232 938 238 931 q 219 957 227 944 l 481 1173 q 499 1162 488 1168 q 523 1148 511 1156 q 545 1134 535 1141 q 561 1122 556 1128 l 567 1092 l 249 927 m 407 1262 q 401 1226 407 1243 q 384 1197 395 1209 q 359 1177 374 1184 q 328 1170 345 1170 q 284 1186 297 1170 q 271 1235 271 1203 q 277 1270 271 1253 q 294 1300 283 1287 q 319 1319 305 1312 q 349 1327 333 1327 q 407 1262 407 1327 "},"Ĩ":{"x_min":-31.203125,"x_max":431.34375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 431 1103 q 402 1047 419 1075 q 364 998 385 1020 q 319 963 343 977 q 268 950 295 950 q 223 961 244 950 q 181 988 202 973 q 141 1015 161 1003 q 101 1027 121 1027 q 52 1005 74 1027 q 4 945 29 982 l -31 958 q -2 1013 -18 986 q 35 1063 14 1041 q 80 1098 56 1084 q 130 1112 104 1112 q 179 1100 156 1112 q 223 1073 202 1088 q 261 1046 243 1058 q 296 1035 280 1035 q 346 1056 322 1035 q 394 1118 371 1078 l 431 1103 "},"*":{"x_min":47.46875,"x_max":573.78125,"ha":621,"o":"m 331 805 l 508 938 q 542 917 522 929 q 572 893 561 904 l 573 865 l 352 770 l 556 682 q 554 642 555 665 q 548 604 554 619 l 523 588 l 332 732 l 358 512 q 341 503 350 508 q 323 494 333 498 q 304 486 313 489 q 287 481 295 482 l 261 493 l 289 732 l 112 599 q 95 609 105 603 q 77 621 86 615 q 61 633 69 627 q 48 644 53 639 l 47 673 l 268 768 l 63 856 q 64 874 64 864 q 65 896 65 885 q 67 916 66 907 q 71 933 69 926 l 95 949 l 288 805 l 262 1026 q 279 1035 269 1030 q 298 1044 288 1040 q 318 1053 308 1049 q 335 1059 327 1056 l 359 1044 l 331 805 "},"ă":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 545 922 q 500 829 525 867 q 446 768 474 792 q 387 735 418 745 q 326 725 357 725 q 262 735 293 725 q 203 768 231 745 q 150 829 174 792 q 105 922 125 867 q 121 941 113 934 q 141 953 129 947 q 180 887 158 914 q 226 845 202 861 q 276 822 250 829 q 324 815 301 815 q 374 822 347 815 q 424 845 400 829 q 471 887 449 861 q 510 953 493 914 q 529 941 521 947 q 545 922 537 934 "},"†":{"x_min":48.078125,"x_max":615.296875,"ha":663,"o":"m 615 729 q 591 676 605 705 q 559 622 576 647 q 466 645 513 638 q 362 656 419 652 q 368 558 362 608 q 387 461 374 508 q 368 310 373 386 q 362 169 363 234 q 364 85 361 130 q 371 0 367 40 q 341 -15 358 -10 q 307 -27 324 -21 l 288 -12 q 295 80 292 32 q 298 169 298 128 q 291 311 296 236 q 272 461 286 386 q 290 558 285 508 q 297 656 295 609 q 236 651 265 654 q 180 645 208 649 q 123 635 151 641 q 65 622 95 629 l 48 651 q 72 703 57 674 q 103 757 86 732 q 195 734 149 741 q 297 724 241 726 q 287 841 295 785 q 262 948 280 898 q 316 979 288 965 q 368 1004 345 994 l 397 987 q 373 856 382 923 q 363 725 365 789 q 423 728 394 726 q 481 735 453 731 q 539 745 510 739 q 598 758 567 750 l 615 729 "},"°":{"x_min":95,"x_max":402,"ha":497,"o":"m 328 674 q 322 712 328 694 q 308 744 317 730 q 286 766 299 758 q 256 775 272 775 q 224 768 239 775 q 196 748 208 761 q 177 717 184 735 q 170 677 170 699 q 174 639 170 657 q 188 607 179 621 q 210 585 197 594 q 240 577 224 577 q 272 583 257 577 q 300 602 288 589 q 320 633 313 615 q 328 674 328 651 m 402 709 q 385 631 402 667 q 343 570 369 596 q 286 529 317 544 q 223 515 254 515 q 171 525 195 515 q 130 553 147 535 q 104 593 113 570 q 95 643 95 616 q 110 720 95 685 q 152 782 126 756 q 210 823 178 808 q 273 838 242 838 q 323 827 300 838 q 364 799 347 816 q 391 758 381 781 q 402 709 402 734 "},"Ʌ":{"x_min":13.5625,"x_max":874.90625,"ha":903,"o":"m 13 29 q 85 46 59 37 q 118 73 111 54 l 378 814 q 397 840 383 829 q 425 857 410 850 q 456 868 441 864 q 480 875 471 872 l 778 73 q 808 45 785 56 q 874 29 832 34 l 874 0 l 579 0 l 579 29 q 654 43 634 33 q 666 72 674 52 l 427 716 l 199 73 q 216 45 191 54 q 295 29 240 35 l 295 0 l 13 0 l 13 29 "},"ồ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 577 740 q 564 721 569 727 q 548 710 559 715 l 362 891 l 178 710 q 169 715 172 712 q 162 721 165 718 q 155 729 159 724 q 147 740 152 734 l 326 998 l 399 998 l 577 740 m 440 1036 q 422 1023 431 1028 q 402 1015 413 1018 l 163 1271 l 178 1298 q 198 1303 185 1300 q 226 1308 211 1305 q 255 1312 240 1311 q 277 1315 269 1314 l 440 1036 "},"ŵ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 723 740 q 710 721 714 727 q 693 710 705 715 l 508 891 l 324 710 q 315 715 318 712 q 308 721 311 718 q 301 729 305 724 q 293 740 298 734 l 472 998 l 545 998 l 723 740 "},"ǽ":{"x_min":54,"x_max":907,"ha":961,"o":"m 907 378 q 873 352 893 364 q 831 332 852 340 l 526 332 q 525 308 525 320 l 525 283 q 535 206 525 244 q 566 137 546 168 q 616 88 586 107 q 683 70 645 70 q 724 72 704 70 q 765 83 743 74 q 813 111 787 93 q 876 160 840 129 q 891 147 885 156 q 901 133 898 138 q 826 54 860 84 q 762 7 792 24 q 701 -14 731 -8 q 640 -20 672 -20 q 581 -10 610 -20 q 527 17 552 -1 q 481 61 502 35 q 446 121 460 87 q 383 59 417 86 q 314 15 348 33 q 250 -11 280 -2 q 198 -20 219 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 69 203 54 166 q 117 272 85 240 q 198 330 149 304 q 314 375 247 356 q 364 385 336 381 q 423 391 393 388 l 423 449 q 418 499 423 475 q 403 542 414 524 q 371 571 391 560 q 317 583 350 583 q 270 573 295 583 q 226 546 245 563 q 197 506 207 528 q 198 458 188 483 q 185 444 200 452 q 151 431 171 437 q 111 421 131 424 q 83 420 91 418 l 73 445 q 93 497 77 471 q 134 546 109 523 q 188 588 158 568 q 249 621 218 607 q 310 643 280 635 q 363 651 340 651 q 457 626 423 651 q 508 553 492 602 q 554 599 529 580 q 603 629 578 618 q 651 645 628 640 q 694 651 675 651 q 767 639 736 651 q 823 607 799 627 q 862 560 846 587 q 889 503 879 533 q 902 440 898 472 q 907 378 907 408 m 432 165 q 425 205 427 184 q 423 247 423 225 l 423 329 q 382 325 400 327 q 356 320 365 323 q 209 253 254 295 q 165 155 165 211 q 173 111 165 128 q 192 85 181 95 q 217 72 204 75 q 238 68 229 68 q 280 74 256 68 q 328 92 303 80 q 380 122 354 104 q 432 165 407 141 m 674 583 q 638 575 658 583 q 597 547 617 568 q 558 489 576 526 q 532 394 540 452 l 768 394 q 788 399 782 394 q 794 418 794 404 q 787 480 794 450 q 766 532 780 510 q 729 569 751 555 q 674 583 706 583 m 471 710 q 449 717 459 712 q 432 729 440 722 l 591 1010 q 612 1007 599 1009 q 640 1003 626 1005 q 668 999 655 1001 q 689 994 682 996 l 705 967 l 471 710 "},"Ḱ":{"x_min":33.65625,"x_max":796.46875,"ha":803,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 438 l 518 765 q 538 794 534 783 q 535 811 542 805 q 511 820 528 817 q 468 825 494 823 l 468 855 l 753 855 l 753 825 q 714 820 731 823 q 683 813 697 817 q 659 802 670 808 q 637 783 647 795 l 340 455 l 668 85 q 694 64 680 72 q 724 54 708 57 q 757 51 740 51 q 791 53 774 51 l 796 24 q 716 0 756 11 q 643 -10 675 -10 q 608 -3 623 -10 q 579 19 593 2 l 241 433 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 310 927 q 294 938 299 931 q 280 957 288 944 l 542 1173 q 560 1162 549 1168 q 584 1148 572 1156 q 607 1134 596 1141 q 622 1122 617 1128 l 628 1092 l 310 927 "},"Õ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 648 1103 q 619 1047 636 1075 q 581 998 602 1020 q 536 963 560 977 q 485 950 512 950 q 440 961 461 950 q 398 988 419 973 q 358 1015 378 1003 q 318 1027 338 1027 q 269 1005 291 1027 q 221 945 246 982 l 185 958 q 214 1013 198 986 q 252 1063 231 1041 q 297 1098 273 1084 q 347 1112 321 1112 q 396 1100 373 1112 q 440 1073 419 1088 q 478 1046 460 1058 q 513 1035 497 1035 q 563 1056 539 1035 q 611 1118 588 1078 l 648 1103 "},"ẏ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 427 854 q 421 818 427 835 q 404 789 415 801 q 380 769 394 776 q 348 762 365 762 q 305 778 318 762 q 291 826 291 795 q 297 862 291 845 q 314 892 303 879 q 339 911 325 904 q 369 919 353 919 q 427 854 427 919 "},"꞊":{"x_min":40.6875,"x_max":418.46875,"ha":459,"o":"m 418 247 q 408 215 415 232 q 398 186 402 198 l 57 186 l 40 204 q 49 234 44 217 q 61 264 55 250 l 401 264 l 418 247 m 418 422 q 408 391 415 409 l 398 363 l 57 363 l 40 380 q 49 410 44 393 q 61 440 55 427 l 401 440 l 418 422 "},"ḵ":{"x_min":37.046875,"x_max":694.515625,"ha":695,"o":"m 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 878 q 128 926 132 909 q 114 952 124 943 q 84 963 103 960 q 37 969 66 966 l 37 996 q 129 1018 83 1006 q 208 1051 174 1031 l 234 1027 l 234 359 l 442 542 q 470 573 465 561 q 468 591 474 585 q 446 599 461 597 q 413 601 431 601 l 413 631 l 670 631 l 670 601 q 615 590 640 598 q 562 559 590 582 l 330 374 l 586 75 q 605 57 595 64 q 628 45 615 50 q 655 40 640 41 q 690 41 670 39 l 694 12 q 655 3 674 7 q 619 -1 636 0 q 589 -5 602 -4 q 569 -7 576 -7 q 523 1 541 -7 q 491 28 506 9 l 234 353 l 234 70 q 236 61 234 65 q 246 52 238 56 q 268 42 253 48 q 308 29 283 37 l 308 0 l 37 0 m 594 -155 q 590 -172 593 -162 q 582 -192 586 -182 q 574 -211 578 -201 q 568 -227 571 -220 l 151 -227 l 136 -210 q 141 -193 137 -202 q 148 -173 144 -183 q 156 -154 152 -164 q 164 -139 160 -145 l 579 -139 l 594 -155 "},"5":{"x_min":52.421875,"x_max":567,"ha":652,"o":"m 567 278 q 548 165 567 219 q 496 70 530 111 q 411 4 462 28 q 297 -20 361 -20 q 173 3 234 -20 q 52 81 111 26 l 76 126 q 141 86 112 101 q 196 62 171 71 q 242 51 221 54 q 283 48 263 48 q 359 64 327 48 q 414 109 392 81 q 447 174 436 138 q 458 248 458 210 q 446 332 458 294 q 412 397 435 370 q 355 439 390 424 q 272 454 320 454 q 240 450 258 454 q 201 440 221 447 q 161 423 181 433 q 124 399 141 413 l 92 422 q 101 478 96 446 q 113 546 107 511 q 124 620 118 582 q 135 693 130 658 q 143 761 139 729 q 148 817 146 793 l 443 817 q 478 818 463 817 q 504 823 493 820 q 526 829 516 825 l 545 809 q 528 786 538 798 q 508 764 518 774 q 488 744 498 753 q 470 729 478 735 l 207 729 q 202 678 206 709 q 195 615 199 647 q 186 554 190 583 q 178 511 181 526 q 242 524 205 519 q 313 529 278 529 q 422 508 375 529 q 501 453 469 487 q 550 373 533 418 q 567 278 567 327 "},"o":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 "},"̆":{"x_min":-569.703125,"x_max":-128.859375,"ha":0,"o":"m -128 922 q -174 829 -149 867 q -228 768 -200 792 q -286 735 -256 745 q -347 725 -317 725 q -412 735 -381 725 q -471 768 -443 745 q -524 829 -499 792 q -569 922 -549 867 q -553 941 -561 934 q -533 953 -545 947 q -494 887 -516 914 q -448 845 -472 861 q -398 822 -423 829 q -350 815 -373 815 q -300 822 -326 815 q -249 845 -274 829 q -203 887 -225 861 q -164 953 -181 914 q -145 941 -153 947 q -128 922 -137 934 "},"Ẍ":{"x_min":21.03125,"x_max":833.53125,"ha":855,"o":"m 527 0 l 527 29 q 575 36 557 31 q 602 46 594 40 q 609 62 610 53 q 598 86 608 72 l 409 363 l 238 86 q 241 44 219 56 q 326 29 263 33 l 326 0 l 21 0 l 21 29 q 96 44 65 32 q 144 86 127 57 l 359 437 l 133 768 q 113 793 123 783 q 92 809 104 802 q 65 818 80 815 q 27 826 50 822 l 27 855 l 333 855 l 333 826 q 258 809 276 820 q 261 768 240 798 l 428 522 l 581 768 q 590 794 591 784 q 577 810 588 804 q 544 820 565 817 q 493 826 523 823 l 493 855 l 800 855 l 800 826 q 756 819 775 823 q 722 809 737 815 q 696 793 707 802 q 676 768 685 783 l 478 449 l 726 86 q 747 61 736 71 q 770 45 757 52 q 798 35 782 39 q 833 29 813 31 l 833 0 l 527 0 m 630 1045 q 624 1009 630 1026 q 607 980 618 992 q 582 960 597 967 q 551 953 568 953 q 507 969 521 953 q 494 1018 494 986 q 500 1053 494 1036 q 517 1083 506 1070 q 542 1102 528 1095 q 572 1110 556 1110 q 630 1045 630 1110 m 359 1045 q 353 1009 359 1026 q 336 980 347 992 q 311 960 326 967 q 280 953 297 953 q 236 969 250 953 q 223 1018 223 986 q 229 1053 223 1036 q 246 1083 235 1070 q 271 1102 257 1095 q 301 1110 285 1110 q 359 1045 359 1110 "},"Ǐ":{"x_min":-14.921875,"x_max":414.40625,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 236 943 l 164 943 l -14 1151 q -6 1162 -10 1157 q 0 1170 -3 1167 q 6 1176 2 1174 q 15 1183 10 1179 l 202 1039 l 385 1183 q 401 1170 396 1176 q 414 1151 406 1164 l 236 943 "},"̧":{"x_min":-460.21875,"x_max":-236,"ha":0,"o":"m -236 -155 q -247 -203 -236 -180 q -285 -245 -259 -226 q -349 -278 -310 -264 q -445 -301 -389 -292 l -460 -267 q -400 -252 -424 -261 q -359 -232 -375 -243 q -337 -209 -344 -221 q -330 -186 -330 -197 q -347 -154 -330 -163 q -407 -141 -365 -145 q -400 -122 -405 -139 q -385 -77 -395 -108 q -357 10 -376 -47 l -304 8 l -331 -70 q -296 -80 -313 -74 q -265 -97 -278 -87 q -244 -121 -252 -107 q -236 -155 -236 -136 "},"d":{"x_min":54,"x_max":712.796875,"ha":722,"o":"m 712 57 q 657 21 681 36 q 615 -2 633 7 q 584 -15 597 -11 q 561 -20 571 -20 q 525 10 539 -20 q 506 114 510 41 q 454 58 480 83 q 402 16 429 33 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 863 q 502 923 505 901 q 491 957 500 945 q 462 973 481 968 q 406 980 442 977 l 406 1006 q 506 1026 462 1014 q 585 1051 550 1039 l 607 1030 l 607 172 q 608 131 607 148 q 611 103 609 114 q 615 84 613 91 q 622 72 618 76 q 645 67 628 64 q 703 86 663 70 l 712 57 m 505 177 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 "},",":{"x_min":59.40625,"x_max":264,"ha":318,"o":"m 264 47 q 253 -12 264 20 q 223 -80 243 -45 q 175 -147 203 -114 q 112 -207 147 -180 l 81 -183 q 114 -141 100 -161 q 136 -99 127 -120 q 148 -53 144 -77 q 153 0 153 -29 q 133 47 153 29 q 70 62 113 64 l 59 94 q 85 112 65 102 q 128 133 104 123 q 174 149 151 142 q 209 155 197 155 q 252 112 241 139 q 264 47 264 86 "},"Ꞌ":{"x_min":91.5625,"x_max":242.125,"ha":347,"o":"m 202 477 q 189 471 197 474 q 172 467 181 469 q 154 464 164 465 q 137 463 145 463 l 91 1031 q 115 1042 99 1036 q 149 1055 131 1048 q 182 1065 166 1061 q 206 1072 198 1070 l 242 1054 l 202 477 "},"\"":{"x_min":108.515625,"x_max":482.21875,"ha":590,"o":"m 209 565 q 196 559 204 562 q 179 555 188 557 q 161 552 170 553 q 144 551 152 551 l 108 967 q 130 977 115 971 q 159 988 144 982 q 188 998 174 993 q 209 1004 202 1002 l 238 989 l 209 565 m 453 565 q 439 559 447 562 q 422 555 432 557 q 404 552 413 553 q 387 551 395 551 l 351 967 q 372 977 358 971 q 402 988 386 982 q 431 998 417 993 q 453 1004 445 1002 l 482 989 l 453 565 "},"ė":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 414 854 q 408 818 414 835 q 391 789 401 801 q 366 769 380 776 q 335 762 352 762 q 291 778 304 762 q 278 826 278 795 q 284 862 278 845 q 301 892 290 879 q 326 911 312 904 q 356 919 340 919 q 414 854 414 919 "},"ề":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 560 740 q 547 721 552 727 q 531 710 542 715 l 345 891 l 161 710 q 152 715 155 712 q 145 721 148 718 q 139 729 142 724 q 130 740 135 734 l 309 998 l 382 998 l 560 740 m 423 1036 q 405 1023 414 1028 q 385 1015 396 1018 l 146 1271 l 161 1298 q 181 1303 168 1300 q 209 1308 194 1305 q 238 1312 223 1311 q 260 1315 252 1314 l 423 1036 "},"Í":{"x_min":47.65625,"x_max":428.625,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 110 927 q 93 938 99 931 q 80 957 88 944 l 342 1173 q 360 1162 349 1168 q 384 1148 372 1156 q 406 1134 396 1141 q 422 1122 417 1128 l 428 1092 l 110 927 "},"Ú":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 369 927 q 353 938 358 931 q 339 957 347 944 l 601 1173 q 619 1162 608 1168 q 643 1148 631 1156 q 666 1134 655 1141 q 681 1122 676 1128 l 687 1092 l 369 927 "},"Ơ":{"x_min":48,"x_max":828,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 410 797 448 797 q 301 771 349 797 q 221 698 254 746 q 170 584 188 651 q 153 434 153 517 q 173 290 153 358 q 229 171 194 223 q 310 90 264 120 q 410 61 357 61 q 513 84 466 61 q 594 153 560 107 q 648 268 629 200 q 667 426 667 337 m 828 944 q 820 906 828 927 q 794 861 812 885 q 745 812 776 837 q 667 761 714 786 q 745 614 719 698 q 772 439 772 529 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 390 -20 467 -20 q 245 15 309 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 542 853 492 875 q 634 796 593 832 q 693 846 675 821 q 711 889 711 871 q 700 926 711 908 q 671 959 690 944 l 792 1014 q 818 981 808 999 q 828 944 828 963 "},"Ŷ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 623 957 q 611 938 615 944 q 594 927 606 932 l 408 1068 l 225 927 q 216 932 219 929 q 209 938 212 935 q 202 946 206 941 q 194 957 199 951 l 373 1167 l 446 1167 l 623 957 "},"Ẇ":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 m 652 1045 q 646 1009 652 1026 q 629 980 640 992 q 604 960 618 967 q 573 953 590 953 q 529 969 542 953 q 516 1018 516 986 q 522 1053 516 1036 q 539 1083 528 1070 q 564 1102 550 1095 q 594 1110 578 1110 q 652 1045 652 1110 "},"Ự":{"x_min":33.65625,"x_max":950.125,"ha":950,"o":"m 950 944 q 941 904 950 927 q 912 856 933 881 q 855 802 891 830 q 767 749 820 775 l 767 355 q 745 196 767 266 q 682 79 723 127 q 583 5 642 30 q 451 -20 525 -20 q 323 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 376 76 332 95 q 478 58 420 58 q 564 81 526 58 q 627 142 601 104 q 665 229 652 180 q 679 327 679 277 l 679 783 q 654 804 679 791 q 580 825 629 816 l 580 855 l 821 855 q 833 889 833 873 q 823 926 833 909 q 794 959 813 944 l 914 1014 q 940 981 930 999 q 950 944 950 963 m 527 -189 q 521 -225 527 -208 q 504 -254 515 -242 q 479 -274 494 -267 q 448 -282 465 -282 q 404 -265 417 -282 q 391 -217 391 -248 q 397 -181 391 -198 q 414 -151 403 -164 q 439 -132 425 -139 q 469 -125 453 -125 q 527 -189 527 -125 "},"Ý":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 320 927 q 303 938 308 931 q 289 957 298 944 l 552 1173 q 570 1162 558 1168 q 594 1148 581 1156 q 616 1134 606 1141 q 632 1122 626 1128 l 638 1092 l 320 927 "},"ŝ":{"x_min":54.25,"x_max":483.578125,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 483 740 q 470 721 475 727 q 454 710 465 715 l 268 891 l 84 710 q 75 715 79 712 q 68 721 71 718 q 62 729 65 724 q 54 740 59 734 l 233 998 l 305 998 l 483 740 "},"ǧ":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 m 375 726 l 303 726 l 124 968 q 132 979 128 974 q 138 987 135 984 q 145 993 141 991 q 154 1000 149 996 l 341 829 l 524 1000 q 540 987 535 993 q 553 968 545 981 l 375 726 "},"ȫ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 566 854 q 560 818 566 835 q 543 789 553 801 q 518 769 532 776 q 487 762 504 762 q 443 778 456 762 q 430 826 430 795 q 436 862 430 845 q 453 892 442 879 q 478 911 464 904 q 508 919 492 919 q 566 854 566 919 m 295 854 q 289 818 295 835 q 272 789 282 801 q 247 769 261 776 q 216 762 233 762 q 172 778 185 762 q 159 826 159 795 q 165 862 159 845 q 182 892 171 879 q 207 911 193 904 q 237 919 221 919 q 295 854 295 919 m 598 1112 q 594 1095 597 1105 q 586 1076 590 1085 q 578 1056 582 1066 q 572 1041 575 1047 l 155 1041 l 140 1058 q 145 1075 141 1065 q 152 1094 148 1084 q 160 1113 156 1104 q 168 1129 164 1122 l 583 1129 l 598 1112 "},"ṕ":{"x_min":37.046875,"x_max":682,"ha":736,"o":"m 590 288 q 576 398 590 347 q 539 486 562 449 q 485 544 516 523 q 422 566 455 566 q 390 558 410 566 q 345 533 370 551 q 292 486 320 515 q 234 413 263 456 l 234 144 q 290 106 264 121 q 339 83 316 91 q 382 71 362 74 q 421 68 402 68 q 488 82 457 68 q 541 124 519 96 q 577 193 564 152 q 590 288 590 234 m 682 333 q 671 253 682 294 q 643 172 661 211 q 601 97 626 133 q 548 36 577 62 q 487 -4 519 10 q 422 -20 455 -20 q 332 2 382 -20 q 234 66 282 24 l 234 -254 q 259 -276 234 -265 q 348 -296 284 -287 l 348 -326 l 37 -326 l 37 -296 q 106 -276 81 -286 q 132 -254 132 -266 l 132 481 q 129 522 132 506 q 116 549 126 539 q 88 563 106 558 q 37 569 69 567 l 37 596 q 81 606 60 601 q 121 619 102 612 q 160 633 141 625 q 200 651 180 641 l 223 627 l 230 492 q 298 563 263 533 q 363 612 332 593 q 421 641 394 632 q 468 651 448 651 q 553 629 514 651 q 621 566 593 607 q 666 466 650 525 q 682 333 682 407 m 329 710 q 307 717 317 712 q 290 729 298 722 l 449 1010 q 471 1007 457 1009 q 498 1003 484 1005 q 526 999 513 1001 q 548 994 540 996 l 563 967 l 329 710 "},"Ắ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 626 1139 q 580 1046 606 1084 q 527 985 555 1009 q 468 952 499 962 q 407 942 438 942 q 343 952 374 942 q 283 985 311 962 q 230 1046 255 1009 q 185 1139 206 1084 q 202 1158 193 1151 q 221 1170 210 1164 q 260 1104 238 1131 q 307 1062 282 1078 q 357 1039 331 1046 q 404 1032 382 1032 q 454 1039 428 1032 q 505 1062 480 1046 q 552 1104 530 1078 q 590 1170 574 1131 q 610 1158 602 1164 q 626 1139 618 1151 m 316 1144 q 300 1155 305 1148 q 286 1174 295 1161 l 548 1390 q 567 1379 555 1385 q 590 1365 578 1373 q 613 1352 602 1358 q 628 1339 623 1345 l 634 1309 l 316 1144 "},"ã":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 556 912 q 527 857 544 884 q 490 808 510 830 q 444 773 469 787 q 394 760 420 760 q 348 771 370 760 q 307 798 327 783 q 266 825 286 813 q 227 837 246 837 q 177 814 200 837 q 130 755 155 792 l 94 768 q 123 823 106 796 q 160 873 139 851 q 205 908 181 894 q 256 922 229 922 q 305 910 282 922 q 348 883 328 898 q 387 856 368 868 q 421 845 405 845 q 472 866 447 845 q 520 928 497 888 l 556 912 "},"Ɗ":{"x_min":20,"x_max":917,"ha":979,"o":"m 680 748 q 629 781 655 767 q 570 802 603 794 q 495 814 537 810 q 397 818 453 818 l 397 104 q 403 80 397 89 q 440 62 413 68 q 520 57 467 57 q 616 79 566 57 q 707 148 666 102 q 775 265 749 195 q 802 432 802 336 q 795 523 802 478 q 773 609 788 568 q 735 686 758 650 q 680 748 712 721 m 20 680 q 51 769 20 732 q 138 829 82 806 q 273 863 194 852 q 445 875 351 875 q 544 871 500 875 q 623 861 588 868 q 688 842 659 853 q 742 815 716 831 q 824 745 790 784 q 878 660 857 706 q 907 564 898 615 q 917 458 917 512 q 899 306 917 373 q 853 188 882 240 q 785 102 824 137 q 704 43 747 66 q 618 10 662 21 q 534 0 574 0 l 189 0 l 189 29 q 261 49 235 38 q 288 70 288 61 l 288 813 q 169 774 207 802 q 131 703 131 746 q 143 659 131 678 q 177 631 156 640 q 165 619 175 627 q 139 604 154 612 q 108 590 124 597 q 77 581 91 583 q 36 617 52 591 q 20 680 20 643 "},"æ":{"x_min":54,"x_max":907,"ha":961,"o":"m 907 378 q 873 352 893 364 q 831 332 852 340 l 526 332 q 525 308 525 320 l 525 283 q 535 206 525 244 q 566 137 546 168 q 616 88 586 107 q 683 70 645 70 q 724 72 704 70 q 765 83 743 74 q 813 111 787 93 q 876 160 840 129 q 891 147 885 156 q 901 133 898 138 q 826 54 860 84 q 762 7 792 24 q 701 -14 731 -8 q 640 -20 672 -20 q 581 -10 610 -20 q 527 17 552 -1 q 481 61 502 35 q 446 121 460 87 q 383 59 417 86 q 314 15 348 33 q 250 -11 280 -2 q 198 -20 219 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 69 203 54 166 q 117 272 85 240 q 198 330 149 304 q 314 375 247 356 q 364 385 336 381 q 423 391 393 388 l 423 449 q 418 499 423 475 q 403 542 414 524 q 371 571 391 560 q 317 583 350 583 q 270 573 295 583 q 226 546 245 563 q 197 506 207 528 q 198 458 188 483 q 185 444 200 452 q 151 431 171 437 q 111 421 131 424 q 83 420 91 418 l 73 445 q 93 497 77 471 q 134 546 109 523 q 188 588 158 568 q 249 621 218 607 q 310 643 280 635 q 363 651 340 651 q 457 626 423 651 q 508 553 492 602 q 554 599 529 580 q 603 629 578 618 q 651 645 628 640 q 694 651 675 651 q 767 639 736 651 q 823 607 799 627 q 862 560 846 587 q 889 503 879 533 q 902 440 898 472 q 907 378 907 408 m 432 165 q 425 205 427 184 q 423 247 423 225 l 423 329 q 382 325 400 327 q 356 320 365 323 q 209 253 254 295 q 165 155 165 211 q 173 111 165 128 q 192 85 181 95 q 217 72 204 75 q 238 68 229 68 q 280 74 256 68 q 328 92 303 80 q 380 122 354 104 q 432 165 407 141 m 674 583 q 638 575 658 583 q 597 547 617 568 q 558 489 576 526 q 532 394 540 452 l 768 394 q 788 399 782 394 q 794 418 794 404 q 787 480 794 450 q 766 532 780 510 q 729 569 751 555 q 674 583 706 583 "},"ĩ":{"x_min":-37.984375,"x_max":424.5625,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 424 912 q 395 857 412 884 q 357 808 378 830 q 312 773 337 787 q 261 760 288 760 q 216 771 238 760 q 174 798 195 783 q 134 825 154 813 q 94 837 114 837 q 45 814 67 837 q -2 755 23 792 l -37 768 q -9 823 -25 796 q 28 873 7 851 q 73 908 49 894 q 124 922 97 922 q 172 910 149 922 q 216 883 196 898 q 255 856 236 868 q 289 845 273 845 q 340 866 315 845 q 387 928 364 888 l 424 912 "},"~":{"x_min":33.234375,"x_max":644.3125,"ha":678,"o":"m 644 525 q 608 456 630 492 q 559 391 586 421 q 502 343 533 362 q 438 324 471 324 q 378 341 410 324 q 313 378 346 358 q 248 415 280 398 q 187 433 216 433 q 125 406 153 433 q 69 322 97 379 l 33 340 q 69 409 47 373 q 118 475 91 445 q 175 523 145 504 q 238 543 206 543 q 302 525 269 543 q 367 488 335 508 q 431 451 400 468 q 489 434 461 434 q 550 460 521 434 q 608 542 579 486 l 644 525 "},"Ċ":{"x_min":48,"x_max":690.84375,"ha":745,"o":"m 690 143 q 607 65 647 96 q 531 15 568 34 q 458 -11 494 -3 q 387 -20 422 -20 q 263 8 324 -20 q 155 90 203 36 q 77 221 106 144 q 48 397 48 299 q 80 594 48 506 q 169 744 113 682 q 300 841 226 807 q 458 875 375 875 q 587 855 532 875 q 677 806 642 835 q 675 793 682 803 q 659 770 669 783 q 636 744 648 757 q 616 723 625 731 l 593 727 q 511 779 558 759 q 401 800 463 800 q 351 791 378 800 q 296 764 323 783 q 242 716 268 746 q 196 645 216 687 q 164 548 176 603 q 153 422 153 492 q 179 264 153 332 q 246 151 205 196 q 337 83 287 106 q 436 61 388 61 q 532 86 473 61 q 665 173 591 111 q 672 167 669 172 q 679 158 676 163 q 686 149 683 153 q 690 143 688 145 m 484 1045 q 478 1009 484 1026 q 461 980 472 992 q 437 960 451 967 q 405 953 422 953 q 361 969 375 953 q 348 1018 348 986 q 354 1053 348 1036 q 371 1083 360 1070 q 396 1102 382 1095 q 426 1110 410 1110 q 484 1045 484 1110 "},"¡":{"x_min":104,"x_max":265,"ha":378,"o":"m 251 -327 q 197 -359 225 -344 q 145 -383 168 -374 l 116 -368 l 148 359 q 172 375 162 370 q 200 386 182 380 l 218 373 l 251 -327 m 265 575 q 257 532 265 552 q 237 496 250 512 q 207 472 224 481 q 171 464 190 464 q 120 484 137 464 q 104 542 104 504 q 111 585 104 565 q 130 620 118 605 q 160 643 143 635 q 198 652 178 652 q 249 631 233 652 q 265 575 265 611 "},"ẅ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 711 854 q 705 818 711 835 q 689 789 699 801 q 664 769 678 776 q 633 762 650 762 q 589 778 602 762 q 575 826 575 795 q 582 862 575 845 q 599 892 588 879 q 623 911 609 904 q 654 919 637 919 q 711 854 711 919 m 440 854 q 434 818 440 835 q 418 789 428 801 q 393 769 407 776 q 362 762 379 762 q 318 778 331 762 q 304 826 304 795 q 311 862 304 845 q 328 892 317 879 q 352 911 338 904 q 383 919 366 919 q 440 854 440 919 "},"ậ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 380 -189 q 374 -225 380 -208 q 357 -254 368 -242 q 332 -274 346 -267 q 301 -282 318 -282 q 257 -265 270 -282 q 244 -217 244 -248 q 250 -181 244 -198 q 267 -151 256 -164 q 292 -132 278 -139 q 322 -125 306 -125 q 380 -189 380 -125 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 "},"ǡ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 393 854 q 387 818 393 835 q 371 789 381 801 q 346 769 360 776 q 314 762 331 762 q 271 778 284 762 q 257 826 257 795 q 263 862 257 845 q 280 892 270 879 q 305 911 291 904 q 336 919 319 919 q 393 854 393 919 m 561 1112 q 556 1095 560 1105 q 549 1076 553 1085 q 541 1056 545 1066 q 535 1041 537 1047 l 118 1041 l 103 1058 q 107 1075 104 1065 q 115 1094 111 1084 q 123 1113 119 1104 q 130 1129 127 1122 l 546 1129 l 561 1112 "},"ṁ":{"x_min":37.046875,"x_max":1095.640625,"ha":1116,"o":"m 803 0 l 803 29 q 875 51 852 42 q 898 70 898 61 l 898 429 q 893 498 898 470 q 880 541 889 525 q 856 563 870 557 q 821 570 841 570 q 774 557 799 570 q 722 521 749 544 q 669 464 696 498 q 617 388 642 430 l 617 70 q 638 51 617 61 q 712 29 659 42 l 712 0 l 420 0 l 420 29 q 492 51 469 42 q 515 70 515 61 l 515 429 q 510 498 515 470 q 497 541 506 525 q 474 563 488 557 q 438 570 459 570 q 341 522 392 570 q 234 388 291 475 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 525 132 509 q 117 549 127 540 q 88 561 107 557 q 37 570 69 565 l 37 597 q 84 606 62 601 q 125 619 106 612 q 163 634 145 626 q 199 651 181 642 l 223 627 l 231 471 q 292 550 261 516 q 354 606 323 583 q 413 639 385 628 q 466 651 441 651 q 526 643 498 651 q 573 616 553 635 q 605 567 593 598 q 617 491 617 537 l 616 477 q 675 552 645 520 q 736 606 706 584 q 795 639 766 628 q 849 651 824 651 q 909 642 881 651 q 956 615 936 633 q 988 568 976 596 q 1000 502 1000 540 l 1000 70 q 1021 51 1000 61 q 1095 29 1042 42 l 1095 0 l 803 0 m 634 854 q 628 818 634 835 q 611 789 622 801 q 587 769 601 776 q 555 762 572 762 q 511 778 525 762 q 498 826 498 795 q 504 862 498 845 q 521 892 510 879 q 546 911 532 904 q 576 919 560 919 q 634 854 634 919 "},"Ử":{"x_min":33.65625,"x_max":950.125,"ha":950,"o":"m 950 944 q 941 904 950 927 q 912 856 933 881 q 855 802 891 830 q 767 749 820 775 l 767 355 q 745 196 767 266 q 682 79 723 127 q 583 5 642 30 q 451 -20 525 -20 q 323 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 376 76 332 95 q 478 58 420 58 q 564 81 526 58 q 627 142 601 104 q 665 229 652 180 q 679 327 679 277 l 679 783 q 654 804 679 791 q 580 825 629 816 l 580 855 l 821 855 q 833 889 833 873 q 823 926 833 909 q 794 959 813 944 l 914 1014 q 940 981 930 999 q 950 944 950 963 m 573 1121 q 560 1088 573 1103 q 531 1060 548 1073 q 498 1034 514 1046 q 475 1010 482 1023 q 474 984 467 997 q 509 953 480 970 q 488 945 499 947 q 467 943 477 944 q 422 970 436 957 q 404 993 407 982 q 408 1014 401 1004 q 426 1032 414 1023 q 451 1050 437 1041 q 478 1068 466 1059 q 498 1088 490 1078 q 507 1111 507 1099 q 494 1150 507 1137 q 462 1163 481 1163 q 443 1159 452 1163 q 429 1149 435 1155 q 419 1135 422 1143 q 416 1120 416 1128 q 417 1113 416 1117 q 421 1106 419 1110 q 407 1102 416 1104 q 389 1097 399 1099 q 370 1094 379 1095 q 353 1091 360 1092 l 346 1099 l 346 1108 q 359 1139 346 1124 q 392 1167 372 1155 q 436 1188 412 1180 q 484 1196 460 1196 q 550 1175 527 1196 q 573 1121 573 1155 "},"P":{"x_min":27.5625,"x_max":666,"ha":726,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 82 800 106 803 q 33 792 57 796 l 27 834 q 98 850 60 843 q 178 863 136 858 q 261 871 219 868 q 345 875 304 875 q 478 859 419 875 q 578 813 537 843 q 643 738 620 782 q 666 634 666 693 q 652 549 666 588 q 617 480 639 510 q 566 428 595 450 q 507 391 538 406 q 445 370 476 377 q 388 363 414 363 q 279 383 324 363 l 263 434 q 318 417 292 421 q 368 414 344 414 q 433 426 399 414 q 495 462 467 438 q 542 523 524 487 q 561 607 561 559 q 541 702 561 662 q 486 768 521 742 q 405 805 451 793 q 307 818 359 818 q 273 817 290 818 q 241 817 257 817 l 241 70 q 246 61 241 66 q 265 51 251 57 q 301 40 278 46 q 359 29 324 35 l 359 0 l 33 0 "},"%":{"x_min":52,"x_max":907,"ha":959,"o":"m 810 195 q 801 278 810 243 q 778 337 793 313 q 746 371 764 360 q 708 383 727 383 q 678 373 693 383 q 652 343 664 363 q 634 294 641 323 q 627 224 627 264 q 634 139 627 175 q 655 80 641 103 q 686 45 668 57 q 726 34 704 34 q 758 44 743 34 q 784 74 773 54 q 803 125 796 95 q 810 195 810 155 m 907 209 q 890 121 907 162 q 847 48 874 79 q 783 -1 820 16 q 708 -20 747 -20 q 635 -1 669 -20 q 578 48 602 16 q 541 121 555 79 q 528 209 528 162 q 544 298 528 256 q 588 370 561 339 q 652 420 616 402 q 726 438 688 438 q 800 420 767 438 q 857 371 833 402 q 894 298 881 340 q 907 209 907 257 m 242 11 q 224 1 236 6 q 199 -7 212 -3 q 172 -16 185 -12 q 151 -23 159 -20 l 134 0 l 715 805 q 759 825 734 817 q 805 839 784 833 l 825 816 l 242 11 m 334 595 q 325 678 334 643 q 302 737 317 714 q 270 771 288 760 q 232 783 251 783 q 202 773 217 783 q 176 743 188 763 q 157 694 164 723 q 150 624 150 664 q 157 539 150 575 q 178 479 164 503 q 210 444 191 456 q 250 433 228 433 q 282 443 266 433 q 308 473 297 453 q 327 524 320 494 q 334 595 334 554 m 432 608 q 415 519 432 561 q 372 446 399 477 q 308 396 344 414 q 232 378 272 378 q 159 396 192 378 q 102 446 126 414 q 65 519 78 477 q 52 608 52 561 q 68 696 52 655 q 111 769 84 738 q 175 818 139 800 q 250 837 211 837 q 324 819 291 837 q 381 769 357 801 q 418 697 405 738 q 432 608 432 655 "},"Ʒ":{"x_min":63.53125,"x_max":662,"ha":723,"o":"m 662 294 q 634 164 662 222 q 561 65 606 106 q 455 2 515 24 q 330 -20 395 -20 q 223 -4 272 -20 q 138 30 174 10 q 83 71 102 50 q 63 103 63 92 q 73 119 63 107 q 96 143 82 130 q 127 166 111 155 q 157 179 143 177 q 194 132 172 154 q 243 95 216 111 q 299 70 270 79 q 357 61 328 61 q 437 72 399 61 q 501 108 474 84 q 544 170 528 132 q 560 259 560 208 q 546 338 560 300 q 507 404 532 376 q 444 451 481 433 q 361 469 408 469 q 304 459 331 469 q 244 435 277 450 l 211 418 l 210 419 q 198 432 205 423 q 188 446 191 441 l 187 447 l 187 448 l 188 449 l 467 787 l 208 787 q 185 777 197 787 q 160 751 172 768 q 137 709 148 734 q 120 653 127 684 l 81 661 l 102 865 q 128 859 116 861 q 154 855 141 856 q 183 855 167 855 l 607 855 l 624 825 l 388 533 q 410 536 399 535 q 432 538 421 538 q 517 522 476 538 q 591 475 559 506 q 642 399 623 445 q 662 294 662 354 "},"_":{"x_min":41.375,"x_max":608.359375,"ha":652,"o":"m 608 -105 q 599 -137 604 -120 q 588 -167 594 -154 l 58 -167 l 41 -148 q 50 -118 44 -135 q 62 -89 56 -102 l 592 -89 l 608 -105 "},"ñ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 622 912 q 593 857 610 884 q 555 808 576 830 q 510 773 535 787 q 459 760 486 760 q 414 771 436 760 q 373 798 393 783 q 332 825 352 813 q 293 837 312 837 q 243 814 265 837 q 196 755 221 792 l 160 768 q 188 823 172 796 q 226 873 205 851 q 271 908 247 894 q 322 922 295 922 q 370 910 347 922 q 414 883 394 898 q 453 856 434 868 q 487 845 471 845 q 538 866 513 845 q 585 928 562 888 l 622 912 "},"Ŕ":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 m 263 927 q 246 938 251 931 q 232 957 241 944 l 495 1173 q 513 1162 501 1168 q 537 1148 524 1156 q 559 1134 549 1141 q 575 1122 569 1128 l 581 1092 l 263 927 "},"‚":{"x_min":59.875,"x_max":256,"ha":318,"o":"m 256 41 q 246 -15 256 15 q 220 -76 237 -46 q 177 -135 202 -107 q 119 -184 152 -162 l 89 -160 q 114 -127 103 -146 q 132 -89 124 -108 q 142 -52 139 -70 q 146 -20 146 -34 q 127 32 146 9 q 70 57 109 55 l 59 87 q 85 106 65 96 q 128 126 105 117 q 174 143 152 136 q 209 149 197 149 q 243 104 231 127 q 256 41 256 80 "},"Æ":{"x_min":0.0625,"x_max":1042.296875,"ha":1082,"o":"m 525 779 q 518 789 525 786 q 503 792 512 793 q 485 785 494 791 q 472 767 476 779 l 365 499 l 525 499 l 525 779 m 1042 165 q 1027 63 1036 106 q 1013 0 1018 19 l 428 0 l 428 29 q 499 49 474 38 q 525 70 525 61 l 525 442 l 342 442 l 193 75 q 205 45 184 55 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 72 46 46 37 q 107 75 98 55 l 387 768 q 384 788 392 780 q 360 802 377 795 q 317 814 343 808 q 258 825 291 819 l 258 855 l 975 855 l 996 838 q 992 799 994 820 q 986 757 990 778 q 977 717 982 736 q 968 685 973 698 l 937 685 q 932 737 936 716 q 921 771 928 758 q 904 788 914 783 q 882 794 895 794 l 634 794 l 634 499 l 908 499 l 927 480 q 913 459 920 470 q 897 438 905 448 q 880 418 889 427 q 864 404 872 410 q 842 421 854 414 q 815 433 831 428 q 779 439 800 437 q 729 442 758 442 l 634 442 l 634 104 q 639 86 634 94 q 659 72 644 78 q 702 64 674 67 q 774 61 729 61 l 861 61 q 915 64 893 61 q 953 79 937 67 q 983 114 970 91 q 1011 177 997 137 l 1042 165 "},"ṍ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 594 912 q 564 857 581 884 q 527 808 548 830 q 482 773 506 787 q 431 760 457 760 q 386 771 407 760 q 344 798 364 783 q 304 825 324 813 q 264 837 284 837 q 215 814 237 837 q 167 755 192 792 l 131 768 q 160 823 143 796 q 198 873 177 851 q 243 908 219 894 q 293 922 267 922 q 342 910 319 922 q 385 883 365 898 q 424 856 406 868 q 459 845 442 845 q 509 866 484 845 q 557 928 534 888 l 594 912 m 333 954 q 311 961 321 956 q 295 973 302 967 l 453 1254 q 475 1251 461 1253 q 502 1248 488 1250 q 531 1243 517 1246 q 552 1238 544 1240 l 567 1212 l 333 954 "},"Ṯ":{"x_min":6.34375,"x_max":734.5625,"ha":765,"o":"m 207 0 l 207 29 q 260 42 238 35 q 294 55 281 48 q 313 67 307 61 q 319 78 319 73 l 319 794 l 116 794 q 97 790 106 794 q 80 774 89 786 q 61 738 72 762 q 35 675 50 714 l 6 688 q 15 773 9 728 q 28 855 21 819 l 714 855 l 734 838 q 727 762 733 803 q 714 678 722 721 l 683 678 q 671 731 676 709 q 659 767 666 753 q 644 787 653 781 q 620 794 634 794 l 428 794 l 428 78 q 452 55 428 69 q 539 29 476 42 l 539 0 l 207 0 m 599 -155 q 594 -172 598 -162 q 587 -192 591 -182 q 579 -211 583 -201 q 573 -227 575 -220 l 155 -227 l 141 -210 q 145 -193 142 -202 q 153 -173 149 -183 q 161 -154 157 -164 q 168 -139 165 -145 l 584 -139 l 599 -155 "},"Ū":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 695 1058 q 690 1041 693 1051 q 682 1021 687 1031 q 675 1002 678 1012 q 668 987 671 993 l 251 987 l 236 1003 q 241 1020 238 1011 q 248 1040 244 1030 q 257 1059 252 1049 q 264 1075 261 1068 l 680 1075 l 695 1058 "},"Œ":{"x_min":48,"x_max":1068.125,"ha":1108,"o":"m 409 61 q 460 62 436 61 q 504 66 484 63 q 543 76 525 69 q 579 94 562 82 l 579 745 q 500 785 543 773 q 409 798 457 798 q 301 772 349 798 q 221 699 253 746 q 170 584 188 652 q 153 434 153 517 q 173 291 153 358 q 229 171 194 223 q 310 90 264 120 q 409 61 357 61 m 1068 165 q 1054 63 1062 106 q 1040 0 1045 19 l 596 0 q 535 -3 560 0 q 487 -10 509 -6 q 442 -17 464 -14 q 390 -20 420 -20 q 245 15 308 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 476 872 456 875 q 515 865 496 869 q 553 858 533 861 q 600 855 573 855 l 1001 855 l 1022 837 q 1018 799 1020 820 q 1012 757 1016 778 q 1004 717 1008 736 q 995 685 999 698 l 964 685 q 958 737 962 716 q 947 770 954 757 q 931 787 940 782 q 908 793 921 793 l 689 793 l 689 498 l 934 498 l 954 479 q 939 459 948 469 q 923 438 931 448 q 906 420 914 429 q 891 406 898 412 q 869 423 881 416 q 842 435 857 430 q 806 441 827 439 q 756 444 785 444 l 689 444 l 689 104 q 689 86 689 94 q 699 72 690 78 q 732 64 709 67 q 800 61 755 61 l 887 61 q 940 64 918 61 q 979 79 963 67 q 1010 114 996 91 q 1038 177 1024 137 l 1068 165 "},"Ạ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 474 -189 q 468 -225 474 -208 q 451 -254 462 -242 q 426 -274 441 -267 q 395 -282 412 -282 q 351 -265 365 -282 q 338 -217 338 -248 q 344 -181 338 -198 q 361 -151 350 -164 q 386 -132 372 -139 q 416 -125 400 -125 q 474 -189 474 -125 "},"Ƴ":{"x_min":-0.390625,"x_max":942,"ha":941,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 846 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 584 746 q 622 804 602 777 q 665 852 641 831 q 720 884 689 872 q 791 895 750 895 q 851 883 823 895 q 898 850 878 871 q 930 803 918 830 q 942 746 942 776 q 939 717 942 733 q 934 693 937 702 q 914 675 930 685 q 879 658 899 666 q 841 644 860 650 q 812 634 822 637 l 799 654 q 816 689 809 672 q 823 730 823 706 q 818 762 823 747 q 806 789 814 777 q 785 807 797 801 q 755 814 772 814 q 708 792 729 814 q 671 742 687 771 l 464 366 l 464 78 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 "},"ṡ":{"x_min":64.5,"x_max":474,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 337 854 q 331 818 337 835 q 314 789 325 801 q 289 769 304 776 q 258 762 275 762 q 214 778 228 762 q 201 826 201 795 q 207 862 201 845 q 224 892 213 879 q 249 911 235 904 q 279 919 263 919 q 337 854 337 919 "},"ỷ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 473 904 q 461 871 473 886 q 431 843 448 856 q 398 817 414 829 q 375 793 382 806 q 374 767 368 780 q 409 736 380 753 q 388 728 399 730 q 367 726 377 727 q 322 753 337 740 q 305 776 308 765 q 308 797 301 787 q 326 815 314 806 q 352 833 337 824 q 378 851 366 842 q 399 871 390 861 q 407 894 407 882 q 394 933 407 920 q 362 946 382 946 q 343 942 352 946 q 329 932 335 938 q 319 918 323 926 q 316 903 316 911 q 318 896 316 900 q 321 889 319 893 q 308 885 316 887 q 289 880 299 882 q 270 877 279 878 q 254 874 260 875 l 246 882 l 246 891 q 259 922 246 907 q 292 950 272 938 q 336 971 312 963 q 385 979 361 979 q 450 958 427 979 q 473 904 473 938 "},"›":{"x_min":94.953125,"x_max":368.953125,"ha":423,"o":"m 368 291 l 124 12 l 94 32 l 251 316 l 95 598 l 124 619 l 367 341 l 368 291 "},"<":{"x_min":41.375,"x_max":568.34375,"ha":610,"o":"m 568 218 q 555 206 560 211 q 542 196 549 201 q 529 185 536 190 q 511 174 521 180 l 58 343 l 41 359 q 41 361 41 361 q 42 363 42 362 l 44 369 q 45 375 44 371 l 47 384 l 49 389 q 50 394 50 391 q 52 398 50 396 l 53 403 l 57 416 l 61 424 l 62 426 l 551 610 l 568 593 q 563 576 566 585 q 558 558 561 567 q 553 540 556 548 q 548 525 550 531 l 172 385 l 556 243 l 568 218 "},"¬":{"x_min":41.359375,"x_max":604,"ha":652,"o":"m 604 157 q 576 137 590 147 q 545 123 562 128 l 529 139 l 529 343 l 58 343 l 41 359 q 50 389 44 372 q 62 419 56 405 l 584 419 l 604 404 l 604 157 "},"t":{"x_min":13.265625,"x_max":458.453125,"ha":478,"o":"m 458 79 q 392 36 425 55 q 330 5 360 17 q 276 -13 301 -7 q 233 -20 250 -20 q 188 -11 209 -20 q 150 17 166 -2 q 124 70 134 37 q 115 150 115 102 l 115 567 l 27 567 l 13 585 l 66 631 l 115 631 l 115 797 l 195 868 l 217 851 l 217 631 l 438 631 l 458 611 q 443 591 452 602 q 424 571 434 580 q 405 553 415 561 q 389 543 396 545 q 340 559 373 551 q 252 567 307 567 l 217 567 l 217 208 q 220 140 217 167 q 233 97 224 113 q 256 74 242 81 q 290 68 269 68 q 349 77 313 68 q 438 114 385 86 l 458 79 "},"ù":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 446 731 q 429 718 438 722 q 408 710 420 713 l 170 965 l 185 993 q 205 998 191 995 q 232 1003 218 1000 q 261 1007 247 1005 q 284 1010 276 1009 l 446 731 "},"Ȳ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 645 1058 q 640 1041 644 1051 q 633 1021 637 1031 q 625 1002 629 1012 q 619 987 621 993 l 202 987 l 187 1003 q 191 1020 188 1011 q 199 1040 195 1030 q 207 1059 203 1049 q 215 1075 211 1068 l 630 1075 l 645 1058 "},"ï":{"x_min":-10.421875,"x_max":396.578125,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 396 854 q 390 818 396 835 q 373 789 384 801 q 348 769 363 776 q 317 762 334 762 q 273 778 287 762 q 260 826 260 795 q 266 862 260 845 q 283 892 272 879 q 308 911 294 904 q 338 919 322 919 q 396 854 396 919 m 125 854 q 119 818 125 835 q 102 789 113 801 q 77 769 92 776 q 46 762 63 762 q 2 778 16 762 q -10 826 -10 795 q -4 862 -10 845 q 12 892 1 879 q 37 911 23 904 q 67 919 51 919 q 125 854 125 919 "},"Ò":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 537 957 q 522 938 527 944 q 506 927 517 931 l 188 1092 l 193 1122 q 209 1134 198 1128 q 231 1148 219 1141 q 255 1162 244 1156 q 274 1173 267 1168 l 537 957 "},"":{"x_min":-40.9375,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 400 q 111 409 121 406 q 91 413 101 413 q 42 390 64 413 q -5 330 20 368 l -40 344 q -12 399 -28 372 q 25 449 4 427 q 70 484 46 470 q 121 498 94 498 q 126 497 123 498 q 132 497 128 497 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 440 q 264 426 253 431 q 287 421 276 421 q 337 442 312 421 q 385 504 362 464 l 422 488 q 392 433 409 461 q 355 384 375 406 q 310 349 334 363 q 259 336 285 336 q 241 338 249 336 l 241 111 q 246 89 241 98 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"ầ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 m 402 1036 q 385 1023 394 1028 q 364 1015 376 1018 l 126 1271 l 141 1298 q 161 1303 147 1300 q 188 1308 174 1305 q 217 1312 203 1311 q 240 1315 231 1314 l 402 1036 "},"Ṫ":{"x_min":6.34375,"x_max":734.5625,"ha":765,"o":"m 207 0 l 207 29 q 260 42 238 35 q 294 55 281 48 q 313 67 307 61 q 319 78 319 73 l 319 794 l 116 794 q 97 790 106 794 q 80 774 89 786 q 61 738 72 762 q 35 675 50 714 l 6 688 q 15 773 9 728 q 28 855 21 819 l 714 855 l 734 838 q 727 762 733 803 q 714 678 722 721 l 683 678 q 671 731 676 709 q 659 767 666 753 q 644 787 653 781 q 620 794 634 794 l 428 794 l 428 78 q 452 55 428 69 q 539 29 476 42 l 539 0 l 207 0 m 438 1045 q 432 1009 438 1026 q 415 980 426 992 q 391 960 405 967 q 359 953 376 953 q 315 969 329 953 q 302 1018 302 986 q 308 1053 302 1036 q 325 1083 314 1070 q 350 1102 336 1095 q 380 1110 364 1110 q 438 1045 438 1110 "},"Ồ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 631 957 q 618 938 623 944 q 602 927 613 932 l 416 1068 l 232 927 q 223 932 227 929 q 216 938 219 935 q 210 946 213 941 q 202 957 206 951 l 381 1167 l 453 1167 l 631 957 m 537 1228 q 522 1209 527 1216 q 506 1198 517 1203 l 188 1363 l 193 1394 q 209 1406 198 1399 q 231 1420 219 1413 q 255 1433 244 1427 q 274 1444 267 1440 l 537 1228 "},"I":{"x_min":47.65625,"x_max":353.34375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 "},"˝":{"x_min":54.265625,"x_max":466.625,"ha":521,"o":"m 92 710 q 74 716 81 712 q 54 728 67 720 l 173 1010 q 192 1006 181 1008 q 215 1002 204 1005 q 237 998 226 1000 q 254 993 247 995 l 269 965 l 92 710 m 290 710 q 270 716 277 712 q 251 728 263 720 l 370 1010 q 389 1006 379 1008 q 412 1002 400 1005 q 433 998 423 1000 q 451 993 444 995 l 466 965 l 290 710 "},"ə":{"x_min":47,"x_max":577,"ha":631,"o":"m 301 51 q 422 103 379 51 q 474 258 465 156 l 201 258 q 168 242 180 258 q 156 199 156 226 q 168 140 156 167 q 202 93 181 113 q 249 62 223 73 q 301 51 275 51 m 577 329 q 550 180 577 249 q 477 61 523 111 q 390 0 438 19 q 282 -20 343 -20 q 190 -4 233 -20 q 115 40 147 11 q 65 106 83 68 q 47 189 47 144 q 53 239 47 216 q 71 276 59 261 q 115 298 91 287 q 163 319 139 309 l 475 319 q 456 419 473 374 q 412 494 440 463 q 347 542 385 525 q 269 559 310 559 q 231 556 250 559 q 190 545 212 553 q 140 522 167 537 q 78 481 113 506 q 62 495 69 485 q 52 510 56 505 q 128 581 93 554 q 195 624 163 609 q 256 645 226 640 q 317 651 286 651 q 414 628 367 651 q 497 565 460 606 q 555 464 533 524 q 577 329 577 404 "},"·":{"x_min":34,"x_max":170,"ha":203,"o":"m 170 488 q 163 452 170 469 q 147 423 157 435 q 122 403 136 410 q 91 396 108 396 q 47 412 60 396 q 34 460 34 429 q 40 496 34 479 q 57 526 46 513 q 81 545 68 538 q 112 553 95 553 q 170 488 170 553 "},"Ṝ":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 m 420 -189 q 414 -225 420 -208 q 398 -254 408 -242 q 373 -274 387 -267 q 342 -282 359 -282 q 298 -265 311 -282 q 284 -217 284 -248 q 291 -181 284 -198 q 308 -151 297 -164 q 332 -132 318 -139 q 363 -125 346 -125 q 420 -189 420 -125 m 588 1058 q 583 1041 587 1051 q 576 1021 580 1031 q 568 1002 572 1012 q 562 987 564 993 l 145 987 l 130 1003 q 134 1020 131 1011 q 142 1040 138 1030 q 150 1059 146 1049 q 158 1075 154 1068 l 573 1075 l 588 1058 "},"ẕ":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 m 535 -155 q 531 -172 534 -162 q 523 -192 527 -182 q 515 -211 519 -201 q 509 -227 512 -220 l 92 -227 l 77 -210 q 82 -193 78 -202 q 89 -173 85 -183 q 97 -154 93 -164 q 105 -139 101 -145 l 520 -139 l 535 -155 "},"¿":{"x_min":54,"x_max":547,"ha":601,"o":"m 287 359 q 308 376 298 370 q 336 387 319 382 l 353 374 l 358 294 q 347 218 360 256 q 312 142 334 180 q 266 69 291 105 q 218 -1 240 33 q 181 -69 196 -36 q 167 -135 167 -103 q 204 -267 167 -220 q 314 -315 242 -315 q 360 -303 338 -315 q 399 -273 382 -292 q 426 -230 416 -255 q 436 -180 436 -206 q 433 -160 436 -169 q 426 -141 430 -150 q 473 -122 449 -128 q 527 -114 496 -116 l 545 -135 q 547 -146 547 -141 l 547 -157 q 523 -246 547 -205 q 460 -316 500 -286 q 369 -362 420 -345 q 260 -379 317 -379 q 171 -363 210 -379 q 107 -319 133 -347 q 67 -252 81 -291 q 54 -166 54 -213 q 69 -74 54 -115 q 110 1 85 -33 q 163 69 134 37 q 217 136 191 102 q 261 208 243 170 q 283 294 279 247 l 287 359 m 397 575 q 389 532 397 552 q 368 496 382 512 q 338 472 355 481 q 302 464 321 464 q 251 483 267 464 q 236 541 236 503 q 243 584 236 564 q 262 619 250 604 q 292 642 275 634 q 328 651 309 651 q 380 631 364 651 q 397 575 397 611 "},"Ứ":{"x_min":33.65625,"x_max":950.125,"ha":950,"o":"m 950 944 q 941 904 950 927 q 912 856 933 881 q 855 802 891 830 q 767 749 820 775 l 767 355 q 745 196 767 266 q 682 79 723 127 q 583 5 642 30 q 451 -20 525 -20 q 323 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 376 76 332 95 q 478 58 420 58 q 564 81 526 58 q 627 142 601 104 q 665 229 652 180 q 679 327 679 277 l 679 783 q 654 804 679 791 q 580 825 629 816 l 580 855 l 821 855 q 833 889 833 873 q 823 926 833 909 q 794 959 813 944 l 914 1014 q 940 981 930 999 q 950 944 950 963 m 369 927 q 353 938 358 931 q 339 957 347 944 l 601 1173 q 619 1162 608 1168 q 643 1148 631 1156 q 666 1134 655 1141 q 681 1122 676 1128 l 687 1092 l 369 927 "},"ű":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 259 710 q 240 716 247 712 q 220 728 234 720 l 339 1010 q 359 1006 347 1008 q 381 1002 370 1005 q 403 998 392 1000 q 420 993 413 995 l 435 965 l 259 710 m 456 710 q 436 716 443 712 q 417 728 430 720 l 537 1010 q 556 1006 545 1008 q 578 1002 567 1005 q 599 998 589 1000 q 617 993 610 995 l 632 965 l 456 710 "},"ɖ":{"x_min":54,"x_max":883.90625,"ha":699,"o":"m 330 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 m 607 -112 q 625 -232 607 -190 q 693 -275 644 -275 q 728 -265 712 -275 q 754 -241 744 -256 q 765 -210 763 -227 q 758 -179 767 -193 q 769 -168 756 -176 q 802 -151 783 -159 q 840 -137 821 -143 q 870 -133 860 -131 l 883 -159 q 867 -216 885 -185 q 815 -275 848 -247 q 737 -320 781 -302 q 642 -339 692 -339 q 575 -323 601 -339 q 532 -283 548 -308 q 511 -224 517 -257 q 505 -153 505 -190 l 505 112 q 454 57 479 81 q 402 15 429 32 q 345 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 863 q 503 923 505 901 q 492 957 501 945 q 463 973 483 968 q 408 980 443 977 l 408 1006 q 507 1026 463 1014 q 585 1051 550 1039 l 607 1030 l 607 -112 "},"Ṹ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 690 1103 q 661 1047 678 1075 q 623 998 644 1020 q 578 963 602 977 q 527 950 554 950 q 482 961 503 950 q 440 988 461 973 q 400 1015 420 1003 q 360 1027 380 1027 q 311 1005 333 1027 q 263 945 288 982 l 227 958 q 256 1013 240 986 q 294 1063 273 1041 q 339 1098 315 1084 q 389 1112 363 1112 q 438 1100 415 1112 q 482 1073 461 1088 q 520 1046 502 1058 q 555 1035 539 1035 q 605 1056 581 1035 q 653 1118 630 1078 l 690 1103 m 369 1144 q 353 1155 358 1148 q 339 1174 347 1161 l 601 1390 q 619 1379 608 1385 q 643 1365 631 1373 q 666 1352 655 1358 q 681 1339 676 1345 l 687 1309 l 369 1144 "},"Ḍ":{"x_min":27.5625,"x_max":761,"ha":823,"o":"m 307 818 q 241 816 273 818 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 805 q 80 799 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 441 -189 q 435 -225 441 -208 q 418 -254 429 -242 q 393 -274 408 -267 q 362 -282 379 -282 q 318 -265 331 -282 q 305 -217 305 -248 q 311 -181 305 -198 q 328 -151 317 -164 q 353 -132 339 -139 q 383 -125 367 -125 q 441 -189 441 -125 "},"Ǽ":{"x_min":0.0625,"x_max":1042.296875,"ha":1082,"o":"m 525 779 q 518 789 525 786 q 503 792 512 793 q 485 785 494 791 q 472 767 476 779 l 365 499 l 525 499 l 525 779 m 1042 165 q 1027 63 1036 106 q 1013 0 1018 19 l 428 0 l 428 29 q 499 49 474 38 q 525 70 525 61 l 525 442 l 342 442 l 193 75 q 205 45 184 55 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 72 46 46 37 q 107 75 98 55 l 387 768 q 384 788 392 780 q 360 802 377 795 q 317 814 343 808 q 258 825 291 819 l 258 855 l 975 855 l 996 838 q 992 799 994 820 q 986 757 990 778 q 977 717 982 736 q 968 685 973 698 l 937 685 q 932 737 936 716 q 921 771 928 758 q 904 788 914 783 q 882 794 895 794 l 634 794 l 634 499 l 908 499 l 927 480 q 913 459 920 470 q 897 438 905 448 q 880 418 889 427 q 864 404 872 410 q 842 421 854 414 q 815 433 831 428 q 779 439 800 437 q 729 442 758 442 l 634 442 l 634 104 q 639 86 634 94 q 659 72 644 78 q 702 64 674 67 q 774 61 729 61 l 861 61 q 915 64 893 61 q 953 79 937 67 q 983 114 970 91 q 1011 177 997 137 l 1042 165 m 537 927 q 520 938 525 931 q 506 957 515 944 l 769 1173 q 787 1162 775 1168 q 811 1148 798 1156 q 833 1134 823 1141 q 849 1122 843 1128 l 855 1092 l 537 927 "},";":{"x_min":59.40625,"x_max":264,"ha":318,"o":"m 264 47 q 253 -12 264 20 q 223 -80 243 -45 q 175 -147 203 -114 q 112 -207 147 -180 l 81 -183 q 114 -141 100 -161 q 136 -99 127 -120 q 148 -53 144 -77 q 153 0 153 -29 q 133 47 153 29 q 70 62 113 64 l 59 94 q 85 112 65 102 q 128 133 104 123 q 174 149 151 142 q 209 155 197 155 q 252 112 241 139 q 264 47 264 86 m 250 575 q 242 531 250 551 q 223 496 235 511 q 193 473 210 481 q 156 464 176 464 q 104 484 120 464 q 89 540 89 504 q 96 583 89 563 q 116 618 103 603 q 146 642 129 634 q 183 651 164 651 q 233 631 216 651 q 250 575 250 611 "},"Ġ":{"x_min":47,"x_max":777.203125,"ha":810,"o":"m 707 805 q 705 792 711 802 q 688 770 699 782 q 663 746 677 757 q 641 726 650 734 l 619 730 q 573 765 596 751 q 523 786 549 778 q 467 796 497 793 q 405 800 438 800 q 362 792 388 800 q 309 767 337 784 q 253 721 281 749 q 202 652 225 693 q 165 556 179 611 q 152 431 152 502 q 177 267 152 337 q 243 152 202 197 q 334 83 283 106 q 437 61 385 61 q 528 70 487 61 q 604 98 570 80 l 604 328 q 597 343 604 336 q 575 357 591 350 q 532 370 559 364 q 464 384 505 377 l 464 413 l 777 413 l 777 384 q 722 359 738 375 q 706 328 706 344 l 706 104 q 615 38 655 63 q 542 1 576 14 q 479 -15 509 -11 q 419 -20 449 -20 q 284 5 350 -20 q 164 82 217 30 q 79 212 112 134 q 47 394 47 289 q 82 596 47 507 q 180 747 118 685 q 324 842 241 809 q 499 875 406 875 q 549 870 522 875 q 603 856 575 865 q 658 834 631 847 q 707 805 685 821 m 502 1045 q 496 1009 502 1026 q 479 980 490 992 q 454 960 469 967 q 423 953 440 953 q 379 969 392 953 q 366 1018 366 986 q 372 1053 366 1036 q 389 1083 378 1070 q 414 1102 400 1095 q 444 1110 428 1110 q 502 1045 502 1110 "},"6":{"x_min":75,"x_max":598,"ha":652,"o":"m 339 447 q 263 427 305 447 q 184 363 221 408 q 197 223 184 282 q 234 126 210 165 q 293 69 259 88 q 370 51 328 51 q 430 68 406 51 q 469 112 454 85 q 489 171 483 139 q 496 235 496 204 q 480 340 496 299 q 442 405 465 381 q 392 437 419 428 q 339 447 364 447 m 598 279 q 590 213 598 247 q 569 145 583 178 q 533 82 554 112 q 483 29 511 52 q 420 -6 455 7 q 343 -20 385 -20 q 239 4 288 -20 q 153 74 190 29 q 96 181 117 118 q 75 320 75 244 q 102 504 75 416 q 187 662 130 592 q 330 781 244 733 q 535 847 417 830 l 548 807 q 406 751 468 788 q 299 666 343 714 q 227 559 255 617 q 190 440 200 501 q 238 479 213 463 q 286 504 263 494 q 330 517 309 513 q 367 522 351 522 q 465 505 422 522 q 537 456 507 488 q 582 380 566 425 q 598 279 598 335 "},"n":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 "},"ʌ":{"x_min":13.5625,"x_max":670.765625,"ha":685,"o":"m 13 29 q 46 37 33 33 q 67 47 59 42 q 80 58 75 52 q 88 75 84 65 l 280 590 q 297 616 286 605 q 322 633 309 626 q 349 644 336 640 q 371 651 362 648 l 595 75 q 619 46 601 56 q 670 29 636 36 l 670 0 l 408 0 l 408 29 q 452 35 435 32 q 477 44 468 39 q 488 56 486 49 q 485 75 489 64 l 318 509 l 162 75 q 159 57 158 65 q 168 45 160 50 q 192 36 177 40 q 232 29 207 33 l 232 0 l 13 0 l 13 29 "},"Ṉ":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 680 -155 q 675 -172 678 -162 q 668 -192 672 -182 q 660 -211 663 -201 q 653 -227 656 -220 l 236 -227 l 221 -210 q 226 -193 223 -202 q 233 -173 229 -183 q 242 -154 238 -164 q 249 -139 246 -145 l 665 -139 l 680 -155 "},"ḯ":{"x_min":-10.421875,"x_max":398.109375,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 396 854 q 390 818 396 835 q 373 789 384 801 q 348 769 363 776 q 317 762 334 762 q 273 778 287 762 q 260 826 260 795 q 266 862 260 845 q 283 892 272 879 q 308 911 294 904 q 338 919 322 919 q 396 854 396 919 m 125 854 q 119 818 125 835 q 102 789 113 801 q 77 769 92 776 q 46 762 63 762 q 2 778 16 762 q -10 826 -10 795 q -4 862 -10 845 q 12 892 1 879 q 37 911 23 904 q 67 919 51 919 q 125 854 125 919 m 164 954 q 142 961 151 956 q 125 973 132 967 l 284 1254 q 305 1251 292 1253 q 333 1248 318 1250 q 361 1243 347 1246 q 382 1238 375 1240 l 398 1212 l 164 954 "},"ụ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 437 -189 q 431 -225 437 -208 q 415 -254 425 -242 q 390 -274 404 -267 q 359 -282 376 -282 q 315 -265 328 -282 q 301 -217 301 -248 q 308 -181 301 -198 q 325 -151 314 -164 q 349 -132 335 -139 q 380 -125 363 -125 q 437 -189 437 -125 "},"Ẵ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 637 1367 q 608 1312 625 1339 q 570 1263 591 1284 q 525 1227 550 1241 q 474 1214 501 1214 q 429 1225 451 1214 q 387 1252 408 1237 q 347 1279 367 1267 q 307 1291 327 1291 q 258 1268 280 1291 q 210 1208 236 1246 l 174 1222 q 203 1277 187 1250 q 241 1327 220 1305 q 286 1362 262 1348 q 337 1376 310 1376 q 385 1364 362 1376 q 429 1337 408 1352 q 467 1310 449 1322 q 502 1299 486 1299 q 553 1320 528 1299 q 600 1383 577 1342 l 637 1367 m 626 1139 q 580 1046 606 1084 q 527 986 555 1009 q 468 952 499 962 q 407 942 438 942 q 343 952 374 942 q 283 986 311 962 q 230 1046 255 1009 q 185 1139 206 1084 q 202 1157 193 1151 q 221 1169 210 1164 q 260 1104 238 1131 q 307 1062 282 1078 q 357 1039 331 1046 q 404 1032 382 1032 q 454 1039 428 1032 q 505 1062 480 1046 q 552 1104 530 1078 q 590 1169 574 1131 q 610 1157 602 1164 q 626 1139 618 1151 "},"Ǩ":{"x_min":33.65625,"x_max":796.46875,"ha":803,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 438 l 518 765 q 538 794 534 783 q 535 811 542 805 q 511 820 528 817 q 468 825 494 823 l 468 855 l 753 855 l 753 825 q 714 820 731 823 q 683 813 697 817 q 659 802 670 808 q 637 783 647 795 l 340 455 l 668 85 q 694 64 680 72 q 724 54 708 57 q 757 51 740 51 q 791 53 774 51 l 796 24 q 716 0 756 11 q 643 -10 675 -10 q 608 -3 623 -10 q 579 19 593 2 l 241 433 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 436 943 l 364 943 l 185 1151 q 193 1162 189 1157 q 199 1170 196 1167 q 206 1176 202 1174 q 215 1183 210 1179 l 402 1039 l 585 1183 q 601 1170 596 1176 q 614 1151 606 1164 l 436 943 "},"ḡ":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 m 575 868 q 570 851 573 861 q 562 831 566 841 q 555 812 558 822 q 548 797 551 803 l 131 797 l 116 813 q 121 830 118 821 q 128 850 124 840 q 136 869 132 859 q 144 885 141 878 l 560 885 l 575 868 "},"∂":{"x_min":54,"x_max":641,"ha":695,"o":"m 533 398 q 499 468 522 435 q 446 525 475 501 q 384 563 416 549 q 322 577 351 577 q 251 557 282 577 q 199 503 220 537 q 168 422 179 469 q 158 321 158 375 q 176 219 158 267 q 221 134 194 170 q 281 76 249 97 q 343 55 314 55 q 417 78 382 55 q 477 146 452 102 q 518 251 503 189 q 533 390 533 313 l 533 398 m 641 489 q 625 309 641 386 q 584 174 610 231 q 527 80 559 118 q 460 20 494 43 q 394 -10 426 -1 q 336 -20 362 -20 q 217 4 270 -20 q 129 71 165 28 q 73 173 92 114 q 54 301 54 232 q 78 431 54 368 q 143 544 102 495 q 236 622 183 593 q 343 652 288 652 q 389 641 363 652 q 442 615 416 631 q 493 578 469 599 q 533 535 517 557 q 507 705 529 636 q 451 817 484 774 q 377 878 417 859 q 297 897 336 897 q 258 894 277 897 q 219 885 240 892 q 176 864 199 878 q 122 827 153 850 l 92 850 l 172 947 q 246 972 211 963 q 315 981 281 981 q 392 973 353 981 q 467 945 431 965 q 534 889 503 924 q 590 800 566 854 q 627 669 613 745 q 641 489 641 592 "},"‡":{"x_min":47.734375,"x_max":614.9375,"ha":663,"o":"m 614 729 q 590 676 605 705 q 559 622 576 647 q 466 644 512 637 q 363 656 420 652 q 369 574 364 613 q 388 488 375 534 q 370 402 376 443 q 364 321 365 360 q 424 325 395 322 q 481 331 452 327 q 538 341 509 335 q 597 354 567 347 l 614 325 q 590 273 605 302 q 559 218 576 244 q 467 239 513 230 q 363 252 420 248 q 371 133 363 186 q 398 28 379 80 q 343 -2 372 11 q 292 -27 315 -17 l 263 -10 q 288 119 279 54 q 298 252 296 183 q 237 247 266 250 q 180 240 209 244 q 123 230 152 236 q 64 218 95 225 l 47 247 q 71 300 57 271 q 103 354 86 329 q 195 331 148 338 q 298 321 241 323 q 290 402 296 360 q 273 488 285 444 q 291 574 286 535 q 298 656 296 613 q 180 644 235 652 q 64 622 125 635 l 47 651 q 71 703 57 674 q 103 757 86 732 q 195 734 148 741 q 298 724 241 726 q 287 842 296 788 q 263 948 279 897 q 317 979 289 965 q 369 1004 346 994 l 398 987 q 376 858 385 923 q 364 725 367 792 q 481 735 426 727 q 597 758 536 742 l 614 729 "},"ň":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 427 726 l 355 726 l 176 968 q 184 979 181 974 q 190 987 187 984 q 197 993 193 991 q 206 1000 201 996 l 393 829 l 576 1000 q 592 987 588 993 q 605 968 597 981 l 427 726 "},"√":{"x_min":14.25,"x_max":839.640625,"ha":820,"o":"m 839 968 q 830 936 836 953 q 819 907 824 919 l 718 907 l 485 40 q 467 14 479 25 q 442 -2 456 4 q 416 -13 429 -9 q 394 -20 402 -17 l 124 552 l 31 552 l 14 570 q 23 600 17 584 q 35 630 29 616 l 200 631 l 440 127 l 676 985 l 822 985 l 839 968 "},"ố":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 577 740 q 564 721 569 727 q 548 710 559 715 l 362 891 l 178 710 q 169 715 172 712 q 162 721 165 718 q 155 729 159 724 q 147 740 152 734 l 326 998 l 399 998 l 577 740 m 333 1015 q 311 1022 321 1017 q 295 1034 302 1028 l 453 1315 q 475 1312 461 1314 q 502 1309 488 1311 q 531 1304 517 1307 q 552 1299 544 1301 l 567 1273 l 333 1015 "},"Ặ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 474 -189 q 468 -225 474 -208 q 451 -254 462 -242 q 426 -274 441 -267 q 395 -282 412 -282 q 351 -265 365 -282 q 338 -217 338 -248 q 344 -181 338 -198 q 361 -151 350 -164 q 386 -132 372 -139 q 416 -125 400 -125 q 474 -189 474 -125 m 626 1139 q 580 1046 606 1084 q 527 985 555 1009 q 468 952 499 962 q 407 942 438 942 q 343 952 374 942 q 283 985 311 962 q 230 1046 255 1009 q 185 1139 206 1084 q 202 1158 193 1151 q 221 1170 210 1164 q 260 1104 238 1131 q 307 1062 282 1078 q 357 1039 331 1046 q 404 1032 382 1032 q 454 1039 428 1032 q 505 1062 480 1046 q 552 1104 530 1078 q 590 1170 574 1131 q 610 1158 602 1164 q 626 1139 618 1151 "},"Ế":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 554 957 q 541 938 546 944 q 525 927 537 932 l 339 1068 l 156 927 q 146 932 150 929 q 140 938 143 935 q 133 946 137 941 q 125 957 130 951 l 304 1167 l 377 1167 l 554 957 m 250 1198 q 234 1209 239 1203 q 220 1228 229 1216 l 482 1444 q 501 1433 489 1440 q 524 1420 512 1427 q 547 1406 537 1413 q 562 1394 557 1399 l 569 1363 l 250 1198 "},"ṫ":{"x_min":13.265625,"x_max":458.453125,"ha":478,"o":"m 458 79 q 392 36 425 55 q 330 5 360 17 q 276 -13 301 -7 q 233 -20 250 -20 q 188 -11 209 -20 q 150 17 166 -2 q 124 70 134 37 q 115 150 115 102 l 115 567 l 27 567 l 13 585 l 66 631 l 115 631 l 115 797 l 195 868 l 217 851 l 217 631 l 438 631 l 458 611 q 443 591 452 602 q 424 571 434 580 q 405 553 415 561 q 389 543 396 545 q 340 559 373 551 q 252 567 307 567 l 217 567 l 217 208 q 220 140 217 167 q 233 97 224 113 q 256 74 242 81 q 290 68 269 68 q 349 77 313 68 q 438 114 385 86 l 458 79 m 304 1037 q 298 1001 304 1018 q 281 972 292 985 q 256 952 271 960 q 225 945 242 945 q 181 962 194 945 q 168 1010 168 978 q 174 1045 168 1029 q 191 1075 180 1062 q 216 1095 202 1087 q 246 1102 230 1102 q 304 1037 304 1102 "},"ắ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 545 922 q 500 829 525 867 q 446 768 474 792 q 387 735 418 745 q 326 725 357 725 q 262 735 293 725 q 203 768 231 745 q 150 829 174 792 q 105 922 125 867 q 121 941 113 934 q 141 953 129 947 q 180 887 158 914 q 226 845 202 861 q 276 822 250 829 q 324 815 301 815 q 374 822 347 815 q 424 845 400 829 q 471 887 449 861 q 510 953 493 914 q 529 941 521 947 q 545 922 537 934 m 296 927 q 274 934 284 929 q 257 946 265 939 l 416 1227 q 437 1224 424 1226 q 465 1220 451 1222 q 493 1216 480 1218 q 514 1211 507 1213 l 530 1184 l 296 927 "},"Ṅ":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 m 519 1045 q 513 1009 519 1026 q 496 980 507 992 q 471 960 485 967 q 440 953 457 953 q 396 969 409 953 q 383 1018 383 986 q 389 1053 383 1036 q 406 1083 395 1070 q 431 1102 417 1095 q 461 1110 445 1110 q 519 1045 519 1110 "},"≈":{"x_min":37.984375,"x_max":571.734375,"ha":610,"o":"m 571 328 q 407 219 503 219 q 351 229 379 219 q 296 252 323 240 q 241 275 268 264 q 186 286 213 286 q 129 267 154 286 q 73 217 103 249 l 37 254 q 202 365 105 365 q 262 354 232 365 q 321 331 293 343 q 374 308 349 319 q 421 298 400 298 q 453 303 437 298 q 483 319 469 309 q 511 341 498 328 q 535 367 524 353 l 571 328 m 571 505 q 407 396 503 396 q 351 406 379 396 q 296 429 323 416 q 241 451 268 441 q 186 462 213 462 q 129 444 154 462 q 73 393 103 426 l 37 430 q 202 541 105 541 q 262 530 232 541 q 321 508 293 520 q 374 485 349 495 q 421 475 400 475 q 453 480 437 475 q 483 496 469 486 q 511 518 498 505 q 535 545 524 530 l 571 505 "},"g":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 "},"ǿ":{"x_min":54,"x_max":645,"ha":699,"o":"m 541 308 q 530 387 541 349 q 501 458 519 426 l 241 115 q 298 70 269 86 q 355 55 328 55 q 438 72 404 55 q 496 124 473 90 q 530 204 519 157 q 541 308 541 250 m 158 320 q 169 241 158 279 q 199 171 180 204 l 459 515 q 403 560 433 544 q 343 576 373 576 q 256 556 291 576 q 199 502 221 536 q 167 421 176 468 q 158 320 158 374 m 642 644 l 572 552 q 626 452 607 509 q 645 328 645 396 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 249 -7 289 -20 q 176 29 209 5 l 164 12 q 146 0 157 7 q 123 -14 135 -7 q 98 -27 110 -21 q 78 -36 86 -33 l 59 -14 l 126 75 q 72 175 91 118 q 54 300 54 233 q 65 389 54 345 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 362 651 320 651 q 450 637 409 651 q 523 600 490 624 l 538 619 q 557 632 546 625 q 578 646 567 639 q 600 658 589 653 q 620 667 611 664 l 642 644 m 326 710 q 305 717 314 712 q 288 729 295 722 l 446 1010 q 468 1007 455 1009 q 496 1003 481 1005 q 524 999 510 1001 q 545 994 537 996 l 560 967 l 326 710 "},"²":{"x_min":40.390625,"x_max":403.78125,"ha":457,"o":"m 397 421 l 53 421 l 40 450 q 138 549 96 506 q 210 626 180 592 q 260 684 240 659 q 290 729 279 709 q 306 764 302 748 q 311 796 311 780 q 290 856 311 834 q 222 878 270 878 q 188 871 203 878 q 163 853 174 864 q 146 828 152 842 q 140 800 140 814 q 105 787 124 792 q 65 780 87 782 l 53 792 q 69 836 53 813 q 114 878 86 859 q 179 910 142 897 q 254 923 215 923 q 312 916 285 923 q 357 895 338 909 q 386 859 376 880 q 397 807 397 837 q 384 752 397 780 q 341 688 371 725 q 262 600 311 651 q 139 477 213 550 l 325 477 q 350 487 340 477 q 365 509 359 497 q 373 542 371 523 l 403 537 l 397 421 "},"́":{"x_min":-436.09375,"x_max":-163.453125,"ha":0,"o":"m -397 710 q -419 717 -409 712 q -436 729 -428 722 l -277 1010 q -256 1007 -269 1009 q -228 1003 -242 1005 q -200 999 -213 1001 q -179 994 -186 996 l -163 967 l -397 710 "},"ḣ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 459 1215 q 453 1179 459 1196 q 436 1150 447 1162 q 412 1130 426 1137 q 380 1122 397 1122 q 336 1139 350 1122 q 323 1187 323 1156 q 329 1223 323 1206 q 346 1252 335 1240 q 371 1272 357 1265 q 401 1279 385 1279 q 459 1215 459 1279 "},"ḉ":{"x_min":54,"x_max":569.421875,"ha":607,"o":"m 444 -155 q 432 -203 444 -180 q 394 -245 420 -226 q 330 -278 369 -264 q 234 -301 290 -292 l 219 -267 q 279 -252 255 -261 q 320 -232 304 -243 q 342 -209 335 -221 q 350 -187 350 -197 q 332 -154 350 -164 q 273 -141 315 -145 q 279 -122 274 -139 q 294 -77 284 -108 q 313 -20 301 -55 q 218 1 264 -19 q 134 65 171 23 q 76 166 98 106 q 54 301 54 225 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 432 186 480 q 156 321 156 385 q 173 217 156 264 q 219 136 190 170 q 285 85 248 103 q 363 67 323 67 q 399 69 382 67 q 434 79 415 71 q 479 106 454 88 q 542 156 505 123 l 569 128 q 491 47 525 76 q 429 2 458 17 q 374 -16 401 -12 q 366 -17 370 -17 l 349 -70 q 383 -81 366 -74 q 414 -97 401 -87 q 435 -122 427 -107 q 444 -155 444 -136 m 303 710 q 281 717 290 712 q 264 729 271 723 l 423 1010 q 444 1007 431 1009 q 472 1003 457 1005 q 500 999 486 1001 q 521 994 514 996 l 537 967 l 303 710 "},"Ã":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 637 1103 q 608 1047 625 1075 q 570 998 591 1020 q 525 963 550 977 q 474 950 501 950 q 429 961 451 950 q 387 988 408 973 q 347 1015 367 1003 q 307 1027 327 1027 q 258 1005 280 1027 q 210 945 236 982 l 174 958 q 203 1013 187 986 q 241 1063 220 1041 q 286 1098 262 1084 q 337 1112 310 1112 q 385 1100 362 1112 q 429 1073 408 1088 q 467 1046 449 1058 q 502 1035 486 1035 q 553 1056 528 1035 q 600 1118 577 1078 l 637 1103 "},"ˀ":{"x_min":21,"x_max":410,"ha":422,"o":"m 169 551 l 169 622 q 180 680 169 654 q 209 728 191 706 q 247 771 227 751 q 284 812 266 792 q 313 852 302 832 q 325 896 325 872 q 315 941 325 921 q 289 975 305 961 q 251 997 272 990 q 205 1005 229 1005 q 172 998 189 1005 q 143 980 156 991 q 121 954 129 969 q 113 923 113 939 q 114 911 113 917 q 118 899 116 905 q 79 889 102 893 q 34 884 56 886 l 21 896 q 21 903 21 899 l 21 910 q 38 964 21 938 q 87 1009 56 990 q 158 1039 118 1028 q 242 1051 198 1051 q 312 1040 281 1051 q 365 1011 344 1030 q 398 968 386 992 q 410 914 410 943 q 398 860 410 884 q 369 816 387 836 q 332 777 351 796 q 294 739 312 759 q 265 696 276 719 q 254 646 254 674 l 254 551 l 169 551 "},"̄":{"x_min":-578.53125,"x_max":-120.046875,"ha":0,"o":"m -120 868 q -124 851 -121 861 q -132 831 -128 841 q -140 812 -136 822 q -146 797 -143 803 l -563 797 l -578 813 q -573 830 -577 821 q -566 850 -570 840 q -558 869 -562 859 q -550 885 -554 878 l -134 885 l -120 868 "},"Ṍ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 648 1103 q 619 1047 636 1075 q 581 998 602 1020 q 536 963 560 977 q 485 950 512 950 q 440 961 461 950 q 398 988 419 973 q 358 1015 378 1003 q 318 1027 338 1027 q 269 1005 291 1027 q 221 945 246 982 l 185 958 q 214 1013 198 986 q 252 1063 231 1041 q 297 1098 273 1084 q 347 1112 321 1112 q 396 1100 373 1112 q 440 1073 419 1088 q 478 1046 460 1058 q 513 1035 497 1035 q 563 1056 539 1035 q 611 1118 588 1078 l 648 1103 m 327 1144 q 310 1155 316 1148 q 297 1174 305 1161 l 559 1390 q 577 1379 566 1385 q 601 1365 589 1373 q 623 1352 613 1358 q 639 1339 634 1345 l 645 1309 l 327 1144 "},"©":{"x_min":68,"x_max":922,"ha":990,"o":"m 690 250 q 632 201 659 221 q 579 169 604 181 q 528 152 553 157 q 479 147 503 147 q 393 164 435 147 q 317 215 350 182 q 263 297 284 249 q 243 408 243 346 q 265 531 243 476 q 327 626 288 587 q 418 686 366 665 q 528 708 470 708 q 617 695 579 708 q 681 666 655 683 q 679 655 684 664 q 668 635 675 646 q 652 614 661 624 q 638 599 644 604 l 621 602 q 567 637 597 621 q 495 654 536 654 q 444 643 473 654 q 391 606 416 632 q 348 535 365 579 q 331 425 331 491 q 351 330 331 371 q 401 262 371 289 q 465 220 431 234 q 528 207 500 207 q 557 209 543 207 q 589 219 572 212 q 626 238 606 226 q 671 269 646 250 q 682 260 677 267 q 690 250 686 252 m 864 428 q 836 579 864 508 q 759 703 809 650 q 642 786 710 755 q 494 817 575 817 q 346 786 414 817 q 230 703 279 755 q 153 579 180 650 q 126 428 126 508 q 153 276 126 347 q 230 152 180 204 q 346 68 279 99 q 494 38 414 38 q 642 68 575 38 q 759 152 710 99 q 836 276 809 204 q 864 428 864 347 m 922 428 q 907 309 922 366 q 866 202 892 251 q 801 111 839 152 q 715 41 762 70 q 611 -4 667 11 q 494 -20 556 -20 q 323 15 401 -20 q 188 111 245 50 q 99 253 131 171 q 68 428 68 335 q 99 602 68 520 q 188 744 131 683 q 323 839 245 804 q 494 875 401 875 q 611 859 556 875 q 715 813 667 843 q 801 744 762 784 q 866 653 839 703 q 907 546 892 603 q 922 428 922 489 "},"≥":{"x_min":41.375,"x_max":568.34375,"ha":610,"o":"m 568 192 q 558 163 564 178 q 548 135 552 147 l 58 135 l 41 153 q 50 181 44 167 q 62 210 56 196 l 551 210 l 568 192 m 41 646 q 71 669 56 659 q 98 691 86 680 l 552 521 l 568 505 q 559 470 564 489 q 547 436 554 452 l 58 254 l 41 271 q 46 287 43 278 q 51 305 48 296 q 56 323 54 315 q 62 338 59 332 l 436 478 l 52 620 l 41 646 "},"ẙ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 424 843 q 420 874 424 859 q 409 900 416 889 q 390 918 401 911 q 366 925 380 925 q 339 919 352 925 q 316 903 326 913 q 300 877 306 892 q 294 844 294 862 q 298 814 294 828 q 310 788 302 799 q 328 770 317 777 q 352 764 339 764 q 379 769 366 764 q 402 784 392 774 q 418 808 412 794 q 424 843 424 823 m 485 871 q 472 807 485 836 q 437 757 459 778 q 390 723 416 735 q 338 712 364 712 q 296 720 315 712 q 263 742 277 728 q 241 775 249 756 q 233 816 233 794 q 246 880 233 851 q 281 931 260 910 q 328 965 302 953 q 380 977 354 977 q 421 968 402 977 q 455 945 441 960 q 477 911 469 930 q 485 871 485 892 "},"Ă":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 626 1139 q 580 1046 606 1084 q 527 985 555 1009 q 468 952 499 962 q 407 942 438 942 q 343 952 374 942 q 283 985 311 962 q 230 1046 255 1009 q 185 1139 206 1084 q 202 1158 193 1151 q 221 1170 210 1164 q 260 1104 238 1131 q 307 1062 282 1078 q 357 1039 331 1046 q 404 1032 382 1032 q 454 1039 428 1032 q 505 1062 480 1046 q 552 1104 530 1078 q 590 1170 574 1131 q 610 1158 602 1164 q 626 1139 618 1151 "},"ǖ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 572 854 q 566 818 572 835 q 550 789 560 801 q 525 769 539 776 q 494 762 511 762 q 450 778 463 762 q 436 826 436 795 q 443 862 436 845 q 460 892 449 879 q 484 911 470 904 q 515 919 498 919 q 572 854 572 919 m 301 854 q 295 818 301 835 q 279 789 289 801 q 254 769 268 776 q 223 762 240 762 q 179 778 192 762 q 165 826 165 795 q 172 862 165 845 q 189 892 178 879 q 213 911 199 904 q 244 919 227 919 q 301 854 301 919 m 605 1112 q 600 1095 604 1105 q 593 1076 597 1085 q 585 1056 589 1066 q 579 1041 581 1047 l 162 1041 l 147 1058 q 151 1075 148 1065 q 159 1094 155 1084 q 167 1113 163 1104 q 174 1129 171 1122 l 590 1129 l 605 1112 "},"ǹ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 544 496 549 470 q 529 537 539 522 q 502 557 519 552 q 462 563 486 563 q 415 552 441 563 q 360 520 389 542 q 298 461 330 497 q 234 372 266 425 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 524 132 508 q 118 548 127 540 q 90 561 109 557 q 37 570 71 565 l 37 597 q 122 618 83 604 q 199 651 161 632 l 223 627 l 231 458 q 296 539 260 503 q 369 599 332 575 q 440 637 406 624 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 468 731 q 451 718 459 722 q 430 710 442 713 l 191 965 l 206 993 q 226 998 213 995 q 254 1003 240 1000 q 283 1007 269 1005 q 305 1010 297 1009 l 468 731 "},"ÿ":{"x_min":-31.875,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 369 -55 q 306 -184 341 -130 q 233 -272 271 -237 q 158 -322 196 -306 q 86 -339 120 -339 q 38 -335 60 -339 q 1 -327 16 -332 q -23 -315 -14 -322 q -31 -303 -31 -309 q -23 -286 -31 -298 q -3 -259 -15 -274 q 22 -231 8 -245 q 47 -211 36 -218 q 112 -231 80 -230 q 169 -223 144 -233 q 198 -204 181 -219 q 230 -168 214 -189 q 263 -118 247 -146 q 291 -62 279 -91 l 311 -15 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 123 l 522 555 q 523 573 525 565 q 511 585 520 580 q 485 594 502 590 q 444 601 469 597 l 444 631 l 670 631 l 670 601 m 562 854 q 556 818 562 835 q 539 789 550 801 q 515 769 529 776 q 483 762 500 762 q 440 778 453 762 q 426 826 426 795 q 432 862 426 845 q 449 892 438 879 q 474 911 460 904 q 504 919 488 919 q 562 854 562 919 m 291 854 q 285 818 291 835 q 268 789 279 801 q 244 769 258 776 q 212 762 229 762 q 169 778 182 762 q 155 826 155 795 q 161 862 155 845 q 178 892 167 879 q 203 911 189 904 q 233 919 217 919 q 291 854 291 919 "},"Ḹ":{"x_min":33.65625,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 111 q 246 89 241 99 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 m 405 -189 q 399 -225 405 -208 q 382 -254 393 -242 q 357 -274 372 -267 q 326 -282 343 -282 q 282 -265 295 -282 q 269 -217 269 -248 q 275 -181 269 -198 q 292 -151 281 -164 q 317 -132 303 -139 q 347 -125 331 -125 q 405 -189 405 -125 m 552 1058 q 548 1041 551 1051 q 540 1021 544 1031 q 532 1002 536 1012 q 526 987 529 993 l 109 987 l 94 1003 q 99 1020 95 1011 q 106 1040 102 1030 q 114 1059 110 1049 q 122 1075 118 1068 l 537 1075 l 552 1058 "},"Ł":{"x_min":27.5625,"x_max":640.484375,"ha":661,"o":"m 640 165 q 626 63 635 106 q 612 0 618 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 361 l 45 318 l 27 333 q 33 348 29 339 q 42 365 37 356 q 52 382 47 374 q 62 393 58 389 l 132 428 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 483 l 429 578 l 447 561 q 431 531 441 549 q 411 502 420 514 l 241 416 l 241 111 q 246 89 241 99 q 266 74 252 80 q 305 64 281 67 q 367 61 329 61 l 464 61 q 516 64 495 61 q 554 79 538 67 q 583 114 570 91 q 611 177 597 137 l 640 165 "},"∫":{"x_min":-139.921875,"x_max":493.25,"ha":376,"o":"m 493 965 q 483 949 493 959 q 460 927 473 938 q 431 906 446 916 q 407 892 417 896 q 378 930 392 915 q 351 953 365 944 q 327 964 338 961 q 306 968 315 968 q 269 957 284 968 q 243 920 253 946 q 228 853 233 895 q 224 750 224 812 q 226 650 224 708 q 232 526 228 592 q 241 390 236 460 q 249 253 245 320 q 255 125 253 185 q 258 20 258 65 q 245 -84 258 -38 q 214 -165 233 -130 q 170 -226 194 -200 q 121 -271 145 -252 q 82 -297 103 -285 q 42 -319 62 -310 q 3 -333 22 -328 q -27 -339 -14 -339 q -68 -333 -48 -339 q -104 -321 -88 -328 q -130 -305 -120 -313 q -139 -291 -139 -297 q -130 -275 -139 -285 q -106 -253 -120 -264 q -78 -231 -93 -241 q -53 -216 -63 -221 q -9 -241 -32 -235 q 39 -247 14 -247 q 77 -235 58 -247 q 113 -196 97 -224 q 138 -120 128 -168 q 149 0 149 -72 q 146 93 149 37 q 140 216 144 150 q 132 352 136 282 q 123 490 127 423 q 117 614 119 556 q 115 712 115 672 q 121 812 115 770 q 141 885 128 853 q 175 941 155 916 q 222 988 196 965 q 294 1035 257 1019 q 358 1051 332 1051 q 412 1039 388 1051 q 455 1014 437 1028 q 483 985 473 999 q 493 965 493 971 "},"\\":{"x_min":37.296875,"x_max":613.796875,"ha":652,"o":"m 590 -227 q 571 -220 581 -224 q 549 -211 560 -216 q 528 -202 538 -207 q 512 -192 518 -197 l 37 1070 l 62 1085 q 139 1051 101 1074 l 613 -210 l 590 -227 "},"Ì":{"x_min":-28.484375,"x_max":353.34375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 320 957 q 305 938 310 944 q 289 927 300 931 l -28 1092 l -23 1122 q -7 1134 -18 1128 q 14 1148 2 1141 q 38 1162 27 1156 q 57 1173 50 1168 l 320 957 "},"Ȱ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 485 1045 q 479 1009 485 1026 q 462 980 473 992 q 437 960 452 967 q 406 953 423 953 q 362 969 375 953 q 349 1018 349 986 q 355 1053 349 1036 q 372 1083 361 1070 q 397 1102 383 1095 q 427 1110 411 1110 q 485 1045 485 1110 m 653 1275 q 648 1258 651 1268 q 640 1238 644 1248 q 633 1219 636 1229 q 626 1204 629 1210 l 209 1204 l 194 1220 q 199 1237 196 1228 q 206 1257 202 1247 q 214 1276 210 1267 q 222 1292 219 1285 l 638 1292 l 653 1275 "},"Ḳ":{"x_min":33.65625,"x_max":796.46875,"ha":803,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 438 l 518 765 q 538 794 534 783 q 535 811 542 805 q 511 820 528 817 q 468 825 494 823 l 468 855 l 753 855 l 753 825 q 714 820 731 823 q 683 813 697 817 q 659 802 670 808 q 637 783 647 795 l 340 455 l 668 85 q 694 64 680 72 q 724 54 708 57 q 757 51 740 51 q 791 53 774 51 l 796 24 q 716 0 756 11 q 643 -10 675 -10 q 608 -3 623 -10 q 579 19 593 2 l 241 433 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 483 -189 q 477 -225 483 -208 q 460 -254 471 -242 q 435 -274 450 -267 q 404 -282 421 -282 q 360 -265 373 -282 q 347 -217 347 -248 q 353 -181 347 -198 q 370 -151 359 -164 q 395 -132 381 -139 q 425 -125 409 -125 q 483 -189 483 -125 "},"ḗ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 581 868 q 577 851 580 861 q 569 831 573 841 q 561 812 565 822 q 555 797 558 803 l 138 797 l 123 813 q 128 830 124 821 q 135 850 131 840 q 143 869 139 859 q 151 885 147 878 l 566 885 l 581 868 m 316 954 q 295 961 304 956 q 278 973 285 967 l 436 1254 q 458 1251 444 1253 q 485 1248 471 1250 q 514 1243 500 1246 q 535 1238 527 1240 l 550 1212 l 316 954 "},"ṙ":{"x_min":37.046875,"x_max":528.015625,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 m 373 854 q 367 818 373 835 q 350 789 361 801 q 325 769 340 776 q 294 762 311 762 q 250 778 264 762 q 237 826 237 795 q 243 862 237 845 q 260 892 249 879 q 285 911 271 904 q 315 919 299 919 q 373 854 373 919 "},"Ḋ":{"x_min":27.5625,"x_max":761,"ha":823,"o":"m 307 818 q 241 816 273 818 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 805 q 80 799 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 441 1045 q 435 1009 441 1026 q 418 980 429 992 q 393 960 408 967 q 362 953 379 953 q 318 969 331 953 q 305 1018 305 986 q 311 1053 305 1036 q 328 1083 317 1070 q 353 1102 339 1095 q 383 1110 367 1110 q 441 1045 441 1110 "},"Ē":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 576 1058 q 571 1041 575 1051 q 564 1021 568 1031 q 556 1002 560 1012 q 550 987 552 993 l 132 987 l 118 1003 q 122 1020 119 1011 q 130 1040 126 1030 q 138 1059 134 1049 q 145 1075 142 1068 l 561 1075 l 576 1058 "},"!":{"x_min":103,"x_max":264,"ha":378,"o":"m 264 83 q 256 39 264 59 q 237 4 249 19 q 207 -18 224 -10 q 170 -27 190 -27 q 118 -7 134 -27 q 103 48 103 12 q 110 91 103 71 q 130 127 117 111 q 160 151 143 142 q 197 160 178 160 q 247 140 230 160 q 264 83 264 120 m 221 264 q 198 248 208 254 q 170 237 187 243 l 151 251 l 119 948 q 173 979 145 965 q 225 1004 202 994 l 254 987 l 221 264 "},"ç":{"x_min":54,"x_max":569.421875,"ha":607,"o":"m 444 -155 q 432 -203 444 -180 q 394 -245 420 -226 q 330 -278 369 -264 q 234 -301 290 -292 l 219 -267 q 279 -252 255 -261 q 320 -232 304 -243 q 342 -209 335 -221 q 350 -187 350 -197 q 332 -154 350 -164 q 273 -141 315 -145 q 279 -122 274 -139 q 294 -77 284 -108 q 313 -20 301 -55 q 218 1 264 -19 q 134 65 171 23 q 76 166 98 106 q 54 301 54 225 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 432 186 480 q 156 321 156 385 q 173 217 156 264 q 219 136 190 170 q 285 85 248 103 q 363 67 323 67 q 399 69 382 67 q 434 79 415 71 q 479 106 454 88 q 542 156 505 123 l 569 128 q 491 47 525 76 q 429 2 458 17 q 374 -16 401 -12 q 366 -17 370 -17 l 349 -70 q 383 -81 366 -74 q 414 -97 401 -87 q 435 -122 427 -107 q 444 -155 444 -136 "},"ǯ":{"x_min":26.015625,"x_max":577,"ha":624,"o":"m 577 -17 q 548 -148 577 -89 q 475 -249 520 -207 q 372 -315 429 -292 q 259 -339 316 -339 q 168 -326 211 -339 q 94 -295 125 -313 q 44 -258 62 -277 q 26 -228 26 -240 q 35 -214 26 -224 q 59 -194 45 -204 q 89 -174 73 -183 q 120 -162 106 -164 q 199 -240 159 -213 q 285 -268 240 -268 q 361 -253 326 -268 q 421 -212 395 -239 q 460 -144 446 -184 q 475 -52 475 -103 q 460 36 475 -6 q 416 113 445 80 q 345 167 387 147 q 250 186 304 187 q 195 181 222 186 q 142 167 169 176 q 129 180 137 170 q 118 196 121 191 l 408 570 l 177 570 q 155 565 167 570 q 134 550 144 561 q 114 519 123 539 q 98 468 105 499 l 65 476 l 78 642 q 105 635 92 637 q 130 632 117 633 q 159 631 144 631 l 529 631 l 546 601 l 276 252 q 299 254 288 253 q 321 255 310 255 q 422 235 375 253 q 503 182 468 216 q 557 97 537 147 q 577 -17 577 47 m 337 726 l 265 726 l 86 934 q 94 945 90 940 q 100 953 97 950 q 107 959 103 957 q 116 966 111 962 l 303 822 l 486 966 q 502 953 497 959 q 515 934 507 947 l 337 726 "},"Ǡ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 474 1045 q 468 1009 474 1026 q 451 980 462 992 q 426 960 441 967 q 395 953 412 953 q 351 969 365 953 q 338 1018 338 986 q 344 1053 338 1036 q 361 1083 350 1070 q 386 1102 372 1095 q 416 1110 400 1110 q 474 1045 474 1110 m 642 1275 q 637 1258 640 1268 q 630 1238 634 1248 q 622 1219 626 1229 q 615 1204 618 1210 l 198 1204 l 183 1220 q 188 1237 185 1228 q 196 1257 191 1247 q 204 1276 200 1267 q 211 1292 208 1285 l 627 1292 l 642 1275 "},"Ȩ":{"x_min":33.65625,"x_max":646.609375,"ha":689,"o":"m 452 -155 q 440 -203 452 -180 q 403 -245 428 -226 q 338 -278 378 -264 q 244 -301 299 -292 l 229 -267 q 288 -252 264 -261 q 328 -232 313 -243 q 350 -209 343 -221 q 358 -187 358 -197 q 340 -154 358 -164 q 281 -141 323 -145 q 287 -122 282 -139 q 302 -77 292 -108 q 327 0 311 -50 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 378 61 334 61 l 466 61 q 519 64 497 61 q 558 79 541 67 q 589 114 575 91 q 617 177 603 137 l 646 165 q 632 63 641 107 q 618 0 624 19 l 380 0 l 357 -70 q 391 -81 374 -74 q 422 -97 409 -87 q 443 -122 435 -107 q 452 -155 452 -136 "},"̣":{"x_min":-417,"x_max":-281,"ha":0,"o":"m -281 -189 q -287 -225 -281 -208 q -303 -254 -293 -242 q -328 -274 -314 -267 q -359 -282 -342 -282 q -403 -265 -390 -282 q -417 -217 -417 -248 q -410 -181 -417 -198 q -393 -151 -404 -164 q -369 -132 -383 -139 q -338 -125 -355 -125 q -281 -189 -281 -125 "},"đ":{"x_min":54,"x_max":720.9375,"ha":722,"o":"m 712 56 q 657 21 681 35 q 615 -2 633 6 q 584 -16 597 -12 q 561 -21 571 -21 q 525 9 539 -21 q 506 114 510 40 q 454 58 480 83 q 402 16 429 33 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 773 l 315 773 l 299 787 q 306 810 302 798 q 315 834 309 823 l 505 834 l 505 863 q 502 922 505 900 q 491 956 500 944 q 462 972 481 968 q 406 980 442 977 l 406 1006 q 506 1026 462 1014 q 585 1051 550 1039 l 607 1030 l 607 834 l 705 834 l 720 817 l 705 773 l 607 773 l 607 172 q 608 131 607 148 q 611 103 609 114 q 615 84 613 91 q 622 71 618 76 q 645 67 628 64 q 703 86 663 70 l 712 56 m 505 177 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 "},"ċ":{"x_min":54,"x_max":569.71875,"ha":607,"o":"m 569 129 q 492 47 525 76 q 430 2 458 17 q 374 -16 401 -12 q 315 -20 347 -20 q 218 2 265 -20 q 134 65 171 24 q 76 166 98 106 q 54 301 54 226 q 80 438 54 374 q 154 548 107 501 q 263 623 200 596 q 400 651 326 651 q 445 647 422 651 q 490 636 469 643 q 530 619 512 629 q 559 597 548 609 q 557 574 560 588 q 548 542 554 559 q 534 510 541 525 q 520 485 527 495 l 495 492 q 478 519 490 504 q 446 546 465 533 q 400 567 427 559 q 339 576 373 576 q 270 560 303 576 q 211 512 237 544 q 171 433 186 480 q 156 322 156 385 q 173 217 156 264 q 219 137 190 170 q 285 85 248 103 q 364 68 323 68 q 399 69 383 68 q 435 80 415 71 q 479 106 454 89 q 543 156 505 124 l 569 129 m 400 854 q 394 818 400 835 q 377 789 388 801 q 353 769 367 776 q 321 762 338 762 q 277 778 291 762 q 264 826 264 795 q 270 862 264 845 q 287 892 276 879 q 312 911 298 904 q 342 919 326 919 q 400 854 400 919 "},"Ā":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 642 1058 q 637 1041 640 1051 q 630 1021 634 1031 q 622 1002 626 1012 q 615 987 618 993 l 198 987 l 183 1003 q 188 1020 185 1011 q 196 1040 191 1030 q 204 1059 200 1049 q 211 1075 208 1068 l 627 1075 l 642 1058 "},"Ẃ":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 m 494 927 q 477 938 482 931 q 463 957 472 944 l 726 1173 q 744 1162 733 1168 q 768 1148 756 1156 q 790 1134 780 1141 q 806 1122 800 1128 l 812 1092 l 494 927 "},"ø":{"x_min":54,"x_max":645,"ha":699,"o":"m 541 308 q 530 387 541 349 q 501 458 519 426 l 241 115 q 298 70 269 86 q 355 55 328 55 q 438 72 404 55 q 496 124 473 90 q 530 204 519 157 q 541 308 541 250 m 158 320 q 169 241 158 279 q 199 171 180 204 l 459 515 q 403 560 433 544 q 343 576 373 576 q 256 556 291 576 q 199 502 221 536 q 167 421 176 468 q 158 320 158 374 m 642 644 l 572 552 q 626 452 607 509 q 645 328 645 396 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 249 -7 289 -20 q 176 29 209 5 l 164 12 q 146 0 157 7 q 123 -14 135 -7 q 98 -27 110 -21 q 78 -36 86 -33 l 59 -14 l 126 75 q 72 175 91 118 q 54 300 54 233 q 65 389 54 345 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 362 651 320 651 q 450 637 409 651 q 523 600 490 624 l 538 619 q 557 632 546 625 q 578 646 567 639 q 600 658 589 653 q 620 667 611 664 l 642 644 "},"â":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 "},"}":{"x_min":26.203125,"x_max":399.421875,"ha":467,"o":"m 399 441 q 278 379 318 420 q 238 285 238 338 q 240 238 238 258 q 244 203 242 219 q 251 174 247 188 q 257 145 254 161 q 262 109 260 129 q 264 62 264 89 q 248 -24 264 15 q 204 -98 233 -64 q 135 -162 176 -133 q 44 -214 94 -190 l 26 -180 q 75 -143 52 -164 q 115 -97 98 -123 q 141 -42 132 -72 q 151 23 151 -11 q 147 87 151 62 q 138 134 143 112 q 129 181 133 156 q 125 247 125 207 q 133 302 125 275 q 157 353 141 329 q 195 396 173 376 q 247 427 218 415 q 189 449 213 434 q 151 488 166 465 q 131 542 137 511 q 125 611 125 573 q 129 680 125 651 q 138 733 133 708 q 147 783 143 758 q 151 842 151 808 q 145 909 151 880 q 127 961 140 938 q 91 1004 114 985 q 32 1043 68 1023 l 48 1085 q 146 1037 105 1062 q 213 980 187 1011 q 251 911 239 949 q 264 823 264 872 q 260 757 264 783 q 251 706 256 730 q 242 655 246 682 q 238 586 238 627 q 265 502 238 531 q 343 474 292 474 l 356 474 q 364 474 360 474 q 372 475 367 475 l 387 479 l 399 441 "},"‰":{"x_min":52,"x_max":1356,"ha":1408,"o":"m 1257 196 q 1248 278 1257 243 q 1226 337 1239 313 q 1194 371 1212 360 q 1156 383 1175 383 q 1126 373 1141 383 q 1099 343 1111 363 q 1080 294 1087 324 q 1073 225 1073 265 q 1080 140 1073 176 q 1101 81 1088 104 q 1133 46 1114 58 q 1173 35 1152 35 q 1205 45 1190 35 q 1232 75 1220 55 q 1250 126 1243 95 q 1257 196 1257 156 m 1356 209 q 1339 120 1356 162 q 1296 47 1323 78 q 1232 -2 1269 15 q 1157 -21 1196 -21 q 1083 -2 1116 -21 q 1025 47 1049 15 q 988 120 1001 78 q 975 209 975 162 q 991 298 975 256 q 1035 371 1008 339 q 1099 420 1063 402 q 1173 439 1135 439 q 1248 421 1214 439 q 1305 371 1281 403 q 1342 298 1329 340 q 1356 209 1356 257 m 810 196 q 801 278 810 243 q 778 337 793 313 q 746 371 764 360 q 708 383 727 383 q 678 373 693 383 q 652 343 664 363 q 634 294 641 324 q 627 225 627 265 q 634 140 627 176 q 655 81 641 104 q 686 46 668 58 q 726 35 704 35 q 758 45 743 35 q 784 75 773 55 q 803 126 796 95 q 810 196 810 156 m 907 209 q 890 120 907 162 q 847 47 874 78 q 783 -2 820 15 q 708 -21 747 -21 q 635 -2 669 -21 q 578 47 602 15 q 541 120 555 78 q 528 209 528 162 q 544 298 528 256 q 588 371 561 339 q 652 420 616 402 q 726 439 688 439 q 800 421 767 439 q 857 371 833 403 q 894 298 881 340 q 907 209 907 257 m 242 10 q 224 0 236 5 q 199 -8 212 -4 q 172 -17 185 -13 q 151 -24 159 -21 l 134 0 l 715 805 q 759 825 734 817 q 805 839 784 833 l 825 816 l 242 10 m 334 595 q 325 678 334 643 q 302 736 317 713 q 270 770 288 759 q 232 782 251 782 q 202 772 217 782 q 176 742 188 762 q 157 693 164 723 q 150 624 150 664 q 157 539 150 575 q 178 480 164 503 q 210 445 191 457 q 250 434 228 434 q 282 444 266 434 q 308 474 297 454 q 327 525 320 494 q 334 595 334 555 m 432 608 q 415 519 432 561 q 372 446 399 477 q 308 396 344 414 q 232 378 272 378 q 159 396 192 378 q 102 446 126 414 q 65 519 78 477 q 52 608 52 561 q 68 697 52 655 q 111 770 84 738 q 175 819 139 801 q 250 838 211 838 q 324 820 291 838 q 381 770 357 802 q 418 697 405 739 q 432 608 432 656 "},"Ä":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 609 1045 q 603 1009 609 1026 q 586 980 597 992 q 561 960 576 967 q 530 953 547 953 q 486 969 500 953 q 473 1018 473 986 q 479 1053 473 1036 q 496 1083 485 1070 q 521 1102 507 1095 q 551 1110 535 1110 q 609 1045 609 1110 m 338 1045 q 332 1009 338 1026 q 315 980 326 992 q 290 960 305 967 q 259 953 276 953 q 215 969 229 953 q 202 1018 202 986 q 208 1053 202 1036 q 225 1083 214 1070 q 250 1102 236 1095 q 280 1110 264 1110 q 338 1045 338 1110 "},"ř":{"x_min":37.046875,"x_max":528.015625,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 m 341 726 l 269 726 l 90 968 q 98 979 94 974 q 104 987 101 984 q 111 993 107 991 q 120 1000 115 996 l 307 829 l 490 1000 q 506 987 501 993 q 519 968 511 981 l 341 726 "},"Ṣ":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 407 -189 q 401 -225 407 -208 q 384 -254 395 -242 q 359 -274 374 -267 q 328 -282 345 -282 q 284 -265 297 -282 q 271 -217 271 -248 q 277 -181 271 -198 q 294 -151 283 -164 q 319 -132 305 -139 q 349 -125 333 -125 q 407 -189 407 -125 "},"—":{"x_min":41.375,"x_max":1022.765625,"ha":1064,"o":"m 1022 370 q 1013 338 1019 355 q 1002 309 1007 320 l 58 309 l 41 325 q 50 356 44 340 q 62 387 56 373 l 1006 387 l 1022 370 "},"N":{"x_min":33.65625,"x_max":867.34375,"ha":901,"o":"m 33 0 l 33 29 q 107 48 83 35 q 132 70 132 61 l 132 779 q 84 811 109 800 q 33 825 60 821 l 33 855 l 177 855 q 194 853 187 855 q 207 846 200 851 q 221 830 214 840 q 242 802 229 819 l 688 187 l 688 783 q 665 805 688 791 q 589 825 643 818 l 589 855 l 867 855 l 867 825 q 793 806 818 819 q 769 783 769 793 l 769 -20 q 716 -6 735 -15 q 689 14 697 3 l 213 673 l 213 70 q 235 49 213 62 q 311 29 258 36 l 311 0 l 33 0 "},"Ṿ":{"x_min":13.5625,"x_max":874.90625,"ha":903,"o":"m 874 825 q 802 808 828 817 q 769 781 776 800 l 510 40 q 491 14 504 25 q 462 -2 478 4 q 432 -13 446 -9 q 408 -20 417 -17 l 109 781 q 79 809 103 798 q 13 825 56 820 l 13 855 l 308 855 l 308 825 q 234 811 254 821 q 221 782 214 802 l 461 138 l 689 781 q 672 809 696 800 q 592 825 648 819 l 592 855 l 874 855 l 874 825 m 512 -189 q 506 -225 512 -208 q 489 -254 500 -242 q 464 -274 479 -267 q 433 -282 450 -282 q 389 -265 403 -282 q 376 -217 376 -248 q 382 -181 376 -198 q 399 -151 388 -164 q 424 -132 410 -139 q 454 -125 438 -125 q 512 -189 512 -125 "},"⁄":{"x_min":134.28125,"x_max":728.40625,"ha":814,"o":"m 214 2 q 184 -10 198 -5 q 151 -20 169 -15 l 134 0 l 651 816 q 680 828 664 821 q 711 838 696 834 l 728 819 l 214 2 "},"2":{"x_min":66.421875,"x_max":567,"ha":652,"o":"m 557 0 l 86 0 l 66 50 q 207 215 147 143 q 309 343 267 287 q 380 440 352 398 q 424 514 408 481 q 446 574 440 547 q 453 627 453 601 q 445 685 453 658 q 421 733 438 713 q 379 765 405 753 q 316 777 353 777 q 265 763 288 777 q 225 729 242 749 q 199 683 208 708 q 189 633 189 657 q 169 622 178 627 q 150 612 160 616 q 129 605 141 608 q 103 600 118 602 l 84 621 q 108 694 84 656 q 171 764 132 732 q 260 817 210 796 q 362 838 310 838 q 439 826 403 838 q 501 791 474 814 q 542 731 527 768 q 558 645 558 695 q 549 584 558 615 q 521 518 540 554 q 473 441 503 483 q 402 346 444 398 q 305 228 359 293 q 180 82 250 163 l 463 82 q 484 87 475 82 q 500 100 493 92 q 512 119 507 109 q 521 142 517 130 q 532 202 529 168 l 567 194 l 557 0 "},"Ó":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 327 927 q 310 938 316 931 q 297 957 305 944 l 559 1173 q 577 1162 566 1168 q 601 1148 589 1156 q 623 1134 613 1141 q 639 1122 634 1128 l 645 1092 l 327 927 "},"˜":{"x_min":47.46875,"x_max":510.03125,"ha":558,"o":"m 510 912 q 480 857 497 884 q 443 808 463 830 q 398 773 422 787 q 347 760 373 760 q 302 771 323 760 q 260 798 280 783 q 220 825 240 813 q 180 837 200 837 q 130 814 153 837 q 83 755 108 792 l 47 768 q 76 823 59 796 q 113 873 92 851 q 159 908 134 894 q 209 922 183 922 q 258 910 235 922 q 301 883 281 898 q 340 856 322 868 q 375 845 358 845 q 425 866 400 845 q 473 928 450 888 l 510 912 "},"ˇ":{"x_min":33.90625,"x_max":463.21875,"ha":497,"o":"m 285 726 l 212 726 l 33 968 q 42 979 38 974 q 48 987 45 984 q 55 993 51 991 q 64 1000 59 996 l 250 829 l 434 1000 q 450 987 445 993 q 463 968 455 981 l 285 726 "},"":{"x_min":0,"x_max":200.078125,"ha":231,"o":"m 200 0 l 200 -26 l 26 -26 l 26 -200 l 0 -200 l 0 0 l 200 0 "},"Ŭ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 679 1139 q 633 1046 659 1084 q 580 985 608 1009 q 521 952 552 962 q 460 942 491 942 q 396 952 427 942 q 336 985 364 962 q 283 1046 308 1009 q 238 1139 259 1084 q 255 1158 246 1151 q 274 1170 263 1164 q 313 1104 291 1131 q 360 1062 335 1078 q 409 1039 384 1046 q 457 1032 435 1032 q 507 1039 481 1032 q 558 1062 533 1046 q 605 1104 583 1078 q 643 1170 627 1131 q 663 1158 655 1164 q 679 1139 671 1151 "},"̌":{"x_min":-563.609375,"x_max":-134.28125,"ha":0,"o":"m -311 726 l -384 726 l -563 968 q -555 979 -558 974 q -549 987 -552 984 q -542 993 -545 991 q -533 1000 -538 996 l -346 829 l -163 1000 q -147 987 -151 993 q -134 968 -142 981 l -311 726 "},"ĝ":{"x_min":20,"x_max":670.8125,"ha":678,"o":"m 468 406 q 456 474 468 442 q 420 531 444 507 q 362 569 397 555 q 282 583 327 583 q 244 574 265 583 q 205 548 224 565 q 175 505 187 531 q 163 446 163 479 q 174 378 163 410 q 208 322 185 346 q 265 284 230 298 q 348 271 300 271 q 389 279 368 271 q 428 305 411 287 q 456 347 445 322 q 468 406 468 372 m 351 -2 q 303 3 325 0 q 263 10 282 6 q 186 -36 214 -15 q 143 -74 157 -57 q 125 -104 129 -90 q 122 -128 122 -118 q 140 -182 122 -157 q 191 -226 159 -208 q 265 -256 223 -245 q 353 -268 307 -268 q 436 -255 399 -268 q 500 -222 473 -243 q 541 -171 526 -200 q 556 -106 556 -141 q 547 -71 556 -87 q 515 -42 538 -55 q 452 -19 492 -29 q 351 -2 412 -9 m 563 434 q 539 339 563 382 q 478 265 516 296 q 392 217 440 234 q 294 200 343 200 l 291 200 q 246 154 259 172 q 234 132 234 136 q 241 116 234 124 q 268 102 248 109 q 321 87 287 94 q 408 74 355 80 q 530 50 482 66 q 607 12 578 33 q 646 -33 635 -8 q 658 -81 658 -57 q 643 -152 658 -118 q 605 -214 629 -185 q 547 -265 580 -242 q 476 -305 514 -288 q 397 -330 438 -321 q 316 -339 356 -339 q 250 -334 284 -339 q 183 -320 216 -330 q 120 -296 150 -311 q 68 -261 91 -282 q 33 -214 46 -240 q 20 -155 20 -188 q 26 -118 20 -137 q 52 -76 32 -98 q 107 -28 72 -54 q 201 28 142 -2 q 140 63 157 44 q 123 103 123 83 q 126 118 123 109 q 140 140 129 127 q 170 170 150 153 q 220 209 189 187 q 158 236 186 218 q 110 280 130 254 q 79 337 90 305 q 68 408 68 370 q 90 502 68 457 q 149 579 112 546 q 232 631 185 612 q 329 651 279 651 q 405 639 369 651 q 470 606 440 627 q 533 615 505 610 q 585 627 562 621 q 625 639 607 633 q 657 651 643 645 l 670 630 q 655 595 662 611 q 632 562 647 579 q 581 555 606 558 q 525 551 556 552 q 553 496 543 525 q 563 434 563 467 m 553 740 q 540 721 545 727 q 524 710 535 715 l 338 891 l 154 710 q 145 715 149 712 q 138 721 141 718 q 132 729 135 724 q 124 740 128 734 l 303 998 l 375 998 l 553 740 "},"Ω":{"x_min":54.984375,"x_max":798,"ha":879,"o":"m 76 0 l 54 18 q 57 55 55 34 q 61 99 58 77 q 67 145 63 122 q 76 190 71 168 l 106 190 q 117 140 111 161 q 129 103 122 118 q 147 82 136 89 q 171 75 157 75 l 320 75 q 200 185 247 132 q 125 290 153 239 q 86 394 97 342 q 75 501 75 446 q 86 590 75 545 q 119 677 97 635 q 173 755 141 719 q 248 817 205 790 q 342 859 290 844 q 455 875 394 875 q 592 849 530 875 q 699 778 654 824 q 768 665 743 731 q 794 517 794 599 q 777 402 794 456 q 728 295 761 348 q 646 188 695 242 q 534 75 598 134 l 690 75 q 713 81 704 75 q 730 101 722 87 q 746 138 738 115 q 767 193 754 160 l 798 180 q 794 136 796 160 q 788 88 791 112 q 782 40 785 64 q 775 0 778 17 l 475 0 l 475 74 q 545 166 514 126 q 599 242 576 207 q 639 307 623 276 q 666 368 655 337 q 680 430 676 398 q 685 501 685 462 q 669 619 685 563 q 621 719 653 675 q 542 788 589 762 q 433 814 495 814 q 350 798 387 814 q 286 757 313 782 q 239 699 258 731 q 207 632 219 666 q 189 566 195 598 q 184 508 184 533 q 186 434 184 468 q 197 370 189 400 q 219 308 205 339 q 257 242 234 277 q 313 166 280 207 q 391 74 346 126 l 391 0 l 76 0 "},"s":{"x_min":64.5,"x_max":474,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 "},"ǚ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 572 854 q 566 818 572 835 q 550 789 560 801 q 525 769 539 776 q 494 762 511 762 q 450 778 463 762 q 436 826 436 795 q 443 862 436 845 q 460 892 449 879 q 484 911 470 904 q 515 919 498 919 q 572 854 572 919 m 301 854 q 295 818 301 835 q 279 789 289 801 q 254 769 268 776 q 223 762 240 762 q 179 778 192 762 q 165 826 165 795 q 172 862 165 845 q 189 892 178 879 q 213 911 199 904 q 244 919 227 919 q 301 854 301 919 m 406 970 l 333 970 l 154 1212 q 162 1223 159 1219 q 169 1231 166 1228 q 175 1238 172 1235 q 185 1244 179 1240 l 371 1073 l 554 1244 q 571 1231 566 1238 q 583 1212 575 1225 l 406 970 "},"̀":{"x_min":-493.0625,"x_max":-216.359375,"ha":0,"o":"m -216 731 q -233 718 -225 722 q -254 710 -242 713 l -493 965 l -478 993 q -458 998 -471 995 q -430 1003 -444 1000 q -401 1007 -415 1005 q -379 1010 -387 1009 l -216 731 "},"?":{"x_min":54,"x_max":547,"ha":602,"o":"m 547 790 q 531 698 547 739 q 490 622 515 658 q 437 555 466 587 q 383 489 409 523 q 339 416 358 454 q 318 329 321 377 l 313 264 q 291 248 301 254 q 262 236 281 241 l 245 250 l 240 329 q 251 406 237 367 q 286 481 265 444 q 334 554 308 518 q 383 625 361 591 q 421 693 406 660 q 436 759 436 727 q 397 891 436 844 q 287 939 359 939 q 240 927 263 939 q 201 898 218 916 q 174 855 184 880 q 165 804 165 831 q 167 785 165 795 q 173 765 169 774 q 127 748 151 753 q 73 739 104 743 l 55 759 q 54 770 54 765 l 54 782 q 77 870 54 829 q 140 941 100 911 q 231 987 180 970 q 340 1004 283 1004 q 428 988 390 1004 q 493 944 467 972 q 533 877 519 916 q 547 790 547 837 m 365 83 q 357 39 365 59 q 338 4 350 19 q 308 -18 325 -10 q 271 -27 291 -27 q 219 -7 235 -27 q 204 48 204 12 q 211 91 204 71 q 231 127 218 111 q 261 151 244 142 q 298 160 279 160 q 348 140 331 160 q 365 83 365 120 "},"ỡ":{"x_min":54,"x_max":746,"ha":746,"o":"m 539 308 q 521 410 539 362 q 475 495 503 458 q 412 554 448 532 q 342 576 377 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 225 134 197 170 q 289 76 254 97 q 355 55 323 55 q 437 72 403 55 q 494 124 472 90 q 528 203 517 157 q 539 308 539 250 m 746 707 q 738 670 746 690 q 713 626 731 649 q 665 577 695 602 q 590 527 635 551 q 630 436 616 486 q 644 329 644 386 q 632 240 644 283 q 600 158 620 197 q 551 86 580 119 q 489 30 523 53 q 416 -6 454 6 q 336 -20 377 -20 q 219 4 271 -20 q 130 71 167 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 206 600 172 576 q 280 637 241 623 q 362 651 320 651 q 474 628 424 651 q 561 564 525 605 q 613 611 597 588 q 629 652 629 634 q 618 689 629 671 q 589 722 608 707 l 710 777 q 736 744 726 762 q 746 707 746 726 m 594 912 q 564 857 581 884 q 527 808 548 830 q 482 773 506 787 q 431 760 457 760 q 386 771 407 760 q 344 798 364 783 q 304 825 324 813 q 264 837 284 837 q 215 814 237 837 q 167 755 192 792 l 131 768 q 160 823 143 796 q 198 873 177 851 q 243 908 219 894 q 293 922 267 922 q 342 910 319 922 q 385 883 365 898 q 424 856 406 868 q 459 845 442 845 q 509 866 484 845 q 557 928 534 888 l 594 912 "},"Ī":{"x_min":31.875,"x_max":381.84375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 381 1085 q 377 1068 380 1078 q 369 1048 373 1058 q 361 1029 365 1039 q 355 1014 358 1020 l 46 1014 l 31 1030 q 36 1047 33 1038 q 44 1067 40 1057 q 52 1086 48 1076 q 59 1102 56 1095 l 366 1102 l 381 1085 "},"•":{"x_min":47.46875,"x_max":337.75,"ha":386,"o":"m 337 448 q 325 373 337 407 q 292 315 314 339 q 241 277 271 291 q 176 264 212 264 q 119 275 143 264 q 79 306 95 286 q 55 354 63 327 q 47 415 47 382 q 60 489 47 455 q 94 548 72 523 q 145 586 115 572 q 209 600 174 600 q 264 588 240 600 q 304 557 288 577 q 329 509 320 537 q 337 448 337 482 "},"(":{"x_min":82,"x_max":413.359375,"ha":440,"o":"m 391 -214 q 257 -115 315 -178 q 160 31 199 -51 q 101 214 121 114 q 82 422 82 314 q 103 637 82 533 q 166 828 125 741 q 264 982 207 916 q 391 1085 321 1048 l 413 1054 q 329 958 369 1017 q 261 819 290 898 q 214 645 231 741 q 197 441 197 549 q 211 248 197 342 q 253 72 225 154 q 321 -74 281 -9 q 413 -183 361 -140 l 391 -214 "},"◊":{"x_min":0.671875,"x_max":460.515625,"ha":461,"o":"m 86 447 l 86 447 l 244 141 l 374 424 l 373 425 l 217 731 l 86 447 m 0 425 l 186 816 q 202 829 193 822 q 220 842 210 836 q 239 854 230 848 q 256 863 248 859 l 460 447 l 274 57 q 258 44 267 51 q 239 31 249 37 q 220 19 229 25 q 204 11 211 14 l 0 425 "},"Ỗ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 631 957 q 618 938 623 944 q 602 927 613 932 l 416 1068 l 232 927 q 223 932 227 929 q 216 938 219 935 q 210 946 213 941 q 202 957 206 951 l 381 1167 l 453 1167 l 631 957 m 648 1374 q 619 1319 636 1346 q 581 1270 602 1292 q 536 1234 560 1248 q 485 1221 512 1221 q 440 1233 461 1221 q 398 1259 419 1245 q 358 1286 378 1274 q 318 1298 338 1298 q 269 1276 291 1298 q 221 1216 246 1254 l 185 1229 q 214 1285 198 1257 q 252 1334 231 1312 q 297 1369 273 1356 q 347 1383 321 1383 q 396 1371 373 1383 q 440 1344 419 1359 q 478 1318 460 1330 q 513 1306 497 1306 q 563 1327 539 1306 q 611 1389 588 1349 l 648 1374 "},"ḅ":{"x_min":6.828125,"x_max":644,"ha":705,"o":"m 644 333 q 633 253 644 294 q 604 172 623 211 q 555 97 584 133 q 491 36 527 62 q 411 -4 454 10 q 317 -20 368 -20 q 282 -14 305 -20 q 230 2 259 -8 q 166 29 200 13 q 95 65 131 45 l 95 878 q 91 926 95 910 q 78 952 88 943 q 51 963 69 960 q 6 969 34 966 l 6 996 q 92 1018 51 1007 q 171 1051 133 1029 l 178 1044 q 186 1036 182 1040 q 197 1027 191 1032 l 196 493 q 264 563 230 533 q 328 612 297 593 q 385 641 359 632 q 431 651 412 651 q 516 629 477 651 q 584 566 555 607 q 628 466 612 525 q 644 333 644 407 m 552 276 q 538 396 552 344 q 500 485 524 449 q 447 540 477 521 q 384 559 416 559 q 352 551 372 559 q 307 528 332 544 q 253 483 282 511 q 197 413 225 455 l 197 137 q 252 103 224 117 q 305 82 280 90 q 351 71 330 74 q 384 68 372 68 q 456 85 425 68 q 509 133 487 103 q 541 200 530 162 q 552 276 552 237 m 393 -189 q 387 -225 393 -208 q 370 -254 380 -242 q 345 -274 359 -267 q 314 -282 331 -282 q 270 -265 283 -282 q 257 -217 257 -248 q 263 -181 257 -198 q 280 -151 269 -164 q 305 -132 291 -139 q 335 -125 319 -125 q 393 -189 393 -125 "},"Û":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 673 957 q 660 938 665 944 q 644 927 655 932 l 458 1068 l 274 927 q 265 932 269 929 q 258 938 261 935 q 252 946 255 941 q 244 957 248 951 l 423 1167 l 495 1167 l 673 957 "},"Ầ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 620 957 q 607 938 612 944 q 591 927 602 932 l 405 1068 l 221 927 q 212 932 216 929 q 205 938 208 935 q 199 946 202 941 q 191 957 196 951 l 370 1167 l 442 1167 l 620 957 m 526 1228 q 511 1209 516 1216 q 495 1198 506 1203 l 177 1363 l 183 1394 q 198 1406 187 1399 q 221 1420 208 1413 q 244 1433 233 1427 q 263 1444 256 1440 l 526 1228 "},"V":{"x_min":13.5625,"x_max":874.90625,"ha":903,"o":"m 874 825 q 802 808 828 817 q 769 781 776 800 l 510 40 q 491 14 504 25 q 462 -2 478 4 q 432 -13 446 -9 q 408 -20 417 -17 l 109 781 q 79 809 103 798 q 13 825 56 820 l 13 855 l 308 855 l 308 825 q 234 811 254 821 q 221 782 214 802 l 461 138 l 689 781 q 672 809 696 800 q 592 825 648 819 l 592 855 l 874 855 l 874 825 "},"Ỹ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 640 1103 q 611 1047 628 1075 q 574 998 594 1020 q 529 963 553 977 q 478 950 504 950 q 433 961 454 950 q 391 988 411 973 q 350 1015 371 1003 q 311 1027 330 1027 q 261 1005 284 1027 q 214 945 239 982 l 178 958 q 207 1013 190 986 q 244 1063 223 1041 q 289 1098 265 1084 q 340 1112 314 1112 q 389 1100 366 1112 q 432 1073 412 1088 q 471 1046 453 1058 q 505 1035 489 1035 q 556 1056 531 1035 q 604 1118 581 1078 l 640 1103 "},"ṿ":{"x_min":13.5625,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 404 40 q 386 14 398 25 q 361 -2 375 4 q 334 -13 347 -9 q 312 -20 321 -17 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 121 l 522 555 q 524 573 525 565 q 515 585 523 580 q 492 594 507 590 q 451 601 476 597 l 451 631 l 670 631 l 670 601 m 418 -189 q 412 -225 418 -208 q 395 -254 406 -242 q 370 -274 384 -267 q 339 -282 356 -282 q 295 -265 308 -282 q 282 -217 282 -248 q 288 -181 282 -198 q 305 -151 294 -164 q 330 -132 316 -139 q 360 -125 344 -125 q 418 -189 418 -125 "},"̱":{"x_min":-578.53125,"x_max":-120.046875,"ha":0,"o":"m -120 -155 q -124 -172 -121 -162 q -132 -192 -128 -182 q -140 -211 -136 -201 q -146 -227 -143 -220 l -563 -227 l -578 -210 q -573 -193 -577 -202 q -566 -173 -570 -183 q -558 -154 -562 -164 q -550 -139 -554 -145 l -134 -139 l -120 -155 "},"@":{"x_min":47,"x_max":1073,"ha":1120,"o":"m 688 495 q 645 554 669 533 q 582 576 622 576 q 514 560 544 576 q 460 512 483 544 q 426 433 438 480 q 414 322 414 385 q 427 217 414 264 q 463 137 441 170 q 510 85 484 103 q 559 68 536 68 q 584 72 572 68 q 611 88 597 76 q 643 119 625 99 q 688 169 662 139 l 688 495 m 1073 372 q 1059 261 1073 313 q 1023 166 1046 209 q 971 88 1001 123 q 910 29 942 53 q 846 -7 878 5 q 784 -20 813 -20 q 753 -12 768 -20 q 726 9 738 -5 q 705 50 714 25 q 692 110 696 74 q 642 46 664 71 q 601 6 621 21 q 559 -14 580 -8 q 511 -20 538 -20 q 441 2 476 -20 q 377 65 405 24 q 330 166 348 106 q 312 301 312 226 q 321 381 312 339 q 347 461 330 422 q 391 534 365 499 q 449 595 417 568 q 520 636 481 621 q 603 651 559 651 q 631 648 618 651 q 657 639 644 646 q 684 620 669 632 q 715 588 698 608 q 751 614 733 599 q 789 651 770 629 l 810 630 q 800 588 804 611 q 793 543 796 568 q 790 490 790 518 l 790 193 q 810 103 790 132 q 862 74 830 74 q 902 95 879 74 q 944 153 924 116 q 978 240 964 190 q 992 347 992 290 q 962 550 992 461 q 881 699 933 639 q 758 791 829 759 q 600 823 686 823 q 470 805 530 823 q 359 756 410 787 q 270 681 309 724 q 204 585 231 637 q 163 475 177 533 q 149 355 149 416 q 166 202 149 273 q 214 72 183 131 q 288 -31 245 14 q 382 -108 331 -77 q 492 -156 434 -140 q 612 -173 550 -173 q 723 -161 668 -173 q 824 -131 778 -149 q 907 -93 871 -113 q 964 -55 944 -73 l 982 -92 q 919 -147 958 -118 q 829 -199 880 -175 q 714 -238 778 -222 q 578 -254 651 -254 q 364 -214 462 -254 q 196 -99 266 -174 q 86 79 125 -25 q 47 315 47 185 q 67 465 47 392 q 126 604 88 539 q 217 725 164 670 q 334 819 270 779 q 472 881 398 859 q 626 904 546 904 q 809 869 727 904 q 950 768 891 835 q 1041 601 1009 701 q 1073 372 1073 502 "},"ʼ":{"x_min":53.59375,"x_max":252.5,"ha":310,"o":"m 252 900 q 218 807 248 853 q 122 719 188 760 l 95 741 q 139 794 124 767 q 156 852 153 821 q 152 887 157 870 q 136 915 147 903 q 106 935 124 927 q 61 942 87 942 l 53 971 q 76 986 59 978 q 117 1001 94 994 q 159 1012 139 1007 q 191 1015 180 1016 q 222 995 209 1007 q 241 967 234 982 q 250 935 248 952 q 252 900 253 917 "},"i":{"x_min":47.046875,"x_max":338.953125,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 264 854 q 257 818 264 835 q 241 789 251 801 q 216 769 230 776 q 185 762 202 762 q 141 778 154 762 q 128 826 128 795 q 134 862 128 845 q 151 892 140 879 q 176 911 162 904 q 206 919 190 919 q 264 854 264 919 "},"ȯ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 431 854 q 425 818 431 835 q 408 789 418 801 q 383 769 397 776 q 352 762 369 762 q 308 778 321 762 q 295 826 295 795 q 301 862 295 845 q 318 892 307 879 q 343 911 329 904 q 373 919 357 919 q 431 854 431 919 "},"≤":{"x_min":41.375,"x_max":568.34375,"ha":610,"o":"m 568 299 q 555 287 560 292 q 542 276 549 282 q 529 266 536 271 q 511 254 521 261 l 58 424 q 48 434 52 431 q 43 440 45 438 q 42 443 42 442 l 42 444 q 50 476 45 460 q 62 507 54 492 l 551 691 l 568 674 q 563 657 566 666 q 558 639 561 648 q 553 621 556 629 q 548 606 550 612 l 172 466 l 556 324 l 568 299 m 568 192 q 558 163 564 178 q 548 135 552 147 l 58 135 l 41 153 q 50 181 44 167 q 62 210 56 196 l 551 210 l 568 192 "},"ẽ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 577 912 q 548 857 564 884 q 510 808 531 830 q 465 773 489 787 q 414 760 440 760 q 369 771 390 760 q 327 798 347 783 q 287 825 307 813 q 247 837 267 837 q 198 814 220 837 q 150 755 175 792 l 114 768 q 143 823 126 796 q 181 873 160 851 q 226 908 202 894 q 276 922 250 922 q 325 910 302 922 q 368 883 348 898 q 407 856 389 868 q 442 845 425 845 q 492 866 467 845 q 540 928 517 888 l 577 912 "},"ĕ":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 566 922 q 520 829 545 867 q 466 768 495 792 q 408 735 438 745 q 347 725 377 725 q 282 735 314 725 q 223 768 251 745 q 170 829 195 792 q 125 922 145 867 q 141 941 133 934 q 161 953 149 947 q 200 887 178 914 q 246 845 222 861 q 296 822 271 829 q 344 815 322 815 q 394 822 368 815 q 445 845 420 829 q 492 887 470 861 q 530 953 514 914 q 550 941 541 947 q 566 922 558 934 "},"ṧ":{"x_min":54.25,"x_max":483.578125,"ha":536,"o":"m 474 192 q 460 109 474 144 q 425 51 446 75 q 377 13 403 28 q 325 -7 350 0 q 276 -17 299 -15 q 241 -20 254 -20 q 163 -7 208 -20 q 72 29 117 4 q 65 51 67 31 q 64 97 63 71 q 68 150 65 123 q 77 192 72 176 l 106 185 q 120 131 107 156 q 157 88 134 106 q 209 58 179 69 q 275 48 239 48 q 319 55 299 48 q 354 77 340 63 q 377 111 369 91 q 386 154 386 130 q 371 202 386 181 q 333 240 356 223 q 279 273 309 258 q 218 304 249 288 q 163 335 189 319 q 116 371 137 351 q 83 417 96 392 q 71 474 71 442 q 87 549 71 516 q 132 604 104 582 q 196 639 160 627 q 271 651 233 651 q 317 647 292 651 q 367 636 343 643 q 414 620 392 629 q 449 598 435 611 q 450 580 453 594 q 440 549 447 566 q 426 517 434 532 q 415 497 419 502 l 389 502 q 321 570 356 551 q 254 590 287 590 q 214 582 231 590 q 184 563 196 575 q 165 537 171 551 q 159 508 159 522 q 171 469 159 486 q 205 437 184 452 q 253 408 226 421 q 308 379 280 394 q 367 347 337 364 q 420 308 396 330 q 459 258 444 286 q 474 192 474 230 m 305 726 l 233 726 l 54 968 q 62 979 59 974 q 68 987 65 984 q 75 993 71 991 q 84 1000 79 996 l 271 829 l 454 1000 q 470 987 465 993 q 483 968 475 981 l 305 726 m 337 1071 q 331 1035 337 1052 q 314 1006 325 1018 q 289 986 304 993 q 258 979 275 979 q 214 995 228 979 q 201 1044 201 1012 q 207 1079 201 1062 q 224 1109 213 1096 q 249 1128 235 1121 q 279 1136 263 1136 q 337 1071 337 1136 "},"Ỉ":{"x_min":47.65625,"x_max":353.34375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 314 1121 q 301 1088 314 1103 q 272 1060 289 1073 q 239 1034 255 1046 q 216 1010 223 1023 q 215 984 208 997 q 250 953 221 970 q 229 945 240 947 q 208 943 218 944 q 163 970 177 957 q 145 993 148 982 q 149 1014 142 1004 q 167 1032 155 1023 q 192 1050 178 1041 q 219 1068 207 1059 q 239 1088 231 1078 q 248 1111 248 1099 q 235 1150 248 1137 q 203 1163 222 1163 q 184 1159 192 1163 q 169 1149 176 1155 q 160 1135 163 1143 q 157 1120 157 1128 q 158 1113 157 1117 q 162 1106 160 1110 q 148 1102 157 1104 q 130 1097 140 1099 q 111 1094 120 1095 q 94 1091 101 1092 l 87 1099 l 87 1108 q 100 1139 87 1124 q 133 1167 113 1155 q 177 1188 153 1180 q 225 1196 201 1196 q 291 1175 268 1196 q 314 1121 314 1155 "},"ż":{"x_min":51.546875,"x_max":562.25,"ha":614,"o":"m 562 168 q 561 122 562 146 q 559 74 560 97 q 557 31 558 51 q 554 0 556 12 l 69 0 l 51 30 l 427 570 l 193 570 q 171 565 182 570 q 149 550 160 561 q 129 519 139 539 q 113 468 120 499 l 80 476 l 92 642 q 120 635 107 637 q 145 632 132 633 q 174 631 158 631 l 545 631 l 560 601 l 183 61 l 469 61 q 500 87 486 61 q 530 174 514 113 l 562 168 m 393 854 q 387 818 393 835 q 371 789 381 801 q 346 769 360 776 q 314 762 331 762 q 271 778 284 762 q 257 826 257 795 q 263 862 257 845 q 280 892 270 879 q 305 911 291 904 q 336 919 319 919 q 393 854 393 919 "},"Ƙ":{"x_min":33.65625,"x_max":837,"ha":857,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 240 438 l 486 747 q 578 832 531 804 q 678 861 625 861 q 739 852 710 861 q 789 825 767 843 q 824 778 811 807 q 837 708 837 749 q 829 638 837 677 q 813 625 826 633 q 782 608 800 616 q 743 591 763 599 q 707 579 723 583 l 694 599 q 713 652 707 628 q 718 695 718 676 q 697 758 716 737 q 650 780 679 780 q 622 773 636 780 q 595 756 608 767 q 569 732 582 746 q 545 706 557 719 l 339 455 l 668 85 q 694 64 680 72 q 724 54 708 57 q 757 51 740 51 q 791 53 774 51 l 796 24 q 716 0 756 11 q 643 -10 675 -10 q 608 -3 623 -10 q 579 19 593 2 l 241 432 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 "},"ő":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 252 710 q 233 716 240 712 q 213 728 227 720 l 333 1010 q 352 1006 341 1008 q 374 1002 363 1005 q 396 998 385 1000 q 413 993 406 995 l 428 965 l 252 710 m 449 710 q 429 716 436 712 q 411 728 423 720 l 530 1010 q 549 1006 538 1008 q 571 1002 560 1005 q 593 998 582 1000 q 611 993 603 995 l 625 965 l 449 710 "},"":{"x_min":21,"x_max":410,"ha":422,"o":"m 169 551 l 169 622 q 180 680 169 654 q 209 728 191 706 q 247 771 227 751 q 284 812 266 792 q 313 852 302 832 q 325 896 325 872 q 315 941 325 921 q 289 975 305 961 q 251 997 272 990 q 205 1005 229 1005 q 172 998 189 1005 q 143 980 156 991 q 121 954 129 969 q 113 923 113 939 q 114 911 113 917 q 118 899 116 905 q 79 889 102 893 q 34 884 56 886 l 21 896 q 21 903 21 899 l 21 910 q 38 964 21 938 q 87 1009 56 990 q 158 1039 118 1028 q 242 1051 198 1051 q 312 1040 281 1051 q 365 1011 344 1030 q 398 968 386 992 q 410 914 410 943 q 398 860 410 884 q 369 816 387 836 q 332 777 351 796 q 294 739 312 759 q 265 696 276 719 q 254 646 254 674 l 254 551 l 169 551 "},"ự":{"x_min":27.515625,"x_max":851,"ha":851,"o":"m 851 707 q 840 662 851 688 q 803 608 830 637 q 733 549 777 579 q 621 491 688 519 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 683 71 l 725 55 q 676 25 699 39 q 634 1 653 11 q 599 -14 614 -8 q 576 -20 584 -20 q 537 11 552 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 20 186 -2 q 128 84 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 609 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 531 519 513 q 502 559 512 549 q 473 574 492 570 q 424 579 455 578 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 625 l 620 538 q 672 568 650 553 q 707 599 693 584 q 727 627 721 614 q 734 652 734 641 q 723 689 734 671 q 694 722 713 707 l 815 777 q 841 744 831 762 q 851 707 851 726 m 437 -189 q 431 -225 437 -208 q 415 -254 425 -242 q 390 -274 404 -267 q 359 -282 376 -282 q 315 -265 328 -282 q 301 -217 301 -248 q 308 -181 301 -198 q 325 -151 314 -164 q 349 -132 335 -139 q 380 -125 363 -125 q 437 -189 437 -125 "},"Ŏ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 637 1139 q 591 1046 617 1084 q 538 985 566 1009 q 479 952 510 962 q 418 942 448 942 q 354 952 385 942 q 294 985 322 962 q 241 1046 266 1009 q 196 1139 217 1084 q 212 1158 204 1151 q 232 1170 221 1164 q 271 1104 249 1131 q 318 1062 293 1078 q 367 1039 342 1046 q 415 1032 393 1032 q 465 1039 439 1032 q 516 1062 491 1046 q 563 1104 541 1078 q 601 1170 585 1131 q 621 1158 613 1164 q 637 1139 629 1151 "},"ȱ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 431 854 q 425 818 431 835 q 408 789 418 801 q 383 769 397 776 q 352 762 369 762 q 308 778 321 762 q 295 826 295 795 q 301 862 295 845 q 318 892 307 879 q 343 911 329 904 q 373 919 357 919 q 431 854 431 919 m 598 1112 q 594 1095 597 1105 q 586 1076 590 1085 q 578 1056 582 1066 q 572 1041 575 1047 l 155 1041 l 140 1058 q 145 1075 141 1065 q 152 1094 148 1084 q 160 1113 156 1104 q 168 1129 164 1122 l 583 1129 l 598 1112 "},"ẩ":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 539 740 q 526 721 531 727 q 510 710 522 715 l 324 891 l 141 710 q 131 715 135 712 q 125 721 128 718 q 118 729 122 724 q 110 740 115 734 l 289 998 l 362 998 l 539 740 m 439 1209 q 427 1176 439 1191 q 397 1148 414 1161 q 364 1123 380 1134 q 341 1098 349 1111 q 340 1072 334 1086 q 375 1042 347 1059 q 354 1033 365 1035 q 333 1031 344 1032 q 288 1058 303 1046 q 271 1081 274 1071 q 274 1102 268 1092 q 292 1120 280 1111 q 318 1138 304 1130 q 344 1157 332 1147 q 365 1177 356 1166 q 373 1199 373 1187 q 361 1238 373 1225 q 328 1251 348 1251 q 309 1247 318 1251 q 295 1237 301 1243 q 285 1224 289 1231 q 282 1209 282 1216 q 284 1202 282 1205 q 287 1194 285 1198 q 274 1190 282 1192 q 255 1186 265 1188 q 236 1182 246 1184 q 220 1179 227 1180 l 212 1187 l 212 1196 q 225 1228 212 1212 q 258 1256 238 1243 q 302 1276 278 1268 q 351 1284 327 1284 q 416 1263 393 1284 q 439 1209 439 1243 "},"İ":{"x_min":47.65625,"x_max":353.34375,"ha":414,"o":"m 47 0 l 47 29 q 119 49 93 38 q 146 70 146 61 l 146 783 q 121 804 146 791 q 47 825 96 816 l 47 855 l 353 855 l 353 825 q 281 804 307 816 q 255 783 255 793 l 255 70 q 279 50 255 62 q 353 29 304 38 l 353 0 l 47 0 m 268 1045 q 262 1009 268 1026 q 245 980 256 992 q 220 960 235 967 q 189 953 206 953 q 145 969 158 953 q 132 1018 132 986 q 138 1053 132 1036 q 155 1083 144 1070 q 180 1102 166 1095 q 210 1110 194 1110 q 268 1045 268 1110 "},"Ě":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 377 943 l 304 943 l 125 1151 q 133 1162 130 1157 q 140 1170 137 1167 q 146 1176 143 1174 q 156 1183 150 1179 l 342 1039 l 525 1183 q 541 1170 537 1176 q 554 1151 546 1164 l 377 943 "},"Ố":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 631 957 q 618 938 623 944 q 602 927 613 932 l 416 1068 l 232 927 q 223 932 227 929 q 216 938 219 935 q 210 946 213 941 q 202 957 206 951 l 381 1167 l 453 1167 l 631 957 m 327 1198 q 310 1209 316 1203 q 297 1228 305 1216 l 559 1444 q 577 1433 566 1440 q 601 1420 589 1427 q 623 1406 613 1413 q 639 1394 634 1399 l 645 1363 l 327 1198 "},"ǣ":{"x_min":54,"x_max":907,"ha":961,"o":"m 907 378 q 873 352 893 364 q 831 332 852 340 l 526 332 q 525 308 525 320 l 525 283 q 535 206 525 244 q 566 137 546 168 q 616 88 586 107 q 683 70 645 70 q 724 72 704 70 q 765 83 743 74 q 813 111 787 93 q 876 160 840 129 q 891 147 885 156 q 901 133 898 138 q 826 54 860 84 q 762 7 792 24 q 701 -14 731 -8 q 640 -20 672 -20 q 581 -10 610 -20 q 527 17 552 -1 q 481 61 502 35 q 446 121 460 87 q 383 59 417 86 q 314 15 348 33 q 250 -11 280 -2 q 198 -20 219 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 69 203 54 166 q 117 272 85 240 q 198 330 149 304 q 314 375 247 356 q 364 385 336 381 q 423 391 393 388 l 423 449 q 418 499 423 475 q 403 542 414 524 q 371 571 391 560 q 317 583 350 583 q 270 573 295 583 q 226 546 245 563 q 197 506 207 528 q 198 458 188 483 q 185 444 200 452 q 151 431 171 437 q 111 421 131 424 q 83 420 91 418 l 73 445 q 93 497 77 471 q 134 546 109 523 q 188 588 158 568 q 249 621 218 607 q 310 643 280 635 q 363 651 340 651 q 457 626 423 651 q 508 553 492 602 q 554 599 529 580 q 603 629 578 618 q 651 645 628 640 q 694 651 675 651 q 767 639 736 651 q 823 607 799 627 q 862 560 846 587 q 889 503 879 533 q 902 440 898 472 q 907 378 907 408 m 432 165 q 425 205 427 184 q 423 247 423 225 l 423 329 q 382 325 400 327 q 356 320 365 323 q 209 253 254 295 q 165 155 165 211 q 173 111 165 128 q 192 85 181 95 q 217 72 204 75 q 238 68 229 68 q 280 74 256 68 q 328 92 303 80 q 380 122 354 104 q 432 165 407 141 m 674 583 q 638 575 658 583 q 597 547 617 568 q 558 489 576 526 q 532 394 540 452 l 768 394 q 788 399 782 394 q 794 418 794 404 q 787 480 794 450 q 766 532 780 510 q 729 569 751 555 q 674 583 706 583 m 736 868 q 731 851 735 861 q 724 831 728 841 q 716 812 720 822 q 710 797 712 803 l 292 797 l 278 813 q 282 830 279 821 q 290 850 286 840 q 298 869 294 859 q 305 885 302 878 l 721 885 l 736 868 "},"Ʉ":{"x_min":29.59375,"x_max":871.125,"ha":908,"o":"m 478 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 417 l 241 417 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 478 l 854 478 l 871 462 l 854 417 l 766 417 l 766 355 q 744 196 766 266 q 681 78 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 97 q 132 301 132 218 l 132 417 l 44 417 l 29 433 q 36 455 32 444 q 44 478 40 467 l 132 478 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 678 478 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 "},"Ṛ":{"x_min":27.5625,"x_max":771.921875,"ha":779,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 806 q 83 799 108 803 q 33 792 58 795 l 27 834 q 91 849 59 842 q 159 862 124 856 q 233 871 195 868 q 317 875 272 875 q 454 859 396 875 q 551 815 512 843 q 609 750 590 788 q 628 669 628 712 q 614 580 628 620 q 574 510 600 541 q 514 458 549 480 q 436 423 478 436 l 642 93 q 664 70 652 78 q 690 56 676 61 q 723 52 705 52 q 764 53 741 51 l 771 24 q 686 0 727 9 q 620 -10 646 -10 q 581 1 600 -10 q 553 27 563 12 l 348 408 q 331 406 339 406 l 312 406 q 277 408 295 406 q 241 414 259 410 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 293 818 q 241 816 267 818 l 241 468 q 272 464 259 465 q 301 464 286 464 q 465 511 408 464 q 523 648 523 558 q 509 716 523 685 q 468 770 496 748 q 396 805 440 792 q 293 818 353 818 m 420 -189 q 414 -225 420 -208 q 398 -254 408 -242 q 373 -274 387 -267 q 342 -282 359 -282 q 298 -265 311 -282 q 284 -217 284 -248 q 291 -181 284 -198 q 308 -151 297 -164 q 332 -132 318 -139 q 363 -125 346 -125 q 420 -189 420 -125 "},"ḷ":{"x_min":40.265625,"x_max":345.734375,"ha":376,"o":"m 40 0 l 40 29 q 89 38 69 33 q 120 49 108 44 q 136 59 131 54 q 142 70 142 65 l 142 878 q 137 926 142 909 q 123 951 133 943 q 93 963 112 960 q 47 969 75 966 l 47 996 q 136 1017 95 1006 q 219 1051 177 1029 l 244 1027 l 244 70 q 267 49 244 60 q 345 29 290 38 l 345 0 l 40 0 m 261 -189 q 255 -225 261 -208 q 238 -254 249 -242 q 213 -274 228 -267 q 182 -282 199 -282 q 138 -265 152 -282 q 125 -217 125 -248 q 131 -181 125 -198 q 148 -151 137 -164 q 173 -132 159 -139 q 203 -125 187 -125 q 261 -189 261 -125 "},"Ǚ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 662 1045 q 656 1009 662 1026 q 639 980 650 992 q 614 960 629 967 q 583 953 600 953 q 539 969 552 953 q 526 1018 526 986 q 532 1053 526 1036 q 549 1083 538 1070 q 574 1102 560 1095 q 604 1110 588 1110 q 662 1045 662 1110 m 391 1045 q 385 1009 391 1026 q 368 980 379 992 q 343 960 358 967 q 312 953 329 953 q 268 969 281 953 q 255 1018 255 986 q 261 1053 255 1036 q 278 1083 267 1070 q 303 1102 289 1095 q 333 1110 317 1110 q 391 1045 391 1110 m 495 1160 l 423 1160 l 244 1368 q 252 1379 248 1374 q 258 1387 255 1384 q 265 1393 261 1391 q 274 1400 269 1396 l 461 1256 l 644 1400 q 660 1387 655 1393 q 673 1368 665 1381 l 495 1160 "},"‹":{"x_min":54.265625,"x_max":328.265625,"ha":423,"o":"m 299 12 l 54 291 l 54 315 q 54 332 54 324 q 55 341 54 339 l 299 619 l 327 598 l 320 586 q 303 554 314 574 q 278 508 292 534 q 248 457 263 483 q 220 405 233 430 q 195 360 206 379 q 177 328 184 340 q 171 316 170 316 l 328 32 l 299 12 "},"ủ":{"x_min":27.515625,"x_max":725.4375,"ha":736,"o":"m 725 55 q 677 25 700 39 q 634 1 654 11 q 599 -14 614 -8 q 576 -20 584 -20 q 538 11 553 -20 q 519 112 523 43 q 441 44 476 70 q 377 4 406 18 q 323 -14 347 -9 q 276 -20 298 -20 q 215 -11 244 -20 q 163 21 186 -2 q 128 85 141 44 q 115 189 115 125 l 115 482 q 112 532 115 514 q 102 559 110 550 q 76 572 93 568 q 27 579 58 575 l 27 606 q 73 613 51 608 q 114 622 94 617 q 155 635 134 627 q 197 651 175 642 l 217 624 l 217 226 q 224 147 217 179 q 244 96 231 115 q 277 69 257 77 q 320 61 296 61 q 365 67 342 61 q 412 87 388 73 q 462 123 436 101 q 519 177 489 145 l 519 482 q 515 530 519 512 q 502 559 512 549 q 473 573 492 569 q 424 579 455 577 l 424 606 q 517 625 472 612 q 600 651 562 638 l 621 624 l 621 172 q 624 104 621 130 q 636 70 627 77 q 664 68 644 65 q 718 86 684 71 l 725 55 m 483 904 q 471 871 483 886 q 441 843 458 856 q 409 817 425 829 q 385 793 393 806 q 384 767 378 780 q 419 736 391 753 q 398 728 409 730 q 377 726 388 727 q 332 753 347 740 q 315 776 318 765 q 318 797 312 787 q 336 815 325 806 q 362 833 348 824 q 388 851 376 842 q 409 871 401 861 q 417 894 417 882 q 405 933 417 920 q 372 946 392 946 q 354 942 362 946 q 339 932 345 938 q 330 918 333 926 q 326 903 326 911 q 328 896 326 900 q 332 889 330 893 q 318 885 326 887 q 299 880 309 882 q 280 877 290 878 q 264 874 271 875 l 256 882 l 256 891 q 269 922 256 907 q 302 950 282 938 q 347 971 322 963 q 395 979 371 979 q 460 958 437 979 q 483 904 483 938 "},"Ằ":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 m 626 1139 q 580 1046 606 1084 q 527 985 555 1009 q 468 952 499 962 q 407 942 438 942 q 343 952 374 942 q 283 985 311 962 q 230 1046 255 1009 q 185 1139 206 1084 q 202 1158 193 1151 q 221 1170 210 1164 q 260 1104 238 1131 q 307 1062 282 1078 q 357 1039 331 1046 q 404 1032 382 1032 q 454 1039 428 1032 q 505 1062 480 1046 q 552 1104 530 1078 q 590 1170 574 1131 q 610 1158 602 1164 q 626 1139 618 1151 m 526 1174 q 511 1155 516 1161 q 495 1144 506 1148 l 177 1309 l 183 1339 q 198 1352 187 1345 q 221 1365 208 1358 q 244 1379 233 1373 q 263 1390 256 1385 l 526 1174 "},"ʒ":{"x_min":26.015625,"x_max":577,"ha":624,"o":"m 577 -17 q 548 -148 577 -89 q 475 -249 520 -207 q 372 -315 429 -292 q 259 -339 316 -339 q 168 -326 211 -339 q 94 -295 125 -313 q 44 -258 62 -277 q 26 -228 26 -240 q 35 -214 26 -224 q 59 -194 45 -204 q 89 -174 73 -183 q 120 -162 106 -164 q 199 -240 159 -213 q 285 -268 240 -268 q 361 -253 326 -268 q 421 -212 395 -239 q 460 -144 446 -184 q 475 -52 475 -103 q 460 36 475 -6 q 416 113 445 80 q 345 167 387 147 q 250 186 304 187 q 195 181 222 186 q 142 167 169 176 q 129 180 137 170 q 118 196 121 191 l 408 570 l 177 570 q 155 565 167 570 q 134 550 144 561 q 114 519 123 539 q 98 468 105 499 l 65 476 l 78 642 q 105 635 92 637 q 130 632 117 633 q 159 631 144 631 l 529 631 l 546 601 l 276 252 q 299 254 288 253 q 321 255 310 255 q 422 235 375 253 q 503 182 468 216 q 557 97 537 147 q 577 -17 577 47 "},"Ḣ":{"x_min":33.65625,"x_max":861.34375,"ha":908,"o":"m 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 478 l 654 478 l 654 783 q 629 804 654 791 q 555 825 604 816 l 555 855 l 861 855 l 861 825 q 789 804 815 816 q 763 783 763 793 l 763 70 q 787 50 763 62 q 861 29 812 38 l 861 0 l 555 0 l 555 29 q 627 49 601 38 q 654 70 654 61 l 654 417 l 241 417 l 241 70 q 265 50 241 62 q 339 29 289 38 l 339 0 l 33 0 m 515 1045 q 509 1009 515 1026 q 493 980 503 992 q 468 960 482 967 q 437 953 454 953 q 393 969 406 953 q 379 1018 379 986 q 386 1053 379 1036 q 403 1083 392 1070 q 427 1102 413 1095 q 458 1110 441 1110 q 515 1045 515 1110 "},"ì":{"x_min":-6.09375,"x_max":338.953125,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 270 731 q 252 718 261 722 q 232 710 244 713 l -6 965 l 8 993 q 28 998 15 995 q 56 1003 42 1000 q 85 1007 71 1005 q 107 1010 99 1009 l 270 731 "},"±":{"x_min":41.375,"x_max":528.140625,"ha":570,"o":"m 527 146 q 518 116 524 133 q 507 88 512 99 l 58 88 l 41 104 q 50 133 44 118 q 62 163 56 149 l 511 163 l 527 146 m 324 248 q 294 235 310 241 q 262 227 277 230 l 246 242 l 246 432 l 58 432 l 41 448 q 51 477 45 462 q 62 507 56 493 l 246 507 l 246 692 q 275 702 258 696 q 307 712 292 708 l 324 695 l 324 507 l 511 507 l 528 490 q 518 460 524 477 q 507 432 513 443 l 324 432 l 324 248 "},"|":{"x_min":122,"x_max":217,"ha":318,"o":"m 217 -239 q 183 -260 204 -250 q 145 -275 162 -269 l 122 -259 l 122 1099 q 156 1119 141 1111 q 192 1133 172 1127 l 217 1118 l 217 -239 "},"§":{"x_min":81,"x_max":570,"ha":651,"o":"m 364 358 q 400 340 382 349 q 435 320 418 330 q 469 355 456 334 q 482 402 482 377 q 469 459 482 434 q 431 509 456 484 q 366 557 405 533 q 274 609 327 581 q 244 627 258 617 q 216 645 230 636 q 195 631 204 641 q 180 608 186 621 q 172 581 175 595 q 169 557 169 568 q 180 502 169 526 q 215 456 192 478 q 276 411 239 434 q 364 358 313 387 m 570 445 q 563 389 570 415 q 546 342 557 363 q 521 304 535 321 q 492 277 507 288 q 520 234 509 258 q 531 178 531 210 q 517 97 531 130 q 482 42 503 64 q 434 7 460 20 q 381 -11 407 -5 q 333 -18 356 -17 q 297 -20 311 -20 q 261 -15 281 -20 q 219 -4 241 -11 q 173 13 197 2 q 128 35 150 23 q 121 57 123 37 q 120 103 119 77 q 125 156 121 130 q 132 198 128 183 l 162 191 q 176 136 163 162 q 213 90 190 110 q 266 57 235 69 q 331 46 296 46 q 411 69 380 46 q 443 140 443 92 q 428 187 443 167 q 389 222 413 206 q 335 252 365 238 q 274 284 305 267 q 194 333 230 308 q 133 386 158 358 q 94 448 108 414 q 81 525 81 482 q 88 574 81 550 q 109 618 96 597 q 140 655 122 639 q 176 684 157 672 q 139 743 152 711 q 127 814 127 775 q 143 887 127 856 q 188 937 160 917 q 253 967 217 958 q 328 977 289 977 q 374 972 349 977 q 424 959 400 967 q 471 940 449 951 q 506 918 493 930 q 507 899 510 913 q 498 868 504 885 q 484 836 491 851 q 472 816 476 821 l 446 821 q 378 893 413 870 q 310 916 343 916 q 240 896 265 916 q 215 841 215 877 q 224 798 215 817 q 252 760 233 778 q 299 724 271 742 q 364 684 327 705 q 447 635 409 658 q 512 585 484 612 q 554 525 539 558 q 570 445 570 492 "},"ȩ":{"x_min":54,"x_max":587,"ha":641,"o":"m 451 -155 q 439 -203 451 -180 q 401 -245 427 -226 q 337 -278 376 -264 q 241 -301 297 -292 l 226 -267 q 286 -252 262 -261 q 327 -232 311 -243 q 349 -209 342 -221 q 357 -186 357 -197 q 339 -154 357 -163 q 279 -141 321 -145 q 286 -122 281 -139 q 300 -77 291 -108 q 319 -20 308 -55 l 315 -20 q 215 2 262 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 203 597 168 573 q 237 617 218 607 q 276 634 256 627 q 316 646 296 642 q 355 651 336 651 q 433 638 399 651 q 494 605 468 626 q 537 557 519 585 q 566 499 555 530 q 582 437 577 469 q 587 377 587 405 q 554 352 574 363 q 512 332 534 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 356 68 310 68 q 397 70 377 68 q 440 82 417 73 q 492 110 463 92 q 558 160 520 129 q 573 146 566 155 q 583 132 579 137 q 503 52 537 82 q 439 6 469 22 q 379 -15 408 -10 q 374 -16 376 -15 l 356 -70 q 390 -80 373 -74 q 421 -97 408 -87 q 442 -121 434 -107 q 451 -155 451 -136 m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 450 393 q 470 398 465 393 q 476 417 476 403 q 470 463 476 435 q 450 517 465 490 q 407 561 435 543 q 336 580 380 580 "},"ɨ":{"x_min":31.453125,"x_max":353.875,"ha":376,"o":"m 264 854 q 257 818 264 835 q 241 789 251 801 q 216 769 230 776 q 185 762 202 762 q 141 778 154 762 q 128 826 128 795 q 134 862 128 845 q 151 892 140 879 q 176 911 162 904 q 206 919 190 919 q 264 854 264 919 m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 60 l 142 281 l 47 281 l 31 295 q 38 318 34 306 q 47 342 41 331 l 142 342 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 342 l 338 342 l 353 325 l 338 281 l 244 281 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 "},"ˍ":{"x_min":113.265625,"x_max":571.734375,"ha":685,"o":"m 571 -66 q 567 -83 570 -73 q 559 -103 563 -93 q 551 -122 555 -113 q 545 -138 548 -132 l 128 -138 l 113 -121 q 118 -104 114 -113 q 125 -85 121 -94 q 133 -66 129 -75 q 141 -50 137 -57 l 556 -50 l 571 -66 "},"":{"x_min":45,"x_max":985,"ha":834,"o":"m 369 72 q 426 85 396 72 q 487 120 456 99 q 548 170 518 142 q 606 225 578 197 l 606 671 q 533 753 579 724 q 429 783 488 783 q 367 772 399 783 q 303 742 334 762 q 243 693 271 722 q 193 624 214 663 q 159 537 172 585 q 147 432 147 489 q 166 289 147 355 q 217 174 185 223 q 288 99 248 126 q 369 72 328 72 m 606 152 q 542 79 574 112 q 478 25 511 47 q 409 -8 445 3 q 331 -20 372 -20 q 268 -7 301 -20 q 204 29 236 5 q 143 90 172 54 q 92 174 114 127 q 57 279 70 222 q 45 405 45 337 q 57 506 45 458 q 89 595 69 554 q 133 672 108 637 q 185 735 158 707 q 235 783 211 763 q 280 816 260 803 q 327 841 303 830 q 375 859 352 851 q 418 871 398 867 q 455 875 439 875 q 496 872 476 875 q 538 861 517 869 q 582 837 559 852 q 630 796 605 821 q 652 813 641 804 q 674 833 664 823 q 693 854 684 844 q 711 874 703 865 l 740 848 q 727 792 732 823 q 718 731 722 766 q 715 654 715 695 l 715 -72 q 717 -162 715 -124 q 727 -226 719 -201 q 750 -263 735 -251 q 794 -275 766 -275 q 822 -269 809 -275 q 845 -254 835 -264 q 861 -233 855 -245 q 867 -207 867 -221 q 860 -179 867 -194 q 872 -166 860 -173 q 901 -150 884 -158 q 938 -138 919 -143 q 972 -133 957 -133 l 985 -159 q 963 -224 985 -192 q 907 -282 941 -256 q 829 -323 872 -307 q 743 -339 786 -339 q 672 -323 699 -339 q 631 -278 646 -307 q 611 -207 616 -249 q 606 -113 606 -166 l 606 152 "},"q":{"x_min":54,"x_max":701.265625,"ha":716,"o":"m 330 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 l 505 494 q 441 554 482 533 q 352 576 401 576 q 279 560 314 576 q 216 512 244 544 q 172 433 189 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 m 389 -326 l 389 -296 q 479 -276 453 -287 q 505 -254 505 -266 l 505 112 q 454 56 479 81 q 402 15 429 32 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 73 411 54 360 q 119 500 92 461 q 178 566 146 539 q 233 606 209 593 q 309 639 271 627 q 373 651 347 651 q 410 648 391 651 q 447 639 428 646 q 486 620 466 632 q 530 587 507 608 q 551 602 540 594 q 572 619 562 610 q 591 636 582 627 q 607 651 600 644 l 628 630 q 617 589 621 611 q 610 543 613 569 q 607 486 607 516 l 607 -254 q 628 -276 607 -265 q 701 -296 649 -287 l 701 -326 l 389 -326 "},"ɑ":{"x_min":54,"x_max":684.453125,"ha":694,"o":"m 684 57 q 584 -1 625 17 q 534 -20 544 -20 q 493 9 506 -20 q 479 110 481 38 q 426 49 450 74 q 378 8 402 24 q 328 -13 354 -6 q 274 -20 303 -20 q 198 2 237 -20 q 126 65 159 24 q 74 166 94 106 q 54 301 54 226 q 64 381 54 339 q 93 461 74 422 q 139 534 112 499 q 202 595 167 568 q 278 636 236 621 q 366 651 319 651 q 400 648 384 651 q 431 639 415 646 q 464 620 447 632 q 503 587 481 607 q 541 613 522 598 q 581 651 560 628 l 600 630 q 590 588 594 611 q 583 543 586 568 q 580 490 580 518 l 580 172 q 583 106 580 131 q 591 74 586 80 q 619 68 597 65 q 676 87 641 72 q 677 83 676 88 q 680 72 679 78 q 684 57 682 65 m 478 173 l 478 494 q 425 554 456 533 q 345 576 393 576 q 267 560 302 576 q 207 512 232 544 q 169 433 183 480 q 156 322 156 385 q 171 217 156 264 q 211 137 187 170 q 265 85 235 103 q 323 68 294 68 q 391 93 355 68 q 478 173 426 119 "},"ộ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 431 -189 q 425 -225 431 -208 q 408 -254 418 -242 q 383 -274 397 -267 q 352 -282 369 -282 q 308 -265 321 -282 q 295 -217 295 -248 q 301 -181 295 -198 q 318 -151 307 -164 q 343 -132 329 -139 q 373 -125 357 -125 q 431 -189 431 -125 m 577 740 q 564 721 569 727 q 548 710 559 715 l 362 891 l 178 710 q 169 715 172 712 q 162 721 165 718 q 155 729 159 724 q 147 740 152 734 l 326 998 l 399 998 l 577 740 "},"®":{"x_min":24,"x_max":472,"ha":495,"o":"m 472 735 q 455 644 472 686 q 408 569 438 601 q 337 519 378 537 q 246 501 295 501 q 157 519 198 501 q 87 569 116 537 q 40 644 57 601 q 24 735 24 686 q 40 826 24 784 q 87 901 57 869 q 157 951 116 933 q 246 970 198 970 q 337 951 295 970 q 408 901 378 933 q 455 826 438 869 q 472 735 472 784 m 432 735 q 418 811 432 775 q 379 873 404 846 q 321 914 355 899 q 246 930 287 930 q 173 914 206 930 q 115 873 139 899 q 76 811 90 846 q 63 735 63 775 q 76 659 63 694 q 115 597 90 624 q 173 556 139 571 q 246 541 206 541 q 321 556 287 541 q 379 597 355 571 q 418 659 404 624 q 432 735 432 694 m 145 602 l 145 614 q 175 627 175 620 l 175 848 l 145 844 l 143 863 q 185 872 163 868 q 235 876 206 876 q 311 857 285 876 q 338 811 338 839 q 319 759 338 779 q 270 730 300 738 l 340 633 q 353 624 345 626 q 375 623 360 622 l 377 609 q 349 601 363 605 q 327 597 334 597 q 314 602 320 597 q 305 610 308 606 l 234 726 l 233 726 q 212 728 222 726 l 212 627 q 241 614 212 620 l 241 602 l 145 602 m 227 851 l 219 851 q 212 851 216 851 l 212 752 q 220 750 217 750 l 230 750 q 281 765 265 750 q 297 805 297 779 q 281 838 297 824 q 227 851 266 851 "},"Ṭ":{"x_min":6.34375,"x_max":734.5625,"ha":765,"o":"m 207 0 l 207 29 q 260 42 238 35 q 294 55 281 48 q 313 67 307 61 q 319 78 319 73 l 319 794 l 116 794 q 97 790 106 794 q 80 774 89 786 q 61 738 72 762 q 35 675 50 714 l 6 688 q 15 773 9 728 q 28 855 21 819 l 714 855 l 734 838 q 727 762 733 803 q 714 678 722 721 l 683 678 q 671 731 676 709 q 659 767 666 753 q 644 787 653 781 q 620 794 634 794 l 428 794 l 428 78 q 452 55 428 69 q 539 29 476 42 l 539 0 l 207 0 m 438 -189 q 432 -225 438 -208 q 415 -254 426 -242 q 391 -274 405 -267 q 359 -282 376 -282 q 315 -265 329 -282 q 302 -217 302 -248 q 308 -181 302 -198 q 325 -151 314 -164 q 350 -132 336 -139 q 380 -125 364 -125 q 438 -189 438 -125 "},"ṓ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 598 868 q 594 851 597 861 q 586 831 590 841 q 578 812 582 822 q 572 797 575 803 l 155 797 l 140 813 q 145 830 141 821 q 152 850 148 840 q 160 869 156 859 q 168 885 164 878 l 583 885 l 598 868 m 333 954 q 311 961 321 956 q 295 973 302 967 l 453 1254 q 475 1251 461 1253 q 502 1248 488 1250 q 531 1243 517 1246 q 552 1238 544 1240 l 567 1212 l 333 954 "},"ḱ":{"x_min":37.046875,"x_max":694.515625,"ha":695,"o":"m 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 878 q 128 926 132 909 q 114 952 124 943 q 84 963 103 960 q 37 969 66 966 l 37 996 q 129 1018 83 1006 q 208 1051 174 1031 l 234 1027 l 234 359 l 442 542 q 470 573 465 561 q 468 591 474 585 q 446 599 461 597 q 413 601 431 601 l 413 631 l 670 631 l 670 601 q 615 590 640 598 q 562 559 590 582 l 330 374 l 586 75 q 605 57 595 64 q 628 45 615 50 q 655 40 640 41 q 690 41 670 39 l 694 12 q 655 3 674 7 q 619 -1 636 0 q 589 -5 602 -4 q 569 -7 576 -7 q 523 1 541 -7 q 491 28 506 9 l 234 353 l 234 70 q 236 61 234 65 q 246 52 238 56 q 268 42 253 48 q 308 29 283 37 l 308 0 l 37 0 m 276 1096 q 259 1107 264 1101 q 245 1127 254 1114 l 508 1342 q 526 1332 514 1338 q 550 1318 537 1325 q 572 1304 562 1311 q 588 1292 582 1297 l 594 1261 l 276 1096 "},"ọ":{"x_min":54,"x_max":645,"ha":699,"o":"m 540 308 q 522 410 540 362 q 476 495 504 458 q 413 554 448 532 q 343 576 378 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 226 134 197 170 q 289 76 254 97 q 355 55 324 55 q 438 72 403 55 q 495 124 473 90 q 529 203 518 157 q 540 308 540 250 m 645 329 q 633 240 645 283 q 601 158 621 196 q 552 86 581 119 q 489 30 524 53 q 416 -6 455 6 q 336 -20 378 -20 q 220 4 272 -20 q 131 71 168 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 207 600 172 576 q 281 637 241 623 q 363 651 320 651 q 478 626 426 651 q 567 559 530 602 q 624 457 604 516 q 645 329 645 398 m 431 -189 q 425 -225 431 -208 q 408 -254 418 -242 q 383 -274 397 -267 q 352 -282 369 -282 q 308 -265 321 -282 q 295 -217 295 -248 q 301 -181 295 -198 q 318 -151 307 -164 q 343 -132 329 -139 q 373 -125 357 -125 q 431 -189 431 -125 "},"ẖ":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 m 620 -155 q 615 -172 619 -162 q 608 -192 612 -182 q 600 -211 604 -201 q 594 -227 596 -220 l 177 -227 l 162 -210 q 166 -193 163 -202 q 174 -173 170 -183 q 182 -154 178 -164 q 189 -139 186 -145 l 605 -139 l 620 -155 "},"ế":{"x_min":54,"x_max":588,"ha":642,"o":"m 336 580 q 271 566 301 580 q 219 527 242 552 q 181 468 196 503 q 160 393 166 434 l 451 393 q 471 398 466 393 q 477 417 477 403 q 471 463 477 435 q 451 517 466 490 q 408 561 436 543 q 336 580 381 580 m 588 377 q 555 352 575 363 q 513 332 535 340 l 156 332 q 170 231 156 279 q 210 147 184 183 q 273 89 236 111 q 357 68 310 68 q 398 70 378 68 q 441 82 418 73 q 492 110 464 92 q 558 160 520 129 q 574 146 567 155 q 584 132 580 137 q 504 52 538 82 q 439 6 469 22 q 379 -14 409 -9 q 315 -20 350 -20 q 216 2 263 -20 q 132 65 168 24 q 75 164 96 106 q 54 294 54 222 q 64 383 54 339 q 93 467 74 428 q 140 539 113 506 q 204 597 168 573 q 237 617 219 607 q 276 634 256 627 q 317 646 297 642 q 355 651 337 651 q 434 638 399 651 q 494 605 469 626 q 538 557 520 585 q 567 499 556 530 q 583 437 578 469 q 588 377 588 405 m 560 740 q 547 721 552 727 q 531 710 542 715 l 345 891 l 161 710 q 152 715 155 712 q 145 721 148 718 q 139 729 142 724 q 130 740 135 734 l 309 998 l 382 998 l 560 740 m 316 1015 q 295 1022 304 1017 q 278 1034 285 1028 l 436 1315 q 458 1312 444 1314 q 485 1309 471 1311 q 514 1304 500 1307 q 535 1299 527 1301 l 550 1273 l 316 1015 "}," ":{"x_min":0,"x_max":0,"ha":306},"Ḉ":{"x_min":47,"x_max":690.40625,"ha":745,"o":"m 508 -155 q 496 -203 508 -180 q 458 -245 484 -226 q 394 -278 433 -264 q 298 -301 354 -292 l 283 -267 q 343 -252 319 -261 q 384 -232 368 -243 q 406 -209 399 -221 q 414 -187 414 -197 q 396 -154 414 -163 q 336 -141 378 -145 q 343 -122 338 -139 q 357 -77 348 -108 q 376 -20 365 -55 q 262 8 319 -17 q 154 90 202 36 q 76 221 106 143 q 47 397 47 299 q 79 594 47 506 q 168 744 112 682 q 299 841 225 807 q 457 875 374 875 q 586 855 531 875 q 676 806 641 835 q 674 793 681 803 q 658 770 668 783 q 635 744 647 757 q 615 723 624 731 l 592 727 q 510 779 557 759 q 400 800 462 800 q 350 791 377 800 q 295 764 322 783 q 241 716 267 746 q 195 645 215 687 q 163 548 175 603 q 152 422 152 492 q 178 264 152 332 q 245 151 204 196 q 337 83 286 106 q 436 61 387 61 q 531 86 472 61 q 665 173 590 111 q 672 167 668 172 q 679 158 676 163 q 685 149 682 153 q 690 143 688 145 q 607 65 647 96 q 530 14 567 33 q 457 -12 493 -4 q 430 -16 444 -14 l 413 -70 q 447 -81 430 -74 q 478 -97 465 -87 q 499 -122 491 -107 q 508 -155 508 -136 m 326 927 q 310 938 315 932 q 296 958 305 945 l 558 1173 q 577 1162 565 1168 q 600 1148 588 1156 q 623 1135 613 1141 q 638 1122 633 1128 l 644 1092 l 326 927 "},"∑":{"x_min":40.015625,"x_max":684.328125,"ha":722,"o":"m 684 234 q 680 173 682 206 q 675 107 678 140 l 670 46 q 666 0 668 18 l 61 0 l 40 29 l 336 430 l 54 825 l 54 855 l 511 855 q 582 856 549 855 q 655 865 615 857 l 658 660 l 620 652 q 596 729 608 702 q 572 769 583 756 q 550 783 560 781 q 529 786 539 786 l 210 786 l 442 456 l 173 95 l 548 95 q 582 101 569 95 q 607 124 596 107 q 626 168 617 140 q 648 242 636 197 l 684 234 "},"ẃ":{"x_min":13.5625,"x_max":966.46875,"ha":981,"o":"m 966 601 q 933 592 945 597 q 913 583 921 588 q 903 573 906 579 q 898 559 900 567 l 748 40 q 732 14 744 25 q 706 -2 720 4 q 678 -13 692 -9 q 655 -20 664 -17 l 494 439 l 355 40 q 338 14 349 24 q 314 -3 327 3 q 287 -14 300 -10 q 265 -20 274 -17 l 87 559 q 13 601 81 586 l 13 631 l 275 631 l 275 601 q 223 594 242 598 q 197 583 205 589 q 188 572 189 578 q 190 559 188 565 l 318 129 l 484 631 l 531 631 l 708 129 l 825 559 q 811 584 829 575 q 746 601 792 594 l 746 631 l 966 631 l 966 601 m 479 710 q 457 717 467 712 q 440 729 448 722 l 599 1010 q 620 1007 607 1009 q 648 1003 634 1005 q 676 999 663 1001 q 697 994 690 996 l 713 967 l 479 710 "},"+":{"x_min":41.859375,"x_max":528.140625,"ha":570,"o":"m 324 160 q 294 147 310 153 q 262 139 277 142 l 246 153 l 246 344 l 58 344 l 41 360 q 51 389 45 374 q 62 419 56 405 l 246 419 l 246 604 q 275 614 258 608 q 307 624 292 620 l 324 608 l 324 419 l 511 419 l 528 402 q 518 372 524 389 q 507 344 513 355 l 324 344 l 324 160 "},"ḋ":{"x_min":54,"x_max":712.796875,"ha":722,"o":"m 712 57 q 657 21 681 36 q 615 -2 633 7 q 584 -15 597 -11 q 561 -20 571 -20 q 525 10 539 -20 q 506 114 510 41 q 454 58 480 83 q 402 16 429 33 q 346 -10 375 -1 q 281 -20 316 -20 q 203 2 243 -20 q 130 65 163 24 q 75 166 96 106 q 54 301 54 226 q 64 381 54 339 q 94 461 75 422 q 142 534 114 499 q 206 595 171 568 q 283 636 241 621 q 373 651 325 651 q 436 643 405 651 q 505 608 468 635 l 505 863 q 502 923 505 901 q 491 957 500 945 q 462 973 481 968 q 406 980 442 977 l 406 1006 q 506 1026 462 1014 q 585 1051 550 1039 l 607 1030 l 607 172 q 608 131 607 148 q 611 103 609 114 q 615 84 613 91 q 622 72 618 76 q 645 67 628 64 q 703 86 663 70 l 712 57 m 505 177 l 505 494 q 441 554 482 533 q 352 576 401 576 q 273 560 309 576 q 211 512 237 544 q 170 433 185 480 q 156 322 156 385 q 172 217 156 264 q 214 137 189 170 q 271 85 240 103 q 330 68 302 68 q 375 77 353 68 q 419 102 397 86 q 462 137 441 117 q 505 177 484 156 m 295 854 q 289 818 295 835 q 272 789 283 801 q 247 769 262 776 q 216 762 233 762 q 172 778 186 762 q 159 826 159 795 q 165 862 159 845 q 182 892 171 879 q 207 911 193 904 q 237 919 221 919 q 295 854 295 919 "},"Ṓ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 m 653 1058 q 648 1041 651 1051 q 640 1021 644 1031 q 633 1002 636 1012 q 626 987 629 993 l 209 987 l 194 1003 q 199 1020 196 1011 q 206 1040 202 1030 q 214 1059 210 1049 q 222 1075 219 1068 l 638 1075 l 653 1058 m 327 1144 q 310 1155 316 1148 q 297 1174 305 1161 l 559 1390 q 577 1379 566 1385 q 601 1365 589 1373 q 623 1352 613 1358 q 639 1339 634 1345 l 645 1309 l 327 1144 "},"˗":{"x_min":41.375,"x_max":426.609375,"ha":468,"o":"m 426 370 q 416 338 422 355 q 405 309 411 320 l 58 309 l 41 325 q 50 356 44 340 q 62 387 56 373 l 409 387 l 426 370 "},"Ë":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 543 1045 q 537 1009 543 1026 q 520 980 531 992 q 496 960 510 967 q 464 953 481 953 q 421 969 434 953 q 407 1018 407 986 q 413 1053 407 1036 q 430 1083 419 1070 q 455 1102 441 1095 q 485 1110 469 1110 q 543 1045 543 1110 m 272 1045 q 266 1009 272 1026 q 249 980 260 992 q 225 960 239 967 q 193 953 210 953 q 150 969 163 953 q 136 1018 136 986 q 142 1053 136 1036 q 159 1083 148 1070 q 184 1102 170 1095 q 214 1110 198 1110 q 272 1045 272 1110 "},"Š":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 375 943 l 303 943 l 124 1151 q 132 1162 128 1157 q 138 1170 135 1167 q 145 1176 141 1174 q 154 1183 149 1179 l 341 1039 l 524 1183 q 540 1170 535 1176 q 553 1151 545 1164 l 375 943 "},"ƙ":{"x_min":37.046875,"x_max":694.515625,"ha":695,"o":"m 694 12 q 655 3 674 7 q 619 -1 636 0 q 589 -5 602 -4 q 569 -7 576 -7 q 523 1 541 -7 q 491 28 506 9 l 234 354 l 234 70 q 236 61 234 65 q 246 52 238 56 q 268 42 253 48 q 308 29 283 37 l 308 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 607 q 144 747 132 688 q 177 850 156 806 q 228 926 198 894 q 295 989 258 959 q 338 1016 315 1004 q 383 1035 361 1027 q 425 1047 405 1043 q 459 1051 445 1051 q 515 1039 486 1051 q 565 1013 543 1028 q 602 984 588 998 q 616 963 616 969 q 606 947 616 957 q 583 924 596 936 q 555 902 569 913 q 530 888 540 892 q 462 944 499 923 q 384 966 426 966 q 336 950 362 966 q 287 896 310 934 q 249 795 264 859 q 234 635 234 731 l 234 359 l 442 542 q 470 573 465 561 q 468 591 474 585 q 446 599 461 597 q 413 601 431 601 l 413 631 l 670 631 l 670 601 q 615 590 640 598 q 562 559 590 582 l 330 374 l 586 75 q 605 57 595 64 q 628 45 615 50 q 655 40 640 41 q 690 41 670 39 l 694 12 "},"ṽ":{"x_min":13.5625,"x_max":670.765625,"ha":685,"o":"m 670 601 q 637 593 650 597 q 616 583 624 588 q 603 572 608 578 q 596 555 599 565 l 404 40 q 386 14 398 25 q 361 -2 375 4 q 334 -13 347 -9 q 312 -20 321 -17 l 88 555 q 65 584 82 574 q 13 601 47 594 l 13 631 l 275 631 l 275 601 q 232 595 248 598 q 206 586 215 591 q 196 574 197 581 q 198 555 194 566 l 365 121 l 522 555 q 524 573 525 565 q 515 585 523 580 q 492 594 507 590 q 451 601 476 597 l 451 631 l 670 631 l 670 601 m 594 912 q 565 857 582 884 q 528 808 548 830 q 482 773 507 787 q 432 760 458 760 q 386 771 408 760 q 345 798 365 783 q 304 825 324 813 q 265 837 284 837 q 215 814 238 837 q 168 755 193 792 l 132 768 q 161 823 144 796 q 198 873 177 851 q 243 908 219 894 q 294 922 267 922 q 343 910 320 922 q 386 883 366 898 q 425 856 406 868 q 459 845 443 845 q 510 866 485 845 q 558 928 535 888 l 594 912 "},"ở":{"x_min":54,"x_max":746,"ha":746,"o":"m 539 308 q 521 410 539 362 q 475 495 503 458 q 412 554 448 532 q 342 576 377 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 225 134 197 170 q 289 76 254 97 q 355 55 323 55 q 437 72 403 55 q 494 124 472 90 q 528 203 517 157 q 539 308 539 250 m 746 707 q 738 670 746 690 q 713 626 731 649 q 665 577 695 602 q 590 527 635 551 q 630 436 616 486 q 644 329 644 386 q 632 240 644 283 q 600 158 620 197 q 551 86 580 119 q 489 30 523 53 q 416 -6 454 6 q 336 -20 377 -20 q 219 4 271 -20 q 130 71 167 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 206 600 172 576 q 280 637 241 623 q 362 651 320 651 q 474 628 424 651 q 561 564 525 605 q 613 611 597 588 q 629 652 629 634 q 618 689 629 671 q 589 722 608 707 l 710 777 q 736 744 726 762 q 746 707 746 726 m 477 904 q 464 871 477 886 q 435 843 452 856 q 402 817 418 829 q 378 793 386 806 q 377 767 371 780 q 412 736 384 753 q 392 728 403 730 q 371 726 381 727 q 326 753 340 740 q 308 776 311 765 q 311 797 305 787 q 329 815 318 806 q 355 833 341 824 q 382 851 369 842 q 402 871 394 861 q 411 894 411 882 q 398 933 411 920 q 365 946 385 946 q 347 942 355 946 q 332 932 338 938 q 323 918 326 926 q 319 903 319 911 q 321 896 319 900 q 325 889 323 893 q 311 885 319 887 q 293 880 302 882 q 273 877 283 878 q 257 874 264 875 l 250 882 l 250 891 q 263 922 250 907 q 295 950 275 938 q 340 971 315 963 q 388 979 364 979 q 454 958 431 979 q 477 904 477 938 "},"ð":{"x_min":54,"x_max":634,"ha":692,"o":"m 532 397 q 495 468 519 435 q 443 525 472 501 q 382 562 414 549 q 321 576 350 576 q 251 556 281 576 q 200 502 220 536 q 169 421 180 468 q 159 320 159 375 q 176 219 159 267 q 221 134 194 170 q 281 76 248 97 q 342 55 313 55 q 414 73 380 55 q 474 131 448 92 q 516 230 500 170 q 532 373 532 290 q 532 385 532 379 q 532 397 532 391 m 634 401 q 619 261 634 323 q 579 152 604 199 q 523 73 555 106 q 458 19 492 40 q 393 -10 425 -1 q 336 -20 361 -20 q 217 4 269 -20 q 128 71 165 28 q 73 173 92 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 143 543 115 510 q 202 600 170 576 q 270 637 234 623 q 342 651 306 651 q 385 644 363 651 q 428 625 406 637 q 470 597 450 613 q 508 562 490 580 q 454 686 488 631 q 372 790 421 741 l 219 724 q 200 726 206 725 q 187 727 193 726 q 175 730 182 728 q 158 736 169 732 l 151 761 l 323 836 q 285 866 305 852 q 243 888 265 879 q 196 901 220 897 q 142 900 171 904 l 138 928 l 275 977 q 408 873 351 926 l 549 934 q 574 930 566 932 q 588 928 583 929 q 599 924 594 926 q 613 920 604 922 l 617 896 l 456 826 q 536 723 503 775 q 592 616 570 670 q 623 509 613 563 q 634 401 634 454 "},"Ỡ":{"x_min":48,"x_max":828,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 410 797 448 797 q 301 771 349 797 q 221 698 254 746 q 170 584 188 651 q 153 434 153 517 q 173 290 153 358 q 229 171 194 223 q 310 90 264 120 q 410 61 357 61 q 513 84 466 61 q 594 153 560 107 q 648 268 629 200 q 667 426 667 337 m 828 944 q 820 906 828 927 q 794 861 812 885 q 745 812 776 837 q 667 761 714 786 q 745 614 719 698 q 772 439 772 529 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 390 -20 467 -20 q 245 15 309 -20 q 137 112 181 51 q 71 251 94 172 q 48 415 48 329 q 77 590 48 507 q 159 737 107 674 q 280 837 210 800 q 429 875 349 875 q 542 853 492 875 q 634 796 593 832 q 693 846 675 821 q 711 889 711 871 q 700 926 711 908 q 671 959 690 944 l 792 1014 q 818 981 808 999 q 828 944 828 963 m 648 1103 q 619 1047 636 1075 q 581 998 602 1020 q 536 963 560 977 q 485 950 512 950 q 440 961 461 950 q 398 988 419 973 q 358 1015 378 1003 q 318 1027 338 1027 q 269 1005 291 1027 q 221 945 246 982 l 185 958 q 214 1013 198 986 q 252 1063 231 1041 q 297 1098 273 1084 q 347 1112 321 1112 q 396 1100 373 1112 q 440 1073 419 1088 q 478 1046 460 1058 q 513 1035 497 1035 q 563 1056 539 1035 q 611 1118 588 1078 l 648 1103 "},"Ḝ":{"x_min":33.65625,"x_max":646.609375,"ha":689,"o":"m 452 -155 q 440 -203 452 -180 q 403 -245 428 -226 q 338 -278 378 -264 q 244 -301 299 -292 l 229 -267 q 288 -252 264 -261 q 328 -232 313 -243 q 350 -209 343 -221 q 358 -187 358 -197 q 340 -154 358 -164 q 281 -141 323 -145 q 287 -122 282 -139 q 302 -77 292 -108 q 327 0 311 -50 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 378 61 334 61 l 466 61 q 519 64 497 61 q 558 79 541 67 q 589 114 575 91 q 617 177 603 137 l 646 165 q 632 63 641 107 q 618 0 624 19 l 380 0 l 357 -70 q 391 -81 374 -74 q 422 -97 409 -87 q 443 -122 435 -107 q 452 -155 452 -136 m 560 1139 q 515 1046 540 1084 q 461 985 489 1009 q 402 952 433 962 q 341 942 372 942 q 277 952 308 942 q 218 985 246 962 q 165 1046 189 1009 q 120 1139 140 1084 q 136 1158 128 1151 q 155 1170 144 1164 q 194 1104 172 1131 q 241 1062 217 1078 q 291 1039 265 1046 q 339 1032 316 1032 q 388 1039 362 1032 q 439 1062 415 1046 q 486 1104 464 1078 q 524 1170 508 1131 q 544 1158 536 1164 q 560 1139 552 1151 "},"ı":{"x_min":47.046875,"x_max":338.953125,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 "},"ƚ":{"x_min":47.5625,"x_max":396.4375,"ha":444,"o":"m 381 502 l 273 502 l 273 70 q 296 49 273 60 q 374 29 319 38 l 374 0 l 69 0 l 69 29 q 118 39 98 33 q 149 49 137 44 q 165 59 160 54 q 171 70 171 65 l 171 502 l 62 502 l 47 516 q 54 539 50 527 q 62 563 57 552 l 171 563 l 171 878 q 166 926 171 909 q 152 951 162 943 q 122 963 141 960 q 76 969 104 966 l 76 996 q 165 1017 124 1006 q 248 1051 206 1029 l 273 1027 l 273 563 l 381 563 l 396 546 l 381 502 "},"ä":{"x_min":54,"x_max":628.765625,"ha":638,"o":"m 238 68 q 325 88 279 68 q 423 154 371 109 l 423 329 q 328 311 365 320 q 267 293 291 302 q 229 274 243 284 q 204 252 215 264 q 175 210 186 234 q 165 155 165 187 q 173 111 165 128 q 192 84 181 94 q 217 71 204 74 q 238 68 229 68 m 628 55 q 533 -2 571 15 q 476 -20 495 -20 q 439 11 454 -20 q 423 97 424 42 q 361 44 392 66 q 302 7 331 22 q 246 -13 272 -6 q 198 -20 220 -20 q 148 -11 174 -20 q 101 13 122 -3 q 67 59 81 31 q 54 126 54 87 q 72 212 54 177 q 115 272 90 246 q 152 302 131 288 q 207 330 172 317 q 293 356 241 344 q 423 380 344 368 l 423 475 q 417 518 423 498 q 399 553 412 538 q 364 575 386 568 q 309 583 342 583 q 266 575 287 582 q 229 556 245 568 q 205 527 214 544 q 198 490 196 511 q 184 476 199 484 q 150 462 170 469 q 110 453 130 456 q 83 452 91 450 l 73 478 q 121 543 89 512 q 194 598 153 574 q 280 636 235 622 q 369 651 326 651 q 484 612 444 651 q 525 503 525 573 l 525 120 q 532 80 525 92 q 552 68 539 68 q 576 71 561 68 q 618 86 591 74 l 628 55 m 528 854 q 522 818 528 835 q 506 789 516 801 q 481 769 495 776 q 449 762 466 762 q 406 778 419 762 q 392 826 392 795 q 398 862 392 845 q 415 892 405 879 q 440 911 426 904 q 471 919 454 919 q 528 854 528 919 m 257 854 q 251 818 257 835 q 235 789 245 801 q 210 769 224 776 q 178 762 195 762 q 135 778 148 762 q 121 826 121 795 q 127 862 121 845 q 144 892 134 879 q 169 911 155 904 q 200 919 183 919 q 257 854 257 919 "},"Ǯ":{"x_min":63.53125,"x_max":662,"ha":723,"o":"m 662 294 q 634 164 662 222 q 561 65 606 106 q 455 2 515 24 q 330 -20 395 -20 q 223 -4 272 -20 q 138 30 174 10 q 83 71 102 50 q 63 103 63 92 q 73 119 63 107 q 96 143 82 130 q 127 166 111 155 q 157 179 143 177 q 194 132 172 154 q 243 95 216 111 q 299 70 270 79 q 357 61 328 61 q 437 72 399 61 q 501 108 474 84 q 544 170 528 132 q 560 259 560 208 q 546 338 560 300 q 507 404 532 376 q 444 451 481 433 q 361 469 408 469 q 304 459 331 469 q 244 435 277 450 l 211 418 l 210 419 q 198 432 205 423 q 188 446 191 441 l 187 447 l 187 448 l 188 449 l 467 787 l 208 787 q 185 777 197 787 q 160 751 172 768 q 137 709 148 734 q 120 653 127 684 l 81 661 l 102 865 q 128 859 116 861 q 154 855 141 856 q 183 855 167 855 l 607 855 l 624 825 l 388 533 q 410 536 399 535 q 432 538 421 538 q 517 522 476 538 q 591 475 559 506 q 642 399 623 445 q 662 294 662 354 m 399 943 l 326 943 l 147 1185 q 155 1196 152 1191 q 162 1204 159 1201 q 169 1210 165 1208 q 178 1217 172 1213 l 364 1046 l 548 1217 q 564 1204 559 1210 q 577 1185 569 1198 l 399 943 "},"¹":{"x_min":65.671875,"x_max":398.90625,"ha":456,"o":"m 80 421 l 80 449 q 141 457 117 453 q 178 467 164 462 q 196 476 191 471 q 202 486 202 481 l 202 796 q 200 821 202 812 q 193 836 199 830 q 183 840 190 838 q 163 841 176 841 q 128 838 149 840 q 75 830 107 836 l 65 857 q 113 871 85 862 q 171 890 142 880 q 227 909 201 899 q 269 927 253 919 l 287 912 l 287 486 q 291 477 287 481 q 307 467 295 472 q 340 457 318 462 q 398 449 362 453 l 398 421 l 80 421 "},"W":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 "},"ỉ":{"x_min":47.046875,"x_max":338.953125,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 307 904 q 295 871 307 886 q 265 843 282 856 q 232 817 248 829 q 209 793 216 806 q 208 767 201 780 q 243 736 214 753 q 222 728 233 730 q 201 726 211 727 q 156 753 171 740 q 138 776 141 765 q 142 797 135 787 q 160 815 148 806 q 186 833 171 824 q 212 851 200 842 q 233 871 224 861 q 241 894 241 882 q 228 933 241 920 q 196 946 215 946 q 177 942 186 946 q 163 932 169 938 q 153 918 157 926 q 150 903 150 911 q 151 896 150 900 q 155 889 153 893 q 141 885 150 887 q 123 880 133 882 q 104 877 113 878 q 88 874 94 875 l 80 882 l 80 891 q 93 922 80 907 q 126 950 106 938 q 170 971 146 963 q 218 979 195 979 q 284 958 261 979 q 307 904 307 938 "},"ɲ":{"x_min":-163.25,"x_max":739.953125,"ha":760,"o":"m 448 0 l 448 29 q 520 51 497 42 q 543 70 543 61 l 543 429 q 538 496 543 470 q 523 537 534 522 q 497 557 513 552 q 456 563 480 563 q 409 552 435 563 q 353 520 383 542 q 291 461 323 497 q 227 372 259 425 l 227 59 q 216 -73 227 -19 q 186 -165 205 -128 q 143 -228 167 -203 q 91 -275 118 -254 q 52 -303 73 -291 q 9 -322 30 -314 q -30 -334 -12 -330 q -62 -339 -49 -339 q -94 -334 -77 -339 q -126 -322 -111 -329 q -152 -307 -142 -315 q -163 -292 -163 -298 q -153 -275 -163 -286 q -130 -253 -143 -265 q -101 -231 -116 -242 q -77 -216 -86 -221 q -51 -234 -64 -228 q -27 -243 -38 -240 q -5 -247 -16 -246 q 12 -247 4 -247 q 52 -236 32 -247 q 88 -195 72 -225 q 114 -113 104 -166 q 125 23 125 -60 l 125 482 q 122 524 125 508 q 111 548 120 540 q 83 561 102 557 q 30 570 64 565 l 30 597 q 116 618 76 604 q 193 651 156 632 l 216 627 l 223 458 q 288 539 252 503 q 361 599 324 575 q 433 637 399 624 q 494 651 468 651 q 551 642 524 651 q 599 615 578 633 q 632 568 619 596 q 645 502 645 540 l 645 70 q 665 51 645 61 q 739 29 686 42 l 739 0 l 448 0 "},">":{"x_min":41.375,"x_max":568.34375,"ha":610,"o":"m 568 424 q 559 391 564 411 q 547 355 553 371 l 58 174 l 41 190 q 46 206 43 197 q 51 224 48 215 q 56 242 54 234 q 62 257 59 251 l 436 397 l 52 539 l 41 565 q 71 588 56 578 q 98 610 86 599 l 552 440 l 568 424 "},"Ệ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 408 -189 q 402 -225 408 -208 q 385 -254 396 -242 q 361 -274 375 -267 q 329 -282 346 -282 q 286 -265 299 -282 q 272 -217 272 -248 q 278 -181 272 -198 q 295 -151 284 -164 q 320 -132 306 -139 q 350 -125 334 -125 q 408 -189 408 -125 m 554 957 q 541 938 546 944 q 525 927 537 932 l 339 1068 l 156 927 q 146 932 150 929 q 140 938 143 935 q 133 946 137 941 q 125 957 130 951 l 304 1167 l 377 1167 l 554 957 "},"Ḃ":{"x_min":27.5625,"x_max":689,"ha":764,"o":"m 280 818 q 261 817 270 818 q 241 817 251 817 l 241 492 l 264 492 q 389 507 341 492 q 463 546 437 522 q 499 599 490 569 q 509 658 509 629 q 497 721 509 692 q 460 772 486 750 q 389 805 433 793 q 280 818 346 818 m 352 441 q 292 437 320 441 q 241 430 265 434 l 241 70 q 247 59 241 64 q 273 53 258 55 q 304 49 288 51 q 335 47 319 48 q 364 47 350 47 q 452 59 413 47 q 520 94 491 72 q 563 148 548 116 q 578 218 578 180 q 564 294 578 255 q 524 366 551 334 q 454 420 496 399 q 352 441 411 441 m 689 241 q 666 137 689 183 q 602 57 643 90 q 504 7 561 25 q 378 -10 447 -10 q 343 -9 364 -10 q 298 -8 322 -9 q 250 -7 275 -7 q 201 -5 224 -6 q 83 0 144 -2 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 807 q 81 800 106 803 q 33 792 56 796 l 27 834 q 88 848 54 841 q 162 861 123 856 q 241 871 201 867 q 318 875 281 875 q 440 862 385 875 q 534 826 495 849 q 593 768 572 802 q 614 692 614 734 q 579 566 614 619 q 484 491 544 514 q 565 460 528 482 q 630 405 602 437 q 673 330 657 372 q 689 241 689 288 m 426 1045 q 420 1009 426 1026 q 403 980 414 992 q 378 960 393 967 q 347 953 364 953 q 303 969 316 953 q 290 1018 290 986 q 296 1053 290 1036 q 313 1083 302 1070 q 338 1102 324 1095 q 368 1110 352 1110 q 426 1045 426 1110 "},"Ŵ":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 m 798 957 q 785 938 790 944 q 769 927 780 932 l 583 1068 l 399 927 q 390 932 394 929 q 383 938 386 935 q 377 946 380 941 q 368 957 373 951 l 548 1167 l 620 1167 l 798 957 "},"Ð":{"x_min":18.0625,"x_max":761,"ha":823,"o":"m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 417 l 32 417 l 18 433 q 25 455 21 444 q 32 478 28 467 l 132 478 l 132 805 q 80 798 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 307 818 q 241 816 273 818 l 241 478 l 416 478 l 433 462 l 416 417 l 241 417 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 "},"r":{"x_min":37.046875,"x_max":528.015625,"ha":550,"o":"m 522 625 q 528 602 528 621 q 522 556 527 582 q 509 503 517 530 q 493 458 501 476 l 463 458 q 452 504 459 485 q 435 534 444 523 q 413 550 425 545 q 388 556 401 556 q 353 543 373 556 q 312 504 333 530 q 270 435 291 477 q 234 336 250 393 l 234 70 q 259 49 234 60 q 348 29 284 38 l 348 0 l 37 0 l 37 29 q 106 49 81 39 q 132 70 132 59 l 132 465 q 130 502 132 487 q 127 527 129 518 q 122 542 125 537 q 116 551 119 547 q 105 559 111 556 q 90 564 100 562 q 68 567 81 566 q 37 569 56 568 l 37 596 q 123 620 81 608 q 200 651 166 632 l 224 627 l 233 473 q 272 543 250 510 q 318 599 293 575 q 369 637 342 623 q 425 651 396 651 q 472 645 446 651 q 522 625 497 640 "},"Ø":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 653 544 667 487 q 613 650 639 601 l 255 137 q 327 81 288 101 q 409 61 366 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 152 434 q 166 313 152 371 q 206 208 180 255 l 565 721 q 494 776 534 756 q 409 797 455 797 q 301 771 348 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 m 680 745 q 749 603 726 683 q 772 438 772 523 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 466 -20 q 281 -1 330 -20 q 193 50 233 17 l 157 -1 q 139 -11 150 -6 q 115 -21 128 -16 q 90 -29 102 -25 q 69 -36 78 -33 l 51 -14 l 137 109 q 70 249 93 170 q 47 414 47 328 q 76 590 47 507 q 158 737 106 674 q 279 837 210 800 q 429 875 349 875 q 537 856 488 875 q 625 805 585 837 l 662 857 q 704 877 680 868 q 748 891 727 885 l 767 868 l 680 745 "},"ǐ":{"x_min":-21.703125,"x_max":407.625,"ha":376,"o":"m 47 0 l 47 29 q 117 49 93 38 q 142 70 142 61 l 142 454 q 140 510 142 488 q 130 543 139 531 q 102 560 121 555 q 47 569 83 566 l 47 596 q 91 606 68 600 q 137 619 114 612 q 182 634 161 626 q 220 651 203 642 l 244 651 l 244 70 q 266 50 244 62 q 338 29 289 38 l 338 0 l 47 0 m 229 726 l 157 726 l -21 968 q -13 979 -16 974 q -7 987 -10 984 q 0 993 -4 991 q 8 1000 3 996 l 195 829 l 378 1000 q 394 987 389 993 q 407 968 399 981 l 229 726 "},"Ỳ":{"x_min":-0.390625,"x_max":797.6875,"ha":825,"o":"m 243 0 l 243 29 q 330 55 305 42 q 355 78 355 68 l 355 364 q 298 478 329 419 q 232 594 266 538 q 168 699 199 651 q 113 780 137 748 q 99 794 107 788 q 79 806 91 801 q 49 814 67 811 q 2 818 30 818 l 0 847 q 79 856 39 852 q 148 861 119 861 q 201 834 179 861 q 255 757 226 802 q 313 663 284 713 q 370 562 342 614 q 422 461 398 509 l 604 780 q 597 808 614 797 q 529 825 581 818 l 529 855 l 797 855 l 797 825 q 726 807 750 816 q 691 780 701 797 l 464 366 l 464 77 q 469 68 464 73 q 488 55 475 62 q 523 42 501 48 q 576 29 544 35 l 576 0 l 243 0 m 529 957 q 515 938 520 944 q 499 927 510 931 l 181 1092 l 186 1122 q 201 1134 191 1128 q 224 1148 212 1141 q 248 1162 236 1156 q 267 1173 259 1168 l 529 957 "},"Ẽ":{"x_min":33.65625,"x_max":647.265625,"ha":689,"o":"m 647 165 q 633 63 641 107 q 619 0 624 19 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 580 855 l 603 838 q 599 799 601 820 q 592 757 596 778 q 583 717 588 736 q 575 685 579 698 l 544 685 q 539 737 543 716 q 527 771 534 758 q 511 788 521 783 q 489 794 501 794 l 241 794 l 241 499 l 515 499 l 533 480 q 520 459 527 470 q 503 438 512 448 q 486 418 495 427 q 470 404 478 410 q 448 421 460 414 q 421 433 437 428 q 385 439 406 437 q 336 442 365 442 l 241 442 l 241 104 q 245 86 241 94 q 265 72 250 78 q 307 64 280 67 q 379 61 334 61 l 466 61 q 520 64 498 61 q 559 79 542 67 q 589 114 576 91 q 618 177 603 137 l 647 165 m 571 1103 q 542 1047 559 1075 q 504 998 525 1020 q 459 963 484 977 q 408 950 435 950 q 363 961 385 950 q 322 988 342 973 q 281 1015 301 1003 q 242 1027 261 1027 q 192 1005 215 1027 q 145 945 170 982 l 109 958 q 138 1013 121 986 q 175 1063 154 1041 q 220 1098 196 1084 q 271 1112 244 1112 q 320 1100 297 1112 q 363 1073 343 1088 q 402 1046 383 1058 q 436 1035 420 1035 q 487 1056 462 1035 q 535 1118 512 1078 l 571 1103 "},"÷":{"x_min":41.375,"x_max":527.65625,"ha":570,"o":"m 339 230 q 334 202 339 215 q 321 178 329 188 q 300 162 312 168 q 276 157 289 157 q 241 170 252 157 q 231 209 231 184 q 235 237 231 223 q 249 260 240 250 q 269 276 257 270 q 293 282 280 282 q 339 230 339 282 m 339 555 q 334 527 339 540 q 321 503 329 513 q 300 487 312 493 q 276 482 289 482 q 241 495 252 482 q 231 534 231 509 q 235 562 231 548 q 249 585 240 575 q 269 601 257 595 q 293 607 280 607 q 339 555 339 607 m 527 402 q 518 372 524 389 q 507 344 512 355 l 58 344 l 41 360 q 50 389 44 374 q 62 419 56 405 l 511 419 l 527 402 "},"h":{"x_min":37.046875,"x_max":745.953125,"ha":766,"o":"m 454 0 l 454 29 q 525 51 502 42 q 549 70 549 61 l 549 429 q 543 496 549 470 q 528 537 538 522 q 500 557 517 552 q 462 563 484 563 q 411 550 438 563 q 353 514 383 538 q 293 455 324 491 q 234 372 263 419 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 58 l 132 880 q 129 924 132 908 q 117 949 127 940 q 88 961 107 958 q 37 969 69 965 l 37 996 q 88 1007 65 1002 q 132 1019 112 1013 q 170 1033 152 1025 q 208 1051 189 1040 l 234 1027 l 233 463 q 298 541 262 507 q 370 600 334 576 q 440 638 406 625 q 501 651 474 651 q 557 642 530 651 q 605 615 584 633 q 638 568 625 596 q 651 502 651 540 l 651 70 q 671 51 651 61 q 745 29 692 42 l 745 0 l 454 0 "},"ṃ":{"x_min":37.046875,"x_max":1095.640625,"ha":1116,"o":"m 803 0 l 803 29 q 875 51 852 42 q 898 70 898 61 l 898 429 q 893 498 898 470 q 880 541 889 525 q 856 563 870 557 q 821 570 841 570 q 774 557 799 570 q 722 521 749 544 q 669 464 696 498 q 617 388 642 430 l 617 70 q 638 51 617 61 q 712 29 659 42 l 712 0 l 420 0 l 420 29 q 492 51 469 42 q 515 70 515 61 l 515 429 q 510 498 515 470 q 497 541 506 525 q 474 563 488 557 q 438 570 459 570 q 341 522 392 570 q 234 388 291 475 l 234 70 q 259 49 234 60 q 328 29 284 38 l 328 0 l 37 0 l 37 29 q 106 49 81 40 q 132 70 132 59 l 132 482 q 129 525 132 509 q 117 549 127 540 q 88 561 107 557 q 37 570 69 565 l 37 597 q 84 606 62 601 q 125 619 106 612 q 163 634 145 626 q 199 651 181 642 l 223 627 l 231 471 q 292 550 261 516 q 354 606 323 583 q 413 639 385 628 q 466 651 441 651 q 526 643 498 651 q 573 616 553 635 q 605 567 593 598 q 617 491 617 537 l 616 477 q 675 552 645 520 q 736 606 706 584 q 795 639 766 628 q 849 651 824 651 q 909 642 881 651 q 956 615 936 633 q 988 568 976 596 q 1000 502 1000 540 l 1000 70 q 1021 51 1000 61 q 1095 29 1042 42 l 1095 0 l 803 0 m 634 -189 q 628 -225 634 -208 q 611 -254 622 -242 q 587 -274 601 -267 q 555 -282 572 -282 q 511 -265 525 -282 q 498 -217 498 -248 q 504 -181 498 -198 q 521 -151 510 -164 q 546 -132 532 -139 q 576 -125 560 -125 q 634 -189 634 -125 "},"f":{"x_min":30.875,"x_max":554.734375,"ha":432,"o":"m 554 985 q 544 969 554 980 q 521 947 535 958 q 493 925 507 935 q 468 910 478 915 q 435 935 452 924 q 403 952 419 945 q 375 962 388 959 q 353 966 362 966 q 315 954 335 966 q 278 911 295 942 q 249 826 261 880 q 238 689 238 773 l 238 631 l 412 631 l 432 611 q 417 591 426 602 q 399 571 408 580 q 381 553 389 561 q 366 543 372 545 q 321 559 350 551 q 238 567 292 567 l 238 69 q 245 61 238 65 q 269 52 252 57 q 312 42 286 48 q 379 29 339 36 l 379 0 l 41 0 l 41 29 q 111 49 87 37 q 136 69 136 61 l 136 567 l 45 567 l 30 585 l 83 631 l 136 631 l 136 652 q 146 786 136 731 q 176 878 157 841 q 219 941 195 916 q 271 988 244 967 q 311 1015 289 1003 q 354 1034 332 1026 q 395 1046 375 1042 q 427 1051 414 1051 q 470 1042 448 1051 q 511 1024 493 1034 q 542 1002 530 1013 q 554 985 554 991 "},"“":{"x_min":62,"x_max":546.484375,"ha":606,"o":"m 259 712 q 233 693 253 704 q 189 672 213 681 q 144 656 166 662 q 109 651 121 650 q 74 694 86 671 q 62 757 62 717 q 71 814 62 784 q 97 875 80 845 q 141 934 115 906 q 199 983 167 961 l 228 959 q 203 925 214 944 q 185 888 193 907 q 175 851 178 869 q 172 818 172 833 q 190 766 172 788 q 248 742 208 744 l 259 712 m 546 712 q 520 693 540 704 q 476 672 500 681 q 431 656 453 662 q 396 651 408 650 q 376 671 385 660 q 361 694 368 681 q 352 722 355 706 q 349 757 349 738 q 358 814 349 784 q 384 875 367 845 q 428 934 402 906 q 486 983 454 961 l 515 959 q 490 925 501 944 q 472 888 480 907 q 462 851 465 869 q 459 818 459 833 q 477 766 459 788 q 534 742 495 744 l 546 712 "},"Ǘ":{"x_min":33.65625,"x_max":864.34375,"ha":908,"o":"m 864 825 q 792 804 818 816 q 766 783 766 793 l 766 355 q 744 197 766 266 q 681 79 722 127 q 582 5 641 30 q 451 -20 524 -20 q 322 0 381 -20 q 221 58 264 18 q 155 158 179 98 q 132 301 132 218 l 132 783 q 107 804 132 791 q 33 825 82 816 l 33 855 l 339 855 l 339 825 q 267 804 293 816 q 241 783 241 793 l 241 335 q 256 218 241 270 q 301 131 271 167 q 375 76 331 95 q 478 58 419 58 q 563 81 526 58 q 626 142 600 104 q 664 229 651 180 q 678 327 678 277 l 678 783 q 653 804 678 791 q 579 825 628 816 l 579 855 l 864 855 l 864 825 m 662 1045 q 656 1009 662 1026 q 639 980 650 992 q 614 960 629 967 q 583 953 600 953 q 539 969 552 953 q 526 1018 526 986 q 532 1053 526 1036 q 549 1083 538 1070 q 574 1102 560 1095 q 604 1110 588 1110 q 662 1045 662 1110 m 391 1045 q 385 1009 391 1026 q 368 980 379 992 q 343 960 358 967 q 312 953 329 953 q 268 969 281 953 q 255 1018 255 986 q 261 1053 255 1036 q 278 1083 267 1070 q 303 1102 289 1095 q 333 1110 317 1110 q 391 1045 391 1110 m 369 1144 q 353 1155 358 1148 q 339 1174 347 1161 l 601 1390 q 619 1379 608 1385 q 643 1365 631 1373 q 666 1352 655 1358 q 681 1339 676 1345 l 687 1309 l 369 1144 "},"̇":{"x_min":-417,"x_max":-281,"ha":0,"o":"m -281 854 q -287 818 -281 835 q -303 789 -293 801 q -328 769 -314 776 q -359 762 -342 762 q -403 778 -390 762 q -417 826 -417 795 q -410 862 -417 845 q -393 892 -404 879 q -369 911 -383 904 q -338 919 -355 919 q -281 854 -281 919 "},"A":{"x_min":0,"x_max":812.515625,"ha":827,"o":"m 514 363 l 394 711 l 278 363 l 514 363 m 258 302 l 183 75 q 201 44 176 54 q 282 29 226 35 l 282 0 l 0 0 l 0 29 q 73 46 46 37 q 107 75 100 54 l 359 838 q 398 869 375 855 q 438 893 421 883 l 723 75 q 733 58 727 65 q 749 45 739 50 q 775 35 759 40 q 812 29 790 31 l 812 0 l 526 0 l 526 29 q 599 42 579 32 q 612 75 619 52 l 535 302 l 258 302 "},"Ɓ":{"x_min":20,"x_max":845,"ha":920,"o":"m 613 770 q 577 792 596 783 q 533 806 558 801 q 475 814 508 812 q 397 818 442 817 l 397 492 l 420 492 q 545 507 497 492 q 619 546 592 522 q 654 599 645 569 q 664 658 664 629 q 650 721 664 691 q 613 770 637 750 m 508 440 q 448 437 476 440 q 397 431 421 434 l 397 70 q 403 59 397 64 q 429 53 414 55 q 460 49 444 51 q 491 47 475 48 q 520 47 506 47 q 608 59 569 47 q 676 94 647 72 q 719 148 704 116 q 734 218 734 180 q 720 294 734 255 q 680 366 707 334 q 610 419 652 398 q 508 440 567 440 m 20 680 q 46 760 20 724 q 121 821 72 796 q 240 861 170 847 q 399 875 311 875 q 502 871 457 875 q 585 861 548 868 q 650 843 622 854 q 703 816 679 832 q 752 763 734 795 q 770 692 770 730 q 735 566 770 619 q 640 491 700 514 q 721 460 684 482 q 786 405 758 437 q 829 330 813 372 q 845 241 845 288 q 822 137 845 183 q 758 57 799 90 q 660 7 717 25 q 534 -10 603 -10 q 499 -9 520 -10 q 454 -8 478 -9 q 406 -7 431 -7 q 357 -5 380 -6 q 239 0 300 -2 l 189 0 l 189 29 q 261 49 235 38 q 288 70 288 61 l 288 813 q 223 799 252 808 q 174 777 194 790 q 142 744 153 763 q 131 702 131 726 q 143 659 131 678 q 177 630 156 640 q 165 619 175 626 q 139 604 154 611 q 108 589 124 596 q 77 580 91 583 q 36 616 52 591 q 20 680 20 642 "},"Ṩ":{"x_min":79.515625,"x_max":600,"ha":661,"o":"m 600 255 q 591 193 600 225 q 567 130 583 161 q 525 72 550 99 q 467 24 501 45 q 391 -7 433 4 q 298 -20 349 -20 q 249 -15 276 -20 q 195 -2 223 -10 q 140 18 167 6 q 89 46 112 30 q 81 69 84 48 q 79 116 79 89 q 81 172 79 144 q 89 219 83 201 l 116 216 q 155 147 132 176 q 207 98 179 117 q 268 70 235 79 q 336 61 301 61 q 397 73 366 61 q 452 107 428 86 q 492 158 476 129 q 508 219 508 187 q 489 290 508 261 q 441 343 471 320 q 374 385 412 366 q 297 421 336 403 q 219 460 257 440 q 152 508 181 480 q 104 570 122 535 q 86 655 86 606 q 92 701 86 676 q 111 750 98 725 q 146 797 125 774 q 198 837 168 820 q 267 864 228 854 q 356 875 307 875 q 417 870 387 875 q 475 857 448 865 q 523 837 502 849 q 557 812 545 826 q 558 796 562 808 q 544 770 553 784 q 524 743 535 756 q 505 722 513 729 l 480 726 q 440 763 461 748 q 398 789 420 779 q 356 802 377 798 q 316 807 335 807 q 251 795 278 807 q 207 766 224 783 q 182 728 190 749 q 174 687 174 706 q 192 631 174 655 q 240 585 210 606 q 308 546 270 565 q 387 508 346 528 q 465 465 427 488 q 533 412 503 442 q 581 344 563 382 q 600 255 600 306 m 407 -189 q 401 -225 407 -208 q 384 -254 395 -242 q 359 -274 374 -267 q 328 -282 345 -282 q 284 -265 297 -282 q 271 -217 271 -248 q 277 -181 271 -198 q 294 -151 283 -164 q 319 -132 305 -139 q 349 -125 333 -125 q 407 -189 407 -125 m 407 1045 q 401 1009 407 1026 q 384 980 395 992 q 359 960 374 967 q 328 953 345 953 q 284 969 297 953 q 271 1018 271 986 q 277 1053 271 1036 q 294 1083 283 1070 q 319 1102 305 1095 q 349 1110 333 1110 q 407 1045 407 1110 "},"O":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 658 519 667 473 q 634 606 650 565 q 596 682 618 647 q 544 742 573 716 q 482 782 516 767 q 409 797 448 797 q 301 771 349 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 q 172 290 152 358 q 228 171 193 223 q 310 90 263 120 q 409 61 357 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 772 439 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 467 -20 q 244 15 308 -20 q 136 112 180 51 q 70 251 93 172 q 47 415 47 329 q 76 590 47 507 q 158 737 106 674 q 279 837 209 800 q 429 875 349 875 q 577 838 513 875 q 684 740 640 801 q 749 600 727 679 q 772 439 772 521 "},"Đ":{"x_min":18.0625,"x_max":761,"ha":823,"o":"m 761 458 q 743 306 761 373 q 697 188 726 240 q 629 102 668 137 q 548 43 591 66 q 462 10 506 21 q 378 0 418 0 l 33 0 l 33 29 q 105 49 79 38 q 132 70 132 61 l 132 417 l 32 417 l 18 433 q 25 455 21 444 q 32 478 28 467 l 132 478 l 132 805 q 80 798 104 802 q 33 792 56 795 l 27 834 q 96 849 57 842 q 178 863 135 857 q 266 871 222 868 q 350 875 310 875 q 521 846 445 875 q 650 765 596 818 q 732 634 703 711 q 761 458 761 556 m 307 818 q 241 816 273 818 l 241 478 l 416 478 l 433 462 l 416 417 l 241 417 l 241 104 q 248 80 241 89 q 284 62 257 68 q 364 57 311 57 q 460 79 411 57 q 551 148 510 102 q 619 265 593 195 q 646 432 646 336 q 623 593 646 522 q 558 715 601 665 q 451 791 515 765 q 307 818 388 818 "},"3":{"x_min":46.109375,"x_max":560,"ha":652,"o":"m 560 258 q 541 150 560 201 q 487 62 523 100 q 398 2 451 24 q 275 -20 345 -20 q 221 -15 248 -20 q 164 1 193 -10 q 106 32 135 13 q 46 81 76 52 l 69 126 q 125 88 99 103 q 173 64 150 73 q 218 51 195 55 q 266 48 240 48 q 341 61 307 48 q 400 98 375 74 q 437 158 424 123 q 451 236 451 193 q 434 322 451 287 q 394 380 418 358 q 338 413 369 403 q 277 423 307 423 l 263 423 q 255 422 259 423 q 246 420 251 421 q 231 418 241 420 l 222 458 q 321 498 284 475 q 379 544 359 520 q 405 592 399 568 q 412 637 412 616 q 404 685 412 661 q 382 730 397 710 q 344 764 367 751 q 288 777 321 777 q 240 767 261 777 q 204 741 218 758 q 184 704 190 725 q 182 660 178 683 q 138 642 159 648 q 88 633 117 635 l 70 654 q 91 715 70 683 q 147 774 112 747 q 229 820 182 802 q 327 838 275 838 q 414 821 378 838 q 474 778 450 805 q 509 718 498 751 q 521 650 521 684 q 510 599 521 624 q 482 551 500 574 q 436 508 463 528 q 376 473 409 488 q 448 450 415 469 q 506 402 482 431 q 545 337 531 374 q 560 258 560 300 "},"Ǿ":{"x_min":47,"x_max":772,"ha":834,"o":"m 667 426 q 653 544 667 487 q 613 650 639 601 l 255 137 q 327 81 288 101 q 409 61 366 61 q 513 84 465 61 q 594 153 560 107 q 647 268 628 200 q 667 426 667 337 m 152 434 q 166 313 152 371 q 206 208 180 255 l 565 721 q 494 776 534 756 q 409 797 455 797 q 301 771 348 797 q 220 698 253 746 q 169 584 187 651 q 152 434 152 517 m 680 745 q 749 603 726 683 q 772 438 772 523 q 741 263 772 346 q 658 117 710 180 q 536 17 605 54 q 389 -20 466 -20 q 281 -1 330 -20 q 193 50 233 17 l 157 -1 q 139 -11 150 -6 q 115 -21 128 -16 q 90 -29 102 -25 q 69 -36 78 -33 l 51 -14 l 137 109 q 70 249 93 170 q 47 414 47 328 q 76 590 47 507 q 158 737 106 674 q 279 837 210 800 q 429 875 349 875 q 537 856 488 875 q 625 805 585 837 l 662 857 q 704 877 680 868 q 748 891 727 885 l 767 868 l 680 745 m 320 927 q 303 938 308 931 q 289 957 298 944 l 552 1173 q 570 1162 558 1168 q 594 1148 581 1156 q 616 1134 606 1141 q 632 1122 626 1128 l 638 1092 l 320 927 "},"4":{"x_min":37.53125,"x_max":593.046875,"ha":652,"o":"m 397 705 l 144 312 l 397 312 l 397 705 m 593 291 q 566 259 578 269 q 539 237 555 248 l 492 237 l 492 70 q 496 60 492 65 q 510 51 500 56 q 540 40 521 46 q 586 29 558 35 l 586 0 l 254 0 l 254 29 q 326 43 298 36 q 369 55 354 49 q 391 66 385 60 q 397 77 397 71 l 397 237 l 59 237 l 37 259 l 373 795 q 424 820 402 808 q 466 844 447 833 l 492 820 l 492 312 l 575 312 l 593 291 "},"Ǝ":{"x_min":43.90625,"x_max":647.34375,"ha":689,"o":"m 66 0 l 43 16 q 48 62 44 33 q 58 120 52 90 q 69 175 63 149 q 78 214 74 202 l 109 214 q 113 155 110 183 q 122 106 117 127 q 136 73 128 85 q 157 61 145 61 l 303 61 q 373 63 347 61 q 415 72 400 66 q 435 87 430 77 q 440 110 440 96 l 440 444 l 297 444 q 263 442 281 444 q 226 439 244 441 q 192 435 208 437 q 165 430 176 433 l 147 449 q 160 469 153 458 q 177 491 168 480 q 194 510 185 501 q 210 524 202 519 q 232 509 220 514 q 259 503 243 505 q 294 501 274 501 l 440 501 l 440 794 l 275 794 q 221 790 243 794 q 182 775 199 787 q 152 740 166 763 q 123 677 138 716 l 94 689 q 108 791 99 747 q 122 855 117 835 l 647 855 l 647 825 q 575 805 601 816 q 549 784 549 793 l 549 71 q 573 50 549 63 q 647 29 598 38 l 647 0 l 66 0 "},"Ẁ":{"x_min":13.5625,"x_max":1154.328125,"ha":1181,"o":"m 1154 825 q 1104 814 1124 819 q 1073 803 1085 808 q 1057 793 1062 798 q 1051 783 1051 789 l 895 40 q 881 15 892 26 q 855 -2 870 5 q 826 -13 841 -9 q 801 -20 811 -17 l 580 640 l 385 40 q 369 15 381 26 q 343 -1 358 5 q 313 -12 328 -8 q 283 -20 297 -17 l 107 778 q 82 806 103 795 q 13 825 61 817 l 13 855 l 304 855 l 304 825 q 252 817 271 822 q 223 806 233 812 q 212 792 214 800 q 212 778 210 785 l 347 169 l 567 855 l 604 855 l 844 169 l 971 783 q 965 798 972 791 q 943 808 957 804 q 909 817 929 813 q 866 825 889 821 l 866 855 l 1154 855 l 1154 825 m 704 957 q 689 938 694 944 q 673 927 684 931 l 355 1092 l 360 1122 q 376 1134 365 1128 q 398 1148 386 1141 q 422 1162 411 1156 q 441 1173 434 1168 l 704 957 "},"Ť":{"x_min":6.34375,"x_max":734.5625,"ha":765,"o":"m 207 0 l 207 29 q 260 42 238 35 q 294 55 281 48 q 313 67 307 61 q 319 78 319 73 l 319 794 l 116 794 q 97 790 106 794 q 80 774 89 786 q 61 738 72 762 q 35 675 50 714 l 6 688 q 15 773 9 728 q 28 855 21 819 l 714 855 l 734 838 q 727 762 733 803 q 714 678 722 721 l 683 678 q 671 731 676 709 q 659 767 666 753 q 644 787 653 781 q 620 794 634 794 l 428 794 l 428 78 q 452 55 428 69 q 539 29 476 42 l 539 0 l 207 0 m 406 943 l 334 943 l 155 1151 q 163 1162 160 1157 q 169 1170 166 1167 q 176 1176 172 1174 q 185 1183 180 1179 l 372 1039 l 555 1183 q 571 1170 567 1176 q 584 1151 576 1164 l 406 943 "},"ơ":{"x_min":54,"x_max":746,"ha":747,"o":"m 539 308 q 521 410 539 362 q 475 495 503 458 q 412 554 448 532 q 342 576 377 576 q 256 556 291 576 q 199 502 220 536 q 168 421 178 468 q 159 320 159 375 q 178 219 159 267 q 225 134 197 170 q 289 76 254 97 q 355 55 323 55 q 437 72 403 55 q 494 124 472 90 q 528 203 517 157 q 539 308 539 250 m 746 707 q 738 670 746 690 q 713 626 731 649 q 665 577 695 602 q 590 527 635 551 q 630 436 616 486 q 644 329 644 386 q 632 240 644 283 q 600 158 620 197 q 551 86 580 119 q 489 30 523 53 q 416 -6 454 6 q 336 -20 377 -20 q 219 4 271 -20 q 130 71 167 28 q 74 173 94 114 q 54 301 54 232 q 65 389 54 346 q 96 471 76 432 q 144 543 116 510 q 206 600 172 576 q 280 637 241 623 q 362 651 320 651 q 474 628 424 651 q 561 564 525 605 q 613 611 597 588 q 629 652 629 634 q 618 689 629 671 q 589 722 608 707 l 710 777 q 736 744 726 762 q 746 707 746 726 "},"꞉":{"x_min":68,"x_max":229,"ha":290,"o":"m 229 493 q 221 449 229 469 q 202 414 214 429 q 172 391 189 399 q 135 383 155 383 q 83 402 99 383 q 68 458 68 422 q 75 501 68 481 q 95 537 82 521 q 125 561 108 552 q 162 570 143 570 q 212 550 195 570 q 229 493 229 530 m 229 164 q 221 120 229 140 q 202 85 214 100 q 172 62 189 70 q 135 54 155 54 q 83 73 99 54 q 68 129 68 93 q 75 172 68 152 q 95 208 82 192 q 125 232 108 223 q 162 241 143 241 q 212 221 195 241 q 229 164 229 201 "}},"cssFontWeight":"normal","ascender":1214,"underlinePosition":-250,"cssFontStyle":"normal","boundingBox":{"yMin":-492,"xMin":-697.21875,"yMax":1471.453125,"xMax":1356},"resolution":1000,"original_font_information":{"postscript_name":"Gentilis-Regular","version_string":"Version 1.100","vendor_url":"http://scripts.sil.org/","full_font_name":"Gentilis","font_family_name":"Gentilis","copyright":"Copyright (c) SIL International, 2003-2008.","description":"","trademark":"Gentium is a trademark of SIL International.","designer":"J. Victor Gaultney and Annie Olsen","designer_url":"http://www.sil.org/~gaultney","unique_font_identifier":"SIL International:Gentilis:2-3-108","license_url":"http://scripts.sil.org/OFL","license_description":"Copyright (c) 2003-2008, SIL International (http://www.sil.org/) with Reserved Font Names \"Gentium\" and \"SIL\".\r\n\r\nThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL\r\n\r\n\r\n-----------------------------------------------------------\r\nSIL OPEN FONT LICENSE Version 1.1 - 26 February 2007\r\n-----------------------------------------------------------\r\n\r\nPREAMBLE\r\nThe goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.\r\n\r\nThe OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.\r\n\r\nDEFINITIONS\r\n\"Font Software\" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.\r\n\r\n\"Reserved Font Name\" refers to any names specified as such after the copyright statement(s).\r\n\r\n\"Original Version\" refers to the collection of Font Software components as distributed by the Copyright Holder(s).\r\n\r\n\"Modified Version\" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.\r\n\r\n\"Author\" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.\r\n\r\nPERMISSION & CONDITIONS\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:\r\n\r\n1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.\r\n\r\n2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.\r\n\r\n3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.\r\n\r\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.\r\n\r\n5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.\r\n\r\nTERMINATION\r\nThis license becomes null and void if any of the above conditions are not met.\r\n\r\nDISCLAIMER\r\nTHE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.","manufacturer_name":"SIL International","font_sub_family_name":"Regular"},"descender":-394,"familyName":"Gentilis","lineHeight":1607,"underlineThickness":100} \ No newline at end of file diff --git a/src/assets/fonts/helvetiker_bold.typeface.json b/src/assets/fonts/helvetiker_bold.typeface.json new file mode 100644 index 0000000..872ce44 --- /dev/null +++ b/src/assets/fonts/helvetiker_bold.typeface.json @@ -0,0 +1 @@ +{"glyphs":{"ο":{"x_min":0,"x_max":764,"ha":863,"o":"m 380 -25 q 105 87 211 -25 q 0 372 0 200 q 104 660 0 545 q 380 775 209 775 q 658 659 552 775 q 764 372 764 544 q 658 87 764 200 q 380 -25 552 -25 m 379 142 q 515 216 466 142 q 557 373 557 280 q 515 530 557 465 q 379 607 466 607 q 245 530 294 607 q 204 373 204 465 q 245 218 204 283 q 379 142 294 142 "},"S":{"x_min":0,"x_max":826,"ha":915,"o":"m 826 306 q 701 55 826 148 q 423 -29 587 -29 q 138 60 255 -29 q 0 318 13 154 l 208 318 q 288 192 216 238 q 437 152 352 152 q 559 181 506 152 q 623 282 623 217 q 466 411 623 372 q 176 487 197 478 q 18 719 18 557 q 136 958 18 869 q 399 1040 244 1040 q 670 956 561 1040 q 791 713 791 864 l 591 713 q 526 826 583 786 q 393 866 469 866 q 277 838 326 866 q 218 742 218 804 q 374 617 218 655 q 667 542 646 552 q 826 306 826 471 "},"¦":{"x_min":0,"x_max":143,"ha":240,"o":"m 143 462 l 0 462 l 0 984 l 143 984 l 143 462 m 143 -242 l 0 -242 l 0 280 l 143 280 l 143 -242 "},"/":{"x_min":196.109375,"x_max":632.5625,"ha":828,"o":"m 632 1040 l 289 -128 l 196 -128 l 538 1040 l 632 1040 "},"Τ":{"x_min":-0.609375,"x_max":808,"ha":878,"o":"m 808 831 l 508 831 l 508 0 l 298 0 l 298 831 l 0 831 l 0 1013 l 808 1013 l 808 831 "},"y":{"x_min":0,"x_max":738.890625,"ha":828,"o":"m 738 749 l 444 -107 q 361 -238 413 -199 q 213 -277 308 -277 q 156 -275 176 -277 q 120 -271 131 -271 l 120 -110 q 147 -113 134 -111 q 179 -116 161 -116 q 247 -91 226 -116 q 269 -17 269 -67 q 206 173 269 -4 q 84 515 162 301 q 0 749 41 632 l 218 749 l 376 207 l 529 749 l 738 749 "},"Π":{"x_min":0,"x_max":809,"ha":922,"o":"m 809 0 l 598 0 l 598 836 l 208 836 l 208 0 l 0 0 l 0 1012 l 809 1012 l 809 0 "},"ΐ":{"x_min":-162,"x_max":364,"ha":364,"o":"m 364 810 l 235 810 l 235 952 l 364 952 l 364 810 m 301 1064 l 86 810 l -12 810 l 123 1064 l 301 1064 m -33 810 l -162 810 l -162 952 l -33 952 l -33 810 m 200 0 l 0 0 l 0 748 l 200 748 l 200 0 "},"g":{"x_min":0,"x_max":724,"ha":839,"o":"m 724 48 q 637 -223 724 -142 q 357 -304 551 -304 q 140 -253 226 -304 q 23 -72 36 -192 l 243 -72 q 290 -127 255 -110 q 368 -144 324 -144 q 504 -82 470 -144 q 530 71 530 -38 l 530 105 q 441 25 496 51 q 319 0 386 0 q 79 115 166 0 q 0 377 0 219 q 77 647 0 534 q 317 775 166 775 q 534 656 456 775 l 534 748 l 724 748 l 724 48 m 368 167 q 492 237 447 167 q 530 382 530 297 q 490 529 530 466 q 364 603 444 603 q 240 532 284 603 q 201 386 201 471 q 240 239 201 300 q 368 167 286 167 "},"²":{"x_min":0,"x_max":463,"ha":560,"o":"m 463 791 q 365 627 463 706 q 151 483 258 555 l 455 483 l 455 382 l 0 382 q 84 565 0 488 q 244 672 97 576 q 331 784 331 727 q 299 850 331 824 q 228 876 268 876 q 159 848 187 876 q 132 762 132 820 l 10 762 q 78 924 10 866 q 228 976 137 976 q 392 925 322 976 q 463 791 463 874 "},"–":{"x_min":0,"x_max":704.171875,"ha":801,"o":"m 704 297 l 0 297 l 0 450 l 704 450 l 704 297 "},"Κ":{"x_min":0,"x_max":899.671875,"ha":969,"o":"m 899 0 l 646 0 l 316 462 l 208 355 l 208 0 l 0 0 l 0 1013 l 208 1013 l 208 596 l 603 1013 l 863 1013 l 460 603 l 899 0 "},"ƒ":{"x_min":-46,"x_max":440,"ha":525,"o":"m 440 609 l 316 609 l 149 -277 l -46 -277 l 121 609 l 14 609 l 14 749 l 121 749 q 159 949 121 894 q 344 1019 208 1019 l 440 1015 l 440 855 l 377 855 q 326 841 338 855 q 314 797 314 827 q 314 773 314 786 q 314 749 314 761 l 440 749 l 440 609 "},"e":{"x_min":0,"x_max":708,"ha":808,"o":"m 708 321 l 207 321 q 254 186 207 236 q 362 141 298 141 q 501 227 453 141 l 700 227 q 566 36 662 104 q 362 -26 477 -26 q 112 72 213 -26 q 0 369 0 182 q 95 683 0 573 q 358 793 191 793 q 619 677 531 793 q 708 321 708 561 m 501 453 q 460 571 501 531 q 353 612 420 612 q 247 570 287 612 q 207 453 207 529 l 501 453 "},"ό":{"x_min":0,"x_max":764,"ha":863,"o":"m 380 -25 q 105 87 211 -25 q 0 372 0 200 q 104 660 0 545 q 380 775 209 775 q 658 659 552 775 q 764 372 764 544 q 658 87 764 200 q 380 -25 552 -25 m 379 142 q 515 216 466 142 q 557 373 557 280 q 515 530 557 465 q 379 607 466 607 q 245 530 294 607 q 204 373 204 465 q 245 218 204 283 q 379 142 294 142 m 593 1039 l 391 823 l 293 823 l 415 1039 l 593 1039 "},"J":{"x_min":0,"x_max":649,"ha":760,"o":"m 649 294 q 573 48 649 125 q 327 -29 497 -29 q 61 82 136 -29 q 0 375 0 173 l 200 375 l 199 309 q 219 194 199 230 q 321 145 249 145 q 418 193 390 145 q 441 307 441 232 l 441 1013 l 649 1013 l 649 294 "},"»":{"x_min":-0.234375,"x_max":526,"ha":624,"o":"m 526 286 l 297 87 l 296 250 l 437 373 l 297 495 l 297 660 l 526 461 l 526 286 m 229 286 l 0 87 l 0 250 l 140 373 l 0 495 l 0 660 l 229 461 l 229 286 "},"©":{"x_min":3,"x_max":1007,"ha":1104,"o":"m 507 -6 q 129 153 269 -6 q 3 506 3 298 q 127 857 3 713 q 502 1017 266 1017 q 880 855 740 1017 q 1007 502 1007 711 q 882 152 1007 295 q 507 -6 743 -6 m 502 934 q 184 800 302 934 q 79 505 79 680 q 184 210 79 331 q 501 76 302 76 q 819 210 701 76 q 925 507 925 331 q 820 800 925 682 q 502 934 704 934 m 758 410 q 676 255 748 313 q 506 197 605 197 q 298 291 374 197 q 229 499 229 377 q 297 713 229 624 q 494 811 372 811 q 666 760 593 811 q 752 616 739 710 l 621 616 q 587 688 621 658 q 509 719 554 719 q 404 658 441 719 q 368 511 368 598 q 403 362 368 427 q 498 298 438 298 q 624 410 606 298 l 758 410 "},"ώ":{"x_min":0,"x_max":945,"ha":1051,"o":"m 566 528 l 372 528 l 372 323 q 372 298 372 311 q 373 271 372 285 q 360 183 373 211 q 292 142 342 142 q 219 222 243 142 q 203 365 203 279 q 241 565 203 461 q 334 748 273 650 l 130 748 q 36 552 68 650 q 0 337 0 444 q 69 96 0 204 q 276 -29 149 -29 q 390 0 337 -29 q 470 78 444 28 q 551 0 495 30 q 668 -29 608 -29 q 874 96 793 -29 q 945 337 945 205 q 910 547 945 444 q 814 748 876 650 l 610 748 q 703 565 671 650 q 742 365 742 462 q 718 189 742 237 q 651 142 694 142 q 577 190 597 142 q 565 289 565 221 l 565 323 l 566 528 m 718 1039 l 516 823 l 417 823 l 540 1039 l 718 1039 "},"^":{"x_min":197.21875,"x_max":630.5625,"ha":828,"o":"m 630 836 l 536 836 l 413 987 l 294 836 l 197 836 l 331 1090 l 493 1090 l 630 836 "},"«":{"x_min":0,"x_max":526.546875,"ha":624,"o":"m 526 87 l 297 286 l 297 461 l 526 660 l 526 495 l 385 373 l 526 250 l 526 87 m 229 87 l 0 286 l 0 461 l 229 660 l 229 495 l 88 373 l 229 250 l 229 87 "},"D":{"x_min":0,"x_max":864,"ha":968,"o":"m 400 1013 q 736 874 608 1013 q 864 523 864 735 q 717 146 864 293 q 340 0 570 0 l 0 0 l 0 1013 l 400 1013 m 398 837 l 206 837 l 206 182 l 372 182 q 584 276 507 182 q 657 504 657 365 q 594 727 657 632 q 398 837 522 837 "},"∙":{"x_min":0,"x_max":207,"ha":304,"o":"m 207 528 l 0 528 l 0 735 l 207 735 l 207 528 "},"ÿ":{"x_min":0,"x_max":47,"ha":125,"o":"m 47 3 q 37 -7 47 -7 q 28 0 30 -7 q 39 -4 32 -4 q 45 3 45 -1 l 37 0 q 28 9 28 0 q 39 19 28 19 l 47 16 l 47 19 l 47 3 m 37 1 q 44 8 44 1 q 37 16 44 16 q 30 8 30 16 q 37 1 30 1 m 26 1 l 23 22 l 14 0 l 3 22 l 3 3 l 0 25 l 13 1 l 22 25 l 26 1 "},"w":{"x_min":0,"x_max":1056.953125,"ha":1150,"o":"m 1056 749 l 848 0 l 647 0 l 527 536 l 412 0 l 211 0 l 0 749 l 202 749 l 325 226 l 429 748 l 633 748 l 740 229 l 864 749 l 1056 749 "},"$":{"x_min":0,"x_max":704,"ha":800,"o":"m 682 693 l 495 693 q 468 782 491 749 q 391 831 441 824 l 391 579 q 633 462 562 534 q 704 259 704 389 q 616 57 704 136 q 391 -22 528 -22 l 391 -156 l 308 -156 l 308 -22 q 76 69 152 -7 q 0 300 0 147 l 183 300 q 215 191 190 230 q 308 128 245 143 l 308 414 q 84 505 157 432 q 12 700 12 578 q 89 902 12 824 q 308 981 166 981 l 308 1069 l 391 1069 l 391 981 q 595 905 521 981 q 682 693 670 829 m 308 599 l 308 831 q 228 796 256 831 q 200 712 200 762 q 225 642 200 668 q 308 599 251 617 m 391 128 q 476 174 449 140 q 504 258 504 207 q 391 388 504 354 l 391 128 "},"\\":{"x_min":-0.03125,"x_max":434.765625,"ha":532,"o":"m 434 -128 l 341 -128 l 0 1039 l 91 1040 l 434 -128 "},"µ":{"x_min":0,"x_max":647,"ha":754,"o":"m 647 0 l 478 0 l 478 68 q 412 9 448 30 q 330 -11 375 -11 q 261 3 296 -11 q 199 43 226 18 l 199 -277 l 0 -277 l 0 749 l 199 749 l 199 358 q 216 221 199 267 q 322 151 244 151 q 435 240 410 151 q 448 401 448 283 l 448 749 l 647 749 l 647 0 "},"Ι":{"x_min":42,"x_max":250,"ha":413,"o":"m 250 0 l 42 0 l 42 1013 l 250 1013 l 250 0 "},"Ύ":{"x_min":0,"x_max":1211.15625,"ha":1289,"o":"m 1211 1012 l 907 376 l 907 0 l 697 0 l 697 376 l 374 1012 l 583 1012 l 802 576 l 1001 1012 l 1211 1012 m 313 1035 l 98 780 l 0 780 l 136 1035 l 313 1035 "},"’":{"x_min":0,"x_max":192,"ha":289,"o":"m 192 834 q 137 692 192 751 q 0 626 83 634 l 0 697 q 101 831 101 723 l 0 831 l 0 1013 l 192 1013 l 192 834 "},"Ν":{"x_min":0,"x_max":833,"ha":946,"o":"m 833 0 l 617 0 l 206 696 l 206 0 l 0 0 l 0 1013 l 216 1013 l 629 315 l 629 1013 l 833 1013 l 833 0 "},"-":{"x_min":27.78125,"x_max":413.890625,"ha":525,"o":"m 413 279 l 27 279 l 27 468 l 413 468 l 413 279 "},"Q":{"x_min":0,"x_max":995.59375,"ha":1096,"o":"m 995 49 l 885 -70 l 762 42 q 641 -12 709 4 q 497 -29 572 -29 q 135 123 271 -29 q 0 504 0 276 q 131 881 0 731 q 497 1040 270 1040 q 859 883 719 1040 q 994 506 994 731 q 966 321 994 413 q 884 152 938 229 l 995 49 m 730 299 q 767 395 755 344 q 779 504 779 446 q 713 743 779 644 q 505 857 638 857 q 284 745 366 857 q 210 501 210 644 q 279 265 210 361 q 492 157 357 157 q 615 181 557 157 l 508 287 l 620 405 l 730 299 "},"ς":{"x_min":0,"x_max":731.78125,"ha":768,"o":"m 731 448 l 547 448 q 485 571 531 533 q 369 610 440 610 q 245 537 292 610 q 204 394 204 473 q 322 186 204 238 q 540 133 430 159 q 659 -15 659 98 q 643 -141 659 -80 q 595 -278 627 -202 l 423 -278 q 458 -186 448 -215 q 474 -88 474 -133 q 352 0 474 -27 q 123 80 181 38 q 0 382 0 170 q 98 660 0 549 q 367 777 202 777 q 622 683 513 777 q 731 448 731 589 "},"M":{"x_min":0,"x_max":1019,"ha":1135,"o":"m 1019 0 l 823 0 l 823 819 l 618 0 l 402 0 l 194 818 l 194 0 l 0 0 l 0 1013 l 309 1012 l 510 241 l 707 1013 l 1019 1013 l 1019 0 "},"Ψ":{"x_min":0,"x_max":995,"ha":1085,"o":"m 995 698 q 924 340 995 437 q 590 200 841 227 l 590 0 l 404 0 l 404 200 q 70 340 152 227 q 0 698 0 437 l 0 1013 l 188 1013 l 188 694 q 212 472 188 525 q 404 383 254 383 l 404 1013 l 590 1013 l 590 383 q 781 472 740 383 q 807 694 807 525 l 807 1013 l 995 1013 l 995 698 "},"C":{"x_min":0,"x_max":970.828125,"ha":1043,"o":"m 970 345 q 802 70 933 169 q 490 -29 672 -29 q 130 130 268 -29 q 0 506 0 281 q 134 885 0 737 q 502 1040 275 1040 q 802 939 668 1040 q 965 679 936 838 l 745 679 q 649 809 716 761 q 495 857 582 857 q 283 747 361 857 q 214 508 214 648 q 282 267 214 367 q 493 154 359 154 q 651 204 584 154 q 752 345 718 255 l 970 345 "},"!":{"x_min":0,"x_max":204,"ha":307,"o":"m 204 739 q 182 515 204 686 q 152 282 167 398 l 52 282 q 13 589 27 473 q 0 739 0 704 l 0 1013 l 204 1013 l 204 739 m 204 0 l 0 0 l 0 203 l 204 203 l 204 0 "},"{":{"x_min":0,"x_max":501.390625,"ha":599,"o":"m 501 -285 q 229 -209 301 -285 q 176 -35 176 -155 q 182 47 176 -8 q 189 126 189 103 q 156 245 189 209 q 0 294 112 294 l 0 438 q 154 485 111 438 q 189 603 189 522 q 186 666 189 636 q 176 783 176 772 q 231 945 176 894 q 501 1015 306 1015 l 501 872 q 370 833 408 872 q 340 737 340 801 q 342 677 340 705 q 353 569 353 579 q 326 451 353 496 q 207 366 291 393 q 327 289 294 346 q 353 164 353 246 q 348 79 353 132 q 344 17 344 26 q 372 -95 344 -58 q 501 -141 408 -141 l 501 -285 "},"X":{"x_min":0,"x_max":894.453125,"ha":999,"o":"m 894 0 l 654 0 l 445 351 l 238 0 l 0 0 l 316 516 l 0 1013 l 238 1013 l 445 659 l 652 1013 l 894 1013 l 577 519 l 894 0 "},"#":{"x_min":0,"x_max":1019.453125,"ha":1117,"o":"m 1019 722 l 969 582 l 776 581 l 717 417 l 919 417 l 868 279 l 668 278 l 566 -6 l 413 -5 l 516 279 l 348 279 l 247 -6 l 94 -6 l 196 278 l 0 279 l 49 417 l 245 417 l 304 581 l 98 582 l 150 722 l 354 721 l 455 1006 l 606 1006 l 507 721 l 673 722 l 776 1006 l 927 1006 l 826 721 l 1019 722 m 627 581 l 454 581 l 394 417 l 567 417 l 627 581 "},"ι":{"x_min":42,"x_max":242,"ha":389,"o":"m 242 0 l 42 0 l 42 749 l 242 749 l 242 0 "},"Ά":{"x_min":0,"x_max":995.828125,"ha":1072,"o":"m 313 1035 l 98 780 l 0 780 l 136 1035 l 313 1035 m 995 0 l 776 0 l 708 208 l 315 208 l 247 0 l 29 0 l 390 1012 l 629 1012 l 995 0 m 652 376 l 509 809 l 369 376 l 652 376 "},")":{"x_min":0,"x_max":389,"ha":486,"o":"m 389 357 q 319 14 389 187 q 145 -293 259 -134 l 0 -293 q 139 22 90 -142 q 189 358 189 187 q 139 689 189 525 q 0 1013 90 853 l 145 1013 q 319 703 258 857 q 389 357 389 528 "},"ε":{"x_min":16.671875,"x_max":652.78125,"ha":742,"o":"m 652 259 q 565 49 652 123 q 340 -25 479 -25 q 102 39 188 -25 q 16 197 16 104 q 45 299 16 249 q 134 390 75 348 q 58 456 86 419 q 25 552 25 502 q 120 717 25 653 q 322 776 208 776 q 537 710 456 776 q 625 508 625 639 l 445 508 q 415 585 445 563 q 327 608 386 608 q 254 590 293 608 q 215 544 215 573 q 252 469 215 490 q 336 453 280 453 q 369 455 347 453 q 400 456 391 456 l 400 308 l 329 308 q 247 291 280 308 q 204 223 204 269 q 255 154 204 172 q 345 143 286 143 q 426 174 398 143 q 454 259 454 206 l 652 259 "},"Δ":{"x_min":0,"x_max":981.953125,"ha":1057,"o":"m 981 0 l 0 0 l 386 1013 l 594 1013 l 981 0 m 715 175 l 490 765 l 266 175 l 715 175 "},"}":{"x_min":0,"x_max":500,"ha":597,"o":"m 500 294 q 348 246 390 294 q 315 128 315 209 q 320 42 315 101 q 326 -48 326 -17 q 270 -214 326 -161 q 0 -285 196 -285 l 0 -141 q 126 -97 90 -141 q 154 8 154 -64 q 150 91 154 37 q 146 157 146 145 q 172 281 146 235 q 294 366 206 339 q 173 451 208 390 q 146 576 146 500 q 150 655 146 603 q 154 731 154 708 q 126 831 154 799 q 0 872 90 872 l 0 1015 q 270 944 196 1015 q 326 777 326 891 q 322 707 326 747 q 313 593 313 612 q 347 482 313 518 q 500 438 390 438 l 500 294 "},"‰":{"x_min":0,"x_max":1681,"ha":1775,"o":"m 861 484 q 1048 404 979 484 q 1111 228 1111 332 q 1048 51 1111 123 q 859 -29 979 -29 q 672 50 740 -29 q 610 227 610 122 q 672 403 610 331 q 861 484 741 484 m 861 120 q 939 151 911 120 q 967 226 967 183 q 942 299 967 270 q 861 333 912 333 q 783 301 811 333 q 756 226 756 269 q 783 151 756 182 q 861 120 810 120 m 904 984 l 316 -28 l 205 -29 l 793 983 l 904 984 m 250 984 q 436 904 366 984 q 499 730 499 832 q 436 552 499 626 q 248 472 366 472 q 62 552 132 472 q 0 728 0 624 q 62 903 0 831 q 250 984 132 984 m 249 835 q 169 801 198 835 q 140 725 140 768 q 167 652 140 683 q 247 621 195 621 q 327 654 298 621 q 357 730 357 687 q 329 803 357 772 q 249 835 301 835 m 1430 484 q 1618 404 1548 484 q 1681 228 1681 332 q 1618 51 1681 123 q 1429 -29 1548 -29 q 1241 50 1309 -29 q 1179 227 1179 122 q 1241 403 1179 331 q 1430 484 1311 484 m 1431 120 q 1509 151 1481 120 q 1537 226 1537 183 q 1511 299 1537 270 q 1431 333 1482 333 q 1352 301 1380 333 q 1325 226 1325 269 q 1352 151 1325 182 q 1431 120 1379 120 "},"a":{"x_min":0,"x_max":700,"ha":786,"o":"m 700 0 l 488 0 q 465 93 469 45 q 365 5 427 37 q 233 -26 303 -26 q 65 37 130 -26 q 0 205 0 101 q 120 409 0 355 q 343 452 168 431 q 465 522 465 468 q 424 588 465 565 q 337 611 384 611 q 250 581 285 611 q 215 503 215 552 l 26 503 q 113 707 26 633 q 328 775 194 775 q 538 723 444 775 q 657 554 657 659 l 657 137 q 666 73 657 101 q 700 33 675 45 l 700 0 m 465 297 l 465 367 q 299 322 358 340 q 193 217 193 287 q 223 150 193 174 q 298 127 254 127 q 417 175 370 127 q 465 297 465 224 "},"—":{"x_min":0,"x_max":941.671875,"ha":1039,"o":"m 941 297 l 0 297 l 0 450 l 941 450 l 941 297 "},"=":{"x_min":29.171875,"x_max":798.609375,"ha":828,"o":"m 798 502 l 29 502 l 29 635 l 798 635 l 798 502 m 798 204 l 29 204 l 29 339 l 798 339 l 798 204 "},"N":{"x_min":0,"x_max":833,"ha":949,"o":"m 833 0 l 617 0 l 206 695 l 206 0 l 0 0 l 0 1013 l 216 1013 l 629 315 l 629 1013 l 833 1013 l 833 0 "},"ρ":{"x_min":0,"x_max":722,"ha":810,"o":"m 364 -17 q 271 0 313 -17 q 194 48 230 16 l 194 -278 l 0 -278 l 0 370 q 87 656 0 548 q 358 775 183 775 q 626 655 524 775 q 722 372 722 541 q 621 95 722 208 q 364 -17 520 -17 m 360 607 q 237 529 280 607 q 201 377 201 463 q 234 229 201 292 q 355 147 277 147 q 467 210 419 147 q 515 374 515 273 q 471 537 515 468 q 360 607 428 607 "},"2":{"x_min":64,"x_max":764,"ha":828,"o":"m 764 685 q 675 452 764 541 q 484 325 637 415 q 307 168 357 250 l 754 168 l 754 0 l 64 0 q 193 301 64 175 q 433 480 202 311 q 564 673 564 576 q 519 780 564 737 q 416 824 475 824 q 318 780 358 824 q 262 633 270 730 l 80 633 q 184 903 80 807 q 415 988 276 988 q 654 907 552 988 q 764 685 764 819 "},"¯":{"x_min":0,"x_max":775,"ha":771,"o":"m 775 958 l 0 958 l 0 1111 l 775 1111 l 775 958 "},"Z":{"x_min":0,"x_max":804.171875,"ha":906,"o":"m 804 836 l 251 182 l 793 182 l 793 0 l 0 0 l 0 176 l 551 830 l 11 830 l 11 1013 l 804 1013 l 804 836 "},"u":{"x_min":0,"x_max":668,"ha":782,"o":"m 668 0 l 474 0 l 474 89 q 363 9 425 37 q 233 -19 301 -19 q 61 53 123 -19 q 0 239 0 126 l 0 749 l 199 749 l 199 296 q 225 193 199 233 q 316 146 257 146 q 424 193 380 146 q 469 304 469 240 l 469 749 l 668 749 l 668 0 "},"k":{"x_min":0,"x_max":688.890625,"ha":771,"o":"m 688 0 l 450 0 l 270 316 l 196 237 l 196 0 l 0 0 l 0 1013 l 196 1013 l 196 483 l 433 748 l 675 748 l 413 469 l 688 0 "},"Η":{"x_min":0,"x_max":837,"ha":950,"o":"m 837 0 l 627 0 l 627 450 l 210 450 l 210 0 l 0 0 l 0 1013 l 210 1013 l 210 635 l 627 635 l 627 1013 l 837 1013 l 837 0 "},"Α":{"x_min":0,"x_max":966.671875,"ha":1043,"o":"m 966 0 l 747 0 l 679 208 l 286 208 l 218 0 l 0 0 l 361 1013 l 600 1013 l 966 0 m 623 376 l 480 809 l 340 376 l 623 376 "},"s":{"x_min":0,"x_max":681,"ha":775,"o":"m 681 229 q 568 33 681 105 q 340 -29 471 -29 q 107 39 202 -29 q 0 245 0 114 l 201 245 q 252 155 201 189 q 358 128 295 128 q 436 144 401 128 q 482 205 482 166 q 363 284 482 255 q 143 348 181 329 q 25 533 25 408 q 129 716 25 647 q 340 778 220 778 q 554 710 465 778 q 658 522 643 643 l 463 522 q 419 596 458 570 q 327 622 380 622 q 255 606 290 622 q 221 556 221 590 q 339 473 221 506 q 561 404 528 420 q 681 229 681 344 "},"B":{"x_min":0,"x_max":835,"ha":938,"o":"m 674 547 q 791 450 747 518 q 835 304 835 383 q 718 75 835 158 q 461 0 612 0 l 0 0 l 0 1013 l 477 1013 q 697 951 609 1013 q 797 754 797 880 q 765 630 797 686 q 674 547 734 575 m 438 621 q 538 646 495 621 q 590 730 590 676 q 537 814 590 785 q 436 838 494 838 l 199 838 l 199 621 l 438 621 m 445 182 q 561 211 513 182 q 618 311 618 247 q 565 410 618 375 q 444 446 512 446 l 199 446 l 199 182 l 445 182 "},"…":{"x_min":0,"x_max":819,"ha":963,"o":"m 206 0 l 0 0 l 0 207 l 206 207 l 206 0 m 512 0 l 306 0 l 306 207 l 512 207 l 512 0 m 819 0 l 613 0 l 613 207 l 819 207 l 819 0 "},"?":{"x_min":1,"x_max":687,"ha":785,"o":"m 687 734 q 621 563 687 634 q 501 454 560 508 q 436 293 436 386 l 251 293 l 251 391 q 363 557 251 462 q 476 724 476 653 q 432 827 476 788 q 332 866 389 866 q 238 827 275 866 q 195 699 195 781 l 1 699 q 110 955 1 861 q 352 1040 210 1040 q 582 963 489 1040 q 687 734 687 878 m 446 0 l 243 0 l 243 203 l 446 203 l 446 0 "},"H":{"x_min":0,"x_max":838,"ha":953,"o":"m 838 0 l 628 0 l 628 450 l 210 450 l 210 0 l 0 0 l 0 1013 l 210 1013 l 210 635 l 628 635 l 628 1013 l 838 1013 l 838 0 "},"ν":{"x_min":0,"x_max":740.28125,"ha":828,"o":"m 740 749 l 473 0 l 266 0 l 0 749 l 222 749 l 373 211 l 529 749 l 740 749 "},"c":{"x_min":0,"x_max":751.390625,"ha":828,"o":"m 751 282 q 625 58 725 142 q 384 -26 526 -26 q 107 84 215 -26 q 0 366 0 195 q 98 651 0 536 q 370 774 204 774 q 616 700 518 774 q 751 486 715 626 l 536 486 q 477 570 516 538 q 380 607 434 607 q 248 533 298 607 q 204 378 204 466 q 242 219 204 285 q 377 139 290 139 q 483 179 438 139 q 543 282 527 220 l 751 282 "},"¶":{"x_min":0,"x_max":566.671875,"ha":678,"o":"m 21 892 l 52 892 l 98 761 l 145 892 l 176 892 l 178 741 l 157 741 l 157 867 l 108 741 l 88 741 l 40 871 l 40 741 l 21 741 l 21 892 m 308 854 l 308 731 q 252 691 308 691 q 227 691 240 691 q 207 696 213 695 l 207 712 l 253 706 q 288 733 288 706 l 288 763 q 244 741 279 741 q 193 797 193 741 q 261 860 193 860 q 287 860 273 860 q 308 854 302 855 m 288 842 l 263 843 q 213 796 213 843 q 248 756 213 756 q 288 796 288 756 l 288 842 m 566 988 l 502 988 l 502 -1 l 439 -1 l 439 988 l 317 988 l 317 -1 l 252 -1 l 252 602 q 81 653 155 602 q 0 805 0 711 q 101 989 0 918 q 309 1053 194 1053 l 566 1053 l 566 988 "},"β":{"x_min":0,"x_max":703,"ha":789,"o":"m 510 539 q 651 429 600 501 q 703 262 703 357 q 617 53 703 136 q 404 -29 532 -29 q 199 51 279 -29 l 199 -278 l 0 -278 l 0 627 q 77 911 0 812 q 343 1021 163 1021 q 551 957 464 1021 q 649 769 649 886 q 613 638 649 697 q 510 539 577 579 m 344 136 q 452 181 408 136 q 497 291 497 227 q 435 409 497 369 q 299 444 381 444 l 299 600 q 407 634 363 600 q 452 731 452 669 q 417 820 452 784 q 329 857 382 857 q 217 775 246 857 q 199 622 199 725 l 199 393 q 221 226 199 284 q 344 136 254 136 "},"Μ":{"x_min":0,"x_max":1019,"ha":1132,"o":"m 1019 0 l 823 0 l 823 818 l 617 0 l 402 0 l 194 818 l 194 0 l 0 0 l 0 1013 l 309 1013 l 509 241 l 708 1013 l 1019 1013 l 1019 0 "},"Ό":{"x_min":0.15625,"x_max":1174,"ha":1271,"o":"m 676 -29 q 312 127 451 -29 q 179 505 179 277 q 311 883 179 733 q 676 1040 449 1040 q 1040 883 901 1040 q 1174 505 1174 733 q 1041 127 1174 277 q 676 -29 903 -29 m 676 154 q 890 266 811 154 q 961 506 961 366 q 891 745 961 648 q 676 857 812 857 q 462 747 541 857 q 392 506 392 648 q 461 266 392 365 q 676 154 540 154 m 314 1034 l 98 779 l 0 779 l 136 1034 l 314 1034 "},"Ή":{"x_min":0,"x_max":1248,"ha":1361,"o":"m 1248 0 l 1038 0 l 1038 450 l 621 450 l 621 0 l 411 0 l 411 1012 l 621 1012 l 621 635 l 1038 635 l 1038 1012 l 1248 1012 l 1248 0 m 313 1035 l 98 780 l 0 780 l 136 1035 l 313 1035 "},"•":{"x_min":-27.78125,"x_max":691.671875,"ha":775,"o":"m 691 508 q 588 252 691 358 q 331 147 486 147 q 77 251 183 147 q -27 508 -27 355 q 75 761 -27 655 q 331 868 179 868 q 585 763 479 868 q 691 508 691 658 "},"¥":{"x_min":0,"x_max":836,"ha":931,"o":"m 195 625 l 0 1013 l 208 1013 l 427 576 l 626 1013 l 836 1013 l 650 625 l 777 625 l 777 472 l 578 472 l 538 389 l 777 389 l 777 236 l 532 236 l 532 0 l 322 0 l 322 236 l 79 236 l 79 389 l 315 389 l 273 472 l 79 472 l 79 625 l 195 625 "},"(":{"x_min":0,"x_max":388.890625,"ha":486,"o":"m 388 -293 l 243 -293 q 70 14 130 -134 q 0 357 0 189 q 69 703 0 526 q 243 1013 129 856 l 388 1013 q 248 695 297 860 q 200 358 200 530 q 248 24 200 187 q 388 -293 297 -138 "},"U":{"x_min":0,"x_max":813,"ha":926,"o":"m 813 362 q 697 79 813 187 q 405 -29 582 -29 q 114 78 229 -29 q 0 362 0 186 l 0 1013 l 210 1013 l 210 387 q 260 226 210 291 q 408 154 315 154 q 554 226 500 154 q 603 387 603 291 l 603 1013 l 813 1013 l 813 362 "},"γ":{"x_min":0.0625,"x_max":729.234375,"ha":815,"o":"m 729 749 l 457 37 l 457 -278 l 257 -278 l 257 37 q 218 155 243 95 q 170 275 194 215 l 0 749 l 207 749 l 363 284 l 522 749 l 729 749 "},"α":{"x_min":-1,"x_max":722,"ha":835,"o":"m 722 0 l 531 0 l 530 101 q 433 8 491 41 q 304 -25 375 -25 q 72 104 157 -25 q -1 372 -1 216 q 72 643 -1 530 q 308 775 158 775 q 433 744 375 775 q 528 656 491 713 l 528 749 l 722 749 l 722 0 m 361 601 q 233 527 277 601 q 196 375 196 464 q 232 224 196 288 q 358 144 277 144 q 487 217 441 144 q 528 370 528 281 q 489 523 528 457 q 361 601 443 601 "},"F":{"x_min":0,"x_max":706.953125,"ha":778,"o":"m 706 837 l 206 837 l 206 606 l 645 606 l 645 431 l 206 431 l 206 0 l 0 0 l 0 1013 l 706 1013 l 706 837 "},"­":{"x_min":0,"x_max":704.171875,"ha":801,"o":"m 704 297 l 0 297 l 0 450 l 704 450 l 704 297 "},":":{"x_min":0,"x_max":207,"ha":304,"o":"m 207 528 l 0 528 l 0 735 l 207 735 l 207 528 m 207 0 l 0 0 l 0 207 l 207 207 l 207 0 "},"Χ":{"x_min":0,"x_max":894.453125,"ha":978,"o":"m 894 0 l 654 0 l 445 351 l 238 0 l 0 0 l 316 516 l 0 1013 l 238 1013 l 445 660 l 652 1013 l 894 1013 l 577 519 l 894 0 "},"*":{"x_min":115,"x_max":713,"ha":828,"o":"m 713 740 l 518 688 l 651 525 l 531 438 l 412 612 l 290 439 l 173 523 l 308 688 l 115 741 l 159 880 l 342 816 l 343 1013 l 482 1013 l 481 816 l 664 880 l 713 740 "},"†":{"x_min":0,"x_max":809,"ha":894,"o":"m 509 804 l 809 804 l 809 621 l 509 621 l 509 0 l 299 0 l 299 621 l 0 621 l 0 804 l 299 804 l 299 1011 l 509 1011 l 509 804 "},"°":{"x_min":-1,"x_max":363,"ha":460,"o":"m 181 808 q 46 862 94 808 q -1 992 -1 917 q 44 1118 -1 1066 q 181 1175 96 1175 q 317 1118 265 1175 q 363 991 363 1066 q 315 862 363 917 q 181 808 267 808 m 181 908 q 240 933 218 908 q 263 992 263 958 q 242 1051 263 1027 q 181 1075 221 1075 q 120 1050 142 1075 q 99 991 99 1026 q 120 933 99 958 q 181 908 142 908 "},"V":{"x_min":0,"x_max":895.828125,"ha":997,"o":"m 895 1013 l 550 0 l 347 0 l 0 1013 l 231 1013 l 447 256 l 666 1013 l 895 1013 "},"Ξ":{"x_min":0,"x_max":751.390625,"ha":800,"o":"m 733 826 l 5 826 l 5 1012 l 733 1012 l 733 826 m 681 432 l 65 432 l 65 617 l 681 617 l 681 432 m 751 0 l 0 0 l 0 183 l 751 183 l 751 0 "}," ":{"x_min":0,"x_max":0,"ha":853},"Ϋ":{"x_min":-0.21875,"x_max":836.171875,"ha":914,"o":"m 610 1046 l 454 1046 l 454 1215 l 610 1215 l 610 1046 m 369 1046 l 212 1046 l 212 1215 l 369 1215 l 369 1046 m 836 1012 l 532 376 l 532 0 l 322 0 l 322 376 l 0 1012 l 208 1012 l 427 576 l 626 1012 l 836 1012 "},"0":{"x_min":51,"x_max":779,"ha":828,"o":"m 415 -26 q 142 129 242 -26 q 51 476 51 271 q 141 825 51 683 q 415 984 242 984 q 687 825 585 984 q 779 476 779 682 q 688 131 779 271 q 415 -26 587 -26 m 415 137 q 529 242 485 137 q 568 477 568 338 q 530 713 568 619 q 415 821 488 821 q 303 718 344 821 q 262 477 262 616 q 301 237 262 337 q 415 137 341 137 "},"”":{"x_min":0,"x_max":469,"ha":567,"o":"m 192 834 q 137 692 192 751 q 0 626 83 634 l 0 697 q 101 831 101 723 l 0 831 l 0 1013 l 192 1013 l 192 834 m 469 834 q 414 692 469 751 q 277 626 360 634 l 277 697 q 379 831 379 723 l 277 831 l 277 1013 l 469 1013 l 469 834 "},"@":{"x_min":0,"x_max":1276,"ha":1374,"o":"m 1115 -52 q 895 -170 1015 -130 q 647 -211 776 -211 q 158 -34 334 -211 q 0 360 0 123 q 179 810 0 621 q 698 1019 377 1019 q 1138 859 981 1019 q 1276 514 1276 720 q 1173 210 1276 335 q 884 75 1062 75 q 784 90 810 75 q 737 186 749 112 q 647 104 698 133 q 532 75 596 75 q 360 144 420 75 q 308 308 308 205 q 398 568 308 451 q 638 696 497 696 q 731 671 690 696 q 805 604 772 647 l 840 673 l 964 673 q 886 373 915 490 q 856 239 856 257 q 876 201 856 214 q 920 188 895 188 q 1084 284 1019 188 q 1150 511 1150 380 q 1051 779 1150 672 q 715 905 934 905 q 272 734 439 905 q 121 363 121 580 q 250 41 121 170 q 647 -103 394 -103 q 863 -67 751 -103 q 1061 26 975 -32 l 1115 -52 m 769 483 q 770 500 770 489 q 733 567 770 539 q 651 596 695 596 q 508 504 566 596 q 457 322 457 422 q 483 215 457 256 q 561 175 509 175 q 671 221 625 175 q 733 333 718 268 l 769 483 "},"Ί":{"x_min":0,"x_max":619,"ha":732,"o":"m 313 1035 l 98 780 l 0 780 l 136 1035 l 313 1035 m 619 0 l 411 0 l 411 1012 l 619 1012 l 619 0 "},"i":{"x_min":14,"x_max":214,"ha":326,"o":"m 214 830 l 14 830 l 14 1013 l 214 1013 l 214 830 m 214 0 l 14 0 l 14 748 l 214 748 l 214 0 "},"Β":{"x_min":0,"x_max":835,"ha":961,"o":"m 675 547 q 791 450 747 518 q 835 304 835 383 q 718 75 835 158 q 461 0 612 0 l 0 0 l 0 1013 l 477 1013 q 697 951 609 1013 q 797 754 797 880 q 766 630 797 686 q 675 547 734 575 m 439 621 q 539 646 496 621 q 590 730 590 676 q 537 814 590 785 q 436 838 494 838 l 199 838 l 199 621 l 439 621 m 445 182 q 561 211 513 182 q 618 311 618 247 q 565 410 618 375 q 444 446 512 446 l 199 446 l 199 182 l 445 182 "},"υ":{"x_min":0,"x_max":656,"ha":767,"o":"m 656 416 q 568 55 656 145 q 326 -25 490 -25 q 59 97 137 -25 q 0 369 0 191 l 0 749 l 200 749 l 200 369 q 216 222 200 268 q 326 142 245 142 q 440 247 411 142 q 456 422 456 304 l 456 749 l 656 749 l 656 416 "},"]":{"x_min":0,"x_max":349,"ha":446,"o":"m 349 -300 l 0 -300 l 0 -154 l 163 -154 l 163 866 l 0 866 l 0 1013 l 349 1013 l 349 -300 "},"m":{"x_min":0,"x_max":1065,"ha":1174,"o":"m 1065 0 l 866 0 l 866 483 q 836 564 866 532 q 759 596 807 596 q 663 555 700 596 q 627 454 627 514 l 627 0 l 433 0 l 433 481 q 403 563 433 531 q 323 596 374 596 q 231 554 265 596 q 197 453 197 513 l 197 0 l 0 0 l 0 748 l 189 748 l 189 665 q 279 745 226 715 q 392 775 333 775 q 509 744 455 775 q 606 659 563 713 q 695 744 640 713 q 814 775 749 775 q 992 702 920 775 q 1065 523 1065 630 l 1065 0 "},"χ":{"x_min":0,"x_max":759.71875,"ha":847,"o":"m 759 -299 l 548 -299 l 379 66 l 215 -299 l 0 -299 l 261 233 l 13 749 l 230 749 l 379 400 l 527 749 l 738 749 l 500 238 l 759 -299 "},"8":{"x_min":57,"x_max":770,"ha":828,"o":"m 625 516 q 733 416 697 477 q 770 284 770 355 q 675 69 770 161 q 415 -29 574 -29 q 145 65 244 -29 q 57 273 57 150 q 93 413 57 350 q 204 516 130 477 q 112 609 142 556 q 83 718 83 662 q 177 905 83 824 q 414 986 272 986 q 650 904 555 986 q 745 715 745 822 q 716 608 745 658 q 625 516 688 558 m 414 590 q 516 624 479 590 q 553 706 553 659 q 516 791 553 755 q 414 828 480 828 q 311 792 348 828 q 275 706 275 757 q 310 624 275 658 q 414 590 345 590 m 413 135 q 527 179 487 135 q 564 279 564 218 q 525 386 564 341 q 411 436 482 436 q 298 387 341 436 q 261 282 261 344 q 300 178 261 222 q 413 135 340 135 "},"ί":{"x_min":42,"x_max":371.171875,"ha":389,"o":"m 242 0 l 42 0 l 42 748 l 242 748 l 242 0 m 371 1039 l 169 823 l 71 823 l 193 1039 l 371 1039 "},"Ζ":{"x_min":0,"x_max":804.171875,"ha":886,"o":"m 804 835 l 251 182 l 793 182 l 793 0 l 0 0 l 0 176 l 551 829 l 11 829 l 11 1012 l 804 1012 l 804 835 "},"R":{"x_min":0,"x_max":836.109375,"ha":947,"o":"m 836 0 l 608 0 q 588 53 596 20 q 581 144 581 86 q 581 179 581 162 q 581 215 581 197 q 553 345 581 306 q 428 393 518 393 l 208 393 l 208 0 l 0 0 l 0 1013 l 491 1013 q 720 944 630 1013 q 819 734 819 869 q 778 584 819 654 q 664 485 738 513 q 757 415 727 463 q 794 231 794 358 l 794 170 q 800 84 794 116 q 836 31 806 51 l 836 0 m 462 838 l 208 838 l 208 572 l 452 572 q 562 604 517 572 q 612 704 612 640 q 568 801 612 765 q 462 838 525 838 "},"o":{"x_min":0,"x_max":764,"ha":871,"o":"m 380 -26 q 105 86 211 -26 q 0 371 0 199 q 104 660 0 545 q 380 775 209 775 q 658 659 552 775 q 764 371 764 544 q 658 86 764 199 q 380 -26 552 -26 m 379 141 q 515 216 466 141 q 557 373 557 280 q 515 530 557 465 q 379 607 466 607 q 245 530 294 607 q 204 373 204 465 q 245 217 204 282 q 379 141 294 141 "},"5":{"x_min":59,"x_max":767,"ha":828,"o":"m 767 319 q 644 59 767 158 q 382 -29 533 -29 q 158 43 247 -29 q 59 264 59 123 l 252 264 q 295 165 252 201 q 400 129 339 129 q 512 172 466 129 q 564 308 564 220 q 514 437 564 387 q 398 488 464 488 q 329 472 361 488 q 271 420 297 456 l 93 428 l 157 958 l 722 958 l 722 790 l 295 790 l 271 593 q 348 635 306 621 q 431 649 389 649 q 663 551 560 649 q 767 319 767 453 "},"7":{"x_min":65.28125,"x_max":762.5,"ha":828,"o":"m 762 808 q 521 435 604 626 q 409 0 438 244 l 205 0 q 313 422 227 234 q 548 789 387 583 l 65 789 l 65 958 l 762 958 l 762 808 "},"K":{"x_min":0,"x_max":900,"ha":996,"o":"m 900 0 l 647 0 l 316 462 l 208 355 l 208 0 l 0 0 l 0 1013 l 208 1013 l 208 595 l 604 1013 l 863 1013 l 461 603 l 900 0 "},",":{"x_min":0,"x_max":206,"ha":303,"o":"m 206 5 q 150 -151 206 -88 q 0 -238 94 -213 l 0 -159 q 84 -100 56 -137 q 111 -2 111 -62 l 0 -2 l 0 205 l 206 205 l 206 5 "},"d":{"x_min":0,"x_max":722,"ha":836,"o":"m 722 0 l 530 0 l 530 101 q 303 -26 449 -26 q 72 103 155 -26 q 0 373 0 214 q 72 642 0 528 q 305 775 156 775 q 433 743 373 775 q 530 656 492 712 l 530 1013 l 722 1013 l 722 0 m 361 600 q 234 523 280 600 q 196 372 196 458 q 233 220 196 286 q 358 143 278 143 q 489 216 442 143 q 530 369 530 280 q 491 522 530 456 q 361 600 443 600 "},"¨":{"x_min":212,"x_max":609,"ha":933,"o":"m 609 1046 l 453 1046 l 453 1216 l 609 1216 l 609 1046 m 369 1046 l 212 1046 l 212 1216 l 369 1216 l 369 1046 "},"E":{"x_min":0,"x_max":761.109375,"ha":824,"o":"m 761 0 l 0 0 l 0 1013 l 734 1013 l 734 837 l 206 837 l 206 621 l 690 621 l 690 446 l 206 446 l 206 186 l 761 186 l 761 0 "},"Y":{"x_min":0,"x_max":836,"ha":931,"o":"m 836 1013 l 532 376 l 532 0 l 322 0 l 322 376 l 0 1013 l 208 1013 l 427 576 l 626 1013 l 836 1013 "},"\"":{"x_min":0,"x_max":357,"ha":454,"o":"m 357 604 l 225 604 l 225 988 l 357 988 l 357 604 m 132 604 l 0 604 l 0 988 l 132 988 l 132 604 "},"‹":{"x_min":35.984375,"x_max":791.671875,"ha":828,"o":"m 791 17 l 36 352 l 35 487 l 791 823 l 791 672 l 229 421 l 791 168 l 791 17 "},"„":{"x_min":0,"x_max":483,"ha":588,"o":"m 206 5 q 150 -151 206 -88 q 0 -238 94 -213 l 0 -159 q 84 -100 56 -137 q 111 -2 111 -62 l 0 -2 l 0 205 l 206 205 l 206 5 m 483 5 q 427 -151 483 -88 q 277 -238 371 -213 l 277 -159 q 361 -100 334 -137 q 388 -2 388 -62 l 277 -2 l 277 205 l 483 205 l 483 5 "},"δ":{"x_min":6,"x_max":732,"ha":835,"o":"m 732 352 q 630 76 732 177 q 354 -25 529 -25 q 101 74 197 -25 q 6 333 6 174 q 89 581 6 480 q 323 690 178 690 q 66 864 201 787 l 66 1013 l 669 1013 l 669 856 l 348 856 q 532 729 461 789 q 673 566 625 651 q 732 352 732 465 m 419 551 q 259 496 321 551 q 198 344 198 441 q 238 208 198 267 q 357 140 283 140 q 484 203 437 140 q 526 344 526 260 q 499 466 526 410 q 419 551 473 521 "},"έ":{"x_min":16.671875,"x_max":652.78125,"ha":742,"o":"m 652 259 q 565 49 652 123 q 340 -25 479 -25 q 102 39 188 -25 q 16 197 16 104 q 45 299 16 250 q 134 390 75 348 q 58 456 86 419 q 25 552 25 502 q 120 717 25 653 q 322 776 208 776 q 537 710 456 776 q 625 508 625 639 l 445 508 q 415 585 445 563 q 327 608 386 608 q 254 590 293 608 q 215 544 215 573 q 252 469 215 490 q 336 453 280 453 q 369 455 347 453 q 400 456 391 456 l 400 308 l 329 308 q 247 291 280 308 q 204 223 204 269 q 255 154 204 172 q 345 143 286 143 q 426 174 398 143 q 454 259 454 206 l 652 259 m 579 1039 l 377 823 l 279 823 l 401 1039 l 579 1039 "},"ω":{"x_min":0,"x_max":945,"ha":1051,"o":"m 565 323 l 565 289 q 577 190 565 221 q 651 142 597 142 q 718 189 694 142 q 742 365 742 237 q 703 565 742 462 q 610 749 671 650 l 814 749 q 910 547 876 650 q 945 337 945 444 q 874 96 945 205 q 668 -29 793 -29 q 551 0 608 -29 q 470 78 495 30 q 390 0 444 28 q 276 -29 337 -29 q 69 96 149 -29 q 0 337 0 204 q 36 553 0 444 q 130 749 68 650 l 334 749 q 241 565 273 650 q 203 365 203 461 q 219 222 203 279 q 292 142 243 142 q 360 183 342 142 q 373 271 373 211 q 372 298 372 285 q 372 323 372 311 l 372 528 l 566 528 l 565 323 "},"´":{"x_min":0,"x_max":132,"ha":299,"o":"m 132 604 l 0 604 l 0 988 l 132 988 l 132 604 "},"±":{"x_min":29,"x_max":798,"ha":828,"o":"m 798 480 l 484 480 l 484 254 l 344 254 l 344 480 l 29 480 l 29 615 l 344 615 l 344 842 l 484 842 l 484 615 l 798 615 l 798 480 m 798 0 l 29 0 l 29 136 l 798 136 l 798 0 "},"|":{"x_min":0,"x_max":143,"ha":240,"o":"m 143 462 l 0 462 l 0 984 l 143 984 l 143 462 m 143 -242 l 0 -242 l 0 280 l 143 280 l 143 -242 "},"ϋ":{"x_min":0,"x_max":656,"ha":767,"o":"m 535 810 l 406 810 l 406 952 l 535 952 l 535 810 m 271 810 l 142 810 l 142 952 l 271 952 l 271 810 m 656 417 q 568 55 656 146 q 326 -25 490 -25 q 59 97 137 -25 q 0 369 0 192 l 0 748 l 200 748 l 200 369 q 216 222 200 268 q 326 142 245 142 q 440 247 411 142 q 456 422 456 304 l 456 748 l 656 748 l 656 417 "},"§":{"x_min":0,"x_max":633,"ha":731,"o":"m 633 469 q 601 356 633 406 q 512 274 569 305 q 570 197 548 242 q 593 105 593 152 q 501 -76 593 -5 q 301 -142 416 -142 q 122 -82 193 -142 q 43 108 43 -15 l 212 108 q 251 27 220 53 q 321 1 283 1 q 389 23 360 1 q 419 83 419 46 q 310 194 419 139 q 108 297 111 295 q 0 476 0 372 q 33 584 0 537 q 120 659 62 626 q 72 720 91 686 q 53 790 53 755 q 133 978 53 908 q 312 1042 207 1042 q 483 984 412 1042 q 574 807 562 921 l 409 807 q 379 875 409 851 q 307 900 349 900 q 244 881 270 900 q 218 829 218 862 q 324 731 218 781 q 524 636 506 647 q 633 469 633 565 m 419 334 q 473 411 473 372 q 451 459 473 436 q 390 502 430 481 l 209 595 q 167 557 182 577 q 153 520 153 537 q 187 461 153 491 q 263 413 212 440 l 419 334 "},"b":{"x_min":0,"x_max":722,"ha":822,"o":"m 416 -26 q 289 6 346 -26 q 192 101 232 39 l 192 0 l 0 0 l 0 1013 l 192 1013 l 192 656 q 286 743 226 712 q 415 775 346 775 q 649 644 564 775 q 722 374 722 533 q 649 106 722 218 q 416 -26 565 -26 m 361 600 q 232 524 279 600 q 192 371 192 459 q 229 221 192 284 q 357 145 275 145 q 487 221 441 145 q 526 374 526 285 q 488 523 526 460 q 361 600 442 600 "},"q":{"x_min":0,"x_max":722,"ha":833,"o":"m 722 -298 l 530 -298 l 530 97 q 306 -25 449 -25 q 73 104 159 -25 q 0 372 0 216 q 72 643 0 529 q 305 775 156 775 q 430 742 371 775 q 530 654 488 709 l 530 750 l 722 750 l 722 -298 m 360 601 q 234 527 278 601 q 197 378 197 466 q 233 225 197 291 q 357 144 277 144 q 488 217 441 144 q 530 370 530 282 q 491 523 530 459 q 360 601 443 601 "},"Ω":{"x_min":-0.03125,"x_max":1008.53125,"ha":1108,"o":"m 1008 0 l 589 0 l 589 199 q 717 368 670 265 q 764 580 764 471 q 698 778 764 706 q 504 855 629 855 q 311 773 380 855 q 243 563 243 691 q 289 360 243 458 q 419 199 336 262 l 419 0 l 0 0 l 0 176 l 202 176 q 77 355 123 251 q 32 569 32 459 q 165 908 32 776 q 505 1040 298 1040 q 844 912 711 1040 q 977 578 977 785 q 931 362 977 467 q 805 176 886 256 l 1008 176 l 1008 0 "},"ύ":{"x_min":0,"x_max":656,"ha":767,"o":"m 656 417 q 568 55 656 146 q 326 -25 490 -25 q 59 97 137 -25 q 0 369 0 192 l 0 748 l 200 748 l 201 369 q 218 222 201 269 q 326 142 245 142 q 440 247 411 142 q 456 422 456 304 l 456 748 l 656 748 l 656 417 m 579 1039 l 378 823 l 279 823 l 401 1039 l 579 1039 "},"z":{"x_min":0,"x_max":663.890625,"ha":753,"o":"m 663 0 l 0 0 l 0 154 l 411 591 l 25 591 l 25 749 l 650 749 l 650 584 l 245 165 l 663 165 l 663 0 "},"™":{"x_min":0,"x_max":951,"ha":1063,"o":"m 405 921 l 255 921 l 255 506 l 149 506 l 149 921 l 0 921 l 0 1013 l 405 1013 l 405 921 m 951 506 l 852 506 l 852 916 l 750 506 l 643 506 l 539 915 l 539 506 l 442 506 l 442 1013 l 595 1012 l 695 625 l 794 1013 l 951 1013 l 951 506 "},"ή":{"x_min":0,"x_max":669,"ha":779,"o":"m 669 -278 l 469 -278 l 469 390 q 448 526 469 473 q 348 606 417 606 q 244 553 288 606 q 201 441 201 501 l 201 0 l 0 0 l 0 749 l 201 749 l 201 665 q 301 744 244 715 q 423 774 359 774 q 606 685 538 774 q 669 484 669 603 l 669 -278 m 495 1039 l 293 823 l 195 823 l 317 1039 l 495 1039 "},"Θ":{"x_min":0,"x_max":993,"ha":1092,"o":"m 497 -29 q 133 127 272 -29 q 0 505 0 277 q 133 883 0 733 q 497 1040 272 1040 q 861 883 722 1040 q 993 505 993 733 q 861 127 993 277 q 497 -29 722 -29 m 497 154 q 711 266 631 154 q 782 506 782 367 q 712 746 782 648 q 497 858 634 858 q 281 746 361 858 q 211 506 211 648 q 280 266 211 365 q 497 154 359 154 m 676 430 l 316 430 l 316 593 l 676 593 l 676 430 "},"®":{"x_min":3,"x_max":1007,"ha":1104,"o":"m 507 -6 q 129 153 269 -6 q 3 506 3 298 q 127 857 3 713 q 502 1017 266 1017 q 880 855 740 1017 q 1007 502 1007 711 q 882 152 1007 295 q 507 -6 743 -6 m 502 934 q 184 800 302 934 q 79 505 79 680 q 184 210 79 331 q 501 76 302 76 q 819 210 701 76 q 925 507 925 331 q 820 800 925 682 q 502 934 704 934 m 782 190 l 639 190 q 627 225 632 202 q 623 285 623 248 l 623 326 q 603 411 623 384 q 527 439 584 439 l 388 439 l 388 190 l 257 190 l 257 829 l 566 829 q 709 787 654 829 q 772 654 772 740 q 746 559 772 604 q 675 497 720 514 q 735 451 714 483 q 756 341 756 419 l 756 299 q 760 244 756 265 q 782 212 764 223 l 782 190 m 546 718 l 388 718 l 388 552 l 541 552 q 612 572 584 552 q 641 635 641 593 q 614 695 641 672 q 546 718 587 718 "},"~":{"x_min":0,"x_max":851,"ha":949,"o":"m 851 968 q 795 750 851 831 q 599 656 730 656 q 406 744 506 656 q 259 832 305 832 q 162 775 193 832 q 139 656 139 730 l 0 656 q 58 871 0 787 q 251 968 124 968 q 442 879 341 968 q 596 791 544 791 q 691 849 663 791 q 712 968 712 892 l 851 968 "},"Ε":{"x_min":0,"x_max":761.546875,"ha":824,"o":"m 761 0 l 0 0 l 0 1012 l 735 1012 l 735 836 l 206 836 l 206 621 l 690 621 l 690 446 l 206 446 l 206 186 l 761 186 l 761 0 "},"³":{"x_min":0,"x_max":467,"ha":564,"o":"m 467 555 q 393 413 467 466 q 229 365 325 365 q 70 413 134 365 q 0 565 0 467 l 123 565 q 163 484 131 512 q 229 461 190 461 q 299 486 269 461 q 329 553 329 512 q 281 627 329 607 q 187 641 248 641 l 187 722 q 268 737 237 722 q 312 804 312 758 q 285 859 312 837 q 224 882 259 882 q 165 858 189 882 q 135 783 140 834 l 12 783 q 86 930 20 878 q 230 976 145 976 q 379 931 314 976 q 444 813 444 887 q 423 744 444 773 q 365 695 402 716 q 439 640 412 676 q 467 555 467 605 "},"[":{"x_min":0,"x_max":347.21875,"ha":444,"o":"m 347 -300 l 0 -300 l 0 1013 l 347 1013 l 347 866 l 188 866 l 188 -154 l 347 -154 l 347 -300 "},"L":{"x_min":0,"x_max":704.171875,"ha":763,"o":"m 704 0 l 0 0 l 0 1013 l 208 1013 l 208 186 l 704 186 l 704 0 "},"σ":{"x_min":0,"x_max":851.3125,"ha":940,"o":"m 851 594 l 712 594 q 761 369 761 485 q 658 83 761 191 q 379 -25 555 -25 q 104 87 208 -25 q 0 372 0 200 q 103 659 0 544 q 378 775 207 775 q 464 762 407 775 q 549 750 521 750 l 851 750 l 851 594 m 379 142 q 515 216 466 142 q 557 373 557 280 q 515 530 557 465 q 379 608 465 608 q 244 530 293 608 q 203 373 203 465 q 244 218 203 283 q 379 142 293 142 "},"ζ":{"x_min":0,"x_max":622,"ha":701,"o":"m 622 -32 q 604 -158 622 -98 q 551 -278 587 -218 l 373 -278 q 426 -180 406 -229 q 446 -80 446 -131 q 421 -22 446 -37 q 354 -8 397 -8 q 316 -9 341 -8 q 280 -11 291 -11 q 75 69 150 -11 q 0 283 0 150 q 87 596 0 437 q 291 856 162 730 l 47 856 l 47 1013 l 592 1013 l 592 904 q 317 660 422 800 q 197 318 197 497 q 306 141 197 169 q 510 123 408 131 q 622 -32 622 102 "},"θ":{"x_min":0,"x_max":714,"ha":817,"o":"m 357 1022 q 633 833 534 1022 q 714 486 714 679 q 634 148 714 288 q 354 -25 536 -25 q 79 147 175 -25 q 0 481 0 288 q 79 831 0 679 q 357 1022 177 1022 m 510 590 q 475 763 510 687 q 351 862 430 862 q 233 763 272 862 q 204 590 204 689 l 510 590 m 510 440 l 204 440 q 233 251 204 337 q 355 131 274 131 q 478 248 434 131 q 510 440 510 337 "},"Ο":{"x_min":0,"x_max":995,"ha":1092,"o":"m 497 -29 q 133 127 272 -29 q 0 505 0 277 q 132 883 0 733 q 497 1040 270 1040 q 861 883 722 1040 q 995 505 995 733 q 862 127 995 277 q 497 -29 724 -29 m 497 154 q 711 266 632 154 q 781 506 781 365 q 711 745 781 647 q 497 857 632 857 q 283 747 361 857 q 213 506 213 647 q 282 266 213 365 q 497 154 361 154 "},"Γ":{"x_min":0,"x_max":703.84375,"ha":742,"o":"m 703 836 l 208 836 l 208 0 l 0 0 l 0 1012 l 703 1012 l 703 836 "}," ":{"x_min":0,"x_max":0,"ha":375},"%":{"x_min":0,"x_max":1111,"ha":1213,"o":"m 861 484 q 1048 404 979 484 q 1111 228 1111 332 q 1048 51 1111 123 q 859 -29 979 -29 q 672 50 740 -29 q 610 227 610 122 q 672 403 610 331 q 861 484 741 484 m 861 120 q 939 151 911 120 q 967 226 967 183 q 942 299 967 270 q 861 333 912 333 q 783 301 811 333 q 756 226 756 269 q 783 151 756 182 q 861 120 810 120 m 904 984 l 316 -28 l 205 -29 l 793 983 l 904 984 m 250 984 q 436 904 366 984 q 499 730 499 832 q 436 552 499 626 q 248 472 366 472 q 62 552 132 472 q 0 728 0 624 q 62 903 0 831 q 250 984 132 984 m 249 835 q 169 801 198 835 q 140 725 140 768 q 167 652 140 683 q 247 621 195 621 q 327 654 298 621 q 357 730 357 687 q 329 803 357 772 q 249 835 301 835 "},"P":{"x_min":0,"x_max":771,"ha":838,"o":"m 208 361 l 208 0 l 0 0 l 0 1013 l 450 1013 q 682 919 593 1013 q 771 682 771 826 q 687 452 771 544 q 466 361 604 361 l 208 361 m 421 837 l 208 837 l 208 544 l 410 544 q 525 579 480 544 q 571 683 571 615 q 527 792 571 747 q 421 837 484 837 "},"Έ":{"x_min":0,"x_max":1172.546875,"ha":1235,"o":"m 1172 0 l 411 0 l 411 1012 l 1146 1012 l 1146 836 l 617 836 l 617 621 l 1101 621 l 1101 446 l 617 446 l 617 186 l 1172 186 l 1172 0 m 313 1035 l 98 780 l 0 780 l 136 1035 l 313 1035 "},"Ώ":{"x_min":0.4375,"x_max":1189.546875,"ha":1289,"o":"m 1189 0 l 770 0 l 770 199 q 897 369 849 263 q 945 580 945 474 q 879 778 945 706 q 685 855 810 855 q 492 773 561 855 q 424 563 424 691 q 470 360 424 458 q 600 199 517 262 l 600 0 l 180 0 l 180 176 l 383 176 q 258 355 304 251 q 213 569 213 459 q 346 908 213 776 q 686 1040 479 1040 q 1025 912 892 1040 q 1158 578 1158 785 q 1112 362 1158 467 q 986 176 1067 256 l 1189 176 l 1189 0 m 314 1092 l 99 837 l 0 837 l 136 1092 l 314 1092 "},"_":{"x_min":61.109375,"x_max":766.671875,"ha":828,"o":"m 766 -333 l 61 -333 l 61 -190 l 766 -190 l 766 -333 "},"Ϊ":{"x_min":-56,"x_max":342,"ha":503,"o":"m 342 1046 l 186 1046 l 186 1215 l 342 1215 l 342 1046 m 101 1046 l -56 1046 l -56 1215 l 101 1215 l 101 1046 m 249 0 l 41 0 l 41 1012 l 249 1012 l 249 0 "},"+":{"x_min":43,"x_max":784,"ha":828,"o":"m 784 353 l 483 353 l 483 0 l 343 0 l 343 353 l 43 353 l 43 489 l 343 489 l 343 840 l 483 840 l 483 489 l 784 489 l 784 353 "},"½":{"x_min":0,"x_max":1090,"ha":1188,"o":"m 1090 380 q 992 230 1090 301 q 779 101 886 165 q 822 94 784 95 q 924 93 859 93 l 951 93 l 973 93 l 992 93 l 1009 93 q 1046 93 1027 93 q 1085 93 1066 93 l 1085 0 l 650 0 l 654 38 q 815 233 665 137 q 965 376 965 330 q 936 436 965 412 q 869 461 908 461 q 806 435 831 461 q 774 354 780 409 l 659 354 q 724 505 659 451 q 870 554 783 554 q 1024 506 958 554 q 1090 380 1090 459 m 868 998 l 268 -28 l 154 -27 l 757 999 l 868 998 m 272 422 l 147 422 l 147 799 l 0 799 l 0 875 q 126 900 91 875 q 170 973 162 926 l 272 973 l 272 422 "},"Ρ":{"x_min":0,"x_max":771,"ha":838,"o":"m 208 361 l 208 0 l 0 0 l 0 1012 l 450 1012 q 682 919 593 1012 q 771 681 771 826 q 687 452 771 544 q 466 361 604 361 l 208 361 m 422 836 l 209 836 l 209 544 l 410 544 q 525 579 480 544 q 571 683 571 614 q 527 791 571 747 q 422 836 484 836 "},"'":{"x_min":0,"x_max":192,"ha":289,"o":"m 192 834 q 137 692 192 751 q 0 626 82 632 l 0 697 q 101 830 101 726 l 0 830 l 0 1013 l 192 1013 l 192 834 "},"ª":{"x_min":0,"x_max":350,"ha":393,"o":"m 350 625 l 245 625 q 237 648 241 636 q 233 672 233 661 q 117 611 192 611 q 33 643 66 611 q 0 727 0 675 q 116 846 0 828 q 233 886 233 864 q 211 919 233 907 q 168 931 190 931 q 108 877 108 931 l 14 877 q 56 977 14 942 q 165 1013 98 1013 q 270 987 224 1013 q 329 903 329 955 l 329 694 q 332 661 329 675 q 350 641 336 648 l 350 625 m 233 774 l 233 809 q 151 786 180 796 q 97 733 97 768 q 111 700 97 712 q 149 689 126 689 q 210 713 187 689 q 233 774 233 737 "},"΅":{"x_min":57,"x_max":584,"ha":753,"o":"m 584 810 l 455 810 l 455 952 l 584 952 l 584 810 m 521 1064 l 305 810 l 207 810 l 343 1064 l 521 1064 m 186 810 l 57 810 l 57 952 l 186 952 l 186 810 "},"T":{"x_min":0,"x_max":809,"ha":894,"o":"m 809 831 l 509 831 l 509 0 l 299 0 l 299 831 l 0 831 l 0 1013 l 809 1013 l 809 831 "},"Φ":{"x_min":0,"x_max":949,"ha":1032,"o":"m 566 0 l 385 0 l 385 121 q 111 230 222 121 q 0 508 0 340 q 112 775 0 669 q 385 892 219 875 l 385 1013 l 566 1013 l 566 892 q 836 776 732 875 q 949 507 949 671 q 838 231 949 341 q 566 121 728 121 l 566 0 m 566 285 q 701 352 650 285 q 753 508 753 419 q 703 658 753 597 q 566 729 653 720 l 566 285 m 385 285 l 385 729 q 245 661 297 717 q 193 516 193 604 q 246 356 193 427 q 385 285 300 285 "},"j":{"x_min":-45.828125,"x_max":242,"ha":361,"o":"m 242 830 l 42 830 l 42 1013 l 242 1013 l 242 830 m 242 -119 q 180 -267 242 -221 q 20 -308 127 -308 l -45 -308 l -45 -140 l -24 -140 q 25 -130 8 -140 q 42 -88 42 -120 l 42 748 l 242 748 l 242 -119 "},"Σ":{"x_min":0,"x_max":772.21875,"ha":849,"o":"m 772 0 l 0 0 l 0 140 l 368 526 l 18 862 l 18 1012 l 740 1012 l 740 836 l 315 836 l 619 523 l 298 175 l 772 175 l 772 0 "},"1":{"x_min":197.609375,"x_max":628,"ha":828,"o":"m 628 0 l 434 0 l 434 674 l 197 674 l 197 810 q 373 837 318 810 q 468 984 450 876 l 628 984 l 628 0 "},"›":{"x_min":36.109375,"x_max":792,"ha":828,"o":"m 792 352 l 36 17 l 36 168 l 594 420 l 36 672 l 36 823 l 792 487 l 792 352 "},"<":{"x_min":35.984375,"x_max":791.671875,"ha":828,"o":"m 791 17 l 36 352 l 35 487 l 791 823 l 791 672 l 229 421 l 791 168 l 791 17 "},"£":{"x_min":0,"x_max":716.546875,"ha":814,"o":"m 716 38 q 603 -9 658 5 q 502 -24 548 -24 q 398 -10 451 -24 q 239 25 266 25 q 161 12 200 25 q 77 -29 122 0 l 0 113 q 110 211 81 174 q 151 315 151 259 q 117 440 151 365 l 0 440 l 0 515 l 73 515 q 35 610 52 560 q 15 710 15 671 q 119 910 15 831 q 349 984 216 984 q 570 910 480 984 q 693 668 674 826 l 501 668 q 455 791 501 746 q 353 830 414 830 q 256 795 298 830 q 215 705 215 760 q 249 583 215 655 q 283 515 266 548 l 479 515 l 479 440 l 309 440 q 316 394 313 413 q 319 355 319 374 q 287 241 319 291 q 188 135 263 205 q 262 160 225 152 q 332 168 298 168 q 455 151 368 168 q 523 143 500 143 q 588 152 558 143 q 654 189 617 162 l 716 38 "},"t":{"x_min":0,"x_max":412,"ha":511,"o":"m 412 -6 q 349 -8 391 -6 q 287 -11 307 -11 q 137 38 177 -11 q 97 203 97 87 l 97 609 l 0 609 l 0 749 l 97 749 l 97 951 l 297 951 l 297 749 l 412 749 l 412 609 l 297 609 l 297 191 q 315 152 297 162 q 366 143 334 143 q 389 143 378 143 q 412 143 400 143 l 412 -6 "},"¬":{"x_min":0,"x_max":704,"ha":801,"o":"m 704 93 l 551 93 l 551 297 l 0 297 l 0 450 l 704 450 l 704 93 "},"λ":{"x_min":0,"x_max":701.390625,"ha":775,"o":"m 701 0 l 491 0 l 345 444 l 195 0 l 0 0 l 238 697 l 131 1013 l 334 1013 l 701 0 "},"W":{"x_min":0,"x_max":1291.671875,"ha":1399,"o":"m 1291 1013 l 1002 0 l 802 0 l 645 777 l 490 0 l 288 0 l 0 1013 l 215 1013 l 388 298 l 534 1012 l 757 1013 l 904 299 l 1076 1013 l 1291 1013 "},">":{"x_min":36.109375,"x_max":792,"ha":828,"o":"m 792 352 l 36 17 l 36 168 l 594 420 l 36 672 l 36 823 l 792 487 l 792 352 "},"v":{"x_min":0,"x_max":740.28125,"ha":828,"o":"m 740 749 l 473 0 l 266 0 l 0 749 l 222 749 l 373 211 l 529 749 l 740 749 "},"τ":{"x_min":0.28125,"x_max":618.734375,"ha":699,"o":"m 618 593 l 409 593 l 409 0 l 210 0 l 210 593 l 0 593 l 0 749 l 618 749 l 618 593 "},"ξ":{"x_min":0,"x_max":640,"ha":715,"o":"m 640 -14 q 619 -157 640 -84 q 563 -299 599 -230 l 399 -299 q 442 -194 433 -223 q 468 -85 468 -126 q 440 -25 468 -41 q 368 -10 412 -10 q 333 -11 355 -10 q 302 -13 311 -13 q 91 60 179 -13 q 0 259 0 138 q 56 426 0 354 q 201 530 109 493 q 106 594 144 553 q 65 699 65 642 q 94 787 65 747 q 169 856 123 828 l 22 856 l 22 1013 l 597 1013 l 597 856 l 497 857 q 345 840 398 857 q 257 736 257 812 q 366 614 257 642 q 552 602 416 602 l 552 446 l 513 446 q 313 425 379 446 q 199 284 199 389 q 312 162 199 184 q 524 136 418 148 q 640 -14 640 105 "},"&":{"x_min":-1,"x_max":910.109375,"ha":1007,"o":"m 910 -1 l 676 -1 l 607 83 q 291 -47 439 -47 q 50 100 135 -47 q -1 273 -1 190 q 51 431 -1 357 q 218 568 104 505 q 151 661 169 629 q 120 769 120 717 q 201 951 120 885 q 382 1013 276 1013 q 555 957 485 1013 q 635 789 635 894 q 584 644 635 709 q 468 539 548 597 l 615 359 q 664 527 654 440 l 844 527 q 725 223 824 359 l 910 -1 m 461 787 q 436 848 461 826 q 381 870 412 870 q 325 849 349 870 q 301 792 301 829 q 324 719 301 757 q 372 660 335 703 q 430 714 405 680 q 461 787 461 753 m 500 214 l 318 441 q 198 286 198 363 q 225 204 198 248 q 347 135 268 135 q 425 153 388 135 q 500 214 462 172 "},"Λ":{"x_min":0,"x_max":894.453125,"ha":974,"o":"m 894 0 l 666 0 l 447 757 l 225 0 l 0 0 l 344 1013 l 547 1013 l 894 0 "},"I":{"x_min":41,"x_max":249,"ha":365,"o":"m 249 0 l 41 0 l 41 1013 l 249 1013 l 249 0 "},"G":{"x_min":0,"x_max":971,"ha":1057,"o":"m 971 -1 l 829 -1 l 805 118 q 479 -29 670 -29 q 126 133 261 -29 q 0 509 0 286 q 130 884 0 737 q 493 1040 268 1040 q 790 948 659 1040 q 961 698 920 857 l 736 698 q 643 813 709 769 q 500 857 578 857 q 285 746 364 857 q 213 504 213 644 q 285 263 213 361 q 505 154 365 154 q 667 217 598 154 q 761 374 736 280 l 548 374 l 548 548 l 971 548 l 971 -1 "},"ΰ":{"x_min":0,"x_max":655,"ha":767,"o":"m 583 810 l 454 810 l 454 952 l 583 952 l 583 810 m 186 810 l 57 809 l 57 952 l 186 952 l 186 810 m 516 1039 l 315 823 l 216 823 l 338 1039 l 516 1039 m 655 417 q 567 55 655 146 q 326 -25 489 -25 q 59 97 137 -25 q 0 369 0 192 l 0 748 l 200 748 l 201 369 q 218 222 201 269 q 326 142 245 142 q 439 247 410 142 q 455 422 455 304 l 455 748 l 655 748 l 655 417 "},"`":{"x_min":0,"x_max":190,"ha":288,"o":"m 190 654 l 0 654 l 0 830 q 55 970 0 909 q 190 1040 110 1031 l 190 969 q 111 922 134 952 q 88 836 88 892 l 190 836 l 190 654 "},"·":{"x_min":0,"x_max":207,"ha":304,"o":"m 207 528 l 0 528 l 0 735 l 207 735 l 207 528 "},"Υ":{"x_min":-0.21875,"x_max":836.171875,"ha":914,"o":"m 836 1013 l 532 376 l 532 0 l 322 0 l 322 376 l 0 1013 l 208 1013 l 427 576 l 626 1013 l 836 1013 "},"r":{"x_min":0,"x_max":431.9375,"ha":513,"o":"m 431 564 q 269 536 320 564 q 200 395 200 498 l 200 0 l 0 0 l 0 748 l 183 748 l 183 618 q 285 731 224 694 q 431 768 345 768 l 431 564 "},"x":{"x_min":0,"x_max":738.890625,"ha":826,"o":"m 738 0 l 504 0 l 366 238 l 230 0 l 0 0 l 252 382 l 11 749 l 238 749 l 372 522 l 502 749 l 725 749 l 488 384 l 738 0 "},"μ":{"x_min":0,"x_max":647,"ha":754,"o":"m 647 0 l 477 0 l 477 68 q 411 9 448 30 q 330 -11 374 -11 q 261 3 295 -11 q 199 43 226 18 l 199 -278 l 0 -278 l 0 749 l 199 749 l 199 358 q 216 222 199 268 q 322 152 244 152 q 435 240 410 152 q 448 401 448 283 l 448 749 l 647 749 l 647 0 "},"h":{"x_min":0,"x_max":669,"ha":782,"o":"m 669 0 l 469 0 l 469 390 q 449 526 469 472 q 353 607 420 607 q 248 554 295 607 q 201 441 201 501 l 201 0 l 0 0 l 0 1013 l 201 1013 l 201 665 q 303 743 245 715 q 425 772 362 772 q 609 684 542 772 q 669 484 669 605 l 669 0 "},".":{"x_min":0,"x_max":206,"ha":303,"o":"m 206 0 l 0 0 l 0 207 l 206 207 l 206 0 "},"φ":{"x_min":-1,"x_max":921,"ha":990,"o":"m 542 -278 l 367 -278 l 367 -22 q 99 92 200 -22 q -1 376 -1 206 q 72 627 -1 520 q 288 769 151 742 l 288 581 q 222 495 243 550 q 202 378 202 439 q 240 228 202 291 q 367 145 285 157 l 367 776 l 515 776 q 807 667 694 776 q 921 379 921 558 q 815 93 921 209 q 542 -22 709 -22 l 542 -278 m 542 145 q 672 225 625 145 q 713 381 713 291 q 671 536 713 470 q 542 611 624 611 l 542 145 "},";":{"x_min":0,"x_max":208,"ha":306,"o":"m 208 528 l 0 528 l 0 735 l 208 735 l 208 528 m 208 6 q 152 -151 208 -89 q 0 -238 96 -212 l 0 -158 q 87 -100 61 -136 q 113 0 113 -65 l 0 0 l 0 207 l 208 207 l 208 6 "},"f":{"x_min":0,"x_max":424,"ha":525,"o":"m 424 609 l 300 609 l 300 0 l 107 0 l 107 609 l 0 609 l 0 749 l 107 749 q 145 949 107 894 q 328 1019 193 1019 l 424 1015 l 424 855 l 362 855 q 312 841 324 855 q 300 797 300 827 q 300 773 300 786 q 300 749 300 761 l 424 749 l 424 609 "},"“":{"x_min":0,"x_max":468,"ha":567,"o":"m 190 631 l 0 631 l 0 807 q 55 947 0 885 q 190 1017 110 1010 l 190 947 q 88 813 88 921 l 190 813 l 190 631 m 468 631 l 278 631 l 278 807 q 333 947 278 885 q 468 1017 388 1010 l 468 947 q 366 813 366 921 l 468 813 l 468 631 "},"A":{"x_min":0,"x_max":966.671875,"ha":1069,"o":"m 966 0 l 747 0 l 679 208 l 286 208 l 218 0 l 0 0 l 361 1013 l 600 1013 l 966 0 m 623 376 l 480 810 l 340 376 l 623 376 "},"6":{"x_min":57,"x_max":771,"ha":828,"o":"m 744 734 l 544 734 q 500 802 533 776 q 425 828 466 828 q 315 769 359 828 q 264 571 264 701 q 451 638 343 638 q 691 537 602 638 q 771 315 771 449 q 683 79 771 176 q 420 -29 586 -29 q 134 123 227 -29 q 57 455 57 250 q 184 865 57 721 q 452 988 293 988 q 657 916 570 988 q 744 734 744 845 m 426 128 q 538 178 498 128 q 578 300 578 229 q 538 422 578 372 q 415 479 493 479 q 303 430 342 479 q 264 313 264 381 q 308 184 264 240 q 426 128 352 128 "},"‘":{"x_min":0,"x_max":190,"ha":289,"o":"m 190 631 l 0 631 l 0 807 q 55 947 0 885 q 190 1017 110 1010 l 190 947 q 88 813 88 921 l 190 813 l 190 631 "},"ϊ":{"x_min":-55,"x_max":337,"ha":389,"o":"m 337 810 l 208 810 l 208 952 l 337 952 l 337 810 m 74 810 l -55 810 l -55 952 l 74 952 l 74 810 m 242 0 l 42 0 l 42 748 l 242 748 l 242 0 "},"π":{"x_min":0.5,"x_max":838.890625,"ha":938,"o":"m 838 593 l 750 593 l 750 0 l 549 0 l 549 593 l 287 593 l 287 0 l 88 0 l 88 593 l 0 593 l 0 749 l 838 749 l 838 593 "},"ά":{"x_min":-1,"x_max":722,"ha":835,"o":"m 722 0 l 531 0 l 530 101 q 433 8 491 41 q 304 -25 375 -25 q 72 104 157 -25 q -1 372 -1 216 q 72 643 -1 530 q 308 775 158 775 q 433 744 375 775 q 528 656 491 713 l 528 749 l 722 749 l 722 0 m 361 601 q 233 527 277 601 q 196 375 196 464 q 232 224 196 288 q 358 144 277 144 q 487 217 441 144 q 528 370 528 281 q 489 523 528 457 q 361 601 443 601 m 579 1039 l 377 823 l 279 823 l 401 1039 l 579 1039 "},"O":{"x_min":0,"x_max":994,"ha":1094,"o":"m 497 -29 q 133 127 272 -29 q 0 505 0 277 q 131 883 0 733 q 497 1040 270 1040 q 860 883 721 1040 q 994 505 994 733 q 862 127 994 277 q 497 -29 723 -29 m 497 154 q 710 266 631 154 q 780 506 780 365 q 710 745 780 647 q 497 857 631 857 q 283 747 361 857 q 213 506 213 647 q 282 266 213 365 q 497 154 361 154 "},"n":{"x_min":0,"x_max":669,"ha":782,"o":"m 669 0 l 469 0 l 469 452 q 442 553 469 513 q 352 601 412 601 q 245 553 290 601 q 200 441 200 505 l 200 0 l 0 0 l 0 748 l 194 748 l 194 659 q 289 744 230 713 q 416 775 349 775 q 600 700 531 775 q 669 509 669 626 l 669 0 "},"3":{"x_min":61,"x_max":767,"ha":828,"o":"m 767 290 q 653 51 767 143 q 402 -32 548 -32 q 168 48 262 -32 q 61 300 61 140 l 250 300 q 298 173 250 219 q 405 132 343 132 q 514 169 471 132 q 563 282 563 211 q 491 405 563 369 q 343 432 439 432 l 343 568 q 472 592 425 568 q 534 701 534 626 q 493 793 534 758 q 398 829 453 829 q 306 789 344 829 q 268 669 268 749 l 80 669 q 182 909 80 823 q 410 986 274 986 q 633 916 540 986 q 735 719 735 840 q 703 608 735 656 q 615 522 672 561 q 727 427 687 486 q 767 290 767 369 "},"9":{"x_min":58,"x_max":769,"ha":828,"o":"m 769 492 q 646 90 769 232 q 384 -33 539 -33 q 187 35 271 -33 q 83 224 98 107 l 282 224 q 323 154 286 182 q 404 127 359 127 q 513 182 471 127 q 563 384 563 248 q 475 335 532 355 q 372 315 418 315 q 137 416 224 315 q 58 642 58 507 q 144 877 58 781 q 407 984 239 984 q 694 827 602 984 q 769 492 769 699 m 416 476 q 525 521 488 476 q 563 632 563 566 q 521 764 563 709 q 403 826 474 826 q 297 773 337 826 q 258 649 258 720 q 295 530 258 577 q 416 476 339 476 "},"l":{"x_min":41,"x_max":240,"ha":363,"o":"m 240 0 l 41 0 l 41 1013 l 240 1013 l 240 0 "},"¤":{"x_min":40.265625,"x_max":727.203125,"ha":825,"o":"m 727 792 l 594 659 q 620 552 620 609 q 598 459 620 504 l 725 331 l 620 224 l 491 352 q 382 331 443 331 q 273 352 322 331 l 144 224 l 40 330 l 167 459 q 147 552 147 501 q 172 658 147 608 l 40 794 l 147 898 l 283 759 q 383 776 330 776 q 482 759 434 776 l 620 898 l 727 792 m 383 644 q 308 617 334 644 q 283 551 283 590 q 309 489 283 517 q 381 462 335 462 q 456 488 430 462 q 482 554 482 515 q 455 616 482 588 q 383 644 429 644 "},"κ":{"x_min":0,"x_max":691.84375,"ha":779,"o":"m 691 0 l 479 0 l 284 343 l 196 252 l 196 0 l 0 0 l 0 749 l 196 749 l 196 490 l 440 749 l 677 749 l 416 479 l 691 0 "},"4":{"x_min":53,"x_max":775.21875,"ha":828,"o":"m 775 213 l 660 213 l 660 0 l 470 0 l 470 213 l 53 213 l 53 384 l 416 958 l 660 958 l 660 370 l 775 370 l 775 213 m 474 364 l 474 786 l 204 363 l 474 364 "},"p":{"x_min":0,"x_max":722,"ha":824,"o":"m 415 -26 q 287 4 346 -26 q 192 92 228 34 l 192 -298 l 0 -298 l 0 750 l 192 750 l 192 647 q 289 740 230 706 q 416 775 347 775 q 649 645 566 775 q 722 375 722 534 q 649 106 722 218 q 415 -26 564 -26 m 363 603 q 232 529 278 603 q 192 375 192 465 q 230 222 192 286 q 360 146 276 146 q 487 221 441 146 q 526 371 526 285 q 488 523 526 458 q 363 603 443 603 "},"‡":{"x_min":0,"x_max":809,"ha":894,"o":"m 299 621 l 0 621 l 0 804 l 299 804 l 299 1011 l 509 1011 l 509 804 l 809 804 l 809 621 l 509 621 l 509 387 l 809 387 l 809 205 l 509 205 l 509 0 l 299 0 l 299 205 l 0 205 l 0 387 l 299 387 l 299 621 "},"ψ":{"x_min":0,"x_max":875,"ha":979,"o":"m 522 142 q 657 274 620 163 q 671 352 671 316 l 671 748 l 875 748 l 875 402 q 806 134 875 240 q 525 -22 719 -1 l 525 -278 l 349 -278 l 349 -22 q 65 135 152 -1 q 0 402 0 238 l 0 748 l 204 748 l 204 352 q 231 240 204 295 q 353 142 272 159 l 353 922 l 524 922 l 522 142 "},"η":{"x_min":0,"x_max":669,"ha":779,"o":"m 669 -278 l 469 -278 l 469 390 q 448 526 469 473 q 348 606 417 606 q 244 553 288 606 q 201 441 201 501 l 201 0 l 0 0 l 0 749 l 201 749 l 201 665 q 301 744 244 715 q 423 774 359 774 q 606 685 538 774 q 669 484 669 603 l 669 -278 "}},"cssFontWeight":"bold","ascender":1216,"underlinePosition":-100,"cssFontStyle":"normal","boundingBox":{"yMin":-333,"xMin":-162,"yMax":1216,"xMax":1681},"resolution":1000,"original_font_information":{"postscript_name":"Helvetiker-Bold","version_string":"Version 1.00 2004 initial release","vendor_url":"http://www.magenta.gr","full_font_name":"Helvetiker Bold","font_family_name":"Helvetiker","copyright":"Copyright (c) Magenta ltd, 2004.","description":"","trademark":"","designer":"","designer_url":"","unique_font_identifier":"Magenta ltd:Helvetiker Bold:22-10-104","license_url":"http://www.ellak.gr/fonts/MgOpen/license.html","license_description":"Copyright (c) 2004 by MAGENTA Ltd. All Rights Reserved.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license (\"Fonts\") and associated documentation files (the \"Font Software\"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: \r\n\r\nThe above copyright and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r\n\r\nThe Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing the word \"MgOpen\", or if the modifications are accepted for inclusion in the Font Software itself by the each appointed Administrator.\r\n\r\nThis License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the \"MgOpen\" name.\r\n\r\nThe Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. \r\n\r\nTHE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL MAGENTA OR PERSONS OR BODIES IN CHARGE OF ADMINISTRATION AND MAINTENANCE OF THE FONT SOFTWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.","manufacturer_name":"Magenta ltd","font_sub_family_name":"Bold"},"descender":-334,"familyName":"Helvetiker","lineHeight":1549,"underlineThickness":50} \ No newline at end of file diff --git a/src/assets/images/rail-star/254a41dc4cbc8b5e0afaacf2eeb38890_8919910114589865353.png b/src/assets/images/rail-star/254a41dc4cbc8b5e0afaacf2eeb38890_8919910114589865353.png new file mode 100644 index 0000000..14e4c81 Binary files /dev/null and b/src/assets/images/rail-star/254a41dc4cbc8b5e0afaacf2eeb38890_8919910114589865353.png differ diff --git a/src/assets/images/rail-star/69806d86868878c33ca22aa6dcc2571a_2237174096575525551.png b/src/assets/images/rail-star/69806d86868878c33ca22aa6dcc2571a_2237174096575525551.png new file mode 100644 index 0000000..f9f8883 Binary files /dev/null and b/src/assets/images/rail-star/69806d86868878c33ca22aa6dcc2571a_2237174096575525551.png differ diff --git a/src/assets/images/rail-star/912bad8c0723b85a6a53f9b19323d3cd_7157411529622049660.png b/src/assets/images/rail-star/912bad8c0723b85a6a53f9b19323d3cd_7157411529622049660.png new file mode 100644 index 0000000..c6eb3b0 Binary files /dev/null and b/src/assets/images/rail-star/912bad8c0723b85a6a53f9b19323d3cd_7157411529622049660.png differ diff --git a/src/assets/images/rail-star/951b5cf2295ea158a29c80911e3eb55d_6539106821760568826.png b/src/assets/images/rail-star/951b5cf2295ea158a29c80911e3eb55d_6539106821760568826.png new file mode 100644 index 0000000..e35e3e5 Binary files /dev/null and b/src/assets/images/rail-star/951b5cf2295ea158a29c80911e3eb55d_6539106821760568826.png differ diff --git a/src/assets/images/rail-star/b07fac008e99cae7387af773f4d4c039_1530443783740284969.png b/src/assets/images/rail-star/b07fac008e99cae7387af773f4d4c039_1530443783740284969.png new file mode 100644 index 0000000..d51acf5 Binary files /dev/null and b/src/assets/images/rail-star/b07fac008e99cae7387af773f4d4c039_1530443783740284969.png differ diff --git a/src/assets/images/rail-star/b1533de93c0ac43e2139bd93ec47419c_5547524982557108866.png b/src/assets/images/rail-star/b1533de93c0ac43e2139bd93ec47419c_5547524982557108866.png new file mode 100644 index 0000000..eb6882d Binary files /dev/null and b/src/assets/images/rail-star/b1533de93c0ac43e2139bd93ec47419c_5547524982557108866.png differ diff --git a/src/assets/images/rail-star/efaa1ab4d1d567a478bdabda76121719_1637318133581363152.png b/src/assets/images/rail-star/efaa1ab4d1d567a478bdabda76121719_1637318133581363152.png new file mode 100644 index 0000000..b0b4452 Binary files /dev/null and b/src/assets/images/rail-star/efaa1ab4d1d567a478bdabda76121719_1637318133581363152.png differ diff --git a/src/assets/images/rail-star/trailblazer-female.png b/src/assets/images/rail-star/trailblazer-female.png new file mode 100644 index 0000000..de09193 Binary files /dev/null and b/src/assets/images/rail-star/trailblazer-female.png differ diff --git a/src/assets/images/rail-star/trailblazer-male.png b/src/assets/images/rail-star/trailblazer-male.png new file mode 100644 index 0000000..67eb443 Binary files /dev/null and b/src/assets/images/rail-star/trailblazer-male.png differ diff --git a/src/assets/images/textures/1.png b/src/assets/images/textures/1.png new file mode 100644 index 0000000..d71e9a9 Binary files /dev/null and b/src/assets/images/textures/1.png differ diff --git a/src/assets/images/textures/2.png b/src/assets/images/textures/2.png new file mode 100644 index 0000000..4c7d4c2 Binary files /dev/null and b/src/assets/images/textures/2.png differ diff --git a/src/assets/images/textures/3.png b/src/assets/images/textures/3.png new file mode 100644 index 0000000..fc397bb Binary files /dev/null and b/src/assets/images/textures/3.png differ diff --git a/src/assets/images/textures/4.png b/src/assets/images/textures/4.png new file mode 100644 index 0000000..eea5a30 Binary files /dev/null and b/src/assets/images/textures/4.png differ diff --git a/src/assets/images/textures/5.png b/src/assets/images/textures/5.png new file mode 100644 index 0000000..0b2f0ae Binary files /dev/null and b/src/assets/images/textures/5.png differ diff --git a/src/assets/images/textures/6.png b/src/assets/images/textures/6.png new file mode 100644 index 0000000..21af7cf Binary files /dev/null and b/src/assets/images/textures/6.png differ diff --git a/src/assets/images/textures/grid.png b/src/assets/images/textures/grid.png new file mode 100644 index 0000000..a0a4e78 Binary files /dev/null and b/src/assets/images/textures/grid.png differ diff --git a/src/assets/images/textures/ie-tomb.jpg b/src/assets/images/textures/ie-tomb.jpg new file mode 100644 index 0000000..9308402 Binary files /dev/null and b/src/assets/images/textures/ie-tomb.jpg differ diff --git a/src/assets/images/textures/particles/1.png b/src/assets/images/textures/particles/1.png new file mode 100644 index 0000000..a482c26 Binary files /dev/null and b/src/assets/images/textures/particles/1.png differ diff --git a/src/assets/images/textures/particles/2.png b/src/assets/images/textures/particles/2.png new file mode 100644 index 0000000..8dc4d22 Binary files /dev/null and b/src/assets/images/textures/particles/2.png differ diff --git a/src/assets/images/textures/particles/3.png b/src/assets/images/textures/particles/3.png new file mode 100644 index 0000000..df5dc3a Binary files /dev/null and b/src/assets/images/textures/particles/3.png differ diff --git a/src/assets/images/textures/particles/4.png b/src/assets/images/textures/particles/4.png new file mode 100644 index 0000000..735948f Binary files /dev/null and b/src/assets/images/textures/particles/4.png differ diff --git a/src/assets/images/textures/particles/5.png b/src/assets/images/textures/particles/5.png new file mode 100644 index 0000000..678216b Binary files /dev/null and b/src/assets/images/textures/particles/5.png differ diff --git a/src/assets/images/textures/particles/6.png b/src/assets/images/textures/particles/6.png new file mode 100644 index 0000000..a979d60 Binary files /dev/null and b/src/assets/images/textures/particles/6.png differ diff --git a/src/assets/images/textures/particles/7.png b/src/assets/images/textures/particles/7.png new file mode 100644 index 0000000..203ec61 Binary files /dev/null and b/src/assets/images/textures/particles/7.png differ diff --git a/src/assets/images/textures/particles/8.png b/src/assets/images/textures/particles/8.png new file mode 100644 index 0000000..a49dea7 Binary files /dev/null and b/src/assets/images/textures/particles/8.png differ diff --git a/src/assets/images/textures/sprites/ball.png b/src/assets/images/textures/sprites/ball.png new file mode 100644 index 0000000..cfc4313 Binary files /dev/null and b/src/assets/images/textures/sprites/ball.png differ diff --git a/src/assets/images/textures/sprites/circle.png b/src/assets/images/textures/sprites/circle.png new file mode 100644 index 0000000..89c7d9a Binary files /dev/null and b/src/assets/images/textures/sprites/circle.png differ diff --git a/src/assets/images/textures/sprites/disc.png b/src/assets/images/textures/sprites/disc.png new file mode 100644 index 0000000..92572c6 Binary files /dev/null and b/src/assets/images/textures/sprites/disc.png differ diff --git a/src/assets/images/textures/sprites/firetorch_1.jpg b/src/assets/images/textures/sprites/firetorch_1.jpg new file mode 100644 index 0000000..a4189c8 Binary files /dev/null and b/src/assets/images/textures/sprites/firetorch_1.jpg differ diff --git a/src/assets/images/textures/sprites/snowflake1.png b/src/assets/images/textures/sprites/snowflake1.png new file mode 100644 index 0000000..e5750f7 Binary files /dev/null and b/src/assets/images/textures/sprites/snowflake1.png differ diff --git a/src/assets/images/textures/sprites/snowflake2.png b/src/assets/images/textures/sprites/snowflake2.png new file mode 100644 index 0000000..000f93e Binary files /dev/null and b/src/assets/images/textures/sprites/snowflake2.png differ diff --git a/src/assets/images/textures/sprites/snowflake3.png b/src/assets/images/textures/sprites/snowflake3.png new file mode 100644 index 0000000..363af5d Binary files /dev/null and b/src/assets/images/textures/sprites/snowflake3.png differ diff --git a/src/assets/images/textures/sprites/snowflake4.png b/src/assets/images/textures/sprites/snowflake4.png new file mode 100644 index 0000000..03b357e Binary files /dev/null and b/src/assets/images/textures/sprites/snowflake4.png differ diff --git a/src/assets/images/textures/sprites/snowflake5.png b/src/assets/images/textures/sprites/snowflake5.png new file mode 100644 index 0000000..02246c1 Binary files /dev/null and b/src/assets/images/textures/sprites/snowflake5.png differ diff --git a/src/assets/images/textures/sprites/snowflake7_alpha.png b/src/assets/images/textures/sprites/snowflake7_alpha.png new file mode 100644 index 0000000..d0f5f70 Binary files /dev/null and b/src/assets/images/textures/sprites/snowflake7_alpha.png differ diff --git a/src/assets/images/textures/sprites/spark1.png b/src/assets/images/textures/sprites/spark1.png new file mode 100644 index 0000000..d3a0c9f Binary files /dev/null and b/src/assets/images/textures/sprites/spark1.png differ diff --git a/src/assets/images/textures/star_texture.png b/src/assets/images/textures/star_texture.png new file mode 100644 index 0000000..653feff Binary files /dev/null and b/src/assets/images/textures/star_texture.png differ diff --git a/src/assets/images/textures/swedish-royal-castle/nx.jpg b/src/assets/images/textures/swedish-royal-castle/nx.jpg new file mode 100644 index 0000000..f527be5 Binary files /dev/null and b/src/assets/images/textures/swedish-royal-castle/nx.jpg differ diff --git a/src/assets/images/textures/swedish-royal-castle/ny.jpg b/src/assets/images/textures/swedish-royal-castle/ny.jpg new file mode 100644 index 0000000..30a7e82 Binary files /dev/null and b/src/assets/images/textures/swedish-royal-castle/ny.jpg differ diff --git a/src/assets/images/textures/swedish-royal-castle/nz.jpg b/src/assets/images/textures/swedish-royal-castle/nz.jpg new file mode 100644 index 0000000..dc131f3 Binary files /dev/null and b/src/assets/images/textures/swedish-royal-castle/nz.jpg differ diff --git a/src/assets/images/textures/swedish-royal-castle/px.jpg b/src/assets/images/textures/swedish-royal-castle/px.jpg new file mode 100644 index 0000000..7b58481 Binary files /dev/null and b/src/assets/images/textures/swedish-royal-castle/px.jpg differ diff --git a/src/assets/images/textures/swedish-royal-castle/py.jpg b/src/assets/images/textures/swedish-royal-castle/py.jpg new file mode 100644 index 0000000..9a285e8 Binary files /dev/null and b/src/assets/images/textures/swedish-royal-castle/py.jpg differ diff --git a/src/assets/images/textures/swedish-royal-castle/pz.jpg b/src/assets/images/textures/swedish-royal-castle/pz.jpg new file mode 100644 index 0000000..7dad62a Binary files /dev/null and b/src/assets/images/textures/swedish-royal-castle/pz.jpg differ diff --git a/src/assets/images/textures/swedish-royal-castle/readme.txt b/src/assets/images/textures/swedish-royal-castle/readme.txt new file mode 100644 index 0000000..0ce9e3d --- /dev/null +++ b/src/assets/images/textures/swedish-royal-castle/readme.txt @@ -0,0 +1,20 @@ +Author +====== + +This is the work of Emil Persson, aka Humus. +http://www.humus.name +humus@comhem.se + + + +Legal stuff +=========== + +This work is free and may be used by anyone for any purpose +and may be distributed freely to anyone using any distribution +media or distribution method as long as this file is included. +Distribution without this file is allowed if it's distributed +with free non-commercial software; however, fair credit of the +original author is expected. +Any commercial distribution of this software requires the written +approval of Emil Persson. diff --git a/src/assets/images/textures/uv_grid_opengl.jpg b/src/assets/images/textures/uv_grid_opengl.jpg new file mode 100644 index 0000000..8850005 Binary files /dev/null and b/src/assets/images/textures/uv_grid_opengl.jpg differ diff --git a/src/assets/images/textures/waternormals.jpg b/src/assets/images/textures/waternormals.jpg new file mode 100644 index 0000000..9dfe03c Binary files /dev/null and b/src/assets/images/textures/waternormals.jpg differ diff --git a/src/assets/images/wallpaper/1626178455372.jpg b/src/assets/images/wallpaper/1626178455372.jpg new file mode 100644 index 0000000..c140448 Binary files /dev/null and b/src/assets/images/wallpaper/1626178455372.jpg differ diff --git a/src/assets/images/wallpaper/1626273086948.jpg b/src/assets/images/wallpaper/1626273086948.jpg new file mode 100644 index 0000000..8816722 Binary files /dev/null and b/src/assets/images/wallpaper/1626273086948.jpg differ diff --git a/src/assets/images/wallpaper/1626350753637.jpg b/src/assets/images/wallpaper/1626350753637.jpg new file mode 100644 index 0000000..f78b1eb Binary files /dev/null and b/src/assets/images/wallpaper/1626350753637.jpg differ diff --git a/src/assets/images/wallpaper/1626438085277.jpg b/src/assets/images/wallpaper/1626438085277.jpg new file mode 100644 index 0000000..f8dbcae Binary files /dev/null and b/src/assets/images/wallpaper/1626438085277.jpg differ diff --git a/src/assets/libs/draco/draco_decoder.js b/src/assets/libs/draco/draco_decoder.js new file mode 100644 index 0000000..7c84b0b --- /dev/null +++ b/src/assets/libs/draco/draco_decoder.js @@ -0,0 +1,33 @@ + +var DracoDecoderModule = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(DracoDecoderModule = {}) { + +var Module=typeof DracoDecoderModule!="undefined"?DracoDecoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});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]<=5)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{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){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}}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";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)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(ia){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];o=F[c+12>>2];g=F[c+16>>2];a:{if((e|0)>=(o|0)&g>>>0>=I[c+8>>2]|(e|0)>(o|0)){break a}o=G[g+F[c>>2]|0];g=g+1|0;e=g?e:e+1|0;F[c+16>>2]=g;F[c+20>>2]=e;b:{switch(o|0){case 0:e=a;f=b;g=d;a=0;d=0;j=Z+-64|0;Z=j;F[j+56>>2]=0;F[j+48>>2]=0;F[j+52>>2]=0;F[j+40>>2]=0;F[j+44>>2]=0;F[j+32>>2]=0;F[j+36>>2]=0;F[j+24>>2]=0;F[j+28>>2]=0;F[j+16>>2]=0;F[j+20>>2]=0;F[j+8>>2]=0;F[j+12>>2]=0;c:{if(!Nd(j+8|0,c)){break c}if(!Md(j+8|0,c)|(F[j+20>>2]?0:e)){break c}hc(c,0,0);if(e){s=f<<2;t=F[j+36>>2];u=F[j+48>>2];x=F[j+24>>2];l=F[j+56>>2];i=F[j+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((i|0)<=0){break d}i=i-1|0;F[j+52>>2]=i;l=G[i+u|0]|l<<8;F[j+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=F[(a<<2)+x>>2];b=(r<<3)+t|0;l=(L(F[b>>2],l>>>12|0)+a|0)-F[b+4>>2]|0;F[j+56>>2]=l;if((f|0)>0){a=0;if(!G[c+36|0]|r>>>0>32){break c}o=d+f|0;e:{if(!r){ma(g+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=F[c+32>>2];h=F[c+28>>2];q=F[c+24>>2];while(1){k=0;a=b;m=0;n=0;if((r|0)!=1){while(1){p=q+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=G[p|0];b=a+1|0;F[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(v>>>0>>0){m=G[v|0];b=a+1|0;F[c+32>>2]=b;m=m>>>(a&7)&1;a=b}v=k|1;k=k+2|0;m=p|m<>>3|0)|0;if(p>>>0>>0){p=G[p|0];b=a+1|0;F[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}m=a<>2]=m;d=d+1|0;if((o|0)!=(d|0)){continue}break}}d=o}w=f+w|0;if(e>>>0>w>>>0){continue}break}}D[c+36|0]=0;f=F[c+20>>2];a=0;m=F[c+32>>2]+7|0;a=m>>>0<7?1:a;m=a<<29|m>>>3;b=m+F[c+16>>2]|0;a=(a>>>3|0)+f|0;F[c+16>>2]=b;F[c+20>>2]=b>>>0>>0?a+1|0:a;a=1}b=F[j+36>>2];if(b){F[j+40>>2]=b;ja(b)}b=F[j+24>>2];if(b){F[j+28>>2]=b;ja(b)}b=F[j+8>>2];if(b){F[j+12>>2]=b;ja(b)}Z=j- -64|0;return a;case 1:break b;default:break a}}b=0;e=F[c+20>>2];o=F[c+12>>2];g=F[c+16>>2];g:{if((e|0)>=(o|0)&g>>>0>=I[c+8>>2]|(e|0)>(o|0)){break g}o=G[g+F[c>>2]|0];g=g+1|0;e=g?e:e+1|0;F[c+16>>2]=g;F[c+20>>2]=e;h:{switch(o-1|0){case 8:o=a;r=d;e=Z+-64|0;Z=e;F[e+56>>2]=0;F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;h=e+8|0;i:{j:{if(!H[c+38>>1]){break j}if(!Ta(1,h+12|0,c)){break j}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break j}b=F[h>>2];a=F[h+4>>2]-b>>2;k:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break k}if(a>>>0<=i>>>0){break k}F[h+4>>2]=b+(i<<2)}g=1;if(!i){break i}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){g=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break i}g=F[c>>2];p=G[g+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;l:{m:{n:{o:{t=p&3;switch(t|0){case 0:break m;case 3:break o;default:break n}}a=a+b|0;g=0;if(a>>>0>=i>>>0){break i}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break l}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break j}i=G[f+g|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;p:{if(b>>>0<=32767){qa(a,8192-(b>>>2|0)|0);break p}if((b|0)==32768){break p}F[h+20>>2]=d+32768}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;q:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break q}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break j}}j=F[a>>2];f=0;d=0;while(1){g=n+(f<<2)|0;l=F[g>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;g=F[g>>2];d=g+a|0;if(d>>>0>8192){break j}r:{if(a>>>0>=d>>>0){break r}l=0;h=g&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(g-1>>>0<=6){break r}while(1){g=j+(a<<2)|0;F[g>>2]=f;F[g+28>>2]=f;F[g+24>>2]=f;F[g+20>>2]=f;F[g+16>>2]=f;F[g+12>>2]=f;F[g+8>>2]=f;F[g+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==8192}g=k}s:{if(!g|(F[e+20>>2]?0:o)){break s}d=0;k=Z-16|0;Z=k;t:{if(!Sa(1,k+8|0,c)){break t}a=F[c+8>>2];f=F[c+16>>2];g=a-f|0;j=F[k+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[k+8>>2];if((j|0)==(a|0)&g>>>0>>0|a>>>0>>0){break t}a=i+j|0;g=b+f|0;a=g>>>0>>0?a+1|0:a;F[c+16>>2]=g;F[c+20>>2]=a;if((b|0)<=0){break t}a=f+F[c>>2]|0;F[e+48>>2]=a;c=b-1|0;f=c+a|0;g=G[f|0];u:{if(g>>>0<=63){F[e+52>>2]=c;a=G[f|0]&63;break u}v:{switch((g>>>6|0)-1|0){case 0:if(b>>>0<2){break t}b=b-2|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break u;case 1:if(b>>>0<3){break t}b=b-3|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break u;default:break v}}b=b-4|0;F[e+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[e+56>>2]=a+32768;d=a>>>0<8355840}Z=k+16|0;if(!d){break s}if(!o){m=1;break s}b=F[e+52>>2];a=F[e+56>>2];c=F[e+36>>2];d=F[e+48>>2];f=F[e+24>>2];while(1){w:{if(a>>>0>32767){break w}while(1){if((b|0)<=0){break w}b=b-1|0;F[e+52>>2]=b;a=G[b+d|0]|a<<8;F[e+56>>2]=a;if(a>>>0<32768){continue}break}}m=a&8191;k=F[f+(m<<2)>>2];g=c+(k<<3)|0;a=(L(F[g>>2],a>>>13|0)+m|0)-F[g+4>>2]|0;F[e+56>>2]=a;F[r+(q<<2)>>2]=k;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[e+36>>2];if(a){F[e+40>>2]=a;ja(a)}a=F[e+24>>2];if(a){F[e+28>>2]=a;ja(a)}a=F[e+8>>2];if(a){F[e+12>>2]=a;ja(a)}Z=e- -64|0;b=m;break g;case 9:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;x:{y:{if(!H[c+38>>1]){break y}if(!Ta(1,h+12|0,c)){break y}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break y}b=F[h>>2];a=F[h+4>>2]-b>>2;z:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break z}if(a>>>0<=i>>>0){break z}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break x}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break x}t=F[c>>2];p=G[t+f|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=p>>>2|0;l=0;A:{B:{C:{D:{e=p&3;switch(e|0){case 0:break B;case 3:break D;default:break C}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break x}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break A}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break y}i=G[f+t|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((e|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;E:{if(b>>>0<=131071){qa(a,32768-(b>>>2|0)|0);break E}if((b|0)==131072){break E}F[h+20>>2]=d+131072}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;F:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break F}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break y}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>32768){break y}G:{if(a>>>0>=d>>>0){break G}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break G}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==32768}e=k}H:{if(!e|(F[g+20>>2]?0:o)){break H}d=0;f=Z-16|0;Z=f;I:{if(!Sa(1,f+8|0,c)){break I}e=F[c+8>>2];b=F[c+16>>2];k=e-b|0;j=F[f+12>>2];i=F[c+20>>2];e=F[c+12>>2]-(i+(b>>>0>e>>>0)|0)|0;a=F[f+8>>2];if((j|0)==(e|0)&k>>>0>>0|e>>>0>>0){break I}e=i+j|0;k=a+b|0;e=k>>>0>>0?e+1|0:e;F[c+16>>2]=k;F[c+20>>2]=e;if((a|0)<=0){break I}b=b+F[c>>2]|0;F[g+48>>2]=b;c=a-1|0;e=c+b|0;k=G[e|0];J:{if(k>>>0<=63){F[g+52>>2]=c;a=G[e|0]&63;break J}K:{switch((k>>>6|0)-1|0){case 0:if(a>>>0<2){break I}a=a-2|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break J;case 1:if(a>>>0<3){break I}a=a-3|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break J;default:break K}}a=a-4|0;F[g+52>>2]=a;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a+131072;d=a>>>0<33423360}Z=f+16|0;if(!d){break H}if(!o){m=1;break H}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){L:{if(a>>>0>131071){break L}while(1){if((b|0)<=0){break L}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<131072){continue}break}}m=a&32767;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>15|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 10:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;M:{N:{if(!H[c+38>>1]){break N}if(!Ta(1,h+12|0,c)){break N}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break N}b=F[h>>2];a=F[h+4>>2]-b>>2;O:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break O}if(a>>>0<=i>>>0){break O}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break M}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break M}t=F[c>>2];p=G[t+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;P:{Q:{R:{S:{u=p&3;switch(u|0){case 0:break Q;case 3:break S;default:break R}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break M}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break P}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break N}i=G[f+t|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=i<<(l<<3|6)|a;l=l+1|0;if((u|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;T:{if(b>>>0<=262143){qa(a,65536-(b>>>2|0)|0);break T}if((b|0)==262144){break T}F[h+20>>2]=d+262144}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;U:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break U}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break N}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>65536){break N}V:{if(a>>>0>=d>>>0){break V}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break V}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==65536}e=k}W:{if(!e|(F[g+20>>2]?0:o)){break W}d=0;e=Z-16|0;Z=e;X:{if(!Sa(1,e+8|0,c)){break X}a=F[c+8>>2];f=F[c+16>>2];k=a-f|0;j=F[e+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[e+8>>2];if((j|0)==(a|0)&k>>>0>>0|a>>>0>>0){break X}a=i+j|0;k=b+f|0;a=k>>>0>>0?a+1|0:a;F[c+16>>2]=k;F[c+20>>2]=a;if((b|0)<=0){break X}a=f+F[c>>2]|0;F[g+48>>2]=a;c=b-1|0;f=c+a|0;k=G[f|0];Y:{if(k>>>0<=63){F[g+52>>2]=c;a=G[f|0]&63;break Y}Z:{switch((k>>>6|0)-1|0){case 0:if(b>>>0<2){break X}b=b-2|0;F[g+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break Y;case 1:if(b>>>0<3){break X}b=b-3|0;F[g+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break Y;default:break Z}}b=b-4|0;F[g+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a+262144;d=a>>>0<66846720}Z=e+16|0;if(!d){break W}if(!o){m=1;break W}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){_:{if(a>>>0>262143){break _}while(1){if((b|0)<=0){break _}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<262144){continue}break}}m=a&65535;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>16|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 11:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;$:{aa:{if(!H[c+38>>1]){break aa}if(!Ta(1,h+12|0,c)){break aa}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break aa}b=F[h>>2];a=F[h+4>>2]-b>>2;ba:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break ba}if(a>>>0<=i>>>0){break ba}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break $}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break $}t=F[c>>2];p=G[t+f|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=p>>>2|0;l=0;ca:{da:{ea:{fa:{e=p&3;switch(e|0){case 0:break da;case 3:break fa;default:break ea}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break $}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ca}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break aa}i=G[f+t|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((e|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;ga:{if(b>>>0<=1048575){qa(a,262144-(b>>>2|0)|0);break ga}if((b|0)==1048576){break ga}F[h+20>>2]=d- -1048576}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;ha:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break ha}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break aa}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>262144){break aa}ia:{if(a>>>0>=d>>>0){break ia}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break ia}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==262144}e=k}ja:{if(!e|(F[g+20>>2]?0:o)){break ja}d=0;f=Z-16|0;Z=f;ka:{if(!Sa(1,f+8|0,c)){break ka}e=F[c+8>>2];b=F[c+16>>2];k=e-b|0;j=F[f+12>>2];i=F[c+20>>2];e=F[c+12>>2]-(i+(b>>>0>e>>>0)|0)|0;a=F[f+8>>2];if((j|0)==(e|0)&k>>>0>>0|e>>>0>>0){break ka}e=i+j|0;k=a+b|0;e=k>>>0>>0?e+1|0:e;F[c+16>>2]=k;F[c+20>>2]=e;if((a|0)<=0){break ka}b=b+F[c>>2]|0;F[g+48>>2]=b;c=a-1|0;e=c+b|0;k=G[e|0];la:{if(k>>>0<=63){F[g+52>>2]=c;a=G[e|0]&63;break la}ma:{switch((k>>>6|0)-1|0){case 0:if(a>>>0<2){break ka}a=a-2|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break la;case 1:if(a>>>0<3){break ka}a=a-3|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break la;default:break ma}}a=a-4|0;F[g+52>>2]=a;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a- -1048576;d=a>>>0<267386880}Z=f+16|0;if(!d){break ja}if(!o){m=1;break ja}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){na:{if(a>>>0>1048575){break na}while(1){if((b|0)<=0){break na}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<1048576){continue}break}}m=a&262143;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>18|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 12:o=a;r=d;e=Z+-64|0;Z=e;F[e+56>>2]=0;F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;h=e+8|0;oa:{pa:{if(!H[c+38>>1]){break pa}if(!Ta(1,h+12|0,c)){break pa}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break pa}b=F[h>>2];a=F[h+4>>2]-b>>2;qa:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break qa}if(a>>>0<=i>>>0){break qa}F[h+4>>2]=b+(i<<2)}g=1;if(!i){break oa}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){g=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break oa}g=F[c>>2];p=G[g+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;ra:{sa:{ta:{ua:{t=p&3;switch(t|0){case 0:break sa;case 3:break ua;default:break ta}}a=a+b|0;g=0;if(a>>>0>=i>>>0){break oa}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ra}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break pa}i=G[f+g|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;va:{if(b>>>0<=2097151){qa(a,524288-(b>>>2|0)|0);break va}if((b|0)==2097152){break va}F[h+20>>2]=d+2097152}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;wa:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break wa}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break pa}}j=F[a>>2];f=0;d=0;while(1){g=n+(f<<2)|0;l=F[g>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;g=F[g>>2];d=g+a|0;if(d>>>0>524288){break pa}xa:{if(a>>>0>=d>>>0){break xa}l=0;h=g&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(g-1>>>0<=6){break xa}while(1){g=j+(a<<2)|0;F[g>>2]=f;F[g+28>>2]=f;F[g+24>>2]=f;F[g+20>>2]=f;F[g+16>>2]=f;F[g+12>>2]=f;F[g+8>>2]=f;F[g+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==524288}g=k}ya:{if(!g|(F[e+20>>2]?0:o)){break ya}d=0;k=Z-16|0;Z=k;za:{if(!Sa(1,k+8|0,c)){break za}a=F[c+8>>2];f=F[c+16>>2];g=a-f|0;j=F[k+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[k+8>>2];if((j|0)==(a|0)&g>>>0>>0|a>>>0>>0){break za}a=i+j|0;g=b+f|0;a=g>>>0>>0?a+1|0:a;F[c+16>>2]=g;F[c+20>>2]=a;if((b|0)<=0){break za}a=f+F[c>>2]|0;F[e+48>>2]=a;c=b-1|0;f=c+a|0;g=G[f|0];Aa:{if(g>>>0<=63){F[e+52>>2]=c;a=G[f|0]&63;break Aa}Ba:{switch((g>>>6|0)-1|0){case 0:if(b>>>0<2){break za}b=b-2|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break Aa;case 1:if(b>>>0<3){break za}b=b-3|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break Aa;default:break Ba}}b=b-4|0;F[e+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[e+56>>2]=a+2097152;d=a>>>0<534773760}Z=k+16|0;if(!d){break ya}if(!o){m=1;break ya}b=F[e+52>>2];a=F[e+56>>2];c=F[e+36>>2];d=F[e+48>>2];f=F[e+24>>2];while(1){Ca:{if(a>>>0>2097151){break Ca}while(1){if((b|0)<=0){break Ca}b=b-1|0;F[e+52>>2]=b;a=G[b+d|0]|a<<8;F[e+56>>2]=a;if(a>>>0<2097152){continue}break}}m=a&524287;k=F[f+(m<<2)>>2];g=c+(k<<3)|0;a=(L(F[g>>2],a>>>19|0)+m|0)-F[g+4>>2]|0;F[e+56>>2]=a;F[r+(q<<2)>>2]=k;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[e+36>>2];if(a){F[e+40>>2]=a;ja(a)}a=F[e+24>>2];if(a){F[e+28>>2]=a;ja(a)}a=F[e+8>>2];if(a){F[e+12>>2]=a;ja(a)}Z=e- -64|0;b=m;break g;case 17:b=Ld(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=Z+-64|0;Z=b;F[b+56>>2]=0;F[b+48>>2]=0;F[b+52>>2]=0;F[b+40>>2]=0;F[b+44>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;Da:{if(!Nd(b+8|0,c)|(F[b+20>>2]?0:a)){break Da}if(!Md(b+8|0,c)){break Da}if(!a){f=1;break Da}m=F[b+52>>2];c=F[b+56>>2];e=F[b+36>>2];g=F[b+48>>2];o=F[b+24>>2];while(1){Ea:{if(c>>>0>16383){break Ea}while(1){if((m|0)<=0){break Ea}m=m-1|0;F[b+52>>2]=m;c=G[g+m|0]|c<<8;F[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;j=F[o+(f<<2)>>2];r=e+(j<<3)|0;c=(L(F[r>>2],c>>>12|0)+f|0)-F[r+4>>2]|0;F[b+56>>2]=c;F[(k<<2)+d>>2]=j;f=1;k=k+1|0;if((k|0)!=(a|0)){continue}break}}a=F[b+36>>2];if(a){F[b+40>>2]=a;ja(a)}a=F[b+24>>2];if(a){F[b+28>>2]=a;ja(a)}a=F[b+8>>2];if(a){F[b+12>>2]=a;ja(a)}Z=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=Ld(a,c,d)}f=b}return f}function ih(a){a=a|0;var 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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,J=0,K=0,M=0,N=0,O=0,P=0;u=Z+-64|0;Z=u;F[a+132>>2]=0;if(F[a+148>>2]){b=F[a+144>>2];if(b){while(1){f=F[b>>2];ja(b);b=f;if(b){continue}break}}b=0;F[a+144>>2]=0;f=F[a+140>>2];a:{if(!f){break a}if(f>>>0>=4){c=f&-4;while(1){e=b<<2;F[e+F[a+136>>2]>>2]=0;F[F[a+136>>2]+(e|4)>>2]=0;F[F[a+136>>2]+(e|8)>>2]=0;F[F[a+136>>2]+(e|12)>>2]=0;b=b+4|0;d=d+4|0;if((c|0)!=(d|0)){continue}break}}f=f&3;if(!f){break a}d=0;while(1){F[F[a+136>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}F[a+148>>2]=0}b:{c:{if(!Da(1,u+60|0,F[F[a+4>>2]+32>>2])){break c}F[a+156>>2]=F[u+60>>2];if(!Da(1,u+56|0,F[F[a+4>>2]+32>>2])){break c}e=F[u+56>>2];if(e>>>0>1431655765|I[a+156>>2]>L(e,3)>>>0){break c}b=F[F[a+4>>2]+32>>2];c=F[b+8>>2];k=F[b+12>>2];d=F[b+20>>2];f=F[b+16>>2];if((k|0)<=(d|0)&f>>>0>=c>>>0|(d|0)>(k|0)){break c}k=G[f+F[b>>2]|0];f=f+1|0;d=f?d:d+1|0;F[b+16>>2]=f;F[b+20>>2]=d;if(!Da(1,u+52|0,b)){break c}q=F[u+52>>2];if(q>>>0>e>>>0|e>>>0>q+((q>>>0)/3|0)>>>0){break c}if(!Da(1,u+48|0,F[F[a+4>>2]+32>>2])){break c}d=F[u+48>>2];if(d>>>0>q>>>0){break c}F[a+28>>2]=F[a+24>>2];f=Zb(ka(88));b=F[a+8>>2];F[a+8>>2]=f;if(b){Za(b);if(!F[a+8>>2]){break c}}F[a+164>>2]=F[a+160>>2];Ib(a+160|0,e);F[a+176>>2]=F[a+172>>2];Ib(a+172|0,e);F[a- -64>>2]=0;F[a+92>>2]=-1;F[a+84>>2]=-1;F[a+88>>2]=-1;F[a+40>>2]=F[a+36>>2];F[a+52>>2]=F[a+48>>2];F[a+76>>2]=F[a+72>>2];A=a+216|0;Dd(A);Cd(A,k);if(!_c(F[a+8>>2],e,d+F[a+156>>2]|0)){break c}b=F[a+156>>2];D[u+8|0]=1;Ea(a+120|0,b+d|0,u+8|0);if((Bd(a,F[F[a+4>>2]+32>>2])|0)==-1){break c}c=a+232|0;b=c;F[b+144>>2]=a;f=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];f=F[f>>2]+F[f+16>>2]|0;e=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];e=F[e+8>>2]-F[e+16>>2]|0;O=b,P=H[F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],E[O+38>>1]=P;F[b>>2]=f;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=e;F[b+12>>2]=0;O=b,P=$[F[F[a>>2]+36>>2]](a)|0,F[O+148>>2]=P;F[a+372>>2]=k;F[a+384>>2]=d+F[a+156>>2];K=Ja(u+8|0);k=K;f=0;j=Z-16|0;Z=j;d:{if(!Aa(b+80|0,b)){break d}if(!yd(c)){break d}b=F[c+4>>2];F[k>>2]=F[c>>2];F[k+4>>2]=b;b=F[c+36>>2];F[k+32>>2]=F[c+32>>2];F[k+36>>2]=b;b=F[c+28>>2];F[k+24>>2]=F[c+24>>2];F[k+28>>2]=b;b=F[c+20>>2];F[k+16>>2]=F[c+16>>2];F[k+20>>2]=b;b=F[c+12>>2];F[k+8>>2]=F[c+8>>2];F[k+12>>2]=b;F[c+176>>2]=2;F[c+180>>2]=7;b=F[c+152>>2];if((b|0)<0){break d}F[j+12>>2]=0;f=2;h=F[c+156>>2];e=F[c+160>>2]-h>>2;e:{if(e>>>0>>0){Fa(c+156|0,b-e|0,j+12|0);f=F[c+176>>2];d=F[c+180>>2];break e}d=7;if(b>>>0>=e>>>0){break e}F[c+160>>2]=h+(b<<2)}e=c+184|0;d=(d-f|0)+1|0;b=F[c+188>>2];f=F[c+184>>2];s=(b-f|0)/12|0;f:{if(d>>>0>s>>>0){h=0;b=d-s|0;o=F[e+8>>2];f=F[e+4>>2];g:{if(b>>>0<=(o-f|0)/12>>>0){if(b){b=L(b,12)-12|0;b=(b-((b>>>0)%12|0)|0)+12|0;f=ma(f,0,b)+b|0}F[e+4>>2]=f;break g}h:{i:{j:{s=F[e>>2];g=(f-s|0)/12|0;d=g+b|0;if(d>>>0<357913942){o=(o-s|0)/12|0;i=o<<1;o=o>>>0>=178956970?357913941:d>>>0>>0?i:d;if(o){if(o>>>0>=357913942){break j}h=ka(L(o,12))}d=L(g,12)+h|0;b=L(b,12)-12|0;g=(b-((b>>>0)%12|0)|0)+12|0;b=ma(d,0,g);g=b+g|0;h=L(o,12)+h|0;if((f|0)==(s|0)){break i}while(1){d=d-12|0;f=f-12|0;F[d>>2]=F[f>>2];F[d+4>>2]=F[f+4>>2];F[d+8>>2]=F[f+8>>2];F[f+8>>2]=0;F[f>>2]=0;F[f+4>>2]=0;if((f|0)!=(s|0)){continue}break}F[e+8>>2]=h;b=F[e+4>>2];F[e+4>>2]=g;f=F[e>>2];F[e>>2]=d;if((b|0)==(f|0)){break h}while(1){d=b-12|0;h=F[d>>2];if(h){F[b-8>>2]=h;ja(h)}b=d;if((f|0)!=(b|0)){continue}break}break h}break b}oa();v()}F[e+8>>2]=h;F[e+4>>2]=g;F[e>>2]=b}if(f){ja(f)}}d=F[c+188>>2];break f}if(d>>>0>=s>>>0){d=b;break f}d=f+L(d,12)|0;if((d|0)!=(b|0)){while(1){f=b-12|0;h=F[f>>2];if(h){F[b-8>>2]=h;ja(h)}b=f;if((d|0)!=(b|0)){continue}break}}F[c+188>>2]=d}s=c+196|0;f=F[c+184>>2];b=(d-f|0)/12|0;o=F[c+196>>2];h=F[c+200>>2]-o>>2;k:{if(b>>>0>h>>>0){qa(s,b-h|0);f=F[c+184>>2];d=F[c+188>>2];break k}if(b>>>0>=h>>>0){break k}F[c+200>>2]=o+(b<<2)}if((d|0)==(f|0)){f=1;break d}b=0;while(1){l:{if(!Da(1,j+8|0,k)){break l}f=F[j+8>>2];d=F[c+148>>2];if(f>>>0>(F[d+4>>2]-F[d>>2]>>2>>>0)/3>>>0){break l}if(f){g=L(b,12);h=g+F[e>>2]|0;d=F[h>>2];o=F[h+4>>2]-d>>2;m:{if(o>>>0>>0){qa(h,f-o|0);d=F[g+F[e>>2]>>2];break m}if(f>>>0>=o>>>0){break m}F[h+4>>2]=(f<<2)+d}mc(f,1,k,d);F[F[s>>2]+(b<<2)>>2]=f}f=1;b=b+1|0;if(b>>>0<(F[c+188>>2]-F[c+184>>2]|0)/12>>>0){continue}break d}break}f=0}Z=j+16|0;n:{if(!f){break n}e=0;c=0;d=0;b=0;k=0;f=0;s=0;o=0;l=Z-96|0;Z=l;F[l+72>>2]=0;F[l+64>>2]=0;F[l+68>>2]=0;F[l+48>>2]=0;F[l+52>>2]=0;F[l+40>>2]=0;F[l+44>>2]=0;F[l+56>>2]=1065353216;F[l+32>>2]=0;F[l+24>>2]=0;F[l+28>>2]=0;j=a;C=F[a+124>>2];o:{p:{q:{r:{s:{if((q|0)<=0){break s}J=j+232|0;M=F[j+216>>2]!=F[j+220>>2];B=1;t:{while(1){h=s;s=h+1|0;u:{v:{w:{g=F[j+404>>2];if((g|0)==-1){F[j+400>>2]=7;break w}a=-1;i=F[j+428>>2]+(g<<2)|0;m=F[i>>2];g=m-1|0;F[i>>2]=g;if((m|0)<=0){break r}g=F[F[F[j+416>>2]+L(F[j+404>>2],12)>>2]+(g<<2)>>2];if(g>>>0>4){break r}i=F[(g<<2)+8896>>2];F[j+400>>2]=i;if(!g){if((b|0)==(c|0)){break r}i=-1;m=F[j+8>>2];B=F[m+24>>2];t=c-4|0;e=F[t>>2];g=-1;x:{if((e|0)==-1){break x}p=e+1|0;p=(p>>>0)%3|0?p:e-2|0;g=-1;if((p|0)==-1){break x}g=F[F[m>>2]+(p<<2)>>2]}n=F[B+(g<<2)>>2];if((n|0)!=-1){i=n+1|0;i=(i>>>0)%3|0?i:n-2|0}if((e|0)!=-1&F[F[m+12>>2]+(e<<2)>>2]!=-1|(e|0)==(i|0)){break r}n=F[m+12>>2];if((i|0)!=-1&F[n+(i<<2)>>2]!=-1){break r}p=L(h,3);h=p+1|0;F[n+(e<<2)>>2]=h;x=h<<2;F[x+n>>2]=e;r=p+2|0;F[n+(i<<2)>>2]=r;w=r<<2;F[w+n>>2]=i;n=-1;h=-1;y:{if((e|0)==-1){break y}z:{if((e>>>0)%3|0){e=e-1|0;break z}e=e+2|0;h=-1;if((e|0)==-1){break y}}h=F[F[m>>2]+(e<<2)>>2]}e=h;A:{if((i|0)==-1){break A}h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)==-1){break A}n=F[F[m>>2]+(h<<2)>>2]}if((e|0)==(g|0)|(g|0)==(n|0)){break r}a=F[m>>2];F[a+(p<<2)>>2]=g;F[a+x>>2]=n;F[a+w>>2]=e;if((e|0)!=-1){F[B+(e<<2)>>2]=r}a=F[j+120>>2]+(g>>>3&536870908)|0;e=F[a>>2];O=a,P=oi(g)&e,F[O>>2]=P;F[t>>2]=p;e=b;kc(J,p);break u}B:{switch(i-1|0){case 2:case 4:if((b|0)==(c|0)){break r}r=c-4|0;e=F[r>>2];i=F[j+8>>2];m=F[i+12>>2];if((e|0)!=-1&F[m+(e<<2)>>2]!=-1){break r}c=L(h,3);n=(g|0)==3;g=c+(n?2:1)|0;t=g<<2;F[t+m>>2]=e;F[m+(e<<2)>>2]=g;Ma(i+24|0,8324);p=F[j+8>>2];m=F[p+24>>2];if(F[p+28>>2]-m>>2>(C|0)){break r}a=F[p>>2];w=a+t|0;p=F[i+28>>2];i=F[i+24>>2];t=(p-i>>2)-1|0;F[w>>2]=t;if((i|0)!=(p|0)){F[m+(t<<2)>>2]=g}g=n?c:c+2|0;w=a+(c+n<<2)|0;C:{if((e|0)==-1){F[a+(g<<2)>>2]=-1;i=-1;break C}D:{E:{F:{if((e>>>0)%3|0){i=e-1|0;break F}i=e+2|0;if((i|0)==-1){break E}}i=F[a+(i<<2)>>2];F[a+(g<<2)>>2]=i;if((i|0)==-1){break D}F[m+(i<<2)>>2]=g;break D}F[a+(g<<2)>>2]=-1}i=e+1|0;e=(i>>>0)%3|0?i:e-2|0;i=-1;if((e|0)==-1){break C}i=F[a+(e<<2)>>2]}F[w>>2]=i;F[r>>2]=c;e=b;break v;case 6:break w;case 0:break B;default:break r}}if((e|0)==(c|0)){break r}f=c-4|0;m=F[f>>2];F[l+68>>2]=f;n=F[l+44>>2];G:{if(!n){break G}g=F[l+40>>2];p=ni(n)>>>0>1;a=h&n+2147483647;H:{if(!p){break H}a=h;if(a>>>0>>0){break H}a=(h>>>0)%(n>>>0)|0}i=a;a=F[g+(i<<2)>>2];if(!a){break G}a=F[a>>2];if(!a){break G}I:{if(!p){g=n-1|0;while(1){n=F[a+4>>2];J:{if((n|0)!=(h|0)){if((i|0)==(g&n)){break J}break G}if((h|0)==F[a+8>>2]){break I}}a=F[a>>2];if(a){continue}break}break G}while(1){g=F[a+4>>2];K:{if((g|0)!=(h|0)){if(g>>>0>=n>>>0){g=(g>>>0)%(n>>>0)|0}if((g|0)==(i|0)){break K}break G}if((h|0)==F[a+8>>2]){break I}}a=F[a>>2];if(a){continue}break}break G}if((f|0)!=(k|0)){F[f>>2]=F[a+12>>2];F[l+68>>2]=c;f=c;break G}b=k-e|0;c=b>>2;d=c+1|0;if(d>>>0>=1073741824){break b}f=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break p}f=ka(d<<2)}else{f=0}b=f+(c<<2)|0;F[b>>2]=F[a+12>>2];d=f+(d<<2)|0;f=b+4|0;if((e|0)!=(k|0)){while(1){b=b-4|0;k=k-4|0;F[b>>2]=F[k>>2];if((e|0)!=(k|0)){continue}break}}F[l+72>>2]=d;F[l+68>>2]=f;F[l+64>>2]=b;if(e){ja(e)}e=b;k=d}if((e|0)==(f|0)){break t}x=f-4|0;a=F[x>>2];if((a|0)==(m|0)){break t}i=(a|0)==-1;g=F[j+8>>2];if(!i&F[F[g+12>>2]+(a<<2)>>2]!=-1){break t}n=F[g+12>>2];if((m|0)!=-1&F[n+(m<<2)>>2]!=-1){break t}p=L(h,3);t=p+2|0;F[n+(a<<2)>>2]=t;c=t<<2;F[c+n>>2]=a;h=p+1|0;F[n+(m<<2)>>2]=h;w=h<<2;F[w+n>>2]=m;L:{M:{N:{if(!i){if((a>>>0)%3|0){h=a-1|0;break N}h=a+2|0;if((h|0)!=-1){break N}i=F[g>>2];h=-1;break M}h=-1;i=F[g>>2];F[i+(p<<2)>>2]=-1;r=-1;break L}i=F[g>>2];h=F[i+(h<<2)>>2]}F[(p<<2)+i>>2]=h;r=a+1|0;a=(r>>>0)%3|0?r:a-2|0;r=-1;if((a|0)==-1){break L}r=F[(a<<2)+i>>2]}F[i+w>>2]=r;O:{if((m|0)==-1){F[c+i>>2]=-1;r=-1;c=-1;break O}P:{Q:{R:{if((m>>>0)%3|0){a=m-1|0;break R}a=m+2|0;if((a|0)==-1){break Q}}a=F[(a<<2)+i>>2];F[c+i>>2]=a;if((a|0)==-1){break P}F[F[g+24>>2]+(a<<2)>>2]=t;break P}F[c+i>>2]=-1}r=-1;a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;c=-1;if((a|0)==-1){break O}r=F[(a<<2)+i>>2];c=a}a=F[j+388>>2];t=h<<2;m=a+t|0;w=a;a=r<<2;F[m>>2]=F[m>>2]+F[w+a>>2];w=a;a=F[g+24>>2];m=w+a|0;if((h|0)!=-1){F[a+t>>2]=F[m>>2]}a=c;while(1){if((a|0)!=-1){F[(a<<2)+i>>2]=h;t=a+1|0;a=(t>>>0)%3|0?t:a-2|0;g=-1;S:{if((a|0)==-1){break S}a=F[n+(a<<2)>>2];g=-1;if((a|0)==-1){break S}g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}a=g;if((c|0)!=(a|0)){continue}break t}break}F[m>>2]=-1;T:{U:{if(M){break U}if((y|0)!=(z|0)){F[z>>2]=r;z=z+4|0;F[l+28>>2]=z;break U}a=y-o|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break T}h=a>>>1|0;h=a>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break p}c=ka(h<<2)}else{c=0}a=c+(g<<2)|0;F[a>>2]=r;z=a+4|0;if((o|0)!=(y|0)){while(1){a=a-4|0;y=y-4|0;F[a>>2]=F[y>>2];if((o|0)!=(y|0)){continue}break}}y=c+(h<<2)|0;F[l+32>>2]=y;F[l+28>>2]=z;F[l+24>>2]=a;if(o){ja(o)}o=a}F[x>>2]=p;c=f;kc(J,p);break u}break b}g=F[j+8>>2];Ma(g+24|0,8324);a=-1;k=F[j+8>>2];f=L(h,3);i=F[g+28>>2];m=F[g+24>>2];n=i-m|0;g=n>>2;p=g-1|0;F[F[k>>2]+(f<<2)>>2]=p;Ma(k+24|0,8324);r=f+1|0;F[F[k>>2]+(r<<2)>>2]=(F[k+28>>2]-F[k+24>>2]>>2)-1;k=F[j+8>>2];Ma(k+24|0,8324);t=f+2|0;F[F[k>>2]+(t<<2)>>2]=(F[k+28>>2]-F[k+24>>2]>>2)-1;x=F[j+8>>2];k=F[x+24>>2];if(F[x+28>>2]-k>>2>(C|0)){break r}V:{W:{if((i|0)!=(m|0)){F[k+(p<<2)>>2]=f;a=0;if((n|0)==-4){break W}}F[k+(g<<2)>>2]=r;a=g+1|0;if((a|0)==-1){break V}}F[k+(a<<2)>>2]=t}if((d|0)!=(c|0)){F[c>>2]=f;f=c+4|0;F[l+68>>2]=f;k=d;break v}a=d-b|0;k=a>>2;e=k+1|0;if(e>>>0>=1073741824){break b}c=a>>>1|0;a=a>>>0>=2147483644?1073741823:e>>>0>>0?c:e;if(a){if(a>>>0>=1073741824){break p}c=ka(a<<2)}else{c=0}e=c+(k<<2)|0;F[e>>2]=f;k=c+(a<<2)|0;f=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;F[e>>2]=F[d>>2];if((b|0)!=(d|0)){continue}break}}F[l+72>>2]=k;F[l+68>>2]=f;F[l+64>>2]=e;if(b){ja(b)}d=k;b=e}kc(J,F[f-4>>2]);a=F[j+40>>2];X:{if((a|0)==F[j+36>>2]){break X}c=a-12|0;g=F[c+4>>2];h=q+(h^-1)|0;if(g>>>0>h>>>0){break t}if((g|0)!=(h|0)){break X}i=G[a-4|0];g=F[c>>2];F[j+40>>2]=c;if((g|0)<0){break t}m=f-4|0;a=F[m>>2];F[l+20>>2]=q+(g^-1);c=l+20|0;F[l+88>>2]=c;Fb(l,l+40|0,c,l+88|0);g=F[l>>2];Y:{if(i&1){c=-1;if((a|0)==-1){break Y}c=a+1|0;c=(c>>>0)%3|0?c:a-2|0;break Y}c=-1;if((a|0)==-1){break Y}c=a-1|0;if((a>>>0)%3|0){break Y}c=a+2|0}F[g+12>>2]=c;a=F[j+40>>2];if((a|0)==F[j+36>>2]){break X}while(1){c=a-12|0;g=F[c+4>>2];if(g>>>0>h>>>0){break t}if((g|0)!=(h|0)){break X}i=G[a-4|0];g=F[c>>2];F[j+40>>2]=c;if((g|0)<0){break t}a=F[m>>2];F[l+20>>2]=q+(g^-1);c=l+20|0;F[l+88>>2]=c;Fb(l,l+40|0,c,l+88|0);g=F[l>>2];Z:{if(i&1){c=-1;if((a|0)==-1){break Z}c=a+1|0;c=(c>>>0)%3|0?c:a-2|0;break Z}c=-1;if((a|0)==-1){break Z}c=a-1|0;if((a>>>0)%3|0){break Z}c=a+2|0}F[g+12>>2]=c;a=F[j+40>>2];if((a|0)!=F[j+36>>2]){continue}break}}c=f}B=(q|0)>(s|0);if((q|0)!=(s|0)){continue}break}s=q;break s}a=-1;if(B){break r}}a=-1;c=F[j+8>>2];if(F[c+28>>2]-F[c+24>>2]>>2>(C|0)){break r}if((b|0)!=(f|0)){m=j+72|0;k=j+60|0;n=j+312|0;while(1){f=f-4|0;q=F[f>>2];F[l+68>>2]=f;_:{if(wa(n)){g=F[j+8>>2];o=F[g>>2];if(((F[g+4>>2]-o>>2>>>0)/3|0)<=(s|0)){a=-1;break r}b=-1;i=F[g+24>>2];a=-1;$:{if((q|0)==-1){break $}e=q+1|0;e=(e>>>0)%3|0?e:q-2|0;a=-1;if((e|0)==-1){break $}a=F[o+(e<<2)>>2]}e=a;a=F[i+(e<<2)>>2];aa:{if((a|0)==-1){h=1;c=-1;break aa}h=1;c=-1;d=a+1|0;a=(d>>>0)%3|0?d:a-2|0;if((a|0)==-1){break aa}h=0;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){c=F[o+(b<<2)>>2]}b=a}a=-1;d=-1;i=F[i+(c<<2)>>2];if((i|0)!=-1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0}if((b|0)==(q|0)|(d|0)==(q|0)|((q|0)!=-1&F[F[g+12>>2]+(q<<2)>>2]!=-1|(b|0)==(d|0))){break r}if(!h&F[F[g+12>>2]+(b<<2)>>2]!=-1){break r}h=-1;g=F[g+12>>2];i=-1;ba:{if((d|0)==-1){break ba}if(F[g+(d<<2)>>2]!=-1){break r}a=d+1|0;a=(a>>>0)%3|0?a:d-2|0;i=-1;if((a|0)==-1){break ba}i=F[o+(a<<2)>>2]}a=L(s,3);F[l>>2]=a;F[g+(a<<2)>>2]=q;F[g+(q<<2)>>2]=a;a=F[l>>2]+1|0;F[g+(a<<2)>>2]=b;F[g+(b<<2)>>2]=a;a=F[l>>2]+2|0;F[g+(a<<2)>>2]=d;F[g+(d<<2)>>2]=a;a=F[l>>2];F[o+(a<<2)>>2]=c;b=a+1|0;d=o+(b<<2)|0;F[d>>2]=i;q=a+2|0;o=o+(q<<2)|0;F[o>>2]=e;a=F[j+120>>2];e=b?c:-1;c=a+(e>>>3&536870908)|0;g=F[c>>2];O=c,P=oi(e)&g,F[O>>2]=P;h=(b|0)!=-1?F[d>>2]:h;b=a+(h>>>3&536870908)|0;d=F[b>>2];O=b,P=oi(h)&d,F[O>>2]=P;d=-1;d=(q|0)!=-1?F[o>>2]:d;a=a+(d>>>3&536870908)|0;b=F[a>>2];O=a,P=oi(d)&b,F[O>>2]=P;D[l+88|0]=1;wd(k,l+88|0);Ma(m,l);s=s+1|0;b=F[l+64>>2];break _}d=F[j+64>>2];a=F[j+68>>2];if((d|0)==a<<5){if((d+1|0)<0){break b}if(d>>>0<=1073741822){a=a<<6;d=(d&-32)+32|0;a=a>>>0>d>>>0?a:d}else{a=2147483647}$a(k,a);d=F[j+64>>2]}F[j+64>>2]=d+1;a=F[j+60>>2]+(d>>>3&536870908)|0;e=F[a>>2];O=a,P=oi(d)&e,F[O>>2]=P;d=F[j+76>>2];if((d|0)!=F[j+80>>2]){F[d>>2]=q;F[j+76>>2]=d+4;break _}c=F[m>>2];a=d-c|0;o=a>>2;e=o+1|0;if(e>>>0>=1073741824){break b}h=a>>>1|0;h=a>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(h){if(h>>>0>=1073741824){break p}a=ka(h<<2)}else{a=0}e=a+(o<<2)|0;F[e>>2]=q;q=e+4|0;if((d|0)!=(c|0)){while(1){e=e-4|0;d=d-4|0;F[e>>2]=F[d>>2];if((d|0)!=(c|0)){continue}break}}F[j+80>>2]=a+(h<<2);F[j+76>>2]=q;F[j+72>>2]=e;if(!c){break _}ja(c)}if((b|0)!=(f|0)){continue}break}c=F[j+8>>2]}a=-1;if(((F[c+4>>2]-F[c>>2]>>2>>>0)/3|0)!=(s|0)){break r}a=F[c+28>>2]-F[c+24>>2]>>2;f=F[l+24>>2];h=F[l+28>>2];if((f|0)==(h|0)){break q}while(1){b=F[f>>2];k=F[c+24>>2];d=a-1|0;e=k+(d<<2)|0;if(F[e>>2]==-1){while(1){d=a-2|0;a=a-1|0;e=k+(d<<2)|0;if(F[e>>2]==-1){continue}break}}if(b>>>0<=d>>>0){F[l>>2]=c;e=F[e>>2];D[l+12|0]=1;F[l+8>>2]=e;F[l+4>>2]=e;if((e|0)!=-1){while(1){e=F[F[j+8>>2]>>2]+(e<<2)|0;if(F[e>>2]!=(d|0)){a=-1;break r}F[e>>2]=b;nc(l);e=F[l+8>>2];if((e|0)!=-1){continue}break}c=F[j+8>>2]}k=F[c+24>>2];e=k+(d<<2)|0;if((b|0)!=-1){F[k+(b<<2)>>2]=F[e>>2]}F[e>>2]=-1;e=1<>2];b=k+(b>>>3&536870908)|0;k=k+(d>>>3&536870908)|0;d=1<>2]&d){e=e|F[b>>2]}else{e=F[b>>2]&(e^-1)}F[b>>2]=e;F[k>>2]=F[k>>2]&(d^-1);a=a-1|0}f=f+4|0;if((h|0)!=(f|0)){continue}break}}f=F[l+24>>2]}if(f){ja(f)}b=F[l+48>>2];if(b){while(1){d=F[b>>2];ja(b);b=d;if(b){continue}break}}b=F[l+40>>2];F[l+40>>2]=0;if(b){ja(b)}b=F[l+64>>2];if(b){F[l+68>>2]=b;ja(b)}Z=l+96|0;break o}oa();v()}f=a;if((a|0)==-1){break n}a=K;b=F[a+16>>2];d=b+F[a>>2]|0;b=F[a+8>>2]-b|0;a=F[F[j+4>>2]+32>>2];E[a+38>>1]=H[a+38>>1];F[a>>2]=d;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=b;F[a+12>>2]=0;ca:{if(F[j+216>>2]==F[j+220>>2]){break ca}a=F[j+8>>2];if(F[a+4>>2]==F[a>>2]){break ca}b=0;while(1){if(Ad(j,b)){b=b+3|0;a=F[j+8>>2];if(b>>>0>2]-F[a>>2]>>2>>>0){continue}break ca}break}break n}if(G[j+308|0]){D[j+308|0]=0;d=F[j+292>>2];a=0;e=F[j+304>>2]+7|0;a=e>>>0<7?1:a;e=a<<29|e>>>3;b=e+F[j+288>>2]|0;a=(a>>>3|0)+d|0;F[j+288>>2]=b;F[j+292>>2]=b>>>0>>0?a+1|0:a}b=F[j+216>>2];if((b|0)!=F[j+220>>2]){a=0;while(1){e=L(a,144);Zc((e+b|0)+4|0,F[j+8>>2]);d=F[A>>2];c=d+e|0;b=F[c+132>>2];c=F[c+136>>2];if((b|0)!=(c|0)){while(1){Xc((e+F[A>>2]|0)+4|0,F[b>>2]);b=b+4|0;if((c|0)!=(b|0)){continue}break}d=F[A>>2]}if(!Yc((d+e|0)+4|0)){break n}a=a+1|0;b=F[j+216>>2];if(a>>>0<(F[j+220>>2]-b|0)/144>>>0){continue}break}}a=F[j+8>>2];Hb(j+184|0,F[a+28>>2]-F[a+24>>2]>>2);d=F[j+216>>2];if((d|0)!=F[j+220>>2]){b=0;while(1){a=L(b,144)+d|0;d=F[a+60>>2]-F[a+56>>2]>>2;c=a+104|0;a=F[j+8>>2];a=F[a+28>>2]-F[a+24>>2]>>2;Hb(c,(a|0)<(d|0)?d:a);b=b+1|0;d=F[j+216>>2];if(b>>>0<(F[j+220>>2]-d|0)/144>>>0){continue}break}}N=zd(j,f)}}Z=u- -64|0;return N|0}na();v()}function lh(a){a=a|0;var 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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,J=0,K=0,M=0,N=0;t=Z+-64|0;Z=t;F[a+132>>2]=0;if(F[a+148>>2]){c=F[a+144>>2];if(c){while(1){b=F[c>>2];ja(c);c=b;if(b){continue}break}}c=0;F[a+144>>2]=0;b=F[a+140>>2];a:{if(!b){break a}if(b>>>0>=4){h=b&-4;while(1){e=c<<2;F[e+F[a+136>>2]>>2]=0;F[F[a+136>>2]+(e|4)>>2]=0;F[F[a+136>>2]+(e|8)>>2]=0;F[F[a+136>>2]+(e|12)>>2]=0;c=c+4|0;g=g+4|0;if((h|0)!=(g|0)){continue}break}}b=b&3;if(!b){break a}g=0;while(1){F[F[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;g=g+1|0;if((b|0)!=(g|0)){continue}break}}F[a+148>>2]=0}b:{if(!Da(1,t+60|0,F[F[a+4>>2]+32>>2])){break b}F[a+156>>2]=F[t+60>>2];if(!Da(1,t+56|0,F[F[a+4>>2]+32>>2])){break b}e=F[t+56>>2];if(e>>>0>1431655765|I[a+156>>2]>L(e,3)>>>0){break b}c=F[F[a+4>>2]+32>>2];h=F[c+8>>2];m=F[c+12>>2];b=F[c+20>>2];g=F[c+16>>2];if((m|0)<=(b|0)&g>>>0>=h>>>0|(b|0)>(m|0)){break b}h=G[g+F[c>>2]|0];g=g+1|0;b=g?b:b+1|0;F[c+16>>2]=g;F[c+20>>2]=b;if(!Da(1,t+52|0,c)){break b}n=F[t+52>>2];if(n>>>0>e>>>0|e>>>0>n+((n>>>0)/3|0)>>>0){break b}if(!Da(1,t+48|0,F[F[a+4>>2]+32>>2])){break b}c=F[t+48>>2];if(c>>>0>n>>>0){break b}F[a+28>>2]=F[a+24>>2];g=Zb(ka(88));b=F[a+8>>2];F[a+8>>2]=g;if(b){Za(b);if(!F[a+8>>2]){break b}}F[a+164>>2]=F[a+160>>2];Ib(a+160|0,e);F[a+176>>2]=F[a+172>>2];Ib(a+172|0,e);F[a- -64>>2]=0;F[a+92>>2]=-1;F[a+84>>2]=-1;F[a+88>>2]=-1;F[a+40>>2]=F[a+36>>2];F[a+52>>2]=F[a+48>>2];F[a+76>>2]=F[a+72>>2];y=a+216|0;Dd(y);Cd(y,h);if(!_c(F[a+8>>2],e,c+F[a+156>>2]|0)){break b}b=F[a+156>>2];D[t+8|0]=1;Ea(a+120|0,b+c|0,t+8|0);if((Bd(a,F[F[a+4>>2]+32>>2])|0)==-1){break b}c=a+232|0;F[c+144>>2]=a;b=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];b=F[b>>2]+F[b+16>>2]|0;g=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];g=F[g+8>>2]-F[g+16>>2]|0;M=c,N=H[F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],E[M+38>>1]=N;F[c>>2]=b;F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=g;F[c+12>>2]=0;F[a+372>>2]=h;C=Ja(t+8|0);h=C;m=0;d=Z-16|0;Z=d;b=F[c+4>>2];F[c+40>>2]=F[c>>2];F[c+44>>2]=b;b=F[c+36>>2];F[c+72>>2]=F[c+32>>2];F[c+76>>2]=b;g=F[c+28>>2];b=c- -64|0;F[b>>2]=F[c+24>>2];F[b+4>>2]=g;b=F[c+20>>2];F[c+56>>2]=F[c+16>>2];F[c+60>>2]=b;b=F[c+12>>2];F[c+48>>2]=F[c+8>>2];F[c+52>>2]=b;c:{d:{if(hc(c+40|0,1,d+8|0)){b=F[c+44>>2];F[c>>2]=F[c+40>>2];F[c+4>>2]=b;b=F[c+76>>2];F[c+32>>2]=F[c+72>>2];F[c+36>>2]=b;b=F[c+68>>2];F[c+24>>2]=F[c+64>>2];F[c+28>>2]=b;g=F[c+60>>2];f=g;b=F[c+56>>2];F[c+16>>2]=b;F[c+20>>2]=g;e=F[c+52>>2];g=F[c+48>>2];F[c+8>>2]=g;F[c+12>>2]=e;k=F[d+12>>2];i=e-((b>>>0>g>>>0)+f|0)|0;e=g-b|0;g=F[d+8>>2];if((k|0)==(i|0)&e>>>0>=g>>>0|i>>>0>k>>>0){break d}}break c}e=f+k|0;b=b+g|0;e=b>>>0>>0?e+1|0:e;F[c+16>>2]=b;F[c+20>>2]=e;if(!Aa(c+80|0,c)){break c}if(!yd(c)){break c}b=F[c+4>>2];F[h>>2]=F[c>>2];F[h+4>>2]=b;b=F[c+36>>2];F[h+32>>2]=F[c+32>>2];F[h+36>>2]=b;b=F[c+28>>2];F[h+24>>2]=F[c+24>>2];F[h+28>>2]=b;b=F[c+20>>2];F[h+16>>2]=F[c+16>>2];F[h+20>>2]=b;b=F[c+12>>2];F[h+8>>2]=F[c+8>>2];F[h+12>>2]=b;m=1}Z=d+16|0;e:{if(!m){break e}b=0;c=0;g=0;m=0;j=Z-96|0;Z=j;F[j+72>>2]=0;F[j+64>>2]=0;F[j+68>>2]=0;F[j+48>>2]=0;F[j+52>>2]=0;F[j+40>>2]=0;F[j+44>>2]=0;F[j+56>>2]=1065353216;F[j+32>>2]=0;F[j+24>>2]=0;F[j+28>>2]=0;h=a;B=F[a+124>>2];f:{g:{h:{i:{j:{k:{l:{m:{if((n|0)<=0){break m}J=F[h+216>>2]!=F[h+220>>2];z=1;while(1){e=m;m=e+1|0;n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{if(!G[h+308|0]){break B}k=F[h+296>>2];d=F[h+304>>2];a=k+(d>>>3|0)|0;l=F[h+300>>2];if(a>>>0>=l>>>0){break B}f=G[a|0];a=d+1|0;F[h+304>>2]=a;p=f>>>(d&7)&1;if(!p){break B}i=0;f=a>>>3|0;r=k+f|0;C:{if(r>>>0>=l>>>0){d=a;a=0;break C}r=G[r|0];d=d+2|0;F[h+304>>2]=d;f=d>>>3|0;a=r>>>(a&7)&1}f=f+k|0;if(f>>>0>>0){f=G[f|0];F[h+304>>2]=d+1;i=f>>>(d&7)<<1&2}f=-1;i=p|(a|i)<<1;switch(i-1|0){case 6:break y;case 0:break z;case 2:case 4:break A;default:break l}}if((c|0)==(g|0)){f=-1;break l}d=-1;i=F[h+8>>2];z=F[i+24>>2];r=c-4|0;b=F[r>>2];a=-1;D:{if((b|0)==-1){break D}k=b+1|0;k=(k>>>0)%3|0?k:b-2|0;a=-1;if((k|0)==-1){break D}a=F[F[i>>2]+(k<<2)>>2]}f=F[z+(a<<2)>>2];if((f|0)!=-1){d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)==(d|0)){f=-1;break l}if((b|0)!=-1){f=-1;if(F[F[i+12>>2]+(b<<2)>>2]!=-1){break l}}k=F[i+12>>2];if((d|0)!=-1){f=-1;if(F[k+(d<<2)>>2]!=-1){break l}}l=L(e,3);e=l+1|0;F[k+(b<<2)>>2]=e;s=e<<2;F[s+k>>2]=b;p=l+2|0;F[k+(d<<2)>>2]=p;u=p<<2;F[u+k>>2]=d;k=-1;e=-1;E:{if((b|0)==-1){break E}F:{if((b>>>0)%3|0){b=b-1|0;break F}b=b+2|0;e=-1;if((b|0)==-1){break E}}e=F[F[i>>2]+(b<<2)>>2]}b=e;G:{if((d|0)==-1){break G}e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)==-1){break G}k=F[F[i>>2]+(e<<2)>>2]}f=-1;if((a|0)==(b|0)|(a|0)==(k|0)){break l}e=F[i>>2];F[e+(l<<2)>>2]=a;F[e+s>>2]=k;F[e+u>>2]=b;if((b|0)!=-1){F[z+(b<<2)>>2]=p}b=F[h+120>>2]+(a>>>3&536870908)|0;e=F[b>>2];M=b,N=oi(a)&e,F[M>>2]=N;F[r>>2]=l;b=g;break n}if((c|0)==(g|0)){break l}r=c-4|0;b=F[r>>2];a=F[h+8>>2];d=F[a+12>>2];if((b|0)!=-1&F[d+(b<<2)>>2]!=-1){break l}l=(i|0)==5;i=L(e,3);p=(l?2:1)+i|0;s=p<<2;F[s+d>>2]=b;F[d+(b<<2)>>2]=p;Ma(a+24|0,8324);d=F[h+8>>2];k=F[d+24>>2];if(F[d+28>>2]-k>>2>(B|0)){break l}d=F[d>>2];u=d+s|0;f=F[a+28>>2];a=F[a+24>>2];s=(f-a>>2)-1|0;F[u>>2]=s;if((a|0)!=(f|0)){F[k+(s<<2)>>2]=p}f=l?i:i+2|0;l=d+(i+l<<2)|0;H:{if((b|0)==-1){F[d+(f<<2)>>2]=-1;a=-1;break H}I:{J:{K:{if((b>>>0)%3|0){a=b-1|0;break K}a=b+2|0;if((a|0)==-1){break J}}a=F[d+(a<<2)>>2];F[d+(f<<2)>>2]=a;if((a|0)==-1){break I}F[k+(a<<2)>>2]=f;break I}F[d+(f<<2)>>2]=-1}f=b+1|0;b=(f>>>0)%3|0?f:b-2|0;a=-1;if((b|0)==-1){break H}a=F[d+(b<<2)>>2]}F[l>>2]=a;F[r>>2]=i;b=g;break t}if((b|0)==(c|0)){break l}a=c-4|0;k=F[a>>2];F[j+68>>2]=a;l=F[j+44>>2];L:{if(!l){c=a;break L}f=F[j+40>>2];p=ni(l)>>>0>1;d=e&l+2147483647;M:{if(!p){break M}d=e;if(d>>>0>>0){break M}d=(e>>>0)%(l>>>0)|0}i=d;d=F[f+(i<<2)>>2];if(!d){c=a;break L}d=F[d>>2];if(!d){c=a;break L}N:{if(!p){f=l-1|0;while(1){l=F[d+4>>2];O:{if((l|0)!=(e|0)){if((i|0)==(f&l)){break O}c=a;break L}if((e|0)==F[d+8>>2]){break N}}d=F[d>>2];if(d){continue}break}c=a;break L}while(1){f=F[d+4>>2];P:{if((f|0)!=(e|0)){if(f>>>0>=l>>>0){f=(f>>>0)%(l>>>0)|0}if((f|0)==(i|0)){break P}c=a;break L}if((e|0)==F[d+8>>2]){break N}}d=F[d>>2];if(d){continue}break}c=a;break L}if((a|0)!=(q|0)){F[a>>2]=F[d+12>>2];F[j+68>>2]=c;break L}a=q-b|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break x}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break j}a=ka(f<<2)}else{a=0}g=a+(g<<2)|0;F[g>>2]=F[d+12>>2];c=g+4|0;if((b|0)!=(q|0)){while(1){g=g-4|0;q=q-4|0;F[g>>2]=F[q>>2];if((b|0)!=(q|0)){continue}break}}q=a+(f<<2)|0;F[j+72>>2]=q;F[j+68>>2]=c;F[j+64>>2]=g;if(b){ja(b)}}if((c|0)==(g|0)){break p}s=c-4|0;b=F[s>>2];if((b|0)==(k|0)){break p}a=(b|0)==-1;f=F[h+8>>2];if(!a&F[F[f+12>>2]+(b<<2)>>2]!=-1){break p}l=F[f+12>>2];if((k|0)!=-1&F[l+(k<<2)>>2]!=-1){break p}p=L(e,3);r=p+2|0;F[l+(b<<2)>>2]=r;e=r<<2;F[e+l>>2]=b;d=p+1|0;F[l+(k<<2)>>2]=d;u=d<<2;F[u+l>>2]=k;if(a){break w}if((b>>>0)%3|0){d=b-1|0;break s}d=b+2|0;if((d|0)!=-1){break s}a=F[f>>2];d=-1;break r}i=F[h+8>>2];Ma(i+24|0,8324);d=F[h+8>>2];a=L(e,3);k=F[i+28>>2];l=F[i+24>>2];p=k-l|0;i=p>>2;r=i-1|0;F[F[d>>2]+(a<<2)>>2]=r;Ma(d+24|0,8324);s=a+1|0;F[F[d>>2]+(s<<2)>>2]=(F[d+28>>2]-F[d+24>>2]>>2)-1;d=F[h+8>>2];Ma(d+24|0,8324);u=a+2|0;F[F[d>>2]+(u<<2)>>2]=(F[d+28>>2]-F[d+24>>2]>>2)-1;A=F[h+8>>2];d=F[A+24>>2];if(F[A+28>>2]-d>>2>(B|0)){break l}Q:{R:{if((k|0)!=(l|0)){F[d+(r<<2)>>2]=a;f=0;if((p|0)==-4){break R}}F[d+(i<<2)>>2]=s;f=i+1|0;if((f|0)==-1){break Q}}F[d+(f<<2)>>2]=u}if((c|0)!=(q|0)){F[c>>2]=a;c=c+4|0;F[j+68>>2]=c;break t}g=c-b|0;i=g>>2;d=i+1|0;if(d>>>0>=1073741824){break v}f=g>>>1|0;d=g>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break j}f=ka(d<<2)}else{f=0}g=f+(i<<2)|0;F[g>>2]=a;q=f+(d<<2)|0;a=g+4|0;if((b|0)!=(c|0)){while(1){g=g-4|0;c=c-4|0;F[g>>2]=F[c>>2];if((b|0)!=(c|0)){continue}break}}F[j+72>>2]=q;F[j+68>>2]=a;F[j+64>>2]=g;if(!b){break u}ja(b);break u}na();v()}d=-1;a=F[f>>2];F[a+(p<<2)>>2]=-1;i=-1;break q}na();v()}c=a;b=g}a=F[h+40>>2];if((a|0)==F[h+36>>2]){break n}d=a-12|0;i=F[d+4>>2];f=n+(e^-1)|0;if(i>>>0>f>>>0){break p}if((f|0)!=(i|0)){break n}i=G[a-4|0];e=F[d>>2];F[h+40>>2]=d;if((e|0)<0){break p}k=c-4|0;a=F[k>>2];F[j+20>>2]=n+(e^-1);e=j+20|0;F[j+88>>2]=e;Fb(j,j+40|0,e,j+88|0);d=F[j>>2];S:{if(i&1){e=-1;if((a|0)==-1){break S}e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;break S}e=-1;if((a|0)==-1){break S}e=a-1|0;if((a>>>0)%3|0){break S}e=a+2|0}F[d+12>>2]=e;d=F[h+40>>2];if((d|0)==F[h+36>>2]){break n}while(1){a=d-12|0;e=F[a+4>>2];if(e>>>0>f>>>0){break p}if((f|0)!=(e|0)){break n}d=G[d-4|0];e=F[a>>2];F[h+40>>2]=a;if((e|0)<0){break p}a=F[k>>2];F[j+20>>2]=n+(e^-1);e=j+20|0;F[j+88>>2]=e;Fb(j,j+40|0,e,j+88|0);i=F[j>>2];T:{if(d&1){e=-1;if((a|0)==-1){break T}e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;break T}e=-1;if((a|0)==-1){break T}e=a-1|0;if((a>>>0)%3|0){break T}e=a+2|0}F[i+12>>2]=e;d=F[h+40>>2];if((d|0)!=F[h+36>>2]){continue}break}break n}a=F[f>>2];d=F[a+(d<<2)>>2]}F[(p<<2)+a>>2]=d;A=b+1|0;b=(A>>>0)%3|0?A:b-2|0;i=-1;if((b|0)==-1){break q}i=F[(b<<2)+a>>2]}F[a+u>>2]=i;U:{if((k|0)==-1){F[a+e>>2]=-1;i=-1;e=-1;break U}V:{W:{X:{if((k>>>0)%3|0){b=k-1|0;break X}b=k+2|0;if((b|0)==-1){break W}}b=F[(b<<2)+a>>2];F[a+e>>2]=b;if((b|0)==-1){break V}F[F[f+24>>2]+(b<<2)>>2]=r;break V}F[a+e>>2]=-1}i=-1;b=k+1|0;b=(b>>>0)%3|0?b:k-2|0;e=-1;if((b|0)==-1){break U}i=F[(b<<2)+a>>2];e=b}b=F[f+24>>2];k=b+(i<<2)|0;if((d|0)!=-1){F[b+(d<<2)>>2]=F[k>>2]}b=e;while(1){if((b|0)==-1){break o}F[(b<<2)+a>>2]=d;r=b+1|0;b=(r>>>0)%3|0?r:b-2|0;f=-1;Y:{if((b|0)==-1){break Y}b=F[l+(b<<2)>>2];f=-1;if((b|0)==-1){break Y}f=b+1|0;f=(f>>>0)%3|0?f:b-2|0}b=f;if((e|0)!=(b|0)){continue}break}}f=-1;if(!z){break m}break l}F[k>>2]=-1;Z:{if(J){break Z}if((w|0)!=(x|0)){F[x>>2]=i;x=x+4|0;F[j+28>>2]=x;break Z}a=w-o|0;d=a>>2;b=d+1|0;if(b>>>0>=1073741824){break i}e=a>>>1|0;e=a>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(e){if(e>>>0>=1073741824){break j}a=ka(e<<2)}else{a=0}b=a+(d<<2)|0;F[b>>2]=i;x=b+4|0;if((o|0)!=(w|0)){while(1){b=b-4|0;w=w-4|0;F[b>>2]=F[w>>2];if((o|0)!=(w|0)){continue}break}}w=a+(e<<2)|0;F[j+32>>2]=w;F[j+28>>2]=x;F[j+24>>2]=b;if(o){ja(o)}o=b}F[s>>2]=p;b=g}z=(m|0)<(n|0);if((m|0)!=(n|0)){continue}break}m=n}f=-1;a=F[h+8>>2];if(F[a+28>>2]-F[a+24>>2]>>2>(B|0)){break l}if((c|0)!=(g|0)){l=h+72|0;e=h+60|0;w=h+312|0;while(1){c=c-4|0;i=F[c>>2];F[j+68>>2]=c;_:{if(wa(w)){q=F[h+8>>2];k=F[q>>2];if(((F[q+4>>2]-k>>2>>>0)/3|0)<=(m|0)){f=-1;break l}a=-1;f=-1;b=-1;x=F[q+24>>2];g=-1;$:{if((i|0)==-1){break $}n=i+1|0;n=(n>>>0)%3|0?n:i-2|0;g=-1;if((n|0)==-1){break $}g=F[k+(n<<2)>>2]}n=g;o=F[x+(n<<2)>>2];aa:{if((o|0)==-1){d=1;g=-1;break aa}d=1;p=o+1|0;o=(p>>>0)%3|0?p:o-2|0;g=-1;if((o|0)==-1){break aa}d=0;a=o;g=a+1|0;g=(g>>>0)%3|0?g:a-2|0;if((g|0)!=-1){g=F[k+(g<<2)>>2]}else{g=-1}}o=F[(g<<2)+x>>2];if((o|0)!=-1){b=o+1|0;b=(b>>>0)%3|0?b:o-2|0}if((a|0)==(i|0)|(b|0)==(i|0)|((i|0)!=-1&F[F[q+12>>2]+(i<<2)>>2]!=-1|(a|0)==(b|0))){break l}if(!d&F[F[q+12>>2]+(a<<2)>>2]!=-1){break l}d=-1;o=F[q+12>>2];q=-1;ba:{if((b|0)==-1){break ba}if(F[o+(b<<2)>>2]!=-1){break l}f=b+1|0;f=(f>>>0)%3|0?f:b-2|0;q=-1;if((f|0)==-1){break ba}q=F[k+(f<<2)>>2]}f=L(m,3);F[j>>2]=f;F[o+(f<<2)>>2]=i;F[o+(i<<2)>>2]=f;f=F[j>>2]+1|0;F[o+(f<<2)>>2]=a;F[o+(a<<2)>>2]=f;a=F[j>>2]+2|0;F[o+(a<<2)>>2]=b;F[o+(b<<2)>>2]=a;a=F[j>>2];F[k+(a<<2)>>2]=g;b=a+1|0;f=k+(b<<2)|0;F[f>>2]=q;o=a+2|0;i=k+(o<<2)|0;F[i>>2]=n;a=F[h+120>>2];g=b?g:-1;n=a+(g>>>3&536870908)|0;k=F[n>>2];M=n,N=oi(g)&k,F[M>>2]=N;d=(b|0)!=-1?F[f>>2]:d;b=a+(d>>>3&536870908)|0;g=F[b>>2];M=b,N=oi(d)&g,F[M>>2]=N;b=-1;b=(o|0)!=-1?F[i>>2]:b;a=a+(b>>>3&536870908)|0;g=F[a>>2];M=a,N=oi(b)&g,F[M>>2]=N;D[j+88|0]=1;wd(e,j+88|0);Ma(l,j);m=m+1|0;g=F[j+64>>2];break _}b=F[h+64>>2];a=F[h+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break h}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}$a(e,a);b=F[h+64>>2]}F[h+64>>2]=b+1;a=F[h+60>>2]+(b>>>3&536870908)|0;d=F[a>>2];M=a,N=oi(b)&d,F[M>>2]=N;b=F[h+76>>2];if((b|0)!=F[h+80>>2]){F[b>>2]=i;F[h+76>>2]=b+4;break _}f=F[l>>2];a=b-f|0;o=a>>2;d=o+1|0;if(d>>>0>=1073741824){break g}n=a>>>1|0;n=a>>>0>=2147483644?1073741823:d>>>0>>0?n:d;if(n){if(n>>>0>=1073741824){break j}a=ka(n<<2)}else{a=0}d=a+(o<<2)|0;F[d>>2]=i;o=d+4|0;if((b|0)!=(f|0)){while(1){d=d-4|0;b=b-4|0;F[d>>2]=F[b>>2];if((b|0)!=(f|0)){continue}break}}F[h+80>>2]=a+(n<<2);F[h+76>>2]=o;F[h+72>>2]=d;if(!f){break _}ja(f)}if((c|0)!=(g|0)){continue}break}a=F[h+8>>2]}f=-1;if(((F[a+4>>2]-F[a>>2]>>2>>>0)/3|0)!=(m|0)){break l}f=F[a+28>>2]-F[a+24>>2]>>2;c=F[j+24>>2];n=F[j+28>>2];if((c|0)==(n|0)){break k}while(1){g=F[c>>2];e=F[a+24>>2];b=f-1|0;d=e+(b<<2)|0;if(F[d>>2]==-1){while(1){b=f-2|0;f=f-1|0;d=e+(b<<2)|0;if(F[d>>2]==-1){continue}break}}if(b>>>0>=g>>>0){F[j>>2]=a;d=F[d>>2];D[j+12|0]=1;F[j+8>>2]=d;F[j+4>>2]=d;if((d|0)!=-1){while(1){a=F[F[h+8>>2]>>2]+(d<<2)|0;if(F[a>>2]!=(b|0)){f=-1;break l}F[a>>2]=g;nc(j);d=F[j+8>>2];if((d|0)!=-1){continue}break}a=F[h+8>>2]}m=F[a+24>>2];e=m+(b<<2)|0;if((g|0)!=-1){F[m+(g<<2)>>2]=F[e>>2]}F[e>>2]=-1;e=1<>2];g=m+(g>>>3&536870908)|0;d=1<>>3&536870908)|0;if(d&F[m>>2]){b=e|F[g>>2]}else{b=F[g>>2]&(e^-1)}F[g>>2]=b;F[m>>2]=F[m>>2]&(d^-1);f=f-1|0}c=c+4|0;if((n|0)!=(c|0)){continue}break}}c=F[j+24>>2]}if(c){ja(c)}a=F[j+48>>2];if(a){while(1){c=F[a>>2];ja(a);a=c;if(a){continue}break}}a=F[j+40>>2];F[j+40>>2]=0;if(a){ja(a)}a=F[j+64>>2];if(a){F[j+68>>2]=a;ja(a)}Z=j+96|0;a=f;break f}oa();v()}na();v()}na();v()}na();v()}b=a;if((a|0)==-1){break e}a=C;c=F[a+16>>2];g=c+F[a>>2]|0;c=F[a+8>>2]-c|0;a=F[F[h+4>>2]+32>>2];E[a+38>>1]=H[a+38>>1];F[a>>2]=g;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=c;F[a+12>>2]=0;ca:{if(F[h+216>>2]==F[h+220>>2]){break ca}a=F[h+8>>2];if(F[a+4>>2]==F[a>>2]){break ca}c=0;while(1){if(Ad(h,c)){c=c+3|0;a=F[h+8>>2];if(c>>>0>2]-F[a>>2]>>2>>>0){continue}break ca}break}break e}if(G[h+308|0]){D[h+308|0]=0;g=F[h+292>>2];a=0;e=F[h+304>>2]+7|0;a=e>>>0<7?1:a;c=a>>>3|0;m=a<<29|e>>>3;a=m+F[h+288>>2]|0;e=c+g|0;F[h+288>>2]=a;F[h+292>>2]=a>>>0>>0?e+1|0:e}c=F[h+216>>2];if((c|0)!=F[h+220>>2]){a=0;while(1){e=L(a,144);Zc((e+c|0)+4|0,F[h+8>>2]);g=F[y>>2];m=g+e|0;c=F[m+132>>2];m=F[m+136>>2];if((c|0)!=(m|0)){while(1){Xc((e+F[y>>2]|0)+4|0,F[c>>2]);c=c+4|0;if((m|0)!=(c|0)){continue}break}g=F[y>>2]}if(!Yc((g+e|0)+4|0)){break e}a=a+1|0;c=F[h+216>>2];if(a>>>0<(F[h+220>>2]-c|0)/144>>>0){continue}break}}a=F[h+8>>2];Hb(h+184|0,F[a+28>>2]-F[a+24>>2]>>2);g=F[h+216>>2];if((g|0)!=F[h+220>>2]){c=0;while(1){a=L(c,144)+g|0;g=F[a+60>>2]-F[a+56>>2]>>2;e=a+104|0;a=F[h+8>>2];a=F[a+28>>2]-F[a+24>>2]>>2;Hb(e,(a|0)<(g|0)?g:a);c=c+1|0;g=F[h+216>>2];if(c>>>0<(F[h+220>>2]-g|0)/144>>>0){continue}break}}K=zd(h,b)}}Z=t- -64|0;return K|0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var 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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0;B=c;c=0;m=Z-96|0;Z=m;l=m+16|0;ma(l,0,76);F[m+92>>2]=-1;F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;r=Z-16|0;Z=r;F[l+68>>2]=0;F[l+72>>2]=0;F[l>>2]=b;s=Z-16|0;Z=s;u=b;a=F[b+20>>2];a:{if((F[b+24>>2]-a|0)<=0){break a}a=F[a>>2];if((a|0)==-1){break a}c=F[F[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=F[u+100>>2];e=F[u+96>>2];F[s+8>>2]=0;F[s>>2]=0;F[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=ka(f);F[s>>2]=d;F[s+8>>2]=d+L(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=ma(n,0,d);F[s+4>>2]=d+f;if(G[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=L(a,12);b=d+e|0;i=F[b+4>>2];j=F[b>>2];d=d+f|0;F[d+8>>2]=F[b+8>>2];F[d>>2]=j;F[d+4>>2]=i;d=L(a|1,12);b=d+e|0;i=F[b+4>>2];j=F[b>>2];d=d+f|0;F[d+8>>2]=F[b+8>>2];F[d>>2]=j;F[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=L(a,12);a=b+e|0;c=F[a+4>>2];e=F[a>>2];b=b+f|0;F[b+8>>2]=F[a+8>>2];F[b>>2]=e;F[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=F[c+68>>2];c=0;while(1){d=L(c,12);b=d+e|0;g=F[a+(F[b>>2]<<2)>>2];i=F[a+(F[b+4>>2]<<2)>>2];d=d+f|0;F[d+8>>2]=F[a+(F[b+8>>2]<<2)>>2];F[d+4>>2]=i;F[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;H=Z-16|0;Z=H;h=ka(88);Zb(h);C=Z-16|0;Z=C;F[h+80>>2]=0;F[h+84>>2]=0;a=F[h+76>>2];F[h+76>>2]=0;if(a){ja(a)}F[h+68>>2]=0;F[h+72>>2]=0;b=h- -64|0;a=F[b>>2];F[b>>2]=0;if(a){ja(a)}g=F[s+4>>2];b=F[s>>2];c=(g-b|0)/12|0;a=L(c,3);f=F[h>>2];e=F[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){nd(h,a-e|0);g=F[s+4>>2];b=F[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}F[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=F[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=L(d,12);j=e+a|0;f=b+e|0;F[j>>2]=F[f>>2];F[a+(e|4)>>2]=F[f+4>>2];F[j+8>>2]=F[f+8>>2];f=L(d|1,12);e=f+a|0;f=b+f|0;F[e>>2]=F[f>>2];F[e+4>>2]=F[f+4>>2];F[e+8>>2]=F[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=L(d,12);a=c+a|0;b=b+c|0;F[a>>2]=F[b>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=F[b+8>>2]}F[C+12>>2]=-1;a=0;e=0;g=0;f=Z-32|0;Z=f;h:{i:{w=C+12|0;j:{if(!w){break j}c=F[h+4>>2];j=F[h>>2];d=c-j|0;i=d>>2;n=F[h+12>>2];b=F[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){ab(h+12|0,i-b|0,10228);c=F[h+4>>2];j=F[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}F[h+16>>2]=n+(i<<2)}F[f+24>>2]=0;F[f+16>>2]=0;F[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=ka(d);F[f+20>>2]=e;F[f+16>>2]=e;F[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=F[(a<<2)+j>>2];b=F[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}F[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){Fa(f+16|0,d-b|0,f);j=F[h>>2];c=F[h+4>>2];e=F[f+16>>2];break q}if(b>>>0<=d>>>0){break q}F[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;F[b>>2]=F[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=ka(d<<1);ma(d,255,i<<3)}F[f+8>>2]=0;F[f>>2]=0;F[f+4>>2]=0;b=F[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=ka(a);F[f>>2]=q;F[f+8>>2]=(t<<2)+q;b=ma(q,0,a);F[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;F[c+b>>2]=a;x=c|4;a=F[c+e>>2]+a|0;F[x+b>>2]=a;y=c|8;a=a+F[e+x>>2]|0;F[y+b>>2]=a;c=c|12;a=a+F[e+y>>2]|0;F[c+b>>2]=a;a=a+F[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;F[c+b>>2]=a;g=g+1|0;a=F[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}x=F[h+40>>2];y=F[h+12>>2];n=0;while(1){I=n<<2;a=I+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=F[(b<<2)+j>>2]}b=F[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=F[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}x=x+1|0;F[h+40>>2]=x;c=n+3|0;break t}p=F[a-4>>2]}a=p<<2;A=F[a+e>>2];v:{w:{if((A|0)<=0){break w}a=F[a+q>>2];g=0;while(1){o=(a<<3)+d|0;z=F[o>>2];if((z|0)==-1){break w}x:{if((k|0)!=(z|0)){break x}o=F[o+4>>2];if((o|0)!=-1){z=F[(o<<2)+j>>2]}else{z=-1}if((z|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((A|0)<=(g|0)){break y}a=b+1|0;J=(a<<3)+d|0;z=F[J>>2];K=(b<<3)+d|0;F[K+4>>2]=F[J+4>>2];F[K>>2]=z;if((z|0)!=-1){continue}}break}F[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}F[y+I>>2]=o;F[y+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((A|0)!=(g|0)){continue}break}}a=k<<2;k=F[a+e>>2];if((k|0)<=0){break v}a=F[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(F[b>>2]==-1){F[b>>2]=p;F[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}na();v()}F[w>>2]=t;if(q){ja(q)}if(d){ja(d)}a=F[f+16>>2];if(!a){break j}F[f+20>>2]=a;ja(a)}Z=f+32|0;x=(w|0)!=0;if(x){k=Z-32|0;Z=k;a=F[h>>2];g=F[h+4>>2];F[k+24>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=ka(b<<2);F[k+24>>2]=b;F[k+20>>2]=0;F[k+16>>2]=c;Yb(k+16|0,a);g=F[h>>2];c=F[h+4>>2]}F[k+8>>2]=0;F[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=F[k+16>>2];A:{if(F[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=F[k>>2];F[k+4>>2]=c;e=F[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=F[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(F[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=F[k+16>>2]+(j>>>3&536870908)|0;F[a>>2]=F[a>>2]|1<>>0)%3|0?a:j-2|0;g=F[h>>2];y=(j>>>0)%3|0;b=(y?-1:2)+j|0;n=F[k>>2];A=(n|0)==(c|0);F:{if(A){break F}w=F[(f<<2)+g>>2];q=F[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((w|0)!=F[a>>2]){break G}p=F[a+4>>2];t=F[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((w|0)==F[a>>2]){t=-1;e=-1;p=F[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=F[(b<<2)+g>>2];H:{if(F[k+8>>2]!=(c|0)){F[c>>2]=b;F[c+4>>2]=f;c=c+8|0;F[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=ka(g<<3)}else{e=0}a=e+(p<<3)|0;F[a>>2]=b;F[a+4>>2]=f;b=a+8|0;if(!A){while(1){c=c-8|0;f=F[c+4>>2];a=a-8|0;F[a>>2]=F[c>>2];F[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=F[k>>2]}F[k+8>>2]=e+(g<<3);F[k+4>>2]=b;F[k>>2]=a;if(c){ja(c)}c=b}I:{J:{if(y){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=F[F[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=F[h>>2];break A}oa();v()}c=F[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){F[q+(t<<2)>>2]=-1}if((c|0)!=-1){F[q+(c<<2)>>2]=-1}F[q+(b<<2)>>2]=-1;F[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=F[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=F[k>>2];if(a){ja(a)}a=F[k+16>>2];if(a){ja(a)}Z=k+32|0;n=0;g=Z-32|0;Z=g;e=F[C+12>>2];F[h+36>>2]=e;p=h+24|0;b=F[h+24>>2];a=F[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){ab(p,e-a|0,10228);F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;break L}if(a>>>0>e>>>0){F[h+28>>2]=b+(e<<2)}F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=ka(a<<2);F[g+24>>2]=a;F[g+20>>2]=0;F[g+16>>2]=b;Yb(g+16|0,e)}a=F[h>>2];b=F[h+4>>2];F[g+8>>2]=0;F[g>>2]=0;F[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=ka(b<<2);F[g+8>>2]=b;F[g+4>>2]=0;F[g>>2]=c;Yb(g,a);b=F[h>>2];a=F[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=L(n,3);d=(q<<2)+b|0;f=F[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=F[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=F[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=F[g>>2];while(1){f=k+q|0;if(!(F[(f>>>3&536870908)+i>>2]>>>f&1)){a=F[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=F[d+(b<<2)>>2];t=c&i;if(t){c=F[h+28>>2];P:{if((c|0)!=F[h+32>>2]){F[c>>2]=-1;F[h+28>>2]=c+4;break P}i=F[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=ka(j<<2)}else{b=0}d=b+(o<<2)|0;F[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[h+32>>2]=b+(j<<2);F[h+28>>2]=o;F[h+24>>2]=d;if(!i){break P}ja(i)}c=F[h+52>>2];Q:{if((c|0)!=F[h+56>>2]){F[c>>2]=a;F[h+52>>2]=c+4;break Q}i=F[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=ka(j<<2)}else{b=0}d=b+(o<<2)|0;F[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[h+56>>2]=b+(j<<2);F[h+52>>2]=a;F[h+48>>2]=d;if(!i){break Q}ja(i)}c=F[g+20>>2];a=F[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}$a(b,a);c=F[g+20>>2]}F[g+20>>2]=c+1;d=F[g+16>>2];a=d+(c>>>3&536870908)|0;b=F[a>>2];N=a,O=oi(c)&b,F[N>>2]=O;c=1<>>5|0;i=F[(b<<2)+d>>2];a=e;e=a+1|0}F[(b<<2)+d>>2]=c|i;o=F[h+24>>2]+(a<<2)|0;j=F[h+12>>2];b=F[h>>2];i=F[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;F[d>>2]=F[d>>2]|1<>2]=c;if(t){F[(c<<2)+b>>2]=a}w=c+1|0;c=(w>>>0)%3|0?w:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=F[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=F[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=F[h+12>>2];b=F[h>>2];while(1){d=(c>>>3&536870908)+i|0;F[d>>2]=F[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=F[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=F[h>>2];a=F[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}oa();v()}c=0;F[h+44>>2]=0;a=F[g+16>>2];b=F[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(F[d>>2]>>>c&1)){i=i+1|0;F[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=F[g>>2];if(b){ja(b);a=F[g+16>>2]}if(a){ja(a)}Z=g+32|0}Z=C+16|0;if(!x){F[H+8>>2]=0;Za(h);h=0}Z=H+16|0;a=h;break h}na();v()}b=F[s>>2];if(!b){break d}F[s+4>>2]=b;ja(b)}Z=s+16|0;break b}na();v()}c=F[l+4>>2];b=a;F[l+4>>2]=a;if(c){Za(c);b=F[l+4>>2]}X:{if(!b){break X}a=F[u+100>>2];c=F[u+96>>2];D[r+12|0]=0;Ea(l+56|0,(a-c|0)/12|0,r+12|0);a=F[u+100>>2];c=F[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(F[F[l+56>>2]+(E>>>3&536870908)>>2]>>>E&1)){a=L(E,3);Vb(l,0,a);c=F[l+8>>2];e=F[l+12>>2];Vb(l,1,a+1|0);f=F[l+20>>2];d=F[l+24>>2];Vb(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=F[l+36>>2]-F[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(F[l+68>>2]<=0){break Y}F[r+12>>2]=F[l+76>>2];F[r+8>>2]=m;Qa(r+8|0,r+12|0);a=F[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=F[(F[F[l>>2]+96>>2]+L(e,12)|0)+(a-L(e,3)<<2)>>2]}F[r+12>>2]=a;F[r+8>>2]=m;Qa(r+8|0,r+12|0);e=F[l+72>>2];F[l+72>>2]=e+2;if(!(e&1)){break Y}F[r+12>>2]=a;F[r+8>>2]=m;Qa(r+8|0,r+12|0);F[l+72>>2]=F[l+72>>2]+1}d=0;e=Z-16|0;Z=e;F[l+68>>2]=F[l+68>>2]+1;a=L(c,12)+l|0;a=F[a+12>>2]-F[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=F[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=F[l+56>>2]+(g>>>3&536870908)|0;F[i>>2]=F[i>>2]|1<>2]=F[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){F[e+12>>2]=F[(F[F[l>>2]+96>>2]+L(f,12)|0)+((a>>>0)%3<<2)>>2];F[e+8>>2]=m;Qa(e+8|0,e+12|0);break ca}F[e+12>>2]=-1;F[e+8>>2]=m;Qa(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=F[(F[F[l>>2]+96>>2]+L(g,12)|0)+(f-L(g,3)<<2)>>2]}else{f=-1}F[e+12>>2]=f;F[e+8>>2]=m;Qa(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=F[(F[F[l>>2]+96>>2]+L(c,12)|0)+(f-L(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:F[(F[F[l>>2]+96>>2]+L(f,12)|0)+((a>>>0)%3<<2)>>2];F[l+76>>2]=c;F[e+12>>2]=c;F[e+8>>2]=m;Qa(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((L(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;F[e+12>>2]=-1;F[e+8>>2]=m;Qa(e+8|0,e+12|0)}F[l+76>>2]=c;F[e+12>>2]=c;F[e+8>>2]=m;Qa(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=F[F[F[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}Z=e+16|0;c=F[u+96>>2];a=F[u+100>>2]}E=E+1|0;if(E>>>0<(a-c|0)/12>>>0){continue}break}}Z=r+16|0;da:{if(b){a=F[B>>2];if(a){F[B+4>>2]=a;ja(a)}F[B>>2]=F[m>>2];F[B+4>>2]=F[m+4>>2];F[B+8>>2]=F[m+8>>2];M=F[m+84>>2];break da}a=F[m>>2];if(!a){break da}F[m+4>>2]=a;ja(a)}a=F[m+72>>2];if(a){ja(a)}a=F[m+48>>2];if(a){F[m+52>>2]=a;ja(a)}a=F[m+36>>2];if(a){F[m+40>>2]=a;ja(a)}a=F[m+24>>2];if(a){F[m+28>>2]=a;ja(a)}a=F[m+20>>2];F[m+20>>2]=0;if(a){Za(a)}Z=m+96|0;return M|0}function sf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=F[i+80>>2];h=G[c+24|0];c:{if((L(j,h)|0)!=(e|0)){break c}d=F[c+28>>2]!=1;b=G[c+84|0];if(!(d|!b)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break c}if(h){a=ka(h);ma(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=F[F[c>>2]>>2];m=F[c+48>>2];g=F[c+40>>2];b=ki(g,F[c+44>>2],G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;la(i,la(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=F[c>>2];e=F[c+48>>2];f=F[c+40>>2];i=F[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=F[h>>2];m=ki(f,i,c,0)+e|0;k=la(a,k+m|0,f);m=F[h>>2];n=ki(f,i,c|1,0)+e|0;la(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=F[h>>2];d=ki(g,0,f,i)+e|0;la(a,c+d|0,f);break d}b=1;h=F[c>>2];e=F[c+48>>2];g=F[c+68>>2];f=F[c+40>>2];i=F[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=F[h>>2];n=c<<2;l=ki(f,i,F[n+g>>2],0)+e|0;m=la(a,m+l|0,f);l=F[h>>2];n=ki(f,i,F[g+(n|4)>>2],0)+e|0;la(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=F[h>>2];c=ki(f,i,F[g+(c<<2)>>2],0)+e|0;la(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!Cb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!Cb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break d}la(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}ja(a)}break a;case 2:n=G[c+24|0];l=n<<1;j=F[i+80>>2];e:{if((L(l,j)|0)!=(e|0)){break e}i=F[c+28>>2]!=3;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=ka(l);ma(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=F[c+68>>2];k=F[c>>2];b=F[c+48>>2];i=F[c+40>>2];m=F[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=F[k>>2];p=ki(i,m,F[o+(d<<2)>>2],0)+b|0;la((c<<1)+f|0,la(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=F[k>>2];p=ki(g,h,i,m)+b|0;la((c<<1)+f|0,la(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[k>>2];g=c<<2;n=ki(i,m,F[g+o>>2],0)+b|0;h=la(e,h+n|0,i);n=F[k>>2];g=ki(i,m,F[o+(g|4)>>2],0)+b|0;la(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=F[k>>2];b=ki(i,m,F[o+(c<<2)>>2],0)+b|0;la(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=F[k>>2];l=ki(g,h,i,m)+b|0;d=la(e,d+l|0,i);l=F[k>>2];o=ki(i,m,g|1,h)+b|0;la(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=F[k>>2];b=ki(g,h,i,m)+b|0;la(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!Ab(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!Ab(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break g}la((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}ja(e)}b=a;break a;case 4:l=G[c+24|0];o=l<<2;j=F[i+80>>2];h:{if((L(o,j)|0)!=(e|0)){break h}i=F[c+28>>2]!=5;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=ka(o);ma(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=F[c+68>>2];m=F[c>>2];i=F[c+48>>2];k=F[c+40>>2];n=F[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=F[m>>2];p=ki(k,n,F[a+(d<<2)>>2],0)+i|0;la((c<<2)+f|0,la(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=F[m>>2];p=ki(g,h,k,n)+i|0;la((c<<2)+f|0,la(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[m>>2];g=c<<2;l=ki(k,n,F[g+a>>2],0)+i|0;h=la(e,h+l|0,k);l=F[m>>2];g=ki(k,n,F[a+(g|4)>>2],0)+i|0;la(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=F[m>>2];a=ki(k,n,F[a+(c<<2)>>2],0)+i|0;la(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=F[m>>2];d=ki(g,h,k,n)+i|0;a=la(e,a+d|0,k);d=F[m>>2];o=ki(k,n,g|1,h)+i|0;la(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=F[m>>2];c=ki(g,h,k,n)+i|0;la(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!yb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!yb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break j}la((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}ja(e)}break a;case 1:j=F[i+80>>2];h=G[c+24|0];k:{if((L(j,h)|0)!=(e|0)){break k}d=F[c+28>>2]!=2;b=G[c+84|0];if(!(d|!b)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break k}if(h){a=ka(h);ma(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=F[F[c>>2]>>2];m=F[c+48>>2];g=F[c+40>>2];b=ki(g,F[c+44>>2],G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;la(i,la(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=F[c>>2];e=F[c+48>>2];f=F[c+40>>2];i=F[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=F[h>>2];m=ki(f,i,c,0)+e|0;k=la(a,k+m|0,f);m=F[h>>2];n=ki(f,i,c|1,0)+e|0;la(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=F[h>>2];d=ki(g,0,f,i)+e|0;la(a,c+d|0,f);break l}b=1;h=F[c>>2];e=F[c+48>>2];g=F[c+68>>2];f=F[c+40>>2];i=F[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=F[h>>2];n=c<<2;l=ki(f,i,F[n+g>>2],0)+e|0;m=la(a,m+l|0,f);l=F[h>>2];n=ki(f,i,F[g+(n|4)>>2],0)+e|0;la(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=F[h>>2];c=ki(f,i,F[g+(c<<2)>>2],0)+e|0;la(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!Bb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!Bb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break l}la(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}ja(a)}break a;case 3:n=G[c+24|0];l=n<<1;j=F[i+80>>2];m:{if((L(l,j)|0)!=(e|0)){break m}i=F[c+28>>2]!=4;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=ka(l);ma(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=F[c+68>>2];k=F[c>>2];b=F[c+48>>2];i=F[c+40>>2];m=F[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=F[k>>2];p=ki(i,m,F[o+(d<<2)>>2],0)+b|0;la((c<<1)+f|0,la(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=F[k>>2];p=ki(g,h,i,m)+b|0;la((c<<1)+f|0,la(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[k>>2];g=c<<2;n=ki(i,m,F[g+o>>2],0)+b|0;h=la(e,h+n|0,i);n=F[k>>2];g=ki(i,m,F[o+(g|4)>>2],0)+b|0;la(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=F[k>>2];b=ki(i,m,F[o+(c<<2)>>2],0)+b|0;la(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=F[k>>2];l=ki(g,h,i,m)+b|0;d=la(e,d+l|0,i);l=F[k>>2];o=ki(i,m,g|1,h)+b|0;la(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=F[k>>2];b=ki(g,h,i,m)+b|0;la(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!zb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!zb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break o}la((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}ja(e)}b=a;break a;case 5:l=G[c+24|0];o=l<<2;j=F[i+80>>2];p:{if((L(o,j)|0)!=(e|0)){break p}i=F[c+28>>2]!=6;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=ka(o);ma(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=F[c+68>>2];m=F[c>>2];i=F[c+48>>2];k=F[c+40>>2];n=F[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=F[m>>2];p=ki(k,n,F[a+(d<<2)>>2],0)+i|0;la((c<<2)+f|0,la(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=F[m>>2];p=ki(g,h,k,n)+i|0;la((c<<2)+f|0,la(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[m>>2];g=c<<2;l=ki(k,n,F[g+a>>2],0)+i|0;h=la(e,h+l|0,k);l=F[m>>2];g=ki(k,n,F[a+(g|4)>>2],0)+i|0;la(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=F[m>>2];a=ki(k,n,F[a+(c<<2)>>2],0)+i|0;la(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=F[m>>2];d=ki(g,h,k,n)+i|0;a=la(e,a+d|0,k);d=F[m>>2];o=ki(k,n,g|1,h)+i|0;la(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=F[m>>2];c=ki(g,h,k,n)+i|0;la(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!xb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!xb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break r}la((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}ja(e)}break a;case 8:p=G[c+24|0];q=p<<2;k=F[i+80>>2];s:{if((L(q,k)|0)!=(e|0)){break s}i=F[c+28>>2];t:{if(!p){break t}a=ka(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){F[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){F[d+24>>2]=-1073741824;F[d+28>>2]=-1073741824;F[d+16>>2]=-1073741824;F[d+20>>2]=-1073741824;F[d+8>>2]=-1073741824;F[d+12>>2]=-1073741824;F[d>>2]=-1073741824;F[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=F[c+68>>2];l=F[c>>2];i=F[c+48>>2];s=G[c+84|0];m=F[c+44>>2];c=F[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=F[l>>2];b=ki(c,m,s?d:F[r+(d<<2)>>2],0)+i|0;la(h,la(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=F[l>>2];g=d<<2;j=ki(c,m,F[g+r>>2],0)+i|0;h=la(a,h+j|0,o);j=F[l>>2];g=ki(c,m,F[r+(g|4)>>2],0)+i|0;la(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=F[l>>2];c=ki(c,m,F[r+(d<<2)>>2],0)+i|0;la(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=F[l>>2];e=ki(g,h,c,m)+i|0;d=la(a,d+e|0,o);e=F[l>>2];p=ki(c,m,g|1,h)+i|0;la(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=F[l>>2];c=ki(g,h,c,m)+i|0;la(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!lb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!lb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break u}la((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}ja(a)}a=b;break;default:break b}}b=a}return b|0}function Pd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Z-80|0;Z=h;e=F[c+36>>2];F[h+72>>2]=F[c+32>>2];F[h+76>>2]=e;f=F[c+28>>2];e=h- -64|0;F[e>>2]=F[c+24>>2];F[e+4>>2]=f;e=F[c+20>>2];F[h+56>>2]=F[c+16>>2];F[h+60>>2]=e;e=F[c+12>>2];F[h+48>>2]=F[c+8>>2];F[h+52>>2]=e;e=F[c+4>>2];F[h+40>>2]=F[c>>2];F[h+44>>2]=e;jc(a,h+40|0,h+24|0);a:{if(F[a>>2]){break a}if(D[a+15|0]<0){ja(F[a+4>>2])}if(G[h+31|0]!=1){b=ka(32);D[b+20|0]=0;c=G[1446]|G[1447]<<8|(G[1448]<<16|G[1449]<<24);D[b+16|0]=c;D[b+17|0]=c>>>8;D[b+18|0]=c>>>16;D[b+19|0]=c>>>24;c=G[1442]|G[1443]<<8|(G[1444]<<16|G[1445]<<24);d=G[1438]|G[1439]<<8|(G[1440]<<16|G[1441]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1434]|G[1435]<<8|(G[1436]<<16|G[1437]<<24);d=G[1430]|G[1431]<<8|(G[1432]<<16|G[1433]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,20);ja(b);break a}j=Z-16|0;Z=j;b:{c:{switch(G[h+32|0]){case 0:e=Kd(ka(48));F[e>>2]=9864;F[h+8>>2]=0;F[h+12>>2]=0;F[h>>2]=0;F[h+4>>2]=0;F[h+16>>2]=e;break b;case 1:e=Kd(ka(52));F[e+48>>2]=0;F[e>>2]=8176;F[h+8>>2]=0;F[h+12>>2]=0;F[h>>2]=0;F[h+4>>2]=0;F[h+16>>2]=e;break b;default:break c}}f=ka(32);D[f+28|0]=0;e=G[1520]|G[1521]<<8|(G[1522]<<16|G[1523]<<24);D[f+24|0]=e;D[f+25|0]=e>>>8;D[f+26|0]=e>>>16;D[f+27|0]=e>>>24;e=G[1516]|G[1517]<<8|(G[1518]<<16|G[1519]<<24);g=G[1512]|G[1513]<<8|(G[1514]<<16|G[1515]<<24);D[f+16|0]=g;D[f+17|0]=g>>>8;D[f+18|0]=g>>>16;D[f+19|0]=g>>>24;D[f+20|0]=e;D[f+21|0]=e>>>8;D[f+22|0]=e>>>16;D[f+23|0]=e>>>24;e=G[1508]|G[1509]<<8|(G[1510]<<16|G[1511]<<24);g=G[1504]|G[1505]<<8|(G[1506]<<16|G[1507]<<24);D[f+8|0]=g;D[f+9|0]=g>>>8;D[f+10|0]=g>>>16;D[f+11|0]=g>>>24;D[f+12|0]=e;D[f+13|0]=e>>>8;D[f+14|0]=e>>>16;D[f+15|0]=e>>>24;e=G[1500]|G[1501]<<8|(G[1502]<<16|G[1503]<<24);g=G[1496]|G[1497]<<8|(G[1498]<<16|G[1499]<<24);D[f|0]=g;D[f+1|0]=g>>>8;D[f+2|0]=g>>>16;D[f+3|0]=g>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;F[j>>2]=-1;e=j|4;ra(e,f,28);k=D[j+15|0];F[h>>2]=F[j>>2];g=h+4|0;d:{if((k|0)>=0){k=F[e+4>>2];F[g>>2]=F[e>>2];F[g+4>>2]=k;F[g+8>>2]=F[e+8>>2];F[h+16>>2]=0;break d}ra(g,F[j+4>>2],F[j+8>>2]);e=D[j+15|0];F[h+16>>2]=0;if((e|0)>=0){break d}ja(F[j+4>>2])}ja(f)}Z=j+16|0;e=F[h>>2];e:{if(e){F[a>>2]=e;a=a+4|0;if(D[h+15|0]>=0){b=h|4;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;F[a+8>>2]=F[b+8>>2];break e}ra(a,F[h+4>>2],F[h+8>>2]);break e}e=F[h+16>>2];F[h+16>>2]=0;F[e+44>>2]=d;f=Z-32|0;Z=f;F[e+32>>2]=c;F[e+40>>2]=b;F[e+4>>2]=d;jc(a,c,f+16|0);f:{if(F[a>>2]){break f}if(D[a+15|0]<0){ja(F[a+4>>2])}b=G[f+23|0];if(($[F[F[e>>2]+8>>2]](e)|0)!=(b|0)){b=ka(64);D[b+50|0]=0;c=G[1304]|G[1305]<<8;D[b+48|0]=c;D[b+49|0]=c>>>8;c=G[1300]|G[1301]<<8|(G[1302]<<16|G[1303]<<24);d=G[1296]|G[1297]<<8|(G[1298]<<16|G[1299]<<24);D[b+40|0]=d;D[b+41|0]=d>>>8;D[b+42|0]=d>>>16;D[b+43|0]=d>>>24;D[b+44|0]=c;D[b+45|0]=c>>>8;D[b+46|0]=c>>>16;D[b+47|0]=c>>>24;c=G[1292]|G[1293]<<8|(G[1294]<<16|G[1295]<<24);d=G[1288]|G[1289]<<8|(G[1290]<<16|G[1291]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;D[b+36|0]=c;D[b+37|0]=c>>>8;D[b+38|0]=c>>>16;D[b+39|0]=c>>>24;c=G[1284]|G[1285]<<8|(G[1286]<<16|G[1287]<<24);d=G[1280]|G[1281]<<8|(G[1282]<<16|G[1283]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[1276]|G[1277]<<8|(G[1278]<<16|G[1279]<<24);d=G[1272]|G[1273]<<8|(G[1274]<<16|G[1275]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1268]|G[1269]<<8|(G[1270]<<16|G[1271]<<24);d=G[1264]|G[1265]<<8|(G[1266]<<16|G[1267]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1260]|G[1261]<<8|(G[1262]<<16|G[1263]<<24);d=G[1256]|G[1257]<<8|(G[1258]<<16|G[1259]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,50);ja(b);break f}c=G[f+21|0];D[e+36|0]=c;d=G[f+22|0];D[e+37|0]=d;if((c|0)!=2){b=ka(32);D[b+26|0]=0;c=G[1427]|G[1428]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1423]|G[1424]<<8|(G[1425]<<16|G[1426]<<24);d=G[1419]|G[1420]<<8|(G[1421]<<16|G[1422]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1415]|G[1416]<<8|(G[1417]<<16|G[1418]<<24);d=G[1411]|G[1412]<<8|(G[1413]<<16|G[1414]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1407]|G[1408]<<8|(G[1409]<<16|G[1410]<<24);d=G[1403]|G[1404]<<8|(G[1405]<<16|G[1406]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-5;ra(a+4|0,b,26);ja(b);break f}b=b?2:3;if((b|0)!=(d|0)){b=ka(32);D[b+26|0]=0;c=G[1400]|G[1401]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1396]|G[1397]<<8|(G[1398]<<16|G[1399]<<24);d=G[1392]|G[1393]<<8|(G[1394]<<16|G[1395]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1388]|G[1389]<<8|(G[1390]<<16|G[1391]<<24);d=G[1384]|G[1385]<<8|(G[1386]<<16|G[1387]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1380]|G[1381]<<8|(G[1382]<<16|G[1383]<<24);d=G[1376]|G[1377]<<8|(G[1378]<<16|G[1379]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-5;ra(a+4|0,b,26);ja(b);break f}E[F[e+32>>2]+38>>1]=b|512;g:{if(E[f+26>>1]>=0){break g}j=Z-16|0;Z=j;d=ka(36);b=d;F[b+4>>2]=0;F[b+8>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;b=b+16|0;F[b>>2]=0;F[b+4>>2]=0;F[d>>2]=d+4;F[d+32>>2]=0;F[d+12>>2]=b;F[j>>2]=0;c=F[e+32>>2];k=Z-16|0;Z=k;b=0;h:{if(!d){break h}F[j>>2]=c;F[k+12>>2]=0;b=0;if(!fb(1,k+12|0,c)){break h}n=F[k+12>>2];if(n){while(1){i:{if(fb(1,k+8|0,F[j>>2])){b=ka(28);F[b+4>>2]=0;F[b+8>>2]=0;c=b+16|0;F[c>>2]=0;F[c+4>>2]=0;F[b>>2]=b+4;F[b+12>>2]=c;F[b+24>>2]=F[k+8>>2];if(Vc(j,b)){break i}Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}b=0;break h}g=Z-16|0;Z=g;F[g+8>>2]=b;j:{if(!b){break j}c=F[d+28>>2];k:{if(c>>>0>2]){F[g+8>>2]=0;F[c>>2]=b;F[d+28>>2]=c+4;break k}c=0;l:{m:{n:{i=F[d+24>>2];m=F[d+28>>2]-i>>2;b=m+1|0;if(b>>>0<1073741824){i=F[d+32>>2]-i|0;l=i>>>1|0;i=i>>>0>=2147483644?1073741823:b>>>0>>0?l:b;if(i){if(i>>>0>=1073741824){break n}c=ka(i<<2)}l=F[g+8>>2];F[g+8>>2]=0;b=(m<<2)+c|0;F[b>>2]=l;i=(i<<2)+c|0;m=b+4|0;c=F[d+28>>2];l=F[d+24>>2];if((c|0)==(l|0)){break m}while(1){c=c-4|0;p=F[c>>2];F[c>>2]=0;b=b-4|0;F[b>>2]=p;if((c|0)!=(l|0)){continue}break}F[d+32>>2]=i;i=F[d+28>>2];F[d+28>>2]=m;c=F[d+24>>2];F[d+24>>2]=b;if((c|0)==(i|0)){break l}while(1){i=i-4|0;b=F[i>>2];F[i>>2]=0;if(b){Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}if((c|0)!=(i|0)){continue}break}break l}na();v()}oa();v()}F[d+32>>2]=i;F[d+28>>2]=m;F[d+24>>2]=b}if(c){ja(c)}}b=F[g+8>>2];F[g+8>>2]=0;if(!b){break j}Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}Z=g+16|0;o=o+1|0;if((n|0)!=(o|0)){continue}break}}b=Vc(j,d)}Z=k+16|0;o:{if(b){c=F[e+4>>2];b=F[c+4>>2];F[c+4>>2]=d;if(b){ic(b)}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;break o}b=ka(32);D[b+26|0]=0;c=G[1549]|G[1550]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1545]|G[1546]<<8|(G[1547]<<16|G[1548]<<24);g=G[1541]|G[1542]<<8|(G[1543]<<16|G[1544]<<24);D[b+16|0]=g;D[b+17|0]=g>>>8;D[b+18|0]=g>>>16;D[b+19|0]=g>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1537]|G[1538]<<8|(G[1539]<<16|G[1540]<<24);g=G[1533]|G[1534]<<8|(G[1535]<<16|G[1536]<<24);D[b+8|0]=g;D[b+9|0]=g>>>8;D[b+10|0]=g>>>16;D[b+11|0]=g>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1529]|G[1530]<<8|(G[1531]<<16|G[1532]<<24);g=G[1525]|G[1526]<<8|(G[1527]<<16|G[1528]<<24);D[b|0]=g;D[b+1|0]=g>>>8;D[b+2|0]=g>>>16;D[b+3|0]=g>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,26);ja(b);F[j+8>>2]=0;ic(d)}Z=j+16|0;if(F[a>>2]){break f}if(D[a+15|0]>=0){break g}ja(F[a+4>>2])}if(!($[F[F[e>>2]+12>>2]](e)|0)){b=ka(48);D[b+33|0]=0;D[b+32|0]=G[1374];c=G[1370]|G[1371]<<8|(G[1372]<<16|G[1373]<<24);d=G[1366]|G[1367]<<8|(G[1368]<<16|G[1369]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[1362]|G[1363]<<8|(G[1364]<<16|G[1365]<<24);d=G[1358]|G[1359]<<8|(G[1360]<<16|G[1361]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1354]|G[1355]<<8|(G[1356]<<16|G[1357]<<24);d=G[1350]|G[1351]<<8|(G[1352]<<16|G[1353]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1346]|G[1347]<<8|(G[1348]<<16|G[1349]<<24);d=G[1342]|G[1343]<<8|(G[1344]<<16|G[1345]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,33);ja(b);break f}if(!($[F[F[e>>2]+20>>2]](e)|0)){b=Eb(f,1552);F[a>>2]=-1;c=a+4|0;if(D[b+11|0]>=0){d=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=d;F[c+8>>2]=F[b+8>>2];break f}ra(c,F[b>>2],F[b+4>>2]);if(D[b+11|0]>=0){break f}ja(F[b>>2]);break f}if(!($[F[F[e>>2]+24>>2]](e)|0)){b=Eb(f,1307);F[a>>2]=-1;c=a+4|0;if(D[b+11|0]>=0){d=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=d;F[c+8>>2]=F[b+8>>2];break f}ra(c,F[b>>2],F[b+4>>2]);if(D[b+11|0]>=0){break f}ja(F[b>>2]);break f}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0}Z=f+32|0;if(!F[a>>2]){if(D[a+15|0]<0){ja(F[a+4>>2])}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0}$[F[F[e>>2]+4>>2]](e)}a=F[h+16>>2];F[h+16>>2]=0;if(a){$[F[F[a>>2]+4>>2]](a)}if(D[h+15|0]>=0){break a}ja(F[h+4>>2])}Z=h+80|0}function Ub(a){a=a|0;var 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;l=Z-16|0;Z=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=F[2941];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+11804|0;d=F[a+11812>>2];a=F[d+8>>2];j:{if((b|0)==(a|0)){m=11764,n=oi(c)&g,F[m>>2]=n;break j}F[a+12>>2]=b;F[b+8>>2]=a}a=d+8|0;b=c<<3;F[d+4>>2]=b|3;b=b+d|0;F[b+4>>2]=F[b+4>>2]|1;break a}k=F[2943];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=F[e+8>>2];k:{if((b|0)==(a|0)){g=oi(d)&g;F[2941]=g;break k}F[a+12>>2]=b;F[b+8>>2]=a}F[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;F[c+4>>2]=d|1;F[a+e>>2]=d;if(k){b=(k&-8)+11804|0;f=F[2946];a=1<<(k>>>3);l:{if(!(a&g)){F[2941]=a|g;a=b;break l}a=F[b+8>>2]}F[b+8>>2]=f;F[a+12>>2]=f;F[f+12>>2]=b;F[f+8>>2]=a}a=e+8|0;F[2946]=c;F[2943]=d;break a}j=F[2942];if(!j){break i}c=F[(ji(0-j&j)<<2)+12068>>2];f=(F[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=F[b+16>>2];if(!a){a=F[b+20>>2];if(!a){break m}}b=(F[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=F[c+24>>2];d=F[c+12>>2];if((d|0)!=(c|0)){a=F[c+8>>2];F[a+12>>2]=d;F[d+8>>2]=a;break b}b=c+20|0;a=F[b>>2];if(!a){a=F[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=F[b>>2];if(a){continue}b=d+16|0;a=F[d+16>>2];if(a){continue}break}F[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=F[2942];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=O(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=F[(g<<2)+12068>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(F[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=F[b+20>>2];b=F[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(F[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=F[a+16>>2];if(b){a=b}else{a=F[a+20>>2]}if(a){continue}break}}if(!d|F[2943]-h>>>0<=f>>>0){break i}g=F[d+24>>2];c=F[d+12>>2];if((d|0)!=(c|0)){a=F[d+8>>2];F[a+12>>2]=c;F[c+8>>2]=a;break c}b=d+20|0;a=F[b>>2];if(!a){a=F[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=F[b>>2];if(a){continue}b=c+16|0;a=F[c+16>>2];if(a){continue}break}F[e>>2]=0;break c}a=F[2943];if(a>>>0>=h>>>0){d=F[2946];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;F[c+4>>2]=b|1;F[a+d>>2]=b;F[d+4>>2]=h|3;break s}F[d+4>>2]=a|3;a=a+d|0;F[a+4>>2]=F[a+4>>2]|1;c=0;b=0}F[2943]=b;F[2946]=c;a=d+8|0;break a}i=F[2944];if(i>>>0>h>>>0){b=i-h|0;F[2944]=b;c=F[2947];a=c+h|0;F[2947]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(F[3059]){c=F[3061]}else{F[3062]=-1;F[3063]=-1;F[3060]=4096;F[3061]=4096;F[3059]=l+12&-16^1431655768;F[3064]=0;F[3052]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=F[3051];if(d){c=F[3049];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(G[12208]&4)){u:{v:{w:{x:{d=F[2947];if(d){a=12212;while(1){c=F[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=F[a+8>>2];if(a){continue}break}}c=eb(0);if((c|0)==-1){break u}g=b;d=F[3060];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=F[3051];if(d){a=F[3049];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=eb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=eb(g);if((c|0)==(F[a>>2]+F[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=F[3061];c=c+(j-g|0)&0-c;if((eb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}F[3052]=F[3052]|4}c=eb(b);a=eb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=F[3049]+g|0;F[3049]=a;if(a>>>0>I[3050]){F[3050]=a}y:{e=F[2947];if(e){a=12212;while(1){d=F[a>>2];b=F[a+4>>2];if((d+b|0)==(c|0)){break y}a=F[a+8>>2];if(a){continue}break}break f}a=F[2945];if(!(a>>>0<=c>>>0?a:0)){F[2945]=c}a=0;F[3054]=g;F[3053]=c;F[2949]=-1;F[2950]=F[3059];F[3056]=0;while(1){d=a<<3;b=d+11804|0;F[d+11812>>2]=b;F[d+11816>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;F[2944]=b;a=a+c|0;F[2947]=a;F[a+4>>2]=b|1;F[(c+d|0)+4>>2]=40;F[2948]=F[3063];break e}if(G[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}F[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;F[2947]=c;b=F[2944]+g|0;a=b-a|0;F[2944]=a;F[c+4>>2]=a|1;F[(b+e|0)+4>>2]=40;F[2948]=F[3063];break e}d=0;break b}c=0;break c}if(I[2945]>c>>>0){F[2945]=c}b=c+g|0;a=12212;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=F[a>>2]){a=F[a+8>>2];if(a){continue}break E}break}if(!(G[a+12|0]&8)){break D}}a=12212;while(1){b=F[a>>2];if(b>>>0<=e>>>0){f=b+F[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=F[a+8>>2];continue}}F[a>>2]=c;F[a+4>>2]=F[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;F[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){F[2947]=i;a=F[2944]+a|0;F[2944]=a;F[i+4>>2]=a|1;break A}if(F[2946]==(g|0)){F[2946]=i;a=F[2943]+a|0;F[2943]=a;F[i+4>>2]=a|1;F[a+i>>2]=a;break A}f=F[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=F[g+8>>2];b=f>>>3|0;c=F[g+12>>2];if((c|0)==(d|0)){m=11764,n=F[2941]&oi(b),F[m>>2]=n;break F}F[d+12>>2]=c;F[c+8>>2]=d;break F}h=F[g+24>>2];c=F[g+12>>2];G:{if((g|0)!=(c|0)){b=F[g+8>>2];F[b+12>>2]=c;F[c+8>>2]=b;break G}H:{f=g+20|0;b=F[f>>2];if(b){break H}f=g+16|0;b=F[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=F[f>>2];if(b){continue}f=c+16|0;b=F[c+16>>2];if(b){continue}break}F[d>>2]=0}if(!h){break F}d=F[g+28>>2];b=(d<<2)+12068|0;I:{if(F[b>>2]==(g|0)){F[b>>2]=c;if(c){break I}m=11768,n=F[2942]&oi(d),F[m>>2]=n;break F}F[h+(F[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}F[c+24>>2]=h;b=F[g+16>>2];if(b){F[c+16>>2]=b;F[b+24>>2]=c}b=F[g+20>>2];if(!b){break F}F[c+20>>2]=b;F[b+24>>2]=c}g=e+g|0;f=F[g+4>>2];a=a+e|0}F[g+4>>2]=f&-2;F[i+4>>2]=a|1;F[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+11804|0;c=F[2941];a=1<<(a>>>3);J:{if(!(c&a)){F[2941]=a|c;a=b;break J}a=F[b+8>>2]}F[b+8>>2]=i;F[a+12>>2]=i;F[i+12>>2]=b;F[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=O(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}F[i+28>>2]=f;F[i+16>>2]=0;F[i+20>>2]=0;b=(f<<2)+12068|0;d=F[2942];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=F[b>>2];while(1){b=c;if((F[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=F[d+16>>2];if(c){continue}break}F[d+16>>2]=i}F[i+24>>2]=b;F[i+12>>2]=i;F[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;F[2944]=b;a=a+c|0;F[2947]=a;F[a+4>>2]=b|1;F[(c+d|0)+4>>2]=40;F[2948]=F[3063];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;F[d+4>>2]=27;a=F[3056];F[d+16>>2]=F[3055];F[d+20>>2]=a;a=F[3054];F[d+8>>2]=F[3053];F[d+12>>2]=a;F[3055]=d+8;F[3054]=g;F[3053]=c;F[3056]=0;a=d+24|0;while(1){F[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}F[d+4>>2]=F[d+4>>2]&-2;f=d-e|0;F[e+4>>2]=f|1;F[d>>2]=f;if(f>>>0<=255){b=(f&-8)+11804|0;c=F[2941];a=1<<(f>>>3);L:{if(!(c&a)){F[2941]=a|c;a=b;break L}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=O(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+12068|0;d=F[2942];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=F[b>>2];while(1){b=d;if((f|0)==(F[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=F[c+16>>2];if(d){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break e}a=F[b+8>>2];F[a+12>>2]=i;F[b+8>>2]=i;F[i+24>>2]=0;F[i+12>>2]=b;F[i+8>>2]=a}a=j+8|0;break a}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=F[2944];if(a>>>0<=h>>>0){break d}b=a-h|0;F[2944]=b;c=F[2947];a=c+h|0;F[2947]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}F[2940]=48;a=0;break a}N:{if(!g){break N}b=F[d+28>>2];a=(b<<2)+12068|0;O:{if(F[a>>2]==(d|0)){F[a>>2]=c;if(c){break O}j=oi(b)&j;F[2942]=j;break N}F[g+(F[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}F[c+24>>2]=g;a=F[d+16>>2];if(a){F[c+16>>2]=a;F[a+24>>2]=c}a=F[d+20>>2];if(!a){break N}F[c+20>>2]=a;F[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;F[d+4>>2]=a|3;a=a+d|0;F[a+4>>2]=F[a+4>>2]|1;break P}F[d+4>>2]=h|3;e=d+h|0;F[e+4>>2]=f|1;F[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+11804|0;c=F[2941];a=1<<(f>>>3);Q:{if(!(c&a)){F[2941]=a|c;a=b;break Q}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=O(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+12068|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=F[b>>2];while(1){b=h;if((F[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=F[c+16>>2];if(h){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break P}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=F[c+28>>2];a=(b<<2)+12068|0;U:{if(F[a>>2]==(c|0)){F[a>>2]=d;if(d){break U}m=11768,n=oi(b)&j,F[m>>2]=n;break T}F[i+(F[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}F[d+24>>2]=i;a=F[c+16>>2];if(a){F[d+16>>2]=a;F[a+24>>2]=d}a=F[c+20>>2];if(!a){break T}F[d+20>>2]=a;F[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;F[c+4>>2]=a|3;a=a+c|0;F[a+4>>2]=F[a+4>>2]|1;break V}F[c+4>>2]=h|3;d=c+h|0;F[d+4>>2]=f|1;F[d+f>>2]=f;if(k){b=(k&-8)+11804|0;e=F[2946];a=1<<(k>>>3);W:{if(!(a&g)){F[2941]=a|g;a=b;break W}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a}F[2946]=d;F[2943]=f}a=c+8|0}Z=l+16|0;return a|0}function Vc(a,b){var 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,w=0,x=0,y=0,z=0,A=0;m=Z-32|0;Z=m;o=ka(12);F[o+8>>2]=0;F[o+4>>2]=b;F[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;w=F[b+8>>2];j=F[b+4>>2];t=F[b>>2];if(t){if((w|0)>1e3){break a}F[m+24>>2]=0;F[m+16>>2]=0;F[m+20>>2]=0;d=1;c=F[a>>2];e=F[c+8>>2];h=F[c+12>>2];g=F[c+20>>2];f=F[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=G[f+F[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;F[h+16>>2]=f;F[h+20>>2]=c;Sb(m+16|0,e);if(e){c=F[a>>2];n=Tb(m+16|0);p=F[c+8>>2];g=F[c+12>>2];h=F[c+20>>2];f=F[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}la(n,f+F[c>>2]|0,e);d=F[c+20>>2];f=e;e=e+F[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d}j=ka(24);c=j;F[c+4>>2]=0;F[c+8>>2]=0;c=c+16|0;F[c>>2]=0;F[c+4>>2]=0;F[j>>2]=j+4;F[j+12>>2]=c;e=Z-32|0;Z=e;h=t+12|0;c=m+16|0;u=Ya(h,c);i=t+16|0;e:{if((u|0)==(i|0)){F[e+16>>2]=c;f:{g:{d=F[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=G[c+11|0];g=f<<24>>24<0;n=g?F[c>>2]:c;g=g?F[c+4>>2]:f;while(1){c=d;d=G[c+27|0];f=d<<24>>24<0;d=f?F[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?F[c+16>>2]:c+16|0;q=sa(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=F[c>>2];if(d){continue}break h}d=sa(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=F[c+4>>2];if(d){continue}break}f=c+4|0}d=ka(32);n=d+16|0;g=F[e+16>>2];n:{if(D[g+11|0]>=0){p=F[g+4>>2];F[n>>2]=F[g>>2];F[n+4>>2]=p;F[n+8>>2]=F[g+8>>2];break n}ra(n,F[g>>2],F[g+4>>2])}F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[d+28>>2]=0;F[f>>2]=d;c=d;g=F[F[h>>2]>>2];if(g){F[h>>2]=g;c=F[f>>2]}nb(F[h+4>>2],c);F[h+8>>2]=F[h+8>>2]+1;c=1;break f}d=c;c=0}D[e+28|0]=c;F[e+24>>2]=d;d=F[e+24>>2];c=F[d+28>>2];F[d+28>>2]=j;if(!c){break e}Ca(c+12|0,F[c+16>>2]);Ba(c,F[c+4>>2]);ja(c);break e}if(!j){break e}Ca(j+12|0,F[j+16>>2]);Ba(j,F[j+4>>2]);ja(j)}Z=e+32|0;d=(i|0)!=(u|0)}if(D[m+27|0]<0){ja(F[m+16>>2])}if(d){break a}}if(!j){break a}F[m+16>>2]=0;if(!fb(1,m+16|0,F[a>>2])){break a}q=0;x=F[m+16>>2];if(x){while(1){d=0;i=Z-32|0;Z=i;F[i+24>>2]=0;F[i+16>>2]=0;F[i+20>>2]=0;c=F[a>>2];f=F[c+8>>2];o:{p:{h=F[c+12>>2];g=F[c+20>>2];e=F[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=G[e+F[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;F[h+16>>2]=e;F[h+20>>2]=c;Sb(i+16|0,f);if(f){e=F[a>>2];n=Tb(i+16|0);p=F[e+8>>2];g=F[e+12>>2];c=F[e+20>>2];h=F[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}la(n,h+F[e>>2]|0,f);c=F[e+20>>2];g=f;f=f+F[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;F[e+16>>2]=f;F[e+20>>2]=c}F[i+12>>2]=0;if(!fb(1,i+12|0,F[a>>2])){break q}f=F[i+12>>2];if(!f){break q}e=F[a>>2];c=F[e+8>>2];h=F[e+16>>2];g=c-h|0;c=F[e+12>>2]-(F[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}F[i+8>>2]=0;F[i>>2]=0;F[i+4>>2]=0;if((f|0)<0){break p}d=ka(f);F[i>>2]=d;c=d+f|0;F[i+8>>2]=c;l=ma(d,0,f);F[i+4>>2]=c;h=F[e+12>>2];y=h;p=F[e+8>>2];c=F[e+20>>2];k=F[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){la(l,F[e>>2]+k|0,f);d=F[e+20>>2];c=f+F[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;F[e+16>>2]=c;F[e+20>>2]=d;h=Z-48|0;Z=h;e=Ya(j,i+16|0);if((e|0)!=(j+4|0)){c=F[e+4>>2];s:{if(!c){c=e;while(1){d=F[c+8>>2];f=F[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=F[c>>2];if(c){continue}break}}if((e|0)==F[j>>2]){F[j>>2]=d}F[j+8>>2]=F[j+8>>2]-1;f=F[j+4>>2];t:{u:{g=e;d=e;e=F[d>>2];if(e){c=F[g+4>>2];if(!c){break u}while(1){d=c;c=F[c>>2];if(c){continue}break}}e=F[d+4>>2];if(e){break u}e=0;k=1;break t}F[e+8>>2]=F[d+8>>2];k=0}l=F[d+8>>2];c=F[l>>2];v:{if((d|0)==(c|0)){F[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=F[l+4>>2];break v}F[l+4>>2]=e}r=!G[d+12|0];if((d|0)!=(g|0)){l=F[g+8>>2];F[d+8>>2]=l;F[l+(((g|0)!=F[F[g+8>>2]>>2])<<2)>>2]=d;l=F[g>>2];F[d>>2]=l;F[l+8>>2]=d;l=F[g+4>>2];F[d+4>>2]=l;if(l){F[l+8>>2]=d}D[d+12|0]=G[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=G[c+12|0];x:{d=F[c+8>>2];if(F[d>>2]!=(c|0)){if(!e){D[c+12|0]=1;D[d+12|0]=0;e=F[d+4>>2];k=F[e>>2];F[d+4>>2]=k;if(k){F[k+8>>2]=d}F[e+8>>2]=F[d+8>>2];k=F[d+8>>2];F[(((d|0)!=F[k>>2])<<2)+k>>2]=e;F[e>>2]=d;F[d+8>>2]=e;d=c;c=F[c>>2];f=(c|0)==(f|0)?d:f;c=F[c+4>>2]}y:{z:{d=F[c>>2];A:{if(!(G[d+12|0]?0:d)){e=F[c+4>>2];if(G[e+12|0]?0:e){break A}D[c+12|0]=0;c=F[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(G[c+12|0]){break x}}D[c+12|0]=1;break w}e=F[c+4>>2];if(!e){break z}}if(G[e+12|0]){break z}d=c;break y}D[d+12|0]=1;D[c+12|0]=0;e=F[d+4>>2];F[c>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[((F[e>>2]!=(c|0))<<2)+e>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;e=c}c=F[d+8>>2];D[d+12|0]=G[c+12|0];D[c+12|0]=1;D[e+12|0]=1;d=F[c+4>>2];e=F[d>>2];F[c+4>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[(((c|0)!=F[e>>2])<<2)+e>>2]=d;F[d>>2]=c;F[c+8>>2]=d;break w}if(!e){D[c+12|0]=1;D[d+12|0]=0;e=F[c+4>>2];F[d>>2]=e;if(e){F[e+8>>2]=d}F[c+8>>2]=F[d+8>>2];e=F[d+8>>2];F[(((d|0)!=F[e>>2])<<2)+e>>2]=c;F[c+4>>2]=d;F[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=F[d>>2]}e=F[c>>2];C:{if(!(!e|G[e+12|0])){d=c;break C}d=F[c+4>>2];if(!(G[d+12|0]?0:d)){D[c+12|0]=0;c=F[c+8>>2];if((c|0)!=(f|0)?G[c+12|0]:0){break x}D[c+12|0]=1;break w}if(e){if(!G[e+12|0]){d=c;break C}d=F[c+4>>2]}D[d+12|0]=1;D[c+12|0]=0;e=F[d>>2];F[c+4>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[((F[e>>2]!=(c|0))<<2)+e>>2]=d;F[d>>2]=c;F[c+8>>2]=d;e=c}c=F[d+8>>2];D[d+12|0]=G[c+12|0];D[c+12|0]=1;D[e+12|0]=1;d=F[c>>2];e=F[d+4>>2];F[c>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[(((c|0)!=F[e>>2])<<2)+e>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;break w}d=c;c=F[c+8>>2];c=F[(((d|0)==F[c>>2])<<2)+c>>2];continue}}D[e+12|0]=1}c=F[g+28>>2];if(c){F[g+32>>2]=c;ja(c)}if(D[g+27|0]<0){ja(F[g+16>>2])}ja(g)}F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;c=F[i+4>>2];d=F[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=ka(f);c=ma(e,0,f);g=c+f|0;F[h+8>>2]=g;F[h+4>>2]=g;F[h>>2]=c;c=d}la(e,c,f);F:{if(D[i+27|0]>=0){F[h+24>>2]=F[i+24>>2];c=F[i+20>>2];F[h+16>>2]=F[i+16>>2];F[h+20>>2]=c;break F}ra(h+16|0,F[i+16>>2],F[i+20>>2])}Tc(h+28|0,h);f=h+16|0;c=f;G:{H:{d=F[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=G[c+11|0];g=e<<24>>24<0;k=g?F[c>>2]:c;g=g?F[c+4>>2]:e;while(1){c=d;d=G[c+27|0];e=d<<24>>24<0;d=e?F[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?F[c+16>>2]:c+16|0;z=sa(k,e,r);if(!z){if(d>>>0>g>>>0){break N}break M}if((z|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=F[c>>2];if(d){continue}break I}d=sa(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=F[c+4>>2];if(d){continue}break}e=c+4|0}d=ka(40);F[d+24>>2]=F[f+8>>2];g=F[f+4>>2];F[d+16>>2]=F[f>>2];F[d+20>>2]=g;F[f>>2]=0;F[f+4>>2]=0;F[f+8>>2]=0;Tc(d+28|0,f+12|0);F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[e>>2]=d;c=d;f=F[F[j>>2]>>2];if(f){F[j>>2]=f;c=F[e>>2]}nb(F[j+4>>2],c);F[j+8>>2]=F[j+8>>2]+1;c=1;break G}d=c;c=0}D[h+44|0]=c;F[h+40>>2]=d;c=F[h+28>>2];if(c){F[h+32>>2]=c;ja(c)}if(D[h+27|0]<0){ja(F[h+16>>2])}c=F[h>>2];if(c){F[h+4>>2]=c;ja(c)}Z=h+48|0;break D}na();v()}d=F[i>>2];if(!d){break r}}F[i+4>>2]=d;ja(d)}d=(n|0)<=(y|0)&p>>>0>=u>>>0|(n|0)<(y|0)}if(D[i+27|0]<0){ja(F[i+16>>2])}Z=i+32|0;break o}na();v()}if(!d){break a}q=q+1|0;if((x|0)!=(q|0)){continue}break}}F[m+12>>2]=0;if(!fb(1,m+12|0,F[a>>2])){break a}c=F[a>>2];e=F[c+8>>2];f=F[c+16>>2];h=e-f|0;d=F[m+12>>2];c=F[c+12>>2]-(F[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+w|0;while(1){O:{if(b>>>0>>0){F[b+8>>2]=h;F[b+4>>2]=0;F[b>>2]=j;b=b+12|0;d=F[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=ka(L(e,12))}else{f=0}b=f+L(g,12)|0;F[b+8>>2]=h;F[b+4>>2]=0;F[b>>2]=j;c=pa(b+L((c|0)/-12|0,12)|0,o,c);s=f+L(e,12)|0;b=b+12|0;if(o){ja(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}A=1;break a}na();v()}oa();v()}if(o){ja(o)}Z=m+32|0;return A}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=Z-48|0;Z=h;a:{if((c|0)!=1){break a}i=F[a+4>>2];c=F[a+12>>2];F[h+40>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h+8>>2]=0;F[h+12>>2]=0;d=h+8|0;b:{if((b|0)==-2){break b}k=F[F[F[i+4>>2]+8>>2]+(c<<2)>>2];if(($[F[F[i>>2]+8>>2]](i)|0)==1){j=Z-32|0;Z=j;l=F[F[F[i+4>>2]+8>>2]+(c<<2)>>2];c:{d:{e:{if(($[F[F[i>>2]+8>>2]](i)|0)!=1|b-1>>>0>5){break e}g=$[F[F[i>>2]+36>>2]](i)|0;f=$[F[F[i>>2]+44>>2]](i,c)|0;if(!g|!f){break e}c=$[F[F[i>>2]+40>>2]](i,c)|0;if(c){a=F[i+44>>2];F[j+12>>2]=c;F[j+8>>2]=a;F[j+20>>2]=f;F[j+16>>2]=f+12;f=j+8|0;a=0;f:{g:{switch(b-1|0){case 0:b=ka(60);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b>>2]=2252;a=b;break f;case 3:b=ka(112);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=3016;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0;F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0;F[b+108>>2]=0;a=b;break f;case 4:b=ka(104);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+84>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=3264;a=F[f+4>>2];F[b+88>>2]=F[f>>2];F[b+92>>2]=a;a=F[f+12>>2];F[b+96>>2]=F[f+8>>2];F[b+100>>2]=a;a=b;break f;case 5:break g;default:break f}}a=ka(128);F[a+4>>2]=l;F[a>>2]=2960;b=F[d+4>>2];F[a+8>>2]=F[d>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a+16>>2]=F[d+8>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+24>>2]=F[d+16>>2];F[a+28>>2]=b;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;h:{i:{c=F[d+28>>2];b=F[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break i}b=ka(c);F[a+36>>2]=b;F[a+32>>2]=b;F[a+40>>2]=(c&-4)+b;e=F[d+24>>2];c=F[d+28>>2];if((e|0)!=(c|0)){while(1){F[b>>2]=F[e>>2];b=b+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}}F[a+36>>2]=b}F[a>>2]=2904;b=F[f+4>>2];F[a+44>>2]=F[f>>2];F[a+48>>2]=b;b=F[f+12>>2];F[a+52>>2]=F[f+8>>2];F[a+56>>2]=b;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+60>>2]=4128;F[a>>2]=3500;b=F[f+4>>2];F[a+72>>2]=F[f>>2];F[a+76>>2]=b;b=F[f+12>>2];F[a+80>>2]=F[f+8>>2];F[a+84>>2]=b;F[a+104>>2]=1065353216;F[a+108>>2]=-1;F[a+96>>2]=-1;F[a+100>>2]=-1;F[a+88>>2]=1;F[a+92>>2]=-1;F[a+60>>2]=3736;F[a+112>>2]=0;F[a+116>>2]=0;D[a+117|0]=0;D[a+118|0]=0;D[a+119|0]=0;D[a+120|0]=0;D[a+121|0]=0;D[a+122|0]=0;D[a+123|0]=0;D[a+124|0]=0;break h}na();v()}break f}e=a;break e}a=F[i+44>>2];F[j+12>>2]=g;F[j+8>>2]=a;F[j+20>>2]=f;F[j+16>>2]=f+12;f=j+8|0;a=0;j:{k:{switch(b-1|0){case 0:b=ka(60);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b>>2]=4156;a=b;break j;case 3:b=ka(112);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=4580;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0;F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0;F[b+108>>2]=0;a=b;break j;case 4:b=ka(104);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+84>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=4816;a=F[f+4>>2];F[b+88>>2]=F[f>>2];F[b+92>>2]=a;a=F[f+12>>2];F[b+96>>2]=F[f+8>>2];F[b+100>>2]=a;a=b;break j;case 5:break k;default:break j}}a=ka(128);F[a+4>>2]=l;F[a>>2]=2960;b=F[d+4>>2];F[a+8>>2]=F[d>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a+16>>2]=F[d+8>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+24>>2]=F[d+16>>2];F[a+28>>2]=b;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;l:{m:{c=F[d+28>>2];b=F[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break m}b=ka(c);F[a+36>>2]=b;F[a+32>>2]=b;F[a+40>>2]=(c&-4)+b;e=F[d+24>>2];c=F[d+28>>2];if((e|0)!=(c|0)){while(1){F[b>>2]=F[e>>2];b=b+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}}F[a+36>>2]=b}F[a>>2]=4524;b=F[f+4>>2];F[a+44>>2]=F[f>>2];F[a+48>>2]=b;b=F[f+12>>2];F[a+52>>2]=F[f+8>>2];F[a+56>>2]=b;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+60>>2]=5624;F[a>>2]=5040;b=F[f+4>>2];F[a+72>>2]=F[f>>2];F[a+76>>2]=b;b=F[f+12>>2];F[a+80>>2]=F[f+8>>2];F[a+84>>2]=b;F[a+104>>2]=1065353216;F[a+108>>2]=-1;F[a+96>>2]=-1;F[a+100>>2]=-1;F[a+88>>2]=1;F[a+92>>2]=-1;F[a+60>>2]=5260;F[a+112>>2]=0;F[a+116>>2]=0;D[a+117|0]=0;D[a+118|0]=0;D[a+119|0]=0;D[a+120|0]=0;D[a+121|0]=0;D[a+122|0]=0;D[a+123|0]=0;D[a+124|0]=0;break l}na();v()}break j}e=a}Z=j+32|0;break c}na();v()}if(e){break b}}e=ka(44);F[e+4>>2]=k;F[e>>2]=2960;a=F[d+4>>2];F[e+8>>2]=F[d>>2];F[e+12>>2]=a;a=F[d+12>>2];F[e+16>>2]=F[d+8>>2];F[e+20>>2]=a;a=F[d+20>>2];F[e+24>>2]=F[d+16>>2];F[e+28>>2]=a;F[e+40>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;n:{c=F[d+24>>2];b=F[d+28>>2];if((c|0)!=(b|0)){a=b-c|0;if((a|0)<0){break n}k=ka(a);F[e+32>>2]=k;F[e+40>>2]=(a&-4)+k;while(1){F[k>>2]=F[c>>2];k=k+4|0;c=c+4|0;if((b|0)!=(c|0)){continue}break}F[e+36>>2]=k}F[e>>2]=5652;break b}na();v()}k=e;a=F[h+32>>2];if(!a){break a}F[h+36>>2]=a;ja(a)}Z=h+48|0;return k|0}function rf(a,b){a=a|0;b=b|0;var 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,w=0,x=0,y=0,z=0,A=0;m=Z-16|0;Z=m;F[m+12>>2]=b;b=ka(32);F[m>>2]=b;F[m+4>>2]=24;F[m+8>>2]=-2147483616;c=G[1196]|G[1197]<<8|(G[1198]<<16|G[1199]<<24);d=G[1192]|G[1193]<<8|(G[1194]<<16|G[1195]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1188]|G[1189]<<8|(G[1190]<<16|G[1191]<<24);d=G[1184]|G[1185]<<8|(G[1186]<<16|G[1187]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1180]|G[1181]<<8|(G[1182]<<16|G[1183]<<24);d=G[1176]|G[1177]<<8|(G[1178]<<16|G[1179]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;D[b+24|0]=0;l=Z-48|0;Z=l;f=F[m+12>>2];d=a;a=a+16|0;b=F[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>F[b+16>>2];c=e?c:b;b=F[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=F[c+16>>2]){break a}}F[l+28>>2]=0;F[l+32>>2]=0;y=l+24|0;F[l+24>>2]=y|4;a=l+16|0;F[a>>2]=0;F[a+4>>2]=0;F[l+8>>2]=f;F[l+12>>2]=a;t=l+8|0;a=t;x=Z-16|0;Z=x;u=d+12|0;c=F[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=F[a>>2];while(1){d=c;b=F[c+16>>2];if((b|0)>(a|0)){o=d;c=F[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=F[d+4>>2];if(c){continue}break}o=d+4|0}g=ka(32);b=F[t>>2];q=g+24|0;a=q;F[a>>2]=0;F[a+4>>2]=0;F[g+16>>2]=b;r=g+20|0;F[r>>2]=a;c=F[t+4>>2];z=t+8|0;if((c|0)!=(z|0)){while(1){p=Z-16|0;Z=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=G[f+27|0];h=b<<24>>24<0;i=G[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?F[k+4>>2]:i;b=h?F[f+20>>2]:b;s=i>>>0>b>>>0;w=s?b:i;if(w){j=j?F[k>>2]:k;h=h?F[f+16>>2]:f+16|0;A=sa(j,h,w);if(!A){if(b>>>0>i>>>0){break l}break k}if((A|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=F[f>>2];m:{a=f;n:{if((a|0)==F[r>>2]){break n}o:{if(!h){b=f;while(1){a=F[b+8>>2];i=F[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=F[b+4>>2];if(b){continue}break}}i=G[k+11|0];s=i<<24>>24;b=(s|0)<0;j=G[a+27|0];n=j<<24>>24<0;p:{i=b?F[k+4>>2]:i;j=n?F[a+20>>2]:j;w=i>>>0>>0?i:j;if(w){b=sa(n?F[a+16>>2]:a+16|0,b?F[k>>2]:k,w);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){F[p+12>>2]=f;a=f;break e}F[p+12>>2]=a;a=a+4|0;break e}b=F[e>>2];if(!b){F[p+12>>2]=e;a=e;break e}h=(s|0)<0?F[k>>2]:k;f=e;while(1){a=b;b=G[b+27|0];e=b<<24>>24<0;b=e?F[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?F[a+16>>2]:a+16|0;j=sa(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=F[a>>2];if(b){continue}break g}b=sa(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=F[a+4>>2];if(b){continue}break}break g}b=sa(h,j,w);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=F[f+4>>2];v:{if(!h){b=f;while(1){a=F[b+8>>2];j=F[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=F[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=G[a+27|0];b=j<<24>>24<0;y:{j=b?F[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=sa((n|0)<0?F[k>>2]:k,b?F[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){F[p+12>>2]=f;a=f+4|0;break e}F[p+12>>2]=a;break e}b=F[e>>2];if(!b){F[p+12>>2]=e;a=e;break e}h=(n|0)<0?F[k>>2]:k;f=e;while(1){a=b;b=G[b+27|0];e=b<<24>>24<0;b=e?F[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?F[a+16>>2]:a+16|0;j=sa(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=F[a>>2];if(b){continue}break g}b=sa(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=F[a+4>>2];if(b){continue}break}}F[p+12>>2]=a;a=f;break e}F[p+12>>2]=f;F[a>>2]=f}f=a;a=F[a>>2];if(a){b=0}else{a=ka(40);b=a+16|0;E:{if(D[c+27|0]>=0){e=F[c+20>>2];F[b>>2]=F[c+16>>2];F[b+4>>2]=e;F[b+8>>2]=F[c+24>>2];break E}ra(b,F[c+16>>2],F[c+20>>2])}b=a+28|0;F:{if(D[c+39|0]>=0){e=F[c+32>>2];F[b>>2]=F[c+28>>2];F[b+4>>2]=e;F[b+8>>2]=F[c+36>>2];break F}ra(b,F[c+28>>2],F[c+32>>2])}F[a+8>>2]=F[p+12>>2];F[a>>2]=0;F[a+4>>2]=0;F[f>>2]=a;b=a;e=F[F[r>>2]>>2];if(e){F[r>>2]=e;b=F[f>>2]}nb(F[r+4>>2],b);F[r+8>>2]=F[r+8>>2]+1;b=1}D[x+12|0]=b;F[x+8>>2]=a;Z=p+16|0;b=F[c+4>>2];G:{if(b){while(1){c=b;b=F[b>>2];if(b){continue}break G}}while(1){a=c;c=F[c+8>>2];if((a|0)!=F[c>>2]){continue}break}}if((c|0)!=(z|0)){continue}break}}F[g+8>>2]=d;F[g>>2]=0;F[g+4>>2]=0;F[o>>2]=g;c=g;a=F[F[u>>2]>>2];if(a){F[u>>2]=a;c=F[o>>2]}nb(F[u+4>>2],c);F[u+8>>2]=F[u+8>>2]+1;a=1}D[l+44|0]=a;F[l+40>>2]=g;Z=x+16|0;c=F[l+40>>2];ib(t|4,F[l+16>>2]);ib(y,F[l+28>>2])}f=Z-48|0;Z=f;d=f+8|0;g=Z-32|0;Z=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(I[2684]<=1|0)){break I}}D[a|0]=49;b=a+1|0;h=0}F[g+12>>2]=h;F[g+8>>2]=b;h=Z-16|0;Z=h;e=Z-16|0;Z=e;J:{q=F[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){D[d+11|0]=g|G[d+11|0]&128;D[d+11|0]=G[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}sb(t,b+1|0);b=F[e+8>>2];F[d>>2]=b;F[d+8>>2]=F[d+8>>2]&-2147483648|F[e+12>>2]&2147483647;F[d+8>>2]=F[d+8>>2]|-2147483648;F[d+4>>2]=g}while(1){if((a|0)!=(q|0)){D[b|0]=G[a|0];b=b+1|0;a=a+1|0;continue}break}D[e+7|0]=0;D[b|0]=G[e+7|0];Z=e+16|0;break J}za();v()}Z=h+16|0;Z=o;F[f+32>>2]=m;L:{M:{a=c+20|0;d=F[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=G[m+11|0];c=b<<24>>24<0;e=c?F[m>>2]:m;b=c?F[m+4>>2]:b;while(1){c=d;d=G[c+27|0];g=d<<24>>24<0;d=g?F[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?F[c+16>>2]:c+16|0;q=sa(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=F[c>>2];if(d){continue}break N}d=sa(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=F[c+4>>2];if(d){continue}break}g=c+4|0}d=ka(40);e=d+16|0;b=F[f+32>>2];T:{if(D[b+11|0]>=0){o=F[b+4>>2];F[e>>2]=F[b>>2];F[e+4>>2]=o;F[e+8>>2]=F[b+8>>2];break T}ra(e,F[b>>2],F[b+4>>2])}F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[d+36>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[g>>2]=d;c=d;b=F[F[a>>2]>>2];if(b){F[a>>2]=b;c=F[g>>2]}nb(F[a+4>>2],c);F[a+8>>2]=F[a+8>>2]+1;a=1;break L}d=c;a=0}D[f+44|0]=a;F[f+40>>2]=d;a=F[f+40>>2];if(D[a+39|0]<0){ja(F[a+28>>2])}b=F[f+12>>2];F[a+28>>2]=F[f+8>>2];F[a+32>>2]=b;F[a+36>>2]=F[f+16>>2];Z=f+48|0;Z=l+48|0;if(D[m+11|0]<0){ja(F[m>>2])}Z=m+16|0}function zd(a,b){var 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,w=0;h=Z-32|0;Z=h;g=F[F[a+4>>2]+44>>2];c=F[a+8>>2];d=F[c>>2];c=F[c+4>>2];F[h+24>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=F[g+96>>2];f=(F[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=F[g+104>>2];c=F[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=L(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=l;F[d+8>>2]=F[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=L(e,12)+c|0;if(f>>>0<36){break b}while(1){f=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=f;F[d+8>>2]=F[h+24>>2];F[d+20>>2]=F[h+24>>2];f=F[h+20>>2];F[d+12>>2]=F[h+16>>2];F[d+16>>2]=f;F[d+32>>2]=F[h+24>>2];f=F[h+20>>2];F[d+24>>2]=F[h+16>>2];F[d+28>>2]=f;f=F[h+20>>2];F[d+36>>2]=F[h+16>>2];F[d+40>>2]=f;F[d+44>>2]=F[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}F[g+100>>2]=c;break a}c:{f=F[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=ka(L(i,12))}f=L(n,12)+l|0;d=f;e=L(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=r;F[d+8>>2]=F[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=j;F[d+8>>2]=F[h+24>>2];F[d+20>>2]=F[h+24>>2];j=F[h+20>>2];F[d+12>>2]=F[h+16>>2];F[d+16>>2]=j;F[d+32>>2]=F[h+24>>2];j=F[h+20>>2];F[d+24>>2]=F[h+16>>2];F[d+28>>2]=j;j=F[h+20>>2];F[d+36>>2]=F[h+16>>2];F[d+40>>2]=j;F[d+44>>2]=F[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=F[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=F[c+4>>2];f=f-12|0;d=f;F[d>>2]=F[c>>2];F[d+4>>2]=n;F[d+8>>2]=F[c+8>>2];if((c|0)!=(j|0)){continue}break}c=F[g+96>>2]}F[g+104>>2]=L(i,12)+l;F[g+100>>2]=e;F[g+96>>2]=f;if(c){ja(c)}break a}na();v()}oa();v()}if(d>>>0>=f>>>0){break a}F[g+100>>2]=c+L(d,12)}d:{if(F[a+216>>2]==F[a+220>>2]){j=F[a+4>>2];c=F[j+44>>2];d=F[c+100>>2];f=F[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=F[a+8>>2];i=f+L(c,12)|0;g=L(c,3);e:{f:{if((g|0)==-1){e=F[(F[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=F[F[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=F[F[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=F[F[d>>2]+(g<<2)>>2]}F[i+8>>2]=m;F[i+4>>2]=e;F[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}F[F[j+4>>2]+80>>2]=b;c=1;break d}d=0;F[h+24>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;l=F[a+8>>2];c=F[l>>2];g=F[l+4>>2];F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=ka(c);F[h>>2]=b;F[h+8>>2]=(c&-4)+b;u=h,w=ma(b,0,c)+c|0,F[u+4>>2]=w}c=F[l+24>>2];if((F[l+28>>2]-c|0)<4){break h}f=0;while(1){g=F[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(F[F[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=F[a+216>>2];c=F[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=L(j,144)+n|0;c=F[s+F[F[i+68>>2]>>2]>>2];o:{if(!(F[F[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=F[F[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=F[i+32>>2];i=F[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=F[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=F[F[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;F[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){F[k>>2]=g;k=k+4|0;F[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=ka(c<<2)}else{d=0}e=d+(e<<2)|0;F[e>>2]=g;m=c<<2;c=pa(d,f,i);o=m+c|0;F[h+24>>2]=o;k=e+4|0;F[h+20>>2]=k;F[h+16>>2]=c;if(f){ja(f);l=F[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=F[F[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=F[a+220>>2];j=F[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=F[(j+L(c,144)|0)+32>>2];r=i<<2;if(F[q+r>>2]==F[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;F[b+r>>2]=e;if(k>>>0>>0){F[k>>2]=i;k=k+4|0;F[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=ka(c<<2)}else{f=0}e=f+(e<<2)|0;F[e>>2]=i;m=c<<2;c=pa(f,d,j);o=m+c|0;F[h+24>>2]=o;k=e+4|0;F[h+20>>2]=k;F[h+16>>2]=c;if(!d){d=c;break u}ja(d);l=F[a+8>>2];d=c;break u}F[(i<<2)+b>>2]=F[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=F[F[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=F[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}na();v()}na();v()}oa();v()}na();v()}i=F[a+4>>2];a=F[i+44>>2];c=F[a+100>>2];a=F[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=L(c,12);f=e+b|0;o=F[f>>2];p=F[f+4>>2];e=a+e|0;F[e+8>>2]=F[f+8>>2];F[e>>2]=o;F[e+4>>2]=p;e=L(c|1,12);f=e+b|0;o=F[f>>2];p=F[f+4>>2];e=a+e|0;F[e+8>>2]=F[f+8>>2];F[e>>2]=o;F[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=L(c,12);c=g+b|0;f=F[c>>2];e=F[c+4>>2];a=a+g|0;F[a+8>>2]=F[c+8>>2];F[a>>2]=f;F[a+4>>2]=e}F[F[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){ja(b)}if(!d){break d}F[h+20>>2]=d;ja(d)}Z=h+32|0;return c}function de(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;g=Z+-64|0;Z=g;F[a+8>>2]=e;y=a+32|0;f=F[y>>2];d=F[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){qa(y,e-d|0);F[g+56>>2]=0;F[g+60>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g>>2]=0;break b}if(d>>>0>e>>>0){F[a+36>>2]=f+(e<<2)}F[g+56>>2]=0;F[g+60>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g>>2]=0;d=0;if(!e){break a}}Fa(g+16|0,e,g);h=F[g+28>>2];d=F[g+32>>2]}F[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}F[g+32>>2]=(e<<2)+h;break c}Fa(g+16|12,e-d|0,g)}F[g>>2]=0;f=F[g+40>>2];d=F[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}F[g+44>>2]=f+(e<<2);break d}Fa(g+40|0,e-d|0,g)}F[g>>2]=0;f=F[g+52>>2];d=F[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}F[g+56>>2]=f+(e<<2);break e}Fa(g+52|0,e-d|0,g)}f:{if(F[a+8>>2]<=0){break f}i=F[g+16>>2];j=F[a+32>>2];h=0;while(1){d=h<<2;f=F[d+i>>2];m=F[a+16>>2];g:{if((f|0)>(m|0)){F[d+j>>2]=m;break g}d=d+j|0;m=F[a+12>>2];if((m|0)>(f|0)){F[d>>2]=m;break g}F[d>>2]=f}h=h+1|0;d=F[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=F[b+i>>2]+F[j+i>>2]|0;F[f>>2]=i;h:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break h}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}H=F[a+52>>2];t=F[a+48>>2];z=ka(16);d=z;F[d>>2]=0;F[d+4>>2]=0;F[d+8>>2]=0;F[d+12>>2]=0;F[g+8>>2]=0;F[g>>2]=0;F[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=ka(d);F[g>>2]=r;F[g+8>>2]=d+r;ma(r,0,d)}A=1;d=F[a+56>>2];B=F[d>>2];d=F[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;G=e-1|0;M=e<<2;N=e>>>0<4;A=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=F[(m<<2)+B>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;x=j?f-1|0:d;s=1<>2];O=n+(x>>>3&536870908)|0;i=0;P=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(F[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=F[F[F[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=F[H>>2];h=F[t+28>>2];p=F[l+(F[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=F[l+(F[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=F[l+(F[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=F[(g+16|0)+L(i,12)>>2];l=L(e,h);q=L(e,q);p=L(e,p);h=0;o=0;if(G){while(1){F[j+(h<<2)>>2]=(F[(h+l<<2)+c>>2]+F[(h+q<<2)+c>>2]|0)-F[(h+p<<2)+c>>2];u=h|1;F[j+(u<<2)>>2]=(F[(l+u<<2)+c>>2]+F[(q+u<<2)+c>>2]|0)-F[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((C|0)!=(o|0)){continue}break}}if(!D){break s}F[j+(h<<2)>>2]=(F[(h+l<<2)+c>>2]+F[(h+q<<2)+c>>2]|0)-F[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|F[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=F[F[F[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(F[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=F[F[F[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!P|s&F[O>>2]){break v}d=F[F[F[t+64>>2]+12>>2]+(x<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){ma(r,0,M)}d=j-1|0;q=(d<<2)+z|0;d=L(d,12)+a|0;u=d;x=F[d- -64>>2];k=0;d=F[g>>2];f=0;while(1){i=F[q>>2];F[q>>2]=i+1;if(i>>>0>=x>>>0){break j}w:{if(F[F[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=F[(g+16|0)+L(k,12)>>2];i=0;h=0;p=0;if(!N){while(1){l=h<<2;o=l+d|0;F[o>>2]=F[l+n>>2]+F[o>>2];o=l|4;s=o+d|0;F[s>>2]=F[n+o>>2]+F[s>>2];o=l|8;s=o+d|0;F[s>>2]=F[n+o>>2]+F[s>>2];l=l|12;o=l+d|0;F[o>>2]=F[l+n>>2]+F[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;F[p>>2]=F[l+n>>2]+F[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=L(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(G){break n}break m}i=L(e,m)}if(F[a+8>>2]<=0){break k}k=(L(m-1|0,e)<<2)+c|0;j=F[y>>2];h=0;while(1){d=h<<2;f=F[d+k>>2];n=F[a+16>>2];x:{if((f|0)>(n|0)){F[d+j>>2]=n;break x}d=d+j|0;n=F[a+12>>2];if((n|0)>(f|0)){F[d>>2]=n;break x}F[d>>2]=f}h=h+1|0;f=F[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=F[i+k>>2]+F[j+i>>2]|0;F[f>>2]=i;y:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break y}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}ta();v()}while(1){j=h<<2;k=j+r|0;F[k>>2]=F[k>>2]/(f|0);j=(j|4)+r|0;F[j>>2]=F[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;F[d>>2]=F[d>>2]/(f|0)}if(F[a+8>>2]<=0){break k}j=F[y>>2];h=0;while(1){d=h<<2;f=F[d+r>>2];k=F[a+16>>2];z:{if((f|0)>(k|0)){F[d+j>>2]=k;break z}d=d+j|0;k=F[a+12>>2];if((k|0)>(f|0)){F[d>>2]=k;break z}F[d>>2]=f}h=h+1|0;f=F[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=F[i+k>>2]+F[j+i>>2]|0;F[f>>2]=i;A:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break A}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;A=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=F[g>>2];if(a){ja(a)}ja(z);a=F[g+52>>2];if(a){F[g+56>>2]=a;ja(a)}a=F[g+40>>2];if(a){F[g+44>>2]=a;ja(a)}a=F[g+28>>2];if(a){F[g+32>>2]=a;ja(a)}a=F[g+16>>2];if(a){F[g+20>>2]=a;ja(a)}Z=g- -64|0;return A|0}na();v()}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0;h=Z+-64|0;Z=h;F[a+8>>2]=e;x=a+32|0;f=F[x>>2];d=F[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){qa(x,e-d|0);F[h+56>>2]=0;F[h+60>>2]=0;F[h+48>>2]=0;F[h+52>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h>>2]=0;break b}if(d>>>0>e>>>0){F[a+36>>2]=f+(e<<2)}F[h+56>>2]=0;F[h+60>>2]=0;F[h+48>>2]=0;F[h+52>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h>>2]=0;d=0;if(!e){break a}}Fa(h+16|0,e,h);i=F[h+28>>2];d=F[h+32>>2]}F[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}F[h+32>>2]=(e<<2)+i;break c}Fa(h+16|12,e-d|0,h)}F[h>>2]=0;f=F[h+40>>2];d=F[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}F[h+44>>2]=f+(e<<2);break d}Fa(h+40|0,e-d|0,h)}F[h>>2]=0;f=F[h+52>>2];d=F[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}F[h+56>>2]=f+(e<<2);break e}Fa(h+52|0,e-d|0,h)}f:{if(F[a+8>>2]<=0){break f}g=F[h+16>>2];j=F[a+32>>2];i=0;while(1){d=i<<2;f=F[d+g>>2];m=F[a+16>>2];g:{if((f|0)>(m|0)){F[d+j>>2]=m;break g}d=d+j|0;m=F[a+12>>2];if((m|0)>(f|0)){F[d>>2]=m;break g}F[d>>2]=f}i=i+1|0;d=F[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=F[b+g>>2]+F[g+j>>2]|0;F[f>>2]=g;h:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break h}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}H=F[a+52>>2];A=F[a+48>>2];y=ka(16);d=y;F[d>>2]=0;F[d+4>>2]=0;F[d+8>>2]=0;F[d+12>>2]=0;F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=ka(d);F[h>>2]=t;F[h+8>>2]=d+t;ma(t,0,d)}z=1;d=F[a+56>>2];B=F[d>>2];d=F[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;G=e-1|0;M=e<<2;N=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=F[(m<<2)+B>>2];if((f|0)==-1){break p}n=F[A+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=F[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=F[H>>2];r=F[A>>2];i=p+(F[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=F[r+(o<<2)>>2]}o=F[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=F[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=F[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=F[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=F[(h+16|0)+L(j,12)>>2];u:{if(!e){break u}l=L(e,l);r=L(e,i);p=L(e,o);i=0;s=0;if(G){while(1){F[g+(i<<2)>>2]=(F[(i+l<<2)+c>>2]+F[(i+r<<2)+c>>2]|0)-F[(i+p<<2)+c>>2];o=i|1;F[g+(o<<2)>>2]=(F[(l+o<<2)+c>>2]+F[(o+r<<2)+c>>2]|0)-F[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((C|0)!=(s|0)){continue}break}}if(!D){break u}F[g+(i<<2)>>2]=(F[(i+l<<2)+c>>2]+F[(i+r<<2)+c>>2]|0)-F[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=F[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=F[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=F[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){ma(t,0,M)}d=g-1|0;r=(d<<2)+y|0;d=L(d,12)+a|0;o=d;s=F[d- -64>>2];k=0;d=F[h>>2];f=0;while(1){j=F[r>>2];F[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(F[F[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=F[(h+16|0)+L(k,12)>>2];l=0;i=0;p=0;if(!N){while(1){n=i<<2;q=n+d|0;F[q>>2]=F[j+n>>2]+F[q>>2];q=n|4;u=q+d|0;F[u>>2]=F[j+q>>2]+F[u>>2];q=n|8;u=q+d|0;F[u>>2]=F[j+q>>2]+F[u>>2];n=n|12;q=n+d|0;F[q>>2]=F[j+n>>2]+F[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;F[p>>2]=F[j+n>>2]+F[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=L(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(G){break n}break m}g=L(e,m)}if(F[a+8>>2]<=0){break k}k=(L(m-1|0,e)<<2)+c|0;j=F[x>>2];i=0;while(1){d=i<<2;f=F[d+k>>2];l=F[a+16>>2];z:{if((f|0)>(l|0)){F[d+j>>2]=l;break z}d=d+j|0;l=F[a+12>>2];if((l|0)>(f|0)){F[d>>2]=l;break z}F[d>>2]=f}i=i+1|0;f=F[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=F[g+k>>2]+F[g+j>>2]|0;F[f>>2]=g;A:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break A}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}ta();v()}while(1){j=i<<2;k=j+t|0;F[k>>2]=F[k>>2]/(f|0);j=(j|4)+t|0;F[j>>2]=F[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;F[d>>2]=F[d>>2]/(f|0)}if(F[a+8>>2]<=0){break k}j=F[x>>2];i=0;while(1){d=i<<2;f=F[d+t>>2];k=F[a+16>>2];B:{if((f|0)>(k|0)){F[d+j>>2]=k;break B}d=d+j|0;k=F[a+12>>2];if((k|0)>(f|0)){F[d>>2]=k;break B}F[d>>2]=f}i=i+1|0;f=F[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=F[g+k>>2]+F[g+j>>2]|0;F[f>>2]=g;C:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break C}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=F[h>>2];if(a){ja(a)}ja(y);a=F[h+52>>2];if(a){F[h+56>>2]=a;ja(a)}a=F[h+40>>2];if(a){F[h+44>>2]=a;ja(a)}a=F[h+28>>2];if(a){F[h+32>>2]=a;ja(a)}a=F[h+16>>2];if(a){F[h+20>>2]=a;ja(a)}Z=h- -64|0;return z|0}na();v()}function Yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=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,aa=0;a:{b:{if((e|0)!=2){break b}F[a+8>>2]=2;F[a- -64>>2]=f;M=a+32|0;e=F[M>>2];d=F[a+36>>2]-e|0;c:{if(d>>>0<=7){qa(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}F[a+36>>2]=e+8}i=1;d=F[a+56>>2];d=F[d+4>>2]-F[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){f=F[a+56>>2];e=F[f>>2];if(F[f+4>>2]-e>>2>>>0<=d>>>0){break a}k=Z-80|0;Z=k;f=-1;d:{e:{e=F[e+(d<<2)>>2];if((e|0)==-1){break e}i=F[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=F[F[i>>2]+(g<<2)>>2]}p=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){p=F[F[i>>2]+(e<<2)>>2]}i=F[o+36>>2];e=F[i>>2];i=F[i+4>>2]-e>>2;if(i>>>0<=f>>>0|i>>>0<=p>>>0){break e}f:{g:{h:{i:{j:{k:{j=F[e+(p<<2)>>2];f=F[e+(f<<2)>>2];if((j|0)>=(d|0)|(f|0)>=(d|0)){break k}i=(j<<3)+c|0;w=F[i+4>>2];g=(f<<3)+c|0;e=F[g+4>>2];l=F[i>>2];i=F[g>>2];if(!((l|0)!=(i|0)|(e|0)!=(w|0))){F[o+8>>2]=i;F[o+12>>2]=e;break j}p=F[F[o+4>>2]+(d<<2)>>2];F[k+72>>2]=0;F[k+76>>2]=0;g=k- -64|0;F[g>>2]=0;F[g+4>>2]=0;F[k+56>>2]=0;F[k+60>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+56|0);p=F[F[o+4>>2]+(f<<2)>>2];F[k+48>>2]=0;F[k+52>>2]=0;F[k+40>>2]=0;F[k+44>>2]=0;F[k+32>>2]=0;F[k+36>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+32|0);p=F[F[o+4>>2]+(j<<2)>>2];F[k+24>>2]=0;F[k+28>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;F[k+8>>2]=0;F[k+12>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+8|0);g=F[k+16>>2];n=F[k+40>>2];x=g-n|0;N=F[k+44>>2];g=F[k+20>>2]-(N+(g>>>0>>0)|0)|0;H=g;j=ki(x,g,x,g);q=_;g=F[k+8>>2];z=F[k+32>>2];A=g-z|0;O=F[k+36>>2];g=F[k+12>>2]-(O+(g>>>0>>0)|0)|0;I=g;h=j;j=ki(A,g,A,g);g=h+j|0;h=_+q|0;h=g>>>0>>0?h+1|0:h;j=F[k+24>>2];B=F[k+48>>2];C=j-B|0;P=F[k+52>>2];j=F[k+28>>2]-(P+(j>>>0>>0)|0)|0;J=j;m=g;g=ki(C,j,C,j);r=m+g|0;h=_+h|0;s=g>>>0>r>>>0?h+1|0:h;if(!(s|r)){break k}p=0;E=mi(-1,2147483647,r,s);f=i>>31;R=f;h=f>>31;Q=i;g=h;q=i^g;i=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;K=e;e=f>>31;q=K^e;m=q-e|0;h=f>>31;e=(h^f)-((e>>>0>q>>>0)+h|0)|0;f=(g|0)==(e|0)&i>>>0>m>>>0|e>>>0>>0;i=f?i:m;j=_;e=f?g:e;if((j|0)==(e|0)&i>>>0>E>>>0|e>>>0>j>>>0){break f}i=F[k+64>>2];T=F[k+68>>2];e=ki(i-n|0,T-((i>>>0>>0)+N|0)|0,x,H);f=_;g=F[k+56>>2];U=F[k+60>>2];j=ki(g-z|0,U-((g>>>0>>0)+O|0)|0,A,I);e=j+e|0;h=_+f|0;h=e>>>0>>0?h+1|0:h;f=e;m=F[k+72>>2];V=F[k+76>>2];e=ki(m-B|0,V-((m>>>0>>0)+P|0)|0,C,J);j=f+e|0;f=_+h|0;q=e>>>0>j>>>0?f+1|0:f;e=l;E=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;l=e>>31;y=l^E;f=y-l|0;h=e>>31;e=(h^e)-((l>>>0>y>>>0)+h|0)|0;h=e;y=w-K|0;e=(w>>31)-((w>>>0>>0)+S|0)|0;w=e;l=f;t=e>>31;u=t^y;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(h|0)==(e|0)&l>>>0>L>>>0|e>>>0>>0;f=mi(-1,2147483647,f?l:L,f?h:e)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}e=I>>31;f=e;l=e^A;e=l-e|0;f=(f^I)-((f>>>0>l>>>0)+f|0)|0;h=H>>31;t=h^x;u=t-h|0;l=(h^H)-((h>>>0>t>>>0)+h|0)|0;h=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;e=h?e:u;f=h?f:l;h=J>>31;L=e;t=h^C;u=t-h|0;l=(h^J)-((h>>>0>t>>>0)+h|0)|0;e=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;f=mi(-1,2147483647,e?L:u,e?f:l)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}l=1;e=0;f=n;n=li(ki(j,q,x,H),_,r,s);f=f+n|0;h=_+N|0;h=f>>>0>>0?h+1|0:h;n=i-f|0;f=T-((f>>>0>i>>>0)+h|0)|0;n=ki(n,f,n,f);x=_;f=g;h=li(ki(j,q,A,I),_,r,s);i=h+z|0;g=_+O|0;g=h>>>0>i>>>0?g+1|0:g;h=f-i|0;f=U-((f>>>0>>0)+g|0)|0;g=ki(h,f,h,f);i=g+n|0;f=_+x|0;f=g>>>0>i>>>0?f+1|0:f;n=i;g=li(ki(j,q,C,J),_,r,s);i=g+B|0;h=_+P|0;h=g>>>0>i>>>0?h+1|0:h;g=m-i|0;i=V-((i>>>0>m>>>0)+h|0)|0;m=ki(g,i,g,i);i=m+n|0;g=_+f|0;f=ki(i,i>>>0>>0?g+1|0:g,r,s);i=_;m=i;if(!i&f>>>0<=1){break i}h=f;while(1){g=e<<1|l>>>31;l=l<<1;e=g;n=!i&h>>>0>7|(i|0)!=0;h=(i&3)<<30|h>>>2;i=i>>>2|0;if(n){continue}break}break h}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){F[o+8>>2]=0;F[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;F[o+8>>2]=F[e>>2];F[o+12>>2]=F[e+4>>2]}p=1;break f}e=m;l=f;if(f-1|0){break g}}while(1){i=mi(f,m,l,e);h=e+_|0;e=i+l|0;h=e>>>0>>0?h+1|0:h;l=(h&1)<<31|e>>>1;e=h>>>1|0;i=ki(l,e,l,e);g=_;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=F[o+20>>2];if(!f){break f}g=f-1|0;h=F[F[o+16>>2]+(g>>>3&536870908)>>2];F[o+20>>2]=g;p=1;f=ki(j,q,y,w);i=_;n=ki(r,s,K,S);m=n+f|0;f=_+i|0;f=m>>>0>>0?f+1|0:f;i=ki(l,e,E,W);g=h>>>g&1;h=g?0-i|0:i;m=h+m|0;n=f;f=_;i=n+(g?0-(f+((i|0)!=0)|0)|0:f)|0;$=o,aa=li(m,h>>>0>m>>>0?i+1|0:i,r,s),F[$+12>>2]=aa;f=ki(j,q,E,W);i=_;j=ki(r,s,Q,R);f=j+f|0;h=_+i|0;e=ki(l,e,y,w);i=0-e|0;l=_;h=(f>>>0>>0?h+1|0:h)+(g?l:0-(((e|0)!=0)+l|0)|0)|0;i=g?e:i;f=i+f|0;$=o,aa=li(f,f>>>0>>0?h+1|0:h,r,s),F[$+8>>2]=aa}Z=k+80|0;e=p;break d}ta();v()}i=e;if(!e){return 0}l:{if(F[a+8>>2]<=0){break l}l=F[M>>2];e=0;while(1){f=e<<2;g=F[f+Y>>2];j=F[a+16>>2];m:{if((g|0)>(j|0)){F[f+l>>2]=j;break m}f=f+l|0;j=F[a+12>>2];if((j|0)>(g|0)){F[f>>2]=j;break m}F[f>>2]=g}e=e+1|0;g=F[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;j=e+c|0;q=b+e|0;while(1){g=f<<2;e=g+j|0;g=F[g+q>>2]+F[g+l>>2]|0;F[e>>2]=g;n:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break n}g=g+F[a+20>>2]|0}F[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return i|0}ta();v()}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=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,aa=0;a:{b:{if((e|0)!=2){break b}F[a+8>>2]=2;F[a- -64>>2]=f;M=a+32|0;e=F[M>>2];d=F[a+36>>2]-e|0;c:{if(d>>>0<=7){qa(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}F[a+36>>2]=e+8}p=1;d=F[a+56>>2];d=F[d+4>>2]-F[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){e=F[a+56>>2];h=F[e>>2];if(F[e+4>>2]-h>>2>>>0<=d>>>0){break a}k=Z-80|0;Z=k;f=-1;h=F[h+(d<<2)>>2];e=-1;d:{if((h|0)==-1){break d}e=h+1|0;f=(e>>>0)%3|0?e:h-2|0;e=h-1|0;if((h>>>0)%3|0){break d}e=h+2|0}g=F[o+36>>2];h=F[g>>2];e:{f:{g:{h:{i:{g=F[g+4>>2]-h>>2;i=f<<2;f=F[F[o+32>>2]+28>>2];j=F[i+f>>2];if(g>>>0<=j>>>0){break i}e=F[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}j:{k:{l=F[h+(e<<2)>>2];f=F[h+(j<<2)>>2];if((l|0)>=(d|0)|(f|0)>=(d|0)){break k}h=(l<<3)+c|0;w=F[h+4>>2];g=(f<<3)+c|0;e=F[g+4>>2];j=F[h>>2];h=F[g>>2];if(!((j|0)!=(h|0)|(e|0)!=(w|0))){F[o+8>>2]=h;F[o+12>>2]=e;break j}p=F[F[o+4>>2]+(d<<2)>>2];F[k+72>>2]=0;F[k+76>>2]=0;g=k- -64|0;F[g>>2]=0;F[g+4>>2]=0;F[k+56>>2]=0;F[k+60>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+56|0);p=F[F[o+4>>2]+(f<<2)>>2];F[k+48>>2]=0;F[k+52>>2]=0;F[k+40>>2]=0;F[k+44>>2]=0;F[k+32>>2]=0;F[k+36>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+32|0);p=F[F[o+4>>2]+(l<<2)>>2];F[k+24>>2]=0;F[k+28>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;F[k+8>>2]=0;F[k+12>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+8|0);g=F[k+16>>2];n=F[k+40>>2];x=g-n|0;N=F[k+44>>2];g=F[k+20>>2]-(N+(g>>>0>>0)|0)|0;H=g;l=ki(x,g,x,g);q=_;g=F[k+8>>2];z=F[k+32>>2];A=g-z|0;O=F[k+36>>2];g=F[k+12>>2]-(O+(g>>>0>>0)|0)|0;I=g;i=l;l=ki(A,g,A,g);g=i+l|0;i=_+q|0;i=g>>>0>>0?i+1|0:i;l=F[k+24>>2];B=F[k+48>>2];C=l-B|0;P=F[k+52>>2];l=F[k+28>>2]-(P+(l>>>0>>0)|0)|0;J=l;m=g;g=ki(C,l,C,l);r=m+g|0;i=_+i|0;s=g>>>0>r>>>0?i+1|0:i;if(!(s|r)){break k}p=0;E=mi(-1,2147483647,r,s);f=h>>31;R=f;i=f>>31;Q=h;g=i;q=h^g;h=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;K=e;e=f>>31;q=K^e;m=q-e|0;i=f>>31;e=(i^f)-((e>>>0>q>>>0)+i|0)|0;f=(g|0)==(e|0)&h>>>0>m>>>0|e>>>0>>0;h=f?h:m;l=_;e=f?g:e;if((l|0)==(e|0)&h>>>0>E>>>0|e>>>0>l>>>0){break e}h=F[k+64>>2];T=F[k+68>>2];e=ki(h-n|0,T-((h>>>0>>0)+N|0)|0,x,H);f=_;g=F[k+56>>2];U=F[k+60>>2];l=ki(g-z|0,U-((g>>>0>>0)+O|0)|0,A,I);e=l+e|0;i=_+f|0;i=e>>>0>>0?i+1|0:i;f=e;m=F[k+72>>2];V=F[k+76>>2];e=ki(m-B|0,V-((m>>>0>>0)+P|0)|0,C,J);l=f+e|0;f=_+i|0;q=e>>>0>l>>>0?f+1|0:f;e=j;E=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;j=e>>31;y=j^E;f=y-j|0;i=e>>31;e=(i^e)-((j>>>0>y>>>0)+i|0)|0;i=e;y=w-K|0;e=(w>>31)-((w>>>0>>0)+S|0)|0;w=e;j=f;t=e>>31;u=t^y;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(i|0)==(e|0)&j>>>0>L>>>0|e>>>0>>0;f=mi(-1,2147483647,f?j:L,f?i:e)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}e=I>>31;f=e;j=e^A;e=j-e|0;f=(f^I)-((f>>>0>j>>>0)+f|0)|0;i=H>>31;t=i^x;u=t-i|0;j=(i^H)-((i>>>0>t>>>0)+i|0)|0;i=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;e=i?e:u;f=i?f:j;i=J>>31;L=e;t=i^C;u=t-i|0;j=(i^J)-((i>>>0>t>>>0)+i|0)|0;e=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;f=mi(-1,2147483647,e?L:u,e?f:j)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}j=1;e=0;f=n;n=li(ki(l,q,x,H),_,r,s);f=f+n|0;i=_+N|0;i=f>>>0>>0?i+1|0:i;n=h-f|0;f=T-((f>>>0>h>>>0)+i|0)|0;n=ki(n,f,n,f);x=_;f=g;i=li(ki(l,q,A,I),_,r,s);h=i+z|0;g=_+O|0;g=h>>>0>>0?g+1|0:g;i=f-h|0;f=U-((f>>>0>>0)+g|0)|0;g=ki(i,f,i,f);h=g+n|0;f=_+x|0;f=h>>>0>>0?f+1|0:f;n=h;g=li(ki(l,q,C,J),_,r,s);h=g+B|0;i=_+P|0;i=h>>>0>>0?i+1|0:i;g=m-h|0;h=V-((h>>>0>m>>>0)+i|0)|0;m=ki(g,h,g,h);h=m+n|0;g=_+f|0;f=ki(h,h>>>0>>0?g+1|0:g,r,s);h=_;m=h;if(!h&f>>>0<=1){break h}i=f;while(1){g=e<<1|j>>>31;j=j<<1;e=g;n=!h&i>>>0>7|(h|0)!=0;i=(h&3)<<30|i>>>2;h=h>>>2|0;if(n){continue}break}break g}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){F[o+8>>2]=0;F[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;F[o+8>>2]=F[e>>2];F[o+12>>2]=F[e+4>>2]}p=1;break e}ta();v()}e=m;j=f;if(f-1|0){break f}}while(1){h=mi(f,m,j,e);i=e+_|0;e=h+j|0;i=e>>>0>>0?i+1|0:i;j=(i&1)<<31|e>>>1;e=i>>>1|0;h=ki(j,e,j,e);g=_;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=F[o+20>>2];if(!f){break e}g=f-1|0;i=F[F[o+16>>2]+(g>>>3&536870908)>>2];F[o+20>>2]=g;p=1;f=ki(l,q,y,w);h=_;n=ki(r,s,K,S);m=n+f|0;f=_+h|0;f=m>>>0>>0?f+1|0:f;h=ki(j,e,E,W);g=i>>>g&1;i=g?0-h|0:h;m=i+m|0;n=f;f=_;h=n+(g?0-(f+((h|0)!=0)|0)|0:f)|0;$=o,aa=li(m,i>>>0>m>>>0?h+1|0:h,r,s),F[$+12>>2]=aa;f=ki(l,q,E,W);h=_;l=ki(r,s,Q,R);f=l+f|0;i=_+h|0;e=ki(j,e,y,w);h=0-e|0;j=_;i=(f>>>0>>0?i+1|0:i)+(g?j:0-(((e|0)!=0)+j|0)|0)|0;h=g?e:h;f=h+f|0;$=o,aa=li(f,f>>>0>>0?i+1|0:i,r,s),F[$+8>>2]=aa}Z=k+80|0;if(!p){return 0}l:{if(F[a+8>>2]<=0){break l}g=F[M>>2];e=0;while(1){f=e<<2;h=F[f+Y>>2];j=F[a+16>>2];m:{if((h|0)>(j|0)){F[f+g>>2]=j;break m}f=f+g|0;j=F[a+12>>2];if((j|0)>(h|0)){F[f>>2]=j;break m}F[f>>2]=h}e=e+1|0;h=F[a+8>>2];if((e|0)<(h|0)){continue}break}f=0;if((h|0)<=0){break l}e=d<<3;j=e+c|0;l=b+e|0;while(1){h=f<<2;e=h+j|0;h=F[h+l>>2]+F[h+g>>2]|0;F[e>>2]=h;n:{if((h|0)>F[a+16>>2]){i=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break n}i=h+F[a+20>>2]|0}F[e>>2]=i}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return p|0}ta();v()}function Gd(a,b){a=a|0;b=b|0;var 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;n=Z-96|0;Z=n;m=F[a+4>>2];d=F[m+32>>2];j=F[d+8>>2];i=F[d+12>>2];e=i;c=F[d+20>>2];f=F[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=j>>>0|(c|0)>(e|0)){break a}o=F[d>>2];h=G[o+f|0];g=f+1|0;e=g?c:c+1|0;F[d+16>>2]=g;F[d+20>>2]=e;if((e|0)>=(i|0)&g>>>0>=j>>>0|(e|0)>(i|0)){break a}p=G[g+o|0];g=f+2|0;e=g>>>0<2?c+1|0:c;F[d+16>>2]=g;F[d+20>>2]=e;l=h<<24>>24;b:{if((l|0)>=0){k=F[a+216>>2];if(h>>>0>=(F[a+220>>2]-k|0)/144>>>0){break a}k=k+L(h,144)|0;if(F[k>>2]<0){break b}break a}if(F[a+212>>2]>=0){break a}k=a+212|0}F[k>>2]=b;c:{d:{e:{f:{g:{h:{k=H[m+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(i|0)&g>>>0>=j>>>0|(e|0)>(i|0)){break a}e=G[g+o|0];f=f+3|0;c=f>>>0<3?c+1|0:c;F[d+16>>2]=f;F[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!p){break i}if(!d){break h}break a}if(p){break g}d=0}if((l|0)<0){e=a+184|0}else{c=F[a+216>>2]+L(h,144)|0;D[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=Z-112|0;Z=c;g=F[F[a+4>>2]+44>>2];d=ka(120);F[d>>2]=8924;F[d+4>>2]=0;F[d+116>>2]=0;F[d+112>>2]=e;F[d+108>>2]=g;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;F[d+56>>2]=0;F[d+60>>2]=0;F[d+8>>2]=9136;f=d- -64|0;F[f>>2]=0;F[f+4>>2]=0;F[d+72>>2]=0;F[d+76>>2]=0;F[d+80>>2]=0;F[d+84>>2]=0;F[d+88>>2]=0;F[d+104>>2]=0;F[d+96>>2]=0;F[d+100>>2]=0;f=F[a+8>>2];F[c+48>>2]=0;F[c+52>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;j=c+32|0;F[j>>2]=0;F[j+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;h=c- -64|0;F[h>>2]=0;F[h+4>>2]=0;F[c+72>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+84>>2]=0;F[c+88>>2]=0;F[c+104>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+56>>2]=0;F[c+60>>2]=0;F[c+8>>2]=9136;F[c+96>>2]=0;F[c+100>>2]=0;F[c+12>>2]=f;h=F[f>>2];i=F[f+4>>2];D[c+111|0]=0;k=j;j=c+111|0;Ea(k,(i-h>>2>>>0)/3|0,j);h=F[c+12>>2];i=F[h+28>>2];h=F[h+24>>2];D[c+111|0]=0;Ea(c+44|0,i-h>>2,j);F[c+28>>2]=d;F[c+24>>2]=g;F[c+20>>2]=e;F[c+16>>2]=f;f=d+8|0;e=c+8|0;lc(f,e);j:{if((e|0)==(f|0)){F[d+92>>2]=F[e+84>>2];break j}gb(d+56|0,F[e+48>>2],F[e+52>>2]);gb(d+68|0,F[e+60>>2],F[e- -64>>2]);gb(d+80|0,F[e+72>>2],F[e+76>>2]);F[d+92>>2]=F[e+84>>2];k:{h=F[e+92>>2];j=F[e+88>>2];i=h-j|0;e=i>>2;f=F[d+104>>2];g=F[d+96>>2];if(e>>>0<=f-g>>2>>>0){i=F[d+100>>2]-g|0;f=i+j|0;m=i>>2;i=e>>>0>m>>>0?f:h;l=i-j|0;if((i|0)!=(j|0)){pa(g,j,l)}if(e>>>0>m>>>0){e=F[d+100>>2];if((h|0)!=(i|0)){while(1){F[e>>2]=F[f>>2];e=e+4|0;f=f+4|0;if((h|0)!=(f|0)){continue}break}}F[d+100>>2]=e;break k}F[d+100>>2]=g+l;break k}if(g){F[d+100>>2]=g;ja(g);F[d+104>>2]=0;F[d+96>>2]=0;F[d+100>>2]=0;f=0}l:{if((i|0)<0){break l}g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e>>>0>=1073741824){break l}f=e<<2;e=ka(f);F[d+96>>2]=e;F[d+104>>2]=e+f;if((h|0)!=(j|0)){f=e;e=(i-4&-4)+4|0;e=la(f,j,e)+e|0}F[d+100>>2]=e;break k}na();v()}}F[c+8>>2]=9136;e=F[c+96>>2];if(e){F[c+100>>2]=e;ja(e)}e=F[c+80>>2];if(e){F[c+84>>2]=e;ja(e)}e=F[c+68>>2];if(e){F[c+72>>2]=e;ja(e)}e=F[c+56>>2];if(e){F[c+60>>2]=e;ja(e)}F[c+8>>2]=9372;e=F[c+44>>2];if(e){ja(e)}e=F[c+32>>2];if(e){ja(e)}Z=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=F[a+216>>2];c=F[m+44>>2];d=ka(80);F[d>>2]=9684;F[d+4>>2]=0;F[d+76>>2]=0;F[d+68>>2]=c;F[d+8>>2]=8624;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;e=e+L(h,144)|0;f=e+104|0;F[d+72>>2]=f;F[d- -64>>2]=0;F[d+56>>2]=0;F[d+60>>2]=0;F[n+24>>2]=c;c=n;F[c+68>>2]=0;F[c+72>>2]=0;F[c+60>>2]=0;F[c+64>>2]=0;F[c+52>>2]=0;F[c+56>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+84>>2]=0;F[c+88>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+28>>2]=d;g=F[c+28>>2];F[c+8>>2]=F[c+24>>2];F[c+12>>2]=g;F[c+20>>2]=f;f=e+4|0;F[c+16>>2]=f;F[c+36>>2]=0;F[c+40>>2]=0;F[c+32>>2]=8624;e=F[c+20>>2];F[c>>2]=F[c+16>>2];F[c+4>>2]=e;e=c+32|0;Fd(e,f,c);c=d+8|0;lc(c,e);if((c|0)!=(e|0)){gb(d+56|0,F[e+48>>2],F[e+52>>2])}Ed(e);break c}c=Z+-64|0;Z=c;g=F[F[a+4>>2]+44>>2];d=ka(80);F[d>>2]=9392;F[d+4>>2]=0;F[d+76>>2]=0;F[d+72>>2]=e;F[d+68>>2]=g;F[d+8>>2]=9556;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;F[d- -64>>2]=0;j=d+56|0;f=j;F[f>>2]=0;F[f+4>>2]=0;f=F[a+8>>2];F[c+40>>2]=0;F[c+44>>2]=0;F[c+32>>2]=0;F[c+36>>2]=0;h=c+24|0;F[h>>2]=0;F[h+4>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+56>>2]=0;F[c+8>>2]=0;F[c+12>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;F[c>>2]=9556;F[c+4>>2]=f;i=F[f>>2];l=F[f+4>>2];D[c+63|0]=0;k=h;h=c+63|0;Ea(k,(l-i>>2>>>0)/3|0,h);i=F[c+4>>2];l=F[i+28>>2];i=F[i+24>>2];D[c+63|0]=0;Ea(c+36|0,l-i>>2,h);F[c+20>>2]=d;F[c+16>>2]=g;F[c+12>>2]=e;F[c+8>>2]=f;lc(d+8|0,c);gb(j,F[c+48>>2],F[c+52>>2]);F[c>>2]=9556;e=F[c+48>>2];if(e){F[c+52>>2]=e;ja(e)}F[c>>2]=9372;e=F[c+36>>2];if(e){ja(e)}e=F[c+24>>2];if(e){ja(e)}Z=c- -64|0}if(!d){break a}}d=yc(ka(64),d);c=F[a+4>>2];a=d;d=b;m:{n:{if((d|0)>=0){g=c+8|0;b=F[c+12>>2];j=F[c+8>>2];e=b-j>>2;o:{if((e|0)>(d|0)){break o}f=d+1|0;if(d>>>0>=e>>>0){Pb(g,f-e|0);break o}if(e>>>0<=f>>>0){break o}f=j+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=F[b>>2];F[b>>2]=0;if(e){$[F[F[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}F[c+12>>2]=f}c=F[g>>2]+(d<<2)|0;b=F[c>>2];F[c>>2]=a;if(b){break n}break m}b=a;if(!a){break m}}$[F[F[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}Z=n+96|0;return q|0}function Ab(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0),n=M(0),o=0;a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=E[b>>1];if((e|0)<0){break b}E[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e+32768>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>32767){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=F[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=F[b+4>>2];e=F[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>32767|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(32767)|m>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(32767)|mM(1)){break d}e=(b<<1)+d|0;l=R(+m*32767+.5);f:{if(N(l)<2147483648){i=~~l;break f}i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ma((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=N(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=32767|l<-32768|(N(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=R(l*32767+.5);i:{if(N(l)<2147483648){i=~~l;break i}i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ma((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ma((e<<1)+d|0,0,(c&255)-e<<1)}return j}ma((e<<1)+d|0,0,(c&255)-e<<1);return 1}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0),n=M(0),o=0;a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=E[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=F[b>>2];if((e|0)<0){break b}F[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=F[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=F[b+4>>2];e=F[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>2147483647|k){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(2147483648)|m>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(2147483648)|mM(1)){break d}e=(b<<2)+d|0;l=R(+m*2147483647+.5);f:{if(N(l)<2147483648){i=~~l;break f}i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ma((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=N(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=2147483647|l<-2147483648|(N(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=R(l*2147483647+.5);i:{if(N(l)<2147483648){i=~~l;break i}i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ma((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ma((e<<2)+d|0,0,(c&255)-e<<2)}return j}ma((e<<2)+d|0,0,(c&255)-e<<2);return 1}function zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=D[b|0];if((e|0)<0){break b}E[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=E[b>>1];if((e|0)<0){break b}E[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>65535|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>65535|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];l=F[e>>2];g=l;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-l|0;if(!G[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(65535)|m=M(0)){i=~~m>>>0}else{i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(65535)|mM(1)){break d}e=(b<<1)+d|0;j=R(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}ma((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];l=F[e>>2];g=l;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-l|0;if(!G[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=65535|j<0|(N(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=65535|j<0|(N(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=R(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}ma((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}ma((e<<1)+d|0,0,(c&255)-e<<1)}return l}ma((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Ga(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=M(0),l=0,m=0,n=M(0),o=0;a:{if(!d){break a}b:{c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=D[b|0];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=G[b|0];F[e+4>>2]=0;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=E[b>>1];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=H[b>>1];F[e+4>>2]=0;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=F[b>>2];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=F[b>>2];F[e+4>>2]=0;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=F[b+4>>2];e=(g<<3)+d|0;F[e>>2]=F[b>>2];F[e+4>>2]=i;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=F[b>>2];i=F[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;F[j>>2]=e;F[j+4>>2]=i;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=G[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(G[a+32|0]){break a}e=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+e|0;e=F[a>>2];i=F[e+4>>2];e=F[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=J[g>>2];if(k>=M(0x8000000000000000)|k=M(1)?~~(k>M(0)?M(P(M(R(M(k*M(2.3283064365386963e-10)))),M(4294967296))):M(S(M(M(k-M(~~k>>>0>>>0))*M(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}F[e>>2]=m;F[e+4>>2]=j;b=b+1|0;e=G[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=G[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(G[a+32|0]){break a}e=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+e|0;e=F[a>>2];i=F[e+4>>2];e=F[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=K[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=N(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=N(l)>=1?~~(l>0?P(R(l*2.3283064365386963e-10),4294967295):S((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}F[e>>2]=m;F[e+4>>2]=j;b=b+1|0;e=G[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=G[b|0];F[e+4>>2]=0;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}ma(d,0,a<<3)}}function le(a,b){a=a|0;b=b|0;var 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;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=F[a+8>>2];switch(F[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=G[a+24|0];c=ka(f);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;D[a+c|0]=F[k>>2];D[(a|1)+c|0]=F[k+4>>2];D[(a|2)+c|0]=F[k+8>>2];D[(a|3)+c|0]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){D[a+c|0]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=G[a+24|0];c=ka(f);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;D[a+c|0]=F[k>>2];D[(a|1)+c|0]=F[k+4>>2];D[(a|2)+c|0]=F[k+8>>2];D[(a|3)+c|0]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){D[a+c|0]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=G[a+24|0];i=h<<1;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;E[f+c>>1]=F[k>>2];E[(f|2)+c>>1]=F[k+4>>2];E[(f|4)+c>>1]=F[k+8>>2];E[(f|6)+c>>1]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){E[(a<<1)+c>>1]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<1;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;E[f+c>>1]=F[k>>2];E[(f|2)+c>>1]=F[k+4>>2];E[(f|4)+c>>1]=F[k+8>>2];E[(f|6)+c>>1]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){E[(a<<1)+c>>1]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<2;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;F[f+c>>2]=F[k>>2];F[(f|4)+c>>2]=F[k+4>>2];F[(f|8)+c>>2]=F[k+8>>2];F[(f|12)+c>>2]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[(a<<2)+c>>2]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<2;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;F[f+c>>2]=F[k>>2];F[(f|4)+c>>2]=F[k+4>>2];F[(f|8)+c>>2]=F[k+8>>2];F[(f|12)+c>>2]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[(a<<2)+c>>2]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i)}ja(c);c=1}return c|0}function xb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=E[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(F[b+4>>2]){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(F[b+4>>2]){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];k=F[e>>2];g=k;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-k|0;if(!G[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(4294967296)|m=M(0)){i=~~m>>>0}else{i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(4294967296)|mM(1)){break d}e=(b<<2)+d|0;j=R(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}ma((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];k=F[e>>2];g=k;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-k|0;if(!G[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=4294967295|j<0|(N(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=4294967295|j<0|(N(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=R(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}ma((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma((e<<2)+d|0,0,(c&255)-e<<2)}return k}ma((e<<2)+d|0,0,(c&255)-e<<2);return 1}function rd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(F[a+92>>2]==F[a+88>>2]){break e}c=F[a+52>>2];f:{if((c|0)!=F[a+56>>2]){F[c>>2]=b;F[a+52>>2]=c+4;break f}h=F[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}f=e+(d<<2)|0;F[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;F[f>>2]=F[c>>2];if((c|0)!=(h|0)){continue}break}}F[a+56>>2]=e+(g<<2);F[a+52>>2]=d;F[a+48>>2]=f;if(!h){break f}ja(h)}F[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=F[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=F[F[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=F[F[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=F[a+36>>2];h=d+(c>>>3&536870908)|0;g=F[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ka(f,c,d);d=F[a+36>>2]}f=d+i|0;d=F[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ka(d,e,c)}c=-1;c=(b|0)!=-1?F[F[F[a+4>>2]>>2]+(b<<2)>>2]:c;f=F[a+36>>2]+(c>>>3&536870908)|0;d=F[f>>2];e=1<>2]=d|e;Ka(a+8|0,c,b)}d=F[a+84>>2];if((d|0)>2){break e}while(1){e=L(d,12)+a|0;b=F[e+52>>2];if((b|0)==F[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=F[b>>2];F[e+52>>2]=b;F[a+84>>2]=d;if((c|0)==-1){break e}f=F[a+24>>2];b=(c>>>0)/3|0;j:{if(F[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;F[b>>2]=F[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=F[a+36>>2]+(d>>>3&536870908)|0;e=F[f>>2];b=1<>2]=b|e;i=F[(F[F[a+16>>2]+96>>2]+L(k,12)|0)+((c>>>0)%3<<2)>>2];l=F[F[a+20>>2]+4>>2];f=F[l+4>>2];t:{if((f|0)!=F[l+8>>2]){F[f>>2]=i;F[l+4>>2]=f+4;break t}j=F[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ka(h<<2)}else{e=0}b=e+(g<<2)|0;F[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;F[b>>2]=F[f>>2];if((f|0)!=(j|0)){continue}break}}F[l+8>>2]=e+(h<<2);F[l+4>>2]=g;F[l>>2]=b;if(!j){break t}ja(j)}j=F[a+12>>2];f=F[j+4>>2];u:{if((f|0)!=F[j+8>>2]){F[f>>2]=c;F[j+4>>2]=f+4;break u}i=F[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ka(h<<2)}else{e=0}b=e+(g<<2)|0;F[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;F[b>>2]=F[f>>2];if((f|0)!=(i|0)){continue}break}}F[j+8>>2]=e+(h<<2);F[j+4>>2]=g;F[j>>2]=b;if(!i){break u}ja(i)}b=F[a+12>>2];F[F[b+12>>2]+(d<<2)>>2]=F[b+24>>2];F[b+24>>2]=F[b+24>>2]+1}if((c|0)==-1){break k}g=F[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=F[F[g+12>>2]+(b<<2)>>2]}v:{w:{if((L(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=F[F[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=F[F[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=F[F[g>>2]+(c<<2)>>2];if(!(F[F[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=F[a+88>>2]+(b<<2)|0;e=F[b>>2];F[b>>2]=e+1;k=(e|0)<=0?2:1}if(F[a+84>>2]>=(k|0)&l){break m}j=L(k,12)+a|0;b=F[j+52>>2];y:{if((b|0)!=F[j+56>>2]){F[b>>2]=c;F[j+52>>2]=b+4;break y}i=F[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}d=e+(d<<2)|0;F[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;F[d>>2]=F[b>>2];if((b|0)!=(i|0)){continue}break}}F[j+48>>2]=d;F[j+52>>2]=c;F[j+56>>2]=e+(g<<2);if(!i){break y}ja(i)}if(F[a+84>>2]<=(k|0)){break x}F[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=F[F[F[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(F[F[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=F[a+88>>2]+(c<<2)|0;c=F[b>>2];F[b>>2]=c+1;b=(c|0)<=0?2:1}if(F[a+84>>2]<(b|0)){break l}c=f}f=F[a+24>>2];continue}break}k=L(b,12)+a|0;c=F[k+52>>2];z:{if((c|0)!=F[k+56>>2]){F[c>>2]=f;F[k+52>>2]=c+4;break z}i=F[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}d=e+(d<<2)|0;F[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[k+48>>2]=d;F[k+52>>2]=f;F[k+56>>2]=e+(g<<2);if(!i){break z}ja(i)}d=F[a+84>>2];if((d|0)<=(b|0)){break j}F[a+84>>2]=b;d=b;break j}d=F[a+84>>2]}if((d|0)<3){continue}break}}return 1}oa();v()}na();v()}na();v()}na();v()}function Mc(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=Z-16|0;Z=e;F[e+12>>2]=a;a:{if(a>>>0<=211){d=F[Lc(10352,10544,e+12|0)>>2];break a}if(a>>>0>=4294967292){V();v()}f=(a>>>0)/210|0;d=L(f,210);F[e+8>>2]=a-d;g=Lc(10544,10736,e+8|0)-10544>>2;while(1){d=F[(g<<2)+10544>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((L(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((L(b,c)|0)!=(d|0)){continue}break}break b}b=F[(a<<2)+10352>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((L(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=L(f,210);continue}}Z=e+16|0;return d}function lb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=M(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(D[b|0]);J[(h<<2)+d>>2]=i?M(j/M(127)):j;b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(G[b|0]);J[(h<<2)+d>>2]=i?M(j/M(255)):j;b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(E[b>>1]);J[(h<<2)+d>>2]=i?M(j/M(32767)):j;b=b+2|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(H[b>>1]);J[(h<<2)+d>>2]=i?M(j/M(65535)):j;b=b+2|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(F[b>>2]);J[(h<<2)+d>>2]=i?M(j*M(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(I[b>>2]);J[(h<<2)+d>>2]=i?M(j*M(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(+I[b>>2]+ +F[b+4>>2]*4294967296);J[(h<<2)+d>>2]=i?M(j*M(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(+I[b>>2]+ +I[b+4>>2]*4294967296);J[(h<<2)+d>>2]=i?M(j*M(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=J[b>>2];b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=K[b>>3];b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=G[b|0]?M(1):M(0);b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}ma(d,0,a<<2)}return l}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=M(0),m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){return 0}e=D[b|0];if((e|0)<0){break b}D[d+g|0]=e;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if((e+128&65535)>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>127){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e+128>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>127){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>127|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=G[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=F[F[a>>2]>>2];f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break d}l=J[b>>2];if(l>=M(127)|lM(1)){break d}j=R(+l*127+.5);if(!(N(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ma(d+e|0,0,c-e|0)}return k;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}j=K[b>>3];if(j>=127|j<-128|(N(j)==Infinity|j!=j)){break b}e=d+g|0;if(G[a+32|0]){if(j<0|j>1){break b}j=R(j*127+.5)}g:{if(N(j)<2147483648){h=~~j;break g}h=-2147483648}D[e|0]=h;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma(d+e|0,0,(c&255)-e|0)}return k}ma(d+e|0,0,(c&255)-e|0);return 1}function Bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){return 0}e=D[b|0];if((e|0)<0){break b}D[d+g|0]=e;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=G[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=F[F[a>>2]>>2];f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break d}l=J[b>>2];if(l>=M(255)|lM(1)){break d}j=R(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=M(0))){break f}h=~~l>>>0;break e}h=0}D[e|0]=h;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ma(d+e|0,0,c-e|0)}return k;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}j=K[b>>3];if(j>=255|j<0|(N(j)==Infinity|j!=j)){break b}e=d+g|0;if(G[a+32|0]){if(j>1){break b}j=R(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}D[e|0]=h;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma(d+e|0,0,(c&255)-e|0)}return k}ma(d+e|0,0,(c&255)-e|0);return 1}function jc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Z-48|0;Z=e;f=H[5053]|H[5054]<<16;d=H[5051]|H[5052]<<16;E[e+38>>1]=d;E[e+40>>1]=d>>>16;E[e+42>>1]=f;E[e+44>>1]=f>>>16;d=F[2525];F[e+32>>2]=F[2524];F[e+36>>2]=d;d=F[2523];F[e+24>>2]=F[2522];F[e+28>>2]=d;d=F[2521];F[e+16>>2]=F[2520];F[e+20>>2]=d;g=F[b+8>>2];i=F[b+12>>2];h=F[b+20>>2];d=F[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break d}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}f=d+F[b>>2]|0;d=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=G[f+4|0];d=F[b+20>>2];f=F[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;F[b+16>>2]=f;F[b+20>>2]=d;if(sa(c,1250,5)){d=ka(32);D[d+17|0]=0;D[d+16|0]=G[1494];c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);b=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[1482]|G[1483]<<8|(G[1484]<<16|G[1485]<<24);b=G[1478]|G[1479]<<8|(G[1480]<<16|G[1481]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,d,17);ja(d);break b}g=F[b+12>>2];if((g|0)<=(d|0)&I[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break f}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+5|0]=G[f+F[b>>2]|0];g=F[b+20>>2];d=F[b+16>>2]+1|0;g=d?g:g+1|0;F[b+16>>2]=d;F[b+20>>2]=g;f=F[b+12>>2];if((f|0)<=(g|0)&I[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break h}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+6|0]=G[d+F[b>>2]|0];h=F[b+20>>2];d=F[b+16>>2]+1|0;h=d?h:h+1|0;F[b+16>>2]=d;F[b+20>>2]=h;f=F[b+12>>2];if((f|0)<=(h|0)&I[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break j}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+7|0]=G[d+F[b>>2]|0];g=F[b+20>>2];d=F[b+16>>2]+1|0;g=d?g:g+1|0;F[b+16>>2]=d;F[b+20>>2]=g;f=F[b+12>>2];if((f|0)<=(g|0)&I[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=Eb(e,e+16|0);F[a>>2]=-2;b=a+4|0;if(D[c+11|0]>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break b}ra(b,F[c>>2],F[c+4>>2]);if(D[c+11|0]>=0){break b}ja(F[c>>2]);break b}D[c+8|0]=G[d+F[b>>2]|0];d=F[b+20>>2];g=F[b+16>>2];f=g+1|0;i=f?d:d+1|0;F[b+16>>2]=f;F[b+20>>2]=i;i=F[b+8>>2];h=F[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=Eb(e,e+16|0);F[a>>2]=-2;b=a+4|0;if(D[c+11|0]>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break b}ra(b,F[c>>2],F[c+4>>2]);if(D[c+11|0]>=0){break b}ja(F[c>>2]);break b}d=c;c=F[b>>2]+f|0;E[d+10>>1]=G[c|0]|G[c+1|0]<<8;g=F[b+20>>2];c=F[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;F[b+16>>2]=c;F[b+20>>2]=g;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0}Z=e+48|0;return}za();v()}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,w=0,x=0,y=0;e=Z-96|0;Z=e;f=F[a+16>>2];D[e+92|0]=1;F[e+88>>2]=b;F[e+84>>2]=b;F[e+80>>2]=f;j=F[a+20>>2];d=F[j>>2];a:{b:{f=F[F[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=F[F[a+8>>2]+(F[d+(f<<2)>>2]<<2)>>2];f=F[a+4>>2];if(!G[f+84|0]){d=F[F[f+68>>2]+(d<<2)>>2]}F[e+72>>2]=0;F[e+76>>2]=0;j=e- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[e+56>>2]=0;F[e+60>>2]=0;Ga(f,d,D[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!F[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=F[a+20>>2];b=F[n>>2];d=F[F[F[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=F[n+4>>2]-b>>2>>>0){break b}d=F[F[a+8>>2]+(F[b+(d<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;Ga(b,d,D[b+24|0],e+32|0);d=F[a+20>>2];b=F[d>>2];f=F[F[F[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=F[d+4>>2]-b>>2>>>0){break a}d=F[F[a+8>>2]+(F[b+(f<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;Ga(b,d,D[b+24|0],e+8|0);g=F[e+8>>2];b=F[e+56>>2];d=g-b|0;p=F[e+60>>2];t=F[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=F[e+40>>2];f=F[e+64>>2];n=h-f|0;u=F[e+68>>2];y=F[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=ki(d,t,n,y);w=o-g|0;x=i-(_+(g>>>0>o>>>0)|0)|0;i=w;h=F[e+16>>2];g=h-f|0;u=F[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=F[e+32>>2];h=k-b|0;w=F[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=ki(g,u,h,w);o=i+b|0;i=_+x|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=F[e+48>>2];f=F[e+72>>2];d=k-f|0;t=F[e+76>>2];x=F[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=ki(l,p,d,x);k=b+l|0;b=_+q|0;b=k>>>0>>0?b+1|0:b;l=F[e+24>>2];p=l-f|0;f=F[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=ki(p,f,h,w);l=k-q|0;q=b-(_+(k>>>0>>0)|0)|0;b=ki(g,u,d,x);d=r-b|0;b=s-(_+(b>>>0>r>>>0)|0)|0;s=ki(p,f,n,y);r=s+d|0;b=_+b|0;s=r>>>0>>0?b+1|0:b;b=F[e+88>>2];f=F[e+80>>2];d:{if(G[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}F[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;F[e+88>>2]=b;if((b|0)!=-1){break e}}b=F[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}D[e+92|0]=0;F[e+88>>2]=d;break d}if((b|0)!=F[e+84>>2]){break d}F[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}F[e+88>>2]=d}b=F[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!F[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=li(o,n,a,b);l=li(l,q,a,b);r=li(r,s,a,b)}F[c+8>>2]=o;F[c+4>>2]=l;F[c>>2]=r;Z=e+96|0;return}ta();v()}ta();v()}ta();v()}function te(a){a=a|0;var 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=Z-16|0;Z=g;f=1;m=$[F[F[a>>2]+24>>2]](a)|0;a:{if((m|0)<=0){break a}r=a+48|0;f=0;while(1){b:{c:{if(!F[($[F[F[a>>2]+28>>2]](a)|0)+40>>2]){break c}o=l<<2;d=F[o+F[a+36>>2]>>2];c=F[d+8>>2];e=bb(d);if(!e){break c}h=F[($[F[F[a>>2]+28>>2]](a)|0)+40>>2];F[g+12>>2]=F[c+56>>2];d=ka(32);F[g>>2]=d;F[g+4>>2]=24;F[g+8>>2]=-2147483616;c=G[1196]|G[1197]<<8|(G[1198]<<16|G[1199]<<24);b=G[1192]|G[1193]<<8|(G[1194]<<16|G[1195]<<24);D[d+16|0]=b;D[d+17|0]=b>>>8;D[d+18|0]=b>>>16;D[d+19|0]=b>>>24;D[d+20|0]=c;D[d+21|0]=c>>>8;D[d+22|0]=c>>>16;D[d+23|0]=c>>>24;c=G[1188]|G[1189]<<8|(G[1190]<<16|G[1191]<<24);b=G[1184]|G[1185]<<8|(G[1186]<<16|G[1187]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[1180]|G[1181]<<8|(G[1182]<<16|G[1183]<<24);b=G[1176]|G[1177]<<8|(G[1178]<<16|G[1179]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;D[d+24|0]=0;c=h+16|0;b=F[c>>2];d:{e:{if(!b){break e}i=F[g+12>>2];d=c;while(1){k=(i|0)>F[b+16>>2];d=k?d:b;b=F[(k?b+4|0:b)>>2];if(b){continue}break}if((c|0)==(d|0)|(i|0)>2]){break e}b=F[d+24>>2];if(!b){break e}i=d+20|0;d=G[g+11|0];c=d<<24>>24<0;k=c?F[g>>2]:g;d=c?F[g+4>>2]:d;while(1){c=G[b+27|0];j=c<<24>>24<0;c=j?F[b+20>>2]:c;p=c>>>0>>0;f:{g:{h:{i:{j:{k:{n=p?c:d;if(n){j=j?F[b+16>>2]:b+16|0;q=sa(k,j,n);if(q){break k}if(c>>>0<=d>>>0){break j}break f}if(c>>>0<=d>>>0){break i}break f}if((q|0)<0){break f}}c=sa(j,k,n);if(c){break h}}if(p){break g}d=gc(i,g);break d}if((c|0)<0){break g}d=gc(i,g);break d}b=b+4|0}b=F[b>>2];if(b){continue}break}}d=gc(h,g)}if(D[g+11|0]<0){ja(F[g>>2])}if(!d){break c}d=0;c=F[F[o+F[a+36>>2]>>2]+8>>2];if(!F[c+64>>2]){b=ka(32);F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b>>2]=0;F[b+4>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;f=F[c+64>>2];F[c+64>>2]=b;if(f){b=F[f>>2];if(b){F[f+4>>2]=b;ja(b)}ja(f);b=F[c+64>>2]}F[c>>2]=b;f=F[b+20>>2];F[c+8>>2]=F[b+16>>2];F[c+12>>2]=f;f=F[b+24>>2];b=F[b+28>>2];F[c+48>>2]=0;F[c+52>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+16>>2]=f;F[c+20>>2]=b}l:{D[c+24|0]=G[e+24|0];F[c+28>>2]=F[e+28>>2];D[c+32|0]=G[e+32|0];b=F[e+44>>2];F[c+40>>2]=F[e+40>>2];F[c+44>>2]=b;b=F[e+52>>2];F[c+48>>2]=F[e+48>>2];F[c+52>>2]=b;F[c+56>>2]=F[e+56>>2];b=F[e+12>>2];F[c+8>>2]=F[e+8>>2];F[c+12>>2]=b;b=F[e+20>>2];F[c+16>>2]=F[e+16>>2];F[c+20>>2]=b;F[c+60>>2]=F[e+60>>2];f=F[e>>2];m:{if(!f){F[c>>2]=0;b=1;break m}h=F[c>>2];b=0;if(!h){break m}b=F[f>>2];f=F[f+4>>2]-b|0;md(h,b,f,0);b=1}if(!b){break l}D[c+84|0]=G[e+84|0];F[c+80>>2]=F[e+80>>2];if((c|0)!=(e|0)){gb(c+68|0,F[e+68>>2],F[e+72>>2])}n:{h=F[e+88>>2];o:{if(h){f=ka(40);e=F[h>>2];F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;F[f>>2]=e;e=F[h+12>>2];b=F[h+8>>2];if((e|0)!=(b|0)){b=e-b|0;if((b|0)<0){break n}e=ka(b);F[f+12>>2]=e;F[f+8>>2]=e;F[f+16>>2]=b+e;b=F[h+8>>2];i=F[h+12>>2];p:{if((b|0)==(i|0)){break p}k=i+(b^-1)|0;j=i-b&7;if(j){while(1){D[e|0]=G[b|0];e=e+1|0;b=b+1|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}}if(k>>>0<7){break p}while(1){D[e|0]=G[b|0];D[e+1|0]=G[b+1|0];D[e+2|0]=G[b+2|0];D[e+3|0]=G[b+3|0];D[e+4|0]=G[b+4|0];D[e+5|0]=G[b+5|0];D[e+6|0]=G[b+6|0];D[e+7|0]=G[b+7|0];e=e+8|0;b=b+8|0;if((i|0)!=(b|0)){continue}break}}F[f+12>>2]=e}d=F[h+36>>2];F[f+32>>2]=F[h+32>>2];F[f+36>>2]=d;d=F[h+28>>2];F[f+24>>2]=F[h+24>>2];F[f+28>>2]=d;e=F[c+88>>2];F[c+88>>2]=f;if(e){break o}break l}e=F[c+88>>2];F[c+88>>2]=0;if(!e){break l}}d=F[e+8>>2];if(d){F[e+12>>2]=d;ja(d)}ja(e);break l}na();v()}break b}d=F[F[a+36>>2]+(l<<2)>>2];if(!($[F[F[d>>2]+24>>2]](d,r)|0)){break a}}l=l+1|0;f=(m|0)<=(l|0);if((l|0)!=(m|0)){continue}break}}Z=g+16|0;return f|0}function Jg(a){a=a|0;var 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;f=Z-32|0;Z=f;a:{if(!hb(1,f+28|0,F[a+32>>2])){break a}if(!hb(1,f+24|0,F[a+32>>2])){break a}l=F[f+28>>2];if(l>>>0>1431655765){break a}d=F[a+32>>2];c=d;i=F[c+8>>2];b=F[c+16>>2];h=F[c+12>>2];c=F[c+20>>2];g=li(i-b|0,h-(c+(b>>>0>i>>>0)|0)|0,3,0);if(!_&g>>>0>>0){break a}n=F[f+24>>2];g=ki(l,0,3,0);if(!_&g>>>0>>0|((c|0)>=(h|0)&b>>>0>=i>>>0|(c|0)>(h|0))){break a}i=G[b+F[d>>2]|0];b=b+1|0;c=b?c:c+1|0;F[d+16>>2]=b;F[d+20>>2]=c;b:{c:{if(!i){d=0;c=Z-32|0;Z=c;F[c+24>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;d:{e:{b=L(l,3);if(b){if(b>>>0>=1073741824){break e}i=L(l,12);d=ka(i);ma(d,0,i)}b=mc(b,1,F[a+32>>2],d);f:{g:{if(!(!l|!b)){i=0;while(1){h:{g=e;b=(i<<2)+d|0;h=F[b>>2];e=h>>>1|0;h=g+(h&1?0-e|0:e)|0;if((h|0)<0){break h}F[c>>2]=h;e=F[b+4>>2];g=e>>>1|0;h=h+(e&1?0-g|0:g)|0;if((h|0)<0){break h}F[c+4>>2]=h;b=F[b+8>>2];e=b>>>1|0;e=h+(b&1?0-e|0:e)|0;if((e|0)<0){break h}F[c+8>>2]=e;mb(F[a+44>>2]+96|0,c);i=i+3|0;b=1;j=j+1|0;if((j|0)!=(l|0)){continue}break g}break}b=0;break g}if(!d){break f}}ja(d)}Z=c+32|0;break d}na();v()}if(b){break c}break a}if(n>>>0<=255){if(!l){break c}while(1){i:{F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;d=F[a+32>>2];b=d;i=F[b+16>>2];e=F[b+8>>2];c=F[b+20>>2];g=F[b+12>>2];b=g;if(e>>>0<=i>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break i}j=F[d>>2];m=G[j+i|0];b=c;h=i+1|0;b=h?b:b+1|0;F[d+16>>2]=h;F[d+20>>2]=b;F[f+8>>2]=m;m=e>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0);e=m?i:e;g=m?c:g;if((e|0)==(h|0)&(g|0)==(b|0)){break i}m=G[h+j|0];b=c;h=i+2|0;b=h>>>0<2?b+1|0:b;F[d+16>>2]=h;F[d+20>>2]=b;F[f+12>>2]=m;if((e|0)==(h|0)&(b|0)==(g|0)){break i}h=G[h+j|0];b=c;c=i+3|0;b=c>>>0<3?b+1|0:b;F[d+16>>2]=c;F[d+20>>2]=b;F[f+16>>2]=h;mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break c}break}k=0;break a}if(n>>>0<=65535){if(!l){break c}while(1){j:{F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;j=F[a+32>>2];b=j;c=F[b+8>>2];d=F[b+12>>2];h=F[b+16>>2];b=F[b+20>>2];i=b;e=h+2|0;b=e>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break j}m=F[j>>2];g=m+h|0;g=G[g|0]|G[g+1|0]<<8;F[j+16>>2]=e;F[j+20>>2]=b;F[f+8>>2]=g;b=i;g=h+4|0;b=g>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break j}e=e+m|0;e=G[e|0]|G[e+1|0]<<8;F[j+16>>2]=g;F[j+20>>2]=b;F[f+12>>2]=e;e=c;b=i;c=h+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break j}d=g+m|0;d=G[d|0]|G[d+1|0]<<8;F[j+16>>2]=c;F[j+20>>2]=b;F[f+16>>2]=d;mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break c}break}k=0;break a}k:{if(n>>>0>2097151){break k}b=H[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break k}if(!l){break c}while(1){l:{F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;if(!hb(1,f+4|0,F[a+32>>2])){break l}F[f+8>>2]=F[f+4>>2];if(!hb(1,f+4|0,F[a+32>>2])){break l}F[f+12>>2]=F[f+4>>2];if(!hb(1,f+4|0,F[a+32>>2])){break l}F[f+16>>2]=F[f+4>>2];mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break c}break}k=0;break a}if(!l){break c}while(1){F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;j=F[a+32>>2];b=j;c=F[b+8>>2];d=F[b+12>>2];h=F[b+16>>2];b=F[b+20>>2];i=b;e=h+4|0;b=e>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}m=F[j>>2];g=m+h|0;g=G[g|0]|G[g+1|0]<<8|(G[g+2|0]<<16|G[g+3|0]<<24);F[j+16>>2]=e;F[j+20>>2]=b;F[f+8>>2]=g;b=i;g=h+8|0;b=g>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}e=e+m|0;e=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);F[j+16>>2]=g;F[j+20>>2]=b;F[f+12>>2]=e;e=c;b=i;c=h+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}d=g+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[j+16>>2]=c;F[j+20>>2]=b;F[f+16>>2]=d;mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break}}F[F[a+4>>2]+80>>2]=n;k=1;break a}k=0}Z=f+32|0;return k|0}function Ld(a,b,c){var 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;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;a:{b:{if(!H[b+38>>1]){break b}if(!Ta(1,h+12|0,b)){break b}e=F[b+8>>2];f=F[b+16>>2];j=e-f|0;k=F[h+12>>2];e=F[b+12>>2]-(F[b+20>>2]+(e>>>0>>0)|0)|0;if(j>>>0>>6>>>0&(e|0)<=0|(e|0)<0){break b}e=F[h>>2];d=F[h+4>>2]-e>>2;c:{if(d>>>0>>0){qa(h,k-d|0);k=F[h+12>>2];break c}if(d>>>0<=k>>>0){break c}F[h+4>>2]=e+(k<<2)}i=1;if(!k){break a}e=F[b+16>>2];d=F[b+20>>2];r=F[h>>2];l=F[b+8>>2];o=F[b+12>>2];j=0;while(1){i=0;if((d|0)>=(o|0)&e>>>0>=l>>>0|(d|0)>(o|0)){break a}i=F[b>>2];p=G[i+e|0];e=e+1|0;d=e?d:d+1|0;F[b+16>>2]=e;F[b+20>>2]=d;f=p>>>2|0;m=0;d:{e:{f:{g:{s=p&3;switch(s|0){case 3:break g;case 0:break e;default:break f}}f=f+j|0;i=0;if(f>>>0>=k>>>0){break a}ma(r+(j<<2)|0,0,(p&252)+4|0);j=f;break d}while(1){if((e|0)==(l|0)&(d|0)==(o|0)){break b}k=G[e+i|0];e=e+1|0;d=e?d:d+1|0;F[b+16>>2]=e;F[b+20>>2]=d;f=k<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}F[r+(j<<2)>>2]=f}j=j+1|0;k=F[h+12>>2];if(j>>>0>>0){continue}break}d=h+16|0;o=F[h>>2];f=F[h+16>>2];e=F[h+20>>2]-f|0;h:{if(e>>>0<=4194303){qa(d,1048576-(e>>>2|0)|0);break h}if((e|0)==4194304){break h}F[h+20>>2]=f+4194304}e=h+28|0;j=F[e>>2];f=F[h+32>>2]-j>>3;i:{if(f>>>0>>0){_a(e,k-f|0);j=F[e>>2];break i}if(f>>>0>k>>>0){F[h+32>>2]=(k<<3)+j}if(!k){break b}}l=F[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;h=F[e>>2];m=(d<<3)+j|0;f=i;F[m+4>>2]=f;F[m>>2]=h;e=F[e>>2];i=e+f|0;if(i>>>0>1048576){break b}j:{if(f>>>0>=i>>>0){break j}m=0;h=e&7;if(h){while(1){F[l+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((h|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break j}while(1){e=l+(f<<2)|0;F[e>>2]=d;F[e+28>>2]=d;F[e+24>>2]=d;F[e+20>>2]=d;F[e+16>>2]=d;F[e+12>>2]=d;F[e+8>>2]=d;F[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((k|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}k:{if(!i|(F[g+20>>2]?0:a)){break k}i=0;j=Z-16|0;Z=j;l:{if(!Sa(1,j+8|0,b)){break l}d=F[b+8>>2];f=F[b+16>>2];l=d-f|0;n=F[j+12>>2];h=F[b+20>>2];d=F[b+12>>2]-(h+(d>>>0>>0)|0)|0;e=F[j+8>>2];if((n|0)==(d|0)&e>>>0>l>>>0|d>>>0>>0){break l}d=h+n|0;l=e+f|0;d=l>>>0>>0?d+1|0:d;F[b+16>>2]=l;F[b+20>>2]=d;if((e|0)<=0){break l}b=f+F[b>>2]|0;F[g+48>>2]=b;d=e-1|0;f=d+b|0;l=G[f|0];m:{if(l>>>0<=63){F[g+52>>2]=d;b=G[f|0]&63;break m}n:{switch((l>>>6|0)-1|0){case 0:if(e>>>0<2){break l}d=e-2|0;F[g+52>>2]=d;b=b+d|0;b=G[b+1|0]<<8&16128|G[b|0];break m;case 1:if(e>>>0<3){break l}d=e-3|0;F[g+52>>2]=d;b=b+d|0;b=G[b+1|0]<<8|G[b+2|0]<<16&4128768|G[b|0];break m;default:break n}}d=e-4|0;F[g+52>>2]=d;b=b+d|0;b=(G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24))&1073741823}F[g+56>>2]=b+4194304;i=b>>>0<1069547520}Z=j+16|0;if(!i){break k}if(!a){t=1;break k}b=F[g+52>>2];f=F[g+56>>2];d=F[g+36>>2];e=F[g+48>>2];j=F[g+24>>2];while(1){o:{if(f>>>0>4194303){break o}while(1){if((b|0)<=0){break o}b=b-1|0;F[g+52>>2]=b;f=G[b+e|0]|f<<8;F[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;l=F[j+(i<<2)>>2];n=d+(l<<3)|0;f=(L(F[n>>2],f>>>20|0)+i|0)-F[n+4>>2]|0;F[g+56>>2]=f;F[(q<<2)+c>>2]=l;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;return t}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=M(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=M(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(F[c>>2]==F[c+4>>2]){m=F[d+80>>2];u=Z-16|0;Z=u;g=F[a+4>>2];k=G[b+24|0];h=F[d+48>>2];n=F[F[d>>2]>>2];c=u+8|0;F[c>>2]=1065353216;d=c;J[c>>2]=M(-1<>2];c=ka(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=J[d>>2];n=F[a+8>>2];v=F[b>>2];d=F[b+48>>2];g=F[b+40>>2];w=F[b+44>>2];if(!G[b+84|0]){f=F[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=F[v>>2];l=ki(g,w,F[f+(i<<2)>>2],0)+d|0;h=la(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=M(R(M(M(o*M(J[j+h>>2]-J[n+j>>2]))+M(.5))));b:{if(M(N(e))>2]=r;j=j|4;e=M(R(M(M(o*M(J[j+h>>2]-J[n+j>>2]))+M(.5))));c:{if(M(N(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+h>>2]-J[b+n>>2]))+M(.5))));d:{if(M(N(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=F[v>>2];h=ki(g,w,i,l)+d|0;j=la(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+j>>2]-J[f+n>>2]))+M(.5))));e:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+j>>2]-J[f+n>>2]))+M(.5))));f:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+j>>2]-J[b+n>>2]))+M(.5))));g:{if(M(N(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}ja(c);Z=u+16|0;return 1}j=Z-16|0;Z=j;m=F[a+4>>2];i=G[b+24|0];g=F[d+48>>2];h=F[F[d>>2]>>2];d=j+8|0;F[d>>2]=1065353216;l=d;J[d>>2]=M(-1<>2];d=ka(i<<2);m=F[c+4>>2];q=F[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=J[l>>2];h=F[a+8>>2];v=F[b>>2];l=F[b+48>>2];m=F[b+40>>2];w=F[b+44>>2];if(G[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=F[v>>2];g=ki(m,w,F[q+(c<<2)>>2],0)+l|0;p=la(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));i:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));j:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+p>>2]-J[b+h>>2]))+M(.5))));k:{if(M(N(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=F[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=F[v>>2];g=ki(m,w,F[s+(F[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=la(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));l:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));m:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+p>>2]-J[b+h>>2]))+M(.5))));n:{if(M(N(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}ja(d);Z=j+16|0;return 1} +function Cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=F[a+4>>2];e=F[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=F[a+8>>2];c=F[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){va(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=L(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){va(a);va(a+144|0);va(a+288|0);va(a+432|0);va(a+576|0);va(a+720|0);va(a+864|0);va(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}F[e+4>>2]=c;break a}c:{d:{e:{a=c;c=F[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=ka(L(f,144))}c=L(i,144)+g|0;a=c;h=b&7;if(h){while(1){va(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=L(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){va(a);va(a+144|0);va(a+288|0);va(a+432|0);va(a+576|0);va(a+720|0);va(a+864|0);va(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=L(f,144)+g|0;d=F[e+4>>2];f=F[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;F[c>>2]=F[a>>2];F[c+4>>2]=F[a+4>>2];F[c+8>>2]=F[a+8>>2];F[c+12>>2]=F[a+12>>2];F[a+12>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[c+16>>2]=F[a+16>>2];F[c+20>>2]=F[a+20>>2];F[c+24>>2]=F[a+24>>2];F[a+24>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;g=G[a+28|0];F[c+40>>2]=0;F[c+32>>2]=0;F[c+36>>2]=0;D[c+28|0]=g;F[c+32>>2]=F[a+32>>2];F[c+36>>2]=F[a+36>>2];F[c+40>>2]=F[a+40>>2];F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[c+52>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+44>>2]=F[a+44>>2];F[c+48>>2]=F[a+48>>2];F[c+52>>2]=F[a+52>>2];F[a+52>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;g=c- -64|0;F[g>>2]=0;F[c+56>>2]=0;F[c+60>>2]=0;F[c+56>>2]=F[a+56>>2];F[c+60>>2]=F[a+60>>2];i=g;g=a- -64|0;F[i>>2]=F[g>>2];F[g>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[c+68>>2]=F[a+68>>2];g=F[a+72>>2];F[c+84>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+72>>2]=g;F[c+76>>2]=F[a+76>>2];F[c+80>>2]=F[a+80>>2];F[c+84>>2]=F[a+84>>2];F[a+84>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[c+96>>2]=0;F[c+88>>2]=0;F[c+92>>2]=0;F[c+88>>2]=F[a+88>>2];F[c+92>>2]=F[a+92>>2];F[c+96>>2]=F[a+96>>2];F[a+96>>2]=0;F[a+88>>2]=0;F[a+92>>2]=0;g=G[a+100|0];F[c+112>>2]=0;F[c+104>>2]=0;F[c+108>>2]=0;D[c+100|0]=g;F[c+104>>2]=F[a+104>>2];F[c+108>>2]=F[a+108>>2];F[c+112>>2]=F[a+112>>2];F[a+112>>2]=0;F[a+104>>2]=0;F[a+108>>2]=0;F[c+124>>2]=0;F[c+116>>2]=0;F[c+120>>2]=0;F[c+116>>2]=F[a+116>>2];F[c+120>>2]=F[a+120>>2];F[c+124>>2]=F[a+124>>2];F[a+124>>2]=0;F[a+116>>2]=0;F[a+120>>2]=0;g=F[a+128>>2];F[c+140>>2]=0;F[c+132>>2]=0;F[c+136>>2]=0;F[c+128>>2]=g;F[c+132>>2]=F[a+132>>2];F[c+136>>2]=F[a+136>>2];F[c+140>>2]=F[a+140>>2];F[a+140>>2]=0;F[a+132>>2]=0;F[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}F[e+8>>2]=b;a=F[e+4>>2];F[e+4>>2]=h;d=F[e>>2];F[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=F[b+132>>2];if(c){F[a-8>>2]=c;ja(c)}c=F[a-28>>2];if(c){F[a-24>>2]=c;ja(c)}c=F[a-40>>2];if(c){F[a-36>>2]=c;ja(c)}Gb(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}na();v()}oa();v()}F[e+8>>2]=b;F[e+4>>2]=h;F[e>>2]=c}if(d){ja(d)}}return}if(b>>>0>>0){e=e+L(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=F[b+132>>2];if(d){F[c-8>>2]=d;ja(d)}d=F[c-28>>2];if(d){F[c-24>>2]=d;ja(d)}d=F[c-40>>2];if(d){F[c-36>>2]=d;ja(d)}Gb(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}F[a+4>>2]=e}}function Yc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;F[a+56>>2]=F[a+52>>2];F[a+44>>2]=F[a+40>>2];b=F[a+64>>2];c=F[b+24>>2];if((c|0)==F[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=F[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=F[a+56>>2];e:{if((b|0)!=F[a+60>>2]){F[b>>2]=g;F[a+56>>2]=b+4;break e}d=F[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=ka(f<<2)}else{e=0}c=e+(h<<2)|0;F[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+60>>2]=e+(f<<2);F[a+56>>2]=h;F[a+52>>2]=c;if(!d){break e}ja(d)}f:{g:{if(!(F[F[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|F[F[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=F[F[F[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=F[a+64>>2];f=F[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|F[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=F[F[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}F[F[a+28>>2]+(e<<2)>>2]=g;b=F[a+44>>2];i:{if((b|0)!=F[a+48>>2]){F[b>>2]=e;F[a+44>>2]=b+4;break i}d=F[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=ka(f<<2)}else{i=0}c=i+(h<<2)|0;F[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+48>>2]=i+(f<<2);F[a+44>>2]=h;F[a+40>>2]=c;if(!d){break i}ja(d)}i=g+1|0;b=F[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=F[F[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(F[F[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=F[a+56>>2];k:{if((b|0)!=F[a+60>>2]){F[b>>2]=i;F[a+56>>2]=b+4;break k}d=F[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=ka(h<<2)}else{g=0}c=g+(j<<2)|0;F[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+60>>2]=g+(h<<2);F[a+56>>2]=j;F[a+52>>2]=c;if(!d){break k}ja(d)}d=i+1|0;b=F[a+44>>2];l:{if((b|0)!=F[a+48>>2]){F[b>>2]=f;F[a+44>>2]=b+4;break l}h=F[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=ka(j<<2)}else{g=0}c=g+(l<<2)|0;F[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(h|0)){continue}break}}F[a+48>>2]=g+(j<<2);F[a+44>>2]=l;F[a+40>>2]=c;if(!h){break l}ja(h)}g=i;i=d}F[F[a+28>>2]+(f<<2)>>2]=g;b=F[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=F[F[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=F[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}na();v()}oa();v()}na();v()}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var 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,w=0,x=0,y=0;f=Z-96|0;Z=f;e=F[a+16>>2];D[f+92|0]=1;F[f+88>>2]=b;F[f+84>>2]=b;F[f+80>>2]=e;a:{if((b|0)==-1){break a}j=F[a+20>>2];d=F[j>>2];e=F[F[e>>2]+(b<<2)>>2];if(e>>>0>=F[j+4>>2]-d>>2>>>0){break a}e=F[F[a+8>>2]+(F[d+(e<<2)>>2]<<2)>>2];d=F[a+4>>2];if(!G[d+84|0]){e=F[F[d+68>>2]+(e<<2)>>2]}F[f+72>>2]=0;F[f+76>>2]=0;j=f- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[f+56>>2]=0;F[f+60>>2]=0;Ga(d,e,D[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!F[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=F[a+20>>2];b=F[m>>2];d=F[F[F[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=F[m+4>>2]-b>>2>>>0){break b}d=F[F[a+8>>2]+(F[(d<<2)+b>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[f+48>>2]=0;F[f+52>>2]=0;F[f+40>>2]=0;F[f+44>>2]=0;F[f+32>>2]=0;F[f+36>>2]=0;Ga(b,d,D[b+24|0],f+32|0);if((e|0)==-1){break c}d=F[a+20>>2];b=F[d>>2];e=F[F[F[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=F[d+4>>2]-b>>2>>>0){break c}d=F[F[a+8>>2]+(F[b+(e<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[f+24>>2]=0;F[f+28>>2]=0;F[f+16>>2]=0;F[f+20>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;Ga(b,d,D[b+24|0],f+8|0);g=F[f+8>>2];b=F[f+56>>2];d=g-b|0;p=F[f+60>>2];t=F[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=F[f+40>>2];e=F[f+64>>2];m=i-e|0;u=F[f+68>>2];y=F[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=ki(d,t,m,y);w=o-g|0;x=h-(_+(g>>>0>o>>>0)|0)|0;h=w;i=F[f+16>>2];g=i-e|0;u=F[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=F[f+32>>2];i=k-b|0;w=F[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=ki(g,u,i,w);o=h+b|0;h=_+x|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=F[f+48>>2];e=F[f+72>>2];d=k-e|0;t=F[f+76>>2];x=F[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=ki(l,p,d,x);k=b+l|0;b=_+q|0;b=k>>>0>>0?b+1|0:b;l=F[f+24>>2];p=l-e|0;e=F[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=ki(p,e,i,w);l=k-q|0;q=b-(_+(k>>>0>>0)|0)|0;b=ki(g,u,d,x);d=r-b|0;b=s-(_+(b>>>0>r>>>0)|0)|0;s=ki(p,e,m,y);r=s+d|0;b=_+b|0;s=r>>>0>>0?b+1|0:b;nc(f+80|0);b=F[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!F[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=li(o,m,a,b);l=li(l,q,a,b);r=li(r,s,a,b)}F[c+8>>2]=o;F[c+4>>2]=l;F[c>>2]=r;Z=f+96|0;return}ta();v()}ta();v()}ta();v()}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=F[a+12>>2];d=F[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=F[d>>2];i=F[e+60>>2];f=F[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=F[e>>2];F[e>>2]=0;g=F[d>>2];F[d>>2]=h;if(g){xa(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=F[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=F[c>>2];F[c>>2]=0;if(e){xa(e)}if((c|0)!=(d|0)){continue}break}}F[a+12>>2]=d;g=F[a+4>>2];b:{if(!g|(i|0)<0){break b}c=F[g+24>>2];d=F[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==F[F[c>>2]+24>>2]){d=c+4|0;i=F[g+28>>2];if((d|0)!=(i|0)){while(1){h=F[d>>2];F[d>>2]=0;e=F[c>>2];F[c>>2]=h;if(e){Ca(e+12|0,F[e+16>>2]);Ba(e,F[e+4>>2]);ja(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=F[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=F[d>>2];F[d>>2]=0;if(e){Ca(e+12|0,F[e+16>>2]);Ba(e,F[e+4>>2]);ja(e)}if((c|0)!=(d|0)){continue}break}}F[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=L(f,12)+a|0;c=F[e+20>>2];d=F[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(F[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;pa(f,c,d-c|0);F[e+24>>2]=d-4}c=F[a+24>>2];d=F[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break e}F[c>>2]=d-1}c=F[a+36>>2];d=F[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break f}F[c>>2]=d-1}c=F[a+48>>2];d=F[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break g}F[c>>2]=d-1}c=F[a+60>>2];d=F[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break h}F[c>>2]=d-1}c=F[a+72>>2];a=F[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}i=a+(i|4)|0;f=F[i>>2];if((f|0)>(b|0)){F[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=F[a>>2];if((f|0)>=(b|0)){break a}F[a>>2]=b-1}}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=F[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=F[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=F[d+8>>2];b=b>>>3|0;c=F[d+12>>2];if((c|0)==(e|0)){i=11764,j=F[2941]&oi(b),F[i>>2]=j;break b}F[e+12>>2]=c;F[c+8>>2]=e;break b}h=F[d+24>>2];b=F[d+12>>2];c:{if((d|0)!=(b|0)){c=F[d+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break c}d:{e=d+20|0;c=F[e>>2];if(c){break d}e=d+16|0;c=F[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break b}e=F[d+28>>2];c=(e<<2)+12068|0;e:{if(F[c>>2]==(d|0)){F[c>>2]=b;if(b){break e}i=11768,j=F[2942]&oi(e),F[i>>2]=j;break b}F[h+(F[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}F[b+24>>2]=h;c=F[d+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[d+20>>2];if(!c){break b}F[b+20>>2]=c;F[c+24>>2]=b;break b}b=F[f+4>>2];if((b&3)!=3){break b}F[2943]=a;F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=F[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(F[2947]==(f|0)){F[2947]=d;a=F[2944]+a|0;F[2944]=a;F[d+4>>2]=a|1;if(F[2946]!=(d|0)){break a}F[2943]=0;F[2946]=0;return}if(F[2946]==(f|0)){F[2946]=d;a=F[2943]+a|0;F[2943]=a;F[d+4>>2]=a|1;F[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=F[f+8>>2];b=b>>>3|0;c=F[f+12>>2];if((c|0)==(e|0)){i=11764,j=F[2941]&oi(b),F[i>>2]=j;break g}F[e+12>>2]=c;F[c+8>>2]=e;break g}h=F[f+24>>2];b=F[f+12>>2];h:{if((f|0)!=(b|0)){c=F[f+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break h}i:{e=f+20|0;c=F[e>>2];if(c){break i}e=f+16|0;c=F[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break g}e=F[f+28>>2];c=(e<<2)+12068|0;j:{if(F[c>>2]==(f|0)){F[c>>2]=b;if(b){break j}i=11768,j=F[2942]&oi(e),F[i>>2]=j;break g}F[h+(F[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}F[b+24>>2]=h;c=F[f+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[f+20>>2];if(!c){break g}F[b+20>>2]=c;F[c+24>>2]=b}F[d+4>>2]=a|1;F[a+d>>2]=a;if(F[2946]!=(d|0)){break f}F[2943]=a;return}F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+11804|0;c=F[2941];a=1<<(a>>>3);k:{if(!(c&a)){F[2941]=a|c;a=b;break k}a=F[b+8>>2]}F[b+8>>2]=d;F[a+12>>2]=d;F[d+12>>2]=b;F[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=O(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}F[d+28>>2]=e;F[d+16>>2]=0;F[d+20>>2]=0;g=(e<<2)+12068|0;l:{m:{c=F[2942];b=1<>2]=d;F[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=F[g>>2];while(1){c=b;if((F[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=F[g+16>>2];if(b){continue}break}F[g+16>>2]=d;F[d+24>>2]=c}F[d+12>>2]=d;F[d+8>>2]=d;break l}a=F[c+8>>2];F[a+12>>2]=d;F[c+8>>2]=d;F[d+24>>2]=0;F[d+12>>2]=c;F[d+8>>2]=a}a=F[2949]-1|0;F[2949]=a?a:-1}}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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,w=0;F[a+8>>2]=e;n=a+32|0;h=F[n>>2];f=F[a+36>>2]-h>>2;a:{if(f>>>0>>0){qa(n,e-f|0);d=F[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}F[a+36>>2]=h+(e<<2);d=e}s=F[a+52>>2];p=F[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=ma(ka(h),0,h);b:{if((d|0)<=0){break b}g=F[a+32>>2];while(1){d=f<<2;h=F[d+m>>2];j=F[a+16>>2];c:{if((h|0)>(j|0)){F[d+g>>2]=j;break c}d=d+g|0;j=F[a+12>>2];if((j|0)>(h|0)){F[d>>2]=j;break c}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=F[b+h>>2]+F[g+h>>2]|0;F[d>>2]=h;d:{if((h|0)>F[a+16>>2]){i=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break d}i=h+F[a+20>>2]|0}F[d>>2]=i}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=F[a+56>>2];q=F[f>>2];f=F[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=L(e,h);f=F[(h<<2)+q>>2];if((f|0)==-1){break f}f=F[F[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=F[s>>2];g=F[p>>2];k=F[j+(F[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=F[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=F[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=F[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=F[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=L(e,g);j=L(e,f);k=L(e,k);f=0;l=0;if((e|0)!=1){while(1){F[(f<<2)+m>>2]=(F[(f+g<<2)+c>>2]+F[(f+j<<2)+c>>2]|0)-F[(f+k<<2)+c>>2];i=f|1;F[(i<<2)+m>>2]=(F[(g+i<<2)+c>>2]+F[(j+i<<2)+c>>2]|0)-F[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!w){break i}F[(f<<2)+m>>2]=(F[(f+g<<2)+c>>2]+F[(f+j<<2)+c>>2]|0)-F[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=F[n>>2];f=0;while(1){d=f<<2;g=F[d+m>>2];k=F[a+16>>2];j:{if((g|0)>(k|0)){F[d+j>>2]=k;break j}d=d+j|0;k=F[a+12>>2];if((k|0)>(g|0)){F[d>>2]=k;break j}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+i>>2]+F[g+j>>2]|0;F[d>>2]=g;k:{if((g|0)>F[a+16>>2]){l=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break k}l=g+F[a+20>>2]|0}F[d>>2]=l}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}ta();v()}if((d|0)<=0){break e}k=(L(h-1|0,e)<<2)+c|0;j=F[n>>2];f=0;while(1){d=f<<2;g=F[d+k>>2];i=F[a+16>>2];l:{if((g|0)>(i|0)){F[d+j>>2]=i;break l}d=d+j|0;i=F[a+12>>2];if((i|0)>(g|0)){F[d>>2]=i;break l}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+i>>2]+F[g+j>>2]|0;F[d>>2]=g;m:{if((g|0)>F[a+16>>2]){l=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break m}l=g+F[a+20>>2]|0}F[d>>2]=l}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}ja(m);return 1}function od(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(F[F[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=F[a+48>>2];F[a+52>>2]=e;a:{if((e|0)!=F[a+56>>2]){F[e>>2]=b;F[a+52>>2]=e+4;break a}d=ka(4);F[d>>2]=b;c=d+4|0;F[a+56>>2]=c;F[a+52>>2]=c;F[a+48>>2]=d;if(!e){break a}ja(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=F[F[a+4>>2]+28>>2];k=F[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-L(g,3)|0?-1:2)+b|0;j=F[c+(e<<2)>>2];if((j|0)==-1){return 0}b=F[a+36>>2];g=b+(k>>>3&536870908)|0;d=F[g>>2];c=1<>2]=c|d;Ka(a+8|0,k,i);b=F[a+36>>2]}d=(j>>>3&536870908)+b|0;c=F[d>>2];b=1<>2]=b|c;Ka(a+8|0,j,e)}f=F[a+52>>2];if((f|0)==F[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=F[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=F[a+24>>2]+(c>>>3&268435452)|0;d=F[g>>2];c=1<>2]=c|d;h=F[a+4>>2];c=F[F[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=F[a+36>>2]+(c>>>3&536870908)|0;i=F[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|F[F[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=F[F[F[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}F[j>>2]=e|i;Ka(k,c,d);h=F[a+4>>2];break e}F[j>>2]=e|i;Ka(k,c,d);h=F[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|F[F[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=F[F[F[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=F[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|F[F[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=F[F[F[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(F[F[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=F[F[F[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=F[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=F[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=F[f+(e<<2)>>2];if(!(d&j)){break d}}f=F[a+52>>2]-4|0;F[a+52>>2]=f;break b}if(g){b=c;break d}if(F[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=F[a+52>>2];F[h-4>>2]=b;if(F[a+56>>2]!=(h|0)){F[h>>2]=c;f=h+4|0;break c}m:{i=F[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=ka(e<<2)}else{d=0}b=d+(g<<2)|0;F[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;F[b>>2]=F[h>>2];if((h|0)!=(i|0)){continue}break}}F[a+56>>2]=d+(e<<2);F[a+52>>2]=f;F[a+48>>2]=b;if(!i){break b}ja(i);f=F[a+52>>2];break b}na();v()}oa();v()}F[(e<<2)+f>>2]=d|j;c=F[F[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}F[a+52>>2]=f}if(F[a+48>>2]!=(f|0)){continue}break}}return 1}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|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,w=0;F[a+8>>2]=e;m=a+32|0;h=F[m>>2];f=F[a+36>>2]-h>>2;a:{if(f>>>0>>0){qa(m,e-f|0);d=F[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}F[a+36>>2]=h+(e<<2);d=e}s=F[a+52>>2];n=F[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=ma(ka(h),0,h);b:{if((d|0)<=0){break b}g=F[a+32>>2];while(1){d=f<<2;h=F[d+l>>2];i=F[a+16>>2];c:{if((h|0)>(i|0)){F[d+g>>2]=i;break c}d=d+g|0;i=F[a+12>>2];if((i|0)>(h|0)){F[d>>2]=i;break c}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=F[b+h>>2]+F[g+h>>2]|0;F[d>>2]=h;d:{if((h|0)>F[a+16>>2]){h=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break d}h=h+F[a+20>>2]|0}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=F[a+56>>2];q=F[f>>2];f=F[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=L(e,h);f=F[(h<<2)+q>>2];if((f|0)==-1|F[F[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=F[F[F[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=F[s>>2];g=F[n+28>>2];k=F[i+(F[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=F[i+(F[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=F[i+(F[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=L(e,f);i=L(e,j);k=L(e,k);f=0;p=0;if((e|0)!=1){while(1){F[(f<<2)+l>>2]=(F[(f+g<<2)+c>>2]+F[(f+i<<2)+c>>2]|0)-F[(f+k<<2)+c>>2];j=f|1;F[(j<<2)+l>>2]=(F[(g+j<<2)+c>>2]+F[(i+j<<2)+c>>2]|0)-F[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!w){break g}F[(f<<2)+l>>2]=(F[(f+g<<2)+c>>2]+F[(f+i<<2)+c>>2]|0)-F[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=F[m>>2];f=0;while(1){d=f<<2;g=F[d+l>>2];k=F[a+16>>2];h:{if((g|0)>(k|0)){F[d+i>>2]=k;break h}d=d+i|0;k=F[a+12>>2];if((k|0)>(g|0)){F[d>>2]=k;break h}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+j>>2]+F[g+i>>2]|0;F[d>>2]=g;i:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break i}g=g+F[a+20>>2]|0}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}ta();v()}if((d|0)<=0){break e}k=(L(h-1|0,e)<<2)+c|0;i=F[m>>2];f=0;while(1){d=f<<2;g=F[d+k>>2];j=F[a+16>>2];j:{if((g|0)>(j|0)){F[d+i>>2]=j;break j}d=d+i|0;j=F[a+12>>2];if((j|0)>(g|0)){F[d>>2]=j;break j}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+j>>2]+F[g+i>>2]|0;F[d>>2]=g;k:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break k}g=g+F[a+20>>2]|0}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}ja(l);return 1}function Fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=M(0),k=0,l=0,m=M(0);i=F[c>>2];a:{b:{f=F[b+4>>2];if(!f){break b}g=ni(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=F[F[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=F[c>>2];if(!c){break b}g=F[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(F[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=F[F[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=F[c>>2];if(!c){break b}g=F[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(F[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=ka(16);d=F[F[d>>2]>>2];F[c+12>>2]=0;F[c+8>>2]=d;F[c+4>>2]=i;F[c>>2]=0;m=M(F[b+12>>2]+1>>>0);j=J[b+16>>2];d:{if(m>M(j*M(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=M(S(M(m/j)));e:{if(j=M(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=Mc(d);f=F[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=M(S(M(M(I[b+12>>2])/J[b+16>>2])));h:{if(j=M(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(ni(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-O(d-1|0);break i}d=Mc(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=ka(h<<2);e=F[b>>2];F[b>>2]=d;if(e){ja(e)}F[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;F[k+F[b>>2]>>2]=0;F[F[b>>2]+(k|4)>>2]=0;F[F[b>>2]+(k|8)>>2]=0;F[F[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){F[F[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=F[b+8>>2];if(!e){break k}d=b+8|0;f=F[e+4>>2];g=ni(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;F[F[b>>2]+(f<<2)>>2]=d;d=F[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=F[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+F[b>>2]|0;if(!F[k>>2]){F[k>>2]=e;e=d;f=g;break o}F[e>>2]=F[d>>2];F[d>>2]=F[F[l+F[b>>2]>>2]>>2];F[F[l+F[b>>2]>>2]>>2]=d}d=F[e>>2];if(d){continue}break}break k}d=F[b>>2];F[b>>2]=0;if(d){ja(d)}F[b+4>>2]=0;break k}oa();v()}f=h-1&f;F[F[b>>2]+(f<<2)>>2]=d;d=F[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&F[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+F[b>>2]|0;if(F[h>>2]){F[e>>2]=F[d>>2];F[d>>2]=F[F[l+F[b>>2]>>2]>>2];F[F[l+F[b>>2]>>2]>>2]=d;break p}F[h>>2]=e;e=d;f=g}d=F[e>>2];if(d){continue}break}}}f=F[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=F[b>>2]+(e<<2)|0;d=F[e>>2];q:{r:{if(!d){d=b+8|0;F[c>>2]=F[d>>2];F[b+8>>2]=c;F[e>>2]=d;d=F[c>>2];if(!d){break q}d=F[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=F[b>>2]+(d<<2)|0;break r}F[c>>2]=F[d>>2]}F[d>>2]=c}F[b+12>>2]=F[b+12>>2]+1;b=1}D[a+4|0]=b;F[a>>2]=c}function Vb(a,b,c){var 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;j=L(b,12)+a|0;F[j+12>>2]=F[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((Wc(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=F[F[F[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=F[a+56>>2]+(m>>>3&536870908)|0;h=F[d>>2];e=1<>2]=e|h;d=F[j+12>>2];f:{if((d|0)!=F[j+16>>2]){F[d>>2]=m;F[j+12>>2]=d+4;break f}n=F[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=ka(i<<2)}else{g=0}h=g+(e<<2)|0;F[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;F[h>>2]=F[d>>2];if((d|0)!=(n|0)){continue}break}}F[j+8>>2]=h;F[j+12>>2]=e;F[j+16>>2]=g+(i<<2);if(!n){break f}ja(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=F[F[F[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(e-L(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=F[(F[F[a>>2]+96>>2]+L(e,12)|0)+(i-L(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(f-L(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(e-L(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=F[a+56>>2]+(m>>>3&268435452)|0;h=F[d>>2];e=1<>2]-4|0;g=F[l>>2];d=F[a+56>>2]+(g>>>3&536870908)|0;c=F[d>>2];o=d,p=oi(g)&c,F[o>>2]=p;F[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;Wc(a,-1);break a}na();v()}oa();v()}F[((b<<2)+a|0)+44>>2]=k;b=F[j+12>>2];i=F[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=F[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=F[l+i>>2];b=e+(g>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(g)&a,F[o>>2]=p;g=F[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(g)&a,F[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=F[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(c)&a,F[o>>2]=p}}function pd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(F[F[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=F[a+48>>2];F[a+52>>2]=f;a:{if((f|0)!=F[a+56>>2]){F[f>>2]=b;F[a+52>>2]=f+4;break a}d=ka(4);F[d>>2]=b;c=d+4|0;F[a+56>>2]=c;F[a+52>>2]=c;F[a+48>>2]=d;if(!f){break a}ja(f)}e=-1;d=F[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=F[F[d>>2]+(i<<2)>>2]}b:{h=b-L(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=F[F[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=F[a+36>>2];f=c+(e>>>3&536870908)|0;g=F[f>>2];d=1<>2]=d|g;Ka(a+8|0,e,i);c=F[a+36>>2]}g=(j>>>3&536870908)+c|0;d=F[g>>2];c=1<>2]=c|d;Ka(a+8|0,j,(h?-1:2)+b|0)}c=F[a+52>>2];if((c|0)==F[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=F[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=F[a+24>>2]+(d>>>3&268435452)|0;g=F[f>>2];d=1<>2]=d|g;while(1){i=F[a+4>>2];e=F[F[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=F[a+36>>2]+(e>>>3&536870908)|0;f=F[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=F[F[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}F[h>>2]=f|g;Ka(j,e,b);break f}F[h>>2]=f|g;Ka(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=F[F[F[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=F[e+(f<<2)>>2];break e}c=-1;g=F[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=F[F[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=F[F[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=F[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=F[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=F[e+(f<<2)>>2];if(!(d&i)){break e}}c=F[a+52>>2]-4|0;F[a+52>>2]=c;break c}if(g){b=c;break e}if(F[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=F[a+52>>2];F[e-4>>2]=b;if(F[a+56>>2]!=(e|0)){F[e>>2]=c;c=e+4|0;break d}l:{h=F[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=ka(f<<2)}else{d=0}b=d+(g<<2)|0;F[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;F[b>>2]=F[e>>2];if((e|0)!=(h|0)){continue}break}}F[a+56>>2]=d+(f<<2);F[a+52>>2]=c;F[a+48>>2]=b;if(!h){break c}ja(h);c=F[a+52>>2];break c}na();v()}oa();v()}F[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}F[a+52>>2]=c}if(F[a+48>>2]!=(c|0)){continue}break}}return 1}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}c:{if(d){Na(a+60|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+72|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+84|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+96|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=F[b+8>>2];f=F[b+12>>2];d=c;c=F[b+20>>2];i=c;g=F[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=F[b>>2];k=m+g|0;l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);F[b+16>>2]=j;F[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;if((d|0)<(l|0)){break a}F[a+16>>2]=d;F[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;F[a+20>>2]=b;c=b>>>1|0;F[a+24>>2]=c;F[a+28>>2]=0-c;if(b&1){break a}F[a+24>>2]=c-1;break a}}e=0}Z=h+32|0;return e|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}c:{if(d){Na(a+60|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+72|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+84|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+96|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=F[b+8>>2];f=F[b+12>>2];d=c;c=F[b+20>>2];i=c;g=F[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=F[b>>2];k=m+g|0;l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);F[b+16>>2]=j;F[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;if((d|0)<(l|0)){break a}F[a+16>>2]=d;F[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;F[a+20>>2]=b;c=b>>>1|0;F[a+24>>2]=c;F[a+28>>2]=0-c;if(b&1){break a}F[a+24>>2]=c-1;break a}}e=0}Z=h+32|0;return e|0}function uh(a){a=a|0;var b=0,c=0,d=0,e=0;c=F[a+32>>2];d=F[c+16>>2];e=F[c+12>>2];b=F[c+20>>2];if(I[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=G[F[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;F[c+16>>2]=d;F[c+20>>2]=b;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=ka(384);F[b>>2]=8284;ma(b+4|0,0,80);F[b+96>>2]=0;F[b+100>>2]=0;F[b+92>>2]=-1;F[b+84>>2]=-1;F[b+88>>2]=-1;F[b+104>>2]=0;F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0;F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0;F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0;F[b+144>>2]=0;F[b+148>>2]=0;F[b+156>>2]=0;F[b+160>>2]=0;F[b+152>>2]=1065353216;F[b+164>>2]=0;F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0;F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0;F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0;F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=-1;F[b+216>>2]=0;F[b+220>>2]=0;F[b+224>>2]=0;Ja(b+232|0);Ja(b+272|0);c=b+312|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;Ja(b+328|0);F[b+376>>2]=0;F[b+368>>2]=0;F[b+372>>2]=0;break c;case 2:break d;default:break b}}b=ka(440);F[b>>2]=8336;ma(b+4|0,0,80);F[b+96>>2]=0;F[b+100>>2]=0;F[b+92>>2]=-1;F[b+84>>2]=-1;F[b+88>>2]=-1;F[b+104>>2]=0;F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0;F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0;F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0;F[b+144>>2]=0;F[b+148>>2]=0;F[b+156>>2]=0;F[b+160>>2]=0;F[b+152>>2]=1065353216;F[b+164>>2]=0;F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0;F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0;F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0;F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=-1;F[b+216>>2]=0;F[b+220>>2]=0;F[b+224>>2]=0;Ja(b+232|0);Ja(b+272|0);c=b+312|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;Ja(b+328|0);F[b+392>>2]=0;F[b+396>>2]=0;F[b+384>>2]=0;F[b+388>>2]=0;F[b+376>>2]=0;F[b+380>>2]=0;F[b+368>>2]=0;F[b+372>>2]=0;F[b+416>>2]=0;F[b+420>>2]=0;F[b+408>>2]=2;F[b+412>>2]=7;F[b+400>>2]=-1;F[b+404>>2]=-1;F[b+424>>2]=0;F[b+428>>2]=0;F[b+432>>2]=0;F[b+436>>2]=0}c=F[a+48>>2];F[a+48>>2]=b;if(!c){break a}$[F[F[c>>2]+4>>2]](c)}b=F[a+48>>2];if(b){break a}return 0}a=$[F[F[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function ei(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Z-32|0;Z=g;F[a+68>>2]=f;d=F[a+56>>2];e=F[d>>2];d=F[d+4>>2];F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=F[a+56>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Mb(m,F[d+(j<<2)>>2],g+16|0);i=F[g+20>>2];d=i>>31;h=F[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=F[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+16>>2]=F[a+108>>2];break b}f=F[a+108>>2];l=f>>31;h=li(ki(f,l,h,h>>31),_,e,d);F[g+16>>2]=h;d=li(ki(f,l,i,i>>31),_,e,d);F[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){F[g+24>>2]=f-d;break b}F[g+24>>2]=d-f}d=wa(o);f=F[g+16>>2];c:{if(d){F[g+24>>2]=0-F[g+24>>2];e=0-F[g+20>>2]|0;F[g+20>>2]=e;f=0-f|0;F[g+16>>2]=f;break c}e=F[g+20>>2]}d:{if((f|0)>=0){f=F[a+108>>2];d=f+F[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+24>>2];f=d>>31;f=F[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+100>>2]+(d-(d^e)|0)|0}e=F[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=F[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=F[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}F[g+12>>2]=d;F[g+8>>2]=f;j:{if(F[a+8>>2]<=0){break j}i=F[a+32>>2];f=0;while(1){d=f<<2;e=F[d+(g+8|0)>>2];h=F[a+16>>2];k:{if((e|0)>(h|0)){F[d+i>>2]=h;break k}d=d+i|0;h=F[a+12>>2];if((h|0)>(e|0)){F[d>>2]=h;break k}F[d>>2]=e}f=f+1|0;e=F[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=F[f+k>>2]+F[f+i>>2]|0;F[e>>2]=f;l:{if((f|0)>F[a+16>>2]){f=f-F[a+20>>2]|0}else{if((f|0)>=F[a+12>>2]){break l}f=f+F[a+20>>2]|0}F[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}Z=g+32|0;return 1}ta();v()}function Vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Z-32|0;Z=g;F[a+68>>2]=f;d=F[a+56>>2];e=F[d>>2];d=F[d+4>>2];F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=F[a+56>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Kb(m,F[d+(j<<2)>>2],g+16|0);i=F[g+20>>2];d=i>>31;h=F[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=F[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+16>>2]=F[a+108>>2];break b}f=F[a+108>>2];l=f>>31;h=li(ki(f,l,h,h>>31),_,e,d);F[g+16>>2]=h;d=li(ki(f,l,i,i>>31),_,e,d);F[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){F[g+24>>2]=f-d;break b}F[g+24>>2]=d-f}d=wa(o);f=F[g+16>>2];c:{if(d){F[g+24>>2]=0-F[g+24>>2];e=0-F[g+20>>2]|0;F[g+20>>2]=e;f=0-f|0;F[g+16>>2]=f;break c}e=F[g+20>>2]}d:{if((f|0)>=0){f=F[a+108>>2];d=f+F[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+24>>2];f=d>>31;f=F[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+100>>2]+(d-(d^e)|0)|0}e=F[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=F[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=F[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}F[g+12>>2]=d;F[g+8>>2]=f;j:{if(F[a+8>>2]<=0){break j}i=F[a+32>>2];f=0;while(1){d=f<<2;e=F[d+(g+8|0)>>2];h=F[a+16>>2];k:{if((e|0)>(h|0)){F[d+i>>2]=h;break k}d=d+i|0;h=F[a+12>>2];if((h|0)>(e|0)){F[d>>2]=h;break k}F[d>>2]=e}f=f+1|0;e=F[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=F[f+k>>2]+F[f+i>>2]|0;F[e>>2]=f;l:{if((f|0)>F[a+16>>2]){f=f-F[a+20>>2]|0}else{if((f|0)>=F[a+12>>2]){break l}f=f+F[a+20>>2]|0}F[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}Z=g+32|0;return 1}ta();v()}function $a(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(F[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=ka(b<<2);F[h+24>>2]=b;F[h+20>>2]=0;F[h+16>>2]=c;b=F[a>>2];F[h+12>>2]=0;F[h+8>>2]=b;c=F[a+4>>2];F[h+4>>2]=c&31;F[h>>2]=b+(c>>>3&536870908);e=Z-32|0;Z=e;i=F[h+4>>2];g=F[h+12>>2];j=F[h>>2];d=F[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=F[h+20>>2];c=b+f|0;F[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){F[F[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=F[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;F[c>>2]=F[c>>2]&(i^-1)|i&F[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){pa(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;F[g>>2]=F[g>>2]&(b^-1)|b&F[c+d>>2];break c}F[e+28>>2]=g;F[e+24>>2]=d;F[e+20>>2]=i;F[e+16>>2]=j;F[e+12>>2]=f;F[e+8>>2]=c;b=F[e+28>>2];c=F[e+24>>2];g=(F[e+20>>2]-b|0)+(F[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=F[e+12>>2];d=F[e+8>>2];break d}e:{if(!b){b=F[e+12>>2];break e}d=F[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=F[e+8>>2];m=F[l>>2]&(-1<>>j-i^-1);j=F[c>>2]&(-1<>>k-f);F[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;F[e+12>>2]=b;d=l+(c>>>3&536870908)|0;F[e+8>>2]=d;c=f-i|0;if((c|0)>0){F[d>>2]=F[d>>2]&(-1>>>32-c^-1)|j>>>i+F[e+28>>2];F[e+12>>2]=c;b=c}g=g-f|0;c=F[e+24>>2]+4|0;F[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=F[e+8>>2];c=F[c>>2];F[d>>2]=j&F[d>>2]|c<>2]=d+4;F[d+4>>2]=i&F[d+4>>2]|c>>>f;c=F[e+24>>2]+4|0;F[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=F[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=F[d>>2]&(i&-1>>>j-f^-1);i=F[c>>2]&-1>>>32-g;F[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;F[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}F[d>>2]=F[d>>2]&(-1>>>32-b^-1)|i>>>f;F[e+12>>2]=b}F[e+4>>2]=b;F[e>>2]=d}Z=e+32|0;b=F[a>>2];F[a>>2]=F[h+16>>2];F[h+16>>2]=b;c=F[a+4>>2];F[a+4>>2]=F[h+20>>2];F[h+20>>2]=c;c=F[a+8>>2];F[a+8>>2]=F[h+24>>2];F[h+24>>2]=c;if(!b){break b}ja(b)}Z=h+32|0;return}na();v()}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$[F[F[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=F[b+4>>2]-F[b>>2]>>2;e=Z+-64|0;Z=e;f=kb(e);d=L(F[2541],n);cc(f,F[F[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=bc(ka(96),f);D[f+84|0]=1;F[f+72>>2]=F[f+68>>2];ac(f,i);F[f+60>>2]=F[F[a+8>>2]+60>>2];d=F[a+16>>2];F[a+16>>2]=f;if(d){xa(d)}Z=e- -64|0;h=F[a+16>>2];if(!F[h+80>>2]){break a}j=F[F[h>>2]>>2];if(!j){break a}m=F[c+12>>2];e=m;d=F[c+20>>2];g=F[c+8>>2];k=F[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=L(i,n);i=j+F[h+48>>2]|0;h=F[c>>2];j=G[h+k|0];e=k+1|0;f=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=f;b:{c:{if(j){if(mc(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=G[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;F[c+16>>2]=f;F[c+20>>2]=d;d=F[F[a+16>>2]+64>>2];d=F[d+4>>2]-F[d>>2]|0;if((g|0)==F[2541]){e=l<<2;if(e>>>0>d>>>0){break a}g=F[c+8>>2];k=F[c+12>>2];j=F[c+20>>2];d=F[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}la(i,d+F[c>>2]|0,e);f=F[c+20>>2];d=e+F[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;F[c+16>>2]=d;F[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=F[c+8>>2];f=F[c+16>>2];e=d-f|0;m=d>>>0>>0;d=F[c+20>>2];k=F[c+12>>2]-(m+d|0)|0;m=ki(g,0,l,0)>>>0>e>>>0;e=_;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=F[c+8>>2];j=F[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}la(i+(h<<2)|0,F[c>>2]+f|0,g);d=F[c+20>>2];f=g+F[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;F[c+16>>2]=f;F[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=F[a+20>>2];if(d){e=0;if($[F[F[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=F[e+i>>2];F[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=F[d+i>>2];F[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=F[d+i>>2];F[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=F[a+20>>2];e:{if(!f){break e}if(!($[F[F[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=F[a+20>>2];if(!($[F[F[a>>2]+44>>2]](a,i,i,l,n,F[b>>2])|0)){break a}}o=1}return o|0}function Lh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Z-48|0;Z=g;d=F[a+8>>2];if(d-2>>>0<=28){F[a+76>>2]=d;e=-1<>2]=d;F[a+80>>2]=e^-1;F[a+92>>2]=(d|0)/2;J[a+88>>2]=M(2)/M(d|0)}F[a+52>>2]=f;d=F[a+40>>2];e=F[d>>2];d=F[d+4>>2];F[g+16>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=F[a+40>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Mb(n,F[d+(j<<2)>>2],g+8|0);h=F[g+12>>2];d=h>>31;i=F[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=F[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+8>>2]=F[a+92>>2];break b}f=F[a+92>>2];k=f>>31;i=li(ki(f,k,i,i>>31),_,e,d);F[g+8>>2]=i;d=li(ki(f,k,h,h>>31),_,e,d);F[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){F[g+16>>2]=f-d;break b}F[g+16>>2]=d-f}d=wa(p);f=F[g+8>>2];c:{if(d){F[g+16>>2]=0-F[g+16>>2];e=0-F[g+12>>2]|0;F[g+12>>2]=e;f=0-f|0;F[g+8>>2]=f;break c}e=F[g+12>>2]}d:{if((f|0)>=0){f=F[a+92>>2];d=f+F[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+16>>2];f=d>>31;f=F[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+84>>2]+(d-(d^e)|0)|0}e=F[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=F[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=F[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=F[h>>2];h=F[h+4>>2];F[g+36>>2]=d;F[g+32>>2]=f;F[g+24>>2]=i;F[g+28>>2]=h;Jb(g+40|0,m,g+32|0,g+24|0);d=c+e|0;F[d>>2]=F[g+40>>2];F[d+4>>2]=F[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}Z=g+48|0;return 1}ta();v()}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Z-48|0;Z=g;d=F[a+8>>2];if(d-2>>>0<=28){F[a+76>>2]=d;e=-1<>2]=d;F[a+80>>2]=e^-1;F[a+92>>2]=(d|0)/2;J[a+88>>2]=M(2)/M(d|0)}F[a+52>>2]=f;d=F[a+40>>2];e=F[d>>2];d=F[d+4>>2];F[g+16>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=F[a+40>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Kb(n,F[d+(j<<2)>>2],g+8|0);h=F[g+12>>2];d=h>>31;i=F[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=F[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+8>>2]=F[a+92>>2];break b}f=F[a+92>>2];k=f>>31;i=li(ki(f,k,i,i>>31),_,e,d);F[g+8>>2]=i;d=li(ki(f,k,h,h>>31),_,e,d);F[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){F[g+16>>2]=f-d;break b}F[g+16>>2]=d-f}d=wa(p);f=F[g+8>>2];c:{if(d){F[g+16>>2]=0-F[g+16>>2];e=0-F[g+12>>2]|0;F[g+12>>2]=e;f=0-f|0;F[g+8>>2]=f;break c}e=F[g+12>>2]}d:{if((f|0)>=0){f=F[a+92>>2];d=f+F[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+16>>2];f=d>>31;f=F[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+84>>2]+(d-(d^e)|0)|0}e=F[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=F[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=F[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=F[h>>2];h=F[h+4>>2];F[g+36>>2]=d;F[g+32>>2]=f;F[g+24>>2]=i;F[g+28>>2]=h;Jb(g+40|0,m,g+32|0,g+24|0);d=c+e|0;F[d>>2]=F[g+40>>2];F[d+4>>2]=F[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}Z=g+48|0;return 1}ta();v()}function Nd(a,b){var 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;a:{if(!H[b+38>>1]){break a}if(!Ta(1,a+12|0,b)){break a}d=F[b+8>>2];e=F[b+16>>2];g=d-e|0;f=F[a+12>>2];d=F[b+12>>2]-(F[b+20>>2]+(d>>>0>>0)|0)|0;if(g>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break a}d=F[a>>2];c=F[a+4>>2]-d>>2;b:{if(c>>>0>>0){qa(a,f-c|0);f=F[a+12>>2];break b}if(c>>>0<=f>>>0){break b}F[a+4>>2]=d+(f<<2)}if(!f){return 1}d=F[b+16>>2];c=F[b+20>>2];l=F[a>>2];j=F[b+8>>2];i=F[b+12>>2];g=0;while(1){if((c|0)>=(i|0)&d>>>0>=j>>>0|(c|0)>(i|0)){return 0}m=F[b>>2];k=G[m+d|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;e=k>>>2|0;h=0;c:{d:{e:{f:{n=k&3;switch(n|0){case 3:break f;case 0:break d;default:break e}}e=e+g|0;if(e>>>0>=f>>>0){return 0}ma(l+(g<<2)|0,0,(k&252)+4|0);g=e;break c}while(1){if((d|0)==(j|0)&(c|0)==(i|0)){break a}f=G[d+m|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}F[l+(g<<2)>>2]=e}f=F[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;j=F[a>>2];d=F[a+16>>2];c=F[a+20>>2]-d|0;g:{if(c>>>0<=16383){qa(b,4096-(c>>>2|0)|0);break g}if((c|0)==16384){break g}F[a+20>>2]=d+16384}c=a+28|0;g=F[c>>2];d=F[a+32>>2]-g>>3;h:{if(d>>>0>>0){_a(c,f-d|0);g=F[c>>2];break h}if(d>>>0>f>>>0){F[a+32>>2]=(f<<3)+g}if(!f){break a}}d=F[b>>2];b=0;a=0;while(1){c=j+(b<<2)|0;h=F[c>>2];e=a;i=(b<<3)+g|0;F[i+4>>2]=a;F[i>>2]=h;c=F[c>>2];a=c+a|0;if(a>>>0>4096){break a}i:{if(a>>>0<=e>>>0){break i}h=0;i=c&7;if(i){while(1){F[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break i}while(1){c=d+(e<<2)|0;F[c>>2]=b;F[c+28>>2]=b;F[c+24>>2]=b;F[c+20>>2]=b;F[c+16>>2]=b;F[c+12>>2]=b;F[c+8>>2]=b;F[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=Z-32|0;Z=f;e=f+8|0;c=Z-80|0;Z=c;a=F[b+36>>2];F[c+72>>2]=F[b+32>>2];F[c+76>>2]=a;d=F[b+28>>2];a=c- -64|0;F[a>>2]=F[b+24>>2];F[a+4>>2]=d;a=F[b+20>>2];F[c+56>>2]=F[b+16>>2];F[c+60>>2]=a;a=F[b+12>>2];F[c+48>>2]=F[b+8>>2];F[c+52>>2]=a;a=F[b+4>>2];F[c+40>>2]=F[b>>2];F[c+44>>2]=a;jc(c+8|0,c+40|0,c+24|0);a=F[c+8>>2];a:{if(a){F[e>>2]=a;a=e+4|0;if(D[c+23|0]>=0){b=c+8|4;e=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=e;F[a+8>>2]=F[b+8>>2];break a}ra(a,F[c+12>>2],F[c+16>>2]);if(D[c+23|0]>=0){break a}ja(F[c+12>>2]);break a}if(D[c+23|0]<0){ja(F[c+12>>2])}a=G[c+31|0];if(a>>>0>=2){b=ka(32);D[b+26|0]=0;a=G[1475]|G[1476]<<8;D[b+24|0]=a;D[b+25|0]=a>>>8;a=G[1471]|G[1472]<<8|(G[1473]<<16|G[1474]<<24);d=G[1467]|G[1468]<<8|(G[1469]<<16|G[1470]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=a;D[b+21|0]=a>>>8;D[b+22|0]=a>>>16;D[b+23|0]=a>>>24;a=G[1463]|G[1464]<<8|(G[1465]<<16|G[1466]<<24);d=G[1459]|G[1460]<<8|(G[1461]<<16|G[1462]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=a;D[b+13|0]=a>>>8;D[b+14|0]=a>>>16;D[b+15|0]=a>>>24;a=G[1455]|G[1456]<<8|(G[1457]<<16|G[1458]<<24);d=G[1451]|G[1452]<<8|(G[1453]<<16|G[1454]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=a;D[b+5|0]=a>>>8;D[b+6|0]=a>>>16;D[b+7|0]=a>>>24;F[c+8>>2]=-1;a=c+8|4;ra(a,b,26);d=D[c+23|0];F[e>>2]=F[c+8>>2];e=e+4|0;if((d|0)>=0){d=F[a+4>>2];F[e>>2]=F[a>>2];F[e+4>>2]=d;F[e+8>>2]=F[a+8>>2];ja(b);break a}ra(e,F[c+12>>2],F[c+16>>2]);if(D[c+23|0]<0){ja(F[c+12>>2])}ja(b);break a}F[e>>2]=0;F[e+4>>2]=0;F[e+16>>2]=a;F[e+8>>2]=0;F[e+12>>2]=0}Z=c+80|0;a=F[f+24>>2];if(D[f+23|0]<0){ja(F[f+12>>2])}Z=f+32|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Z-32|0;Z=e;a:{if((c|0)!=3){break a}c=F[a+4>>2];f=F[a+12>>2];F[e+24>>2]=-1;F[e+16>>2]=-1;F[e+20>>2]=1065353216;F[e+8>>2]=-1;F[e+12>>2]=-1;if((b|0)==-2){break a}i=F[F[F[c+4>>2]+8>>2]+(f<<2)>>2];if(($[F[F[c>>2]+8>>2]](c)|0)==1){h=F[F[F[c+4>>2]+8>>2]+(f<<2)>>2];b:{if(($[F[F[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break b}g=$[F[F[c>>2]+36>>2]](c)|0;a=$[F[F[c>>2]+44>>2]](c,f)|0;if(!g|!a){break b}f=$[F[F[c>>2]+40>>2]](c,f)|0;c:{if(f){if((b|0)!=6){break b}b=F[c+44>>2];d=ka(112);F[d+4>>2]=h;c=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=c;c=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=c;F[d+24>>2]=F[e+24>>2];F[d+40>>2]=a;c=a+12|0;F[d+36>>2]=c;F[d+32>>2]=f;F[d+28>>2]=b;F[d+68>>2]=a;F[d- -64>>2]=c;F[d+60>>2]=f;F[d+56>>2]=b;F[d+48>>2]=0;F[d+52>>2]=0;F[d>>2]=5928;F[d+88>>2]=1065353216;F[d+92>>2]=-1;F[d+80>>2]=-1;F[d+84>>2]=-1;F[d+72>>2]=1;F[d+76>>2]=-1;F[d+44>>2]=6492;a=d+96|0;break c}if((b|0)!=6){break b}b=F[c+44>>2];d=ka(112);F[d+4>>2]=h;c=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=c;c=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=c;F[d+24>>2]=F[e+24>>2];F[d+40>>2]=a;c=a+12|0;F[d+36>>2]=c;F[d+32>>2]=g;F[d+28>>2]=b;F[d+68>>2]=a;F[d- -64>>2]=c;F[d+60>>2]=g;F[d+56>>2]=b;F[d+48>>2]=0;F[d+52>>2]=0;F[d>>2]=6932;F[d+88>>2]=1065353216;F[d+92>>2]=-1;F[d+80>>2]=-1;F[d+84>>2]=-1;F[d+72>>2]=1;F[d+76>>2]=-1;F[d+44>>2]=7352;a=d+96|0}F[a>>2]=0;F[a+4>>2]=0;D[a+5|0]=0;D[a+6|0]=0;D[a+7|0]=0;D[a+8|0]=0;D[a+9|0]=0;D[a+10|0]=0;D[a+11|0]=0;D[a+12|0]=0}if(d){break a}}d=ka(28);F[d+4>>2]=i;a=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=a;a=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=a;F[d+24>>2]=F[e+24>>2];F[d>>2]=7764}Z=e+32|0;return d|0}function $c(a,b){a=a|0;b=b|0;var 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;f=Z-80|0;Z=f;a:{if(!Wb(1,f+76|0,b)){break a}k=F[f+76>>2];if(!k){break a}c=F[b+8>>2];e=F[b+16>>2];c=ki(c-e|0,F[b+12>>2]-(F[b+20>>2]+(c>>>0>>0)|0)|0,5,0);e=_;if(c>>>0>>0&(e|0)<=0|(e|0)<0){break a}c=F[a+4>>2];d=F[a+8>>2]-c>>2;b:{if(d>>>0>>0){qa(a+4|0,k-d|0);break b}if(d>>>0<=k>>>0){break b}F[a+8>>2]=c+(k<<2)}p=a+16|0;l=F[a+32>>2];while(1){g=F[b+12>>2];c=g;d=F[b+20>>2];h=F[b+8>>2];e=F[b+16>>2];if((c|0)<=(d|0)&h>>>0<=e>>>0|(c|0)<(d|0)){d=0;break a}m=F[b>>2];q=G[m+e|0];c=d;i=e+1|0;c=i?c:c+1|0;F[b+16>>2]=i;F[b+20>>2]=c;if(h>>>0<=i>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}i=G[i+m|0];c=d;j=e+2|0;c=j>>>0<2?c+1|0:c;F[b+16>>2]=j;F[b+20>>2]=c;if(h>>>0<=j>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}j=G[j+m|0];c=d;n=e+3|0;c=n>>>0<3?c+1|0:c;F[b+16>>2]=n;F[b+20>>2]=c;if(h>>>0<=n>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}h=G[m+n|0];c=d;d=e+4|0;c=d>>>0<4?c+1|0:c;F[b+16>>2]=d;F[b+20>>2]=c;if(q>>>0>4){d=0;break a}if((i-12&255)>>>0<245){d=0;break a}if(!j){d=0;break a}c=kb(f+8|0);g=(h|0)!=0;d=i-1|0;if(d>>>0<=10){d=F[(d<<2)+10148>>2]}else{d=-1}d=L(d,j);cc(c,q,j,i,g,d,d>>31);if(Wb(1,f+4|0,b)){e=F[f+4>>2];F[f+68>>2]=e;d=bc(ka(96),c);$[F[F[l>>2]+8>>2]](l,F[l+12>>2]-F[l+8>>2]>>2,d);d=(F[l+12>>2]-F[l+8>>2]>>2)-1|0;h=d<<2;F[F[h+F[l+8>>2]>>2]+60>>2]=e;F[F[a+4>>2]+(o<<2)>>2]=d;c=F[a+16>>2];e=F[a+20>>2]-c>>2;c:{if((e|0)>(d|0)){break c}F[f>>2]=-1;d=d+1|0;if(d>>>0>e>>>0){Fa(p,d-e|0,f);c=F[p>>2];break c}if(d>>>0>=e>>>0){break c}F[a+20>>2]=(d<<2)+c}F[c+h>>2]=o;d=1;o=o+1|0;if((o|0)!=(k|0)){continue}break a}break}d=0}Z=f+80|0;return d|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Z-16|0;Z=k;F[k+8>>2]=c;h=F[a+12>>2];d=F[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=F[a+16>>2];d=F[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=ma(e,0,d)+d|0}F[a+12>>2]=d;break a}b:{c:{d:{m=F[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=ka(e<<2)}h=(g<<2)+j|0;f=l<<2;i=ma(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=F[d>>2];F[d>>2]=0;h=h-4|0;F[h>>2]=f;if((d|0)!=(m|0)){continue}break}F[a+16>>2]=e;e=F[a+12>>2];F[a+12>>2]=g;d=F[a+8>>2];F[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=F[e>>2];F[e>>2]=0;if(f){xa(f)}if((d|0)!=(e|0)){continue}break}break b}na();v()}oa();v()}F[a+16>>2]=e;F[a+12>>2]=g;F[a+8>>2]=i}if(d){ja(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=F[h>>2];F[h>>2]=0;if(c){xa(c)}if((d|0)!=(h|0)){continue}break}c=F[k+8>>2]}F[a+12>>2]=d}e:{f:{d=F[c+56>>2];g:{if((d|0)>4){break g}j=L(d,12)+a|0;d=F[j+24>>2];if((d|0)!=F[j+28>>2]){F[d>>2]=b;F[j+24>>2]=d+4;break g}i=F[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=ka(e<<2)}else{d=0}f=d+(f<<2)|0;F[f>>2]=b;d=pa(d,i,g);F[j+20>>2]=d;F[j+24>>2]=f+4;F[j+28>>2]=d+(e<<2);if(!i){break g}ja(i)}F[c+60>>2]=b;a=F[a+8>>2];F[k+8>>2]=0;a=a+(b<<2)|0;b=F[a>>2];F[a>>2]=c;if(b){xa(b)}a=F[k+8>>2];F[k+8>>2]=0;if(a){xa(a)}Z=k+16|0;return}na();v()}oa();v()}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(F[a+12>>2]==(b|0)){break a}a=b;b=F[d+4>>2];e=F[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(D[b-1|0]<0){ja(F[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}F[d+12>>2]=a;F[d+4>>2]=e;c=F[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=F[d+4>>2];b:{if((a|0)!=F[d+8>>2]){c:{if(D[c+27|0]>=0){b=F[c+20>>2];F[a>>2]=F[c+16>>2];F[a+4>>2]=b;F[a+8>>2]=F[c+24>>2];break c}ra(a,F[c+16>>2],F[c+20>>2])}F[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=F[d+4>>2];e=F[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(F[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=ka(L(b,12))}h=L(b,12);b=L(f,12)+g|0;g:{if(D[c+27|0]>=0){f=F[c+20>>2];F[b>>2]=F[c+16>>2];F[b+4>>2]=f;F[b+8>>2]=F[c+24>>2];break g}ra(b,F[c+16>>2],F[c+20>>2]);e=F[d>>2];a=F[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=F[a+4>>2];b=b-12|0;F[b>>2]=F[a>>2];F[b+4>>2]=h;F[b+8>>2]=F[a+8>>2];F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}F[d+8>>2]=g;a=F[d+4>>2];F[d+4>>2]=f;e=F[d>>2];F[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(D[a-1|0]<0){ja(F[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}na();v()}oa();v()}F[d+8>>2]=g;F[d+4>>2]=f;F[d>>2]=b}if(e){ja(e)}}b=F[c+4>>2];h:{if(b){while(1){a=b;b=F[b>>2];if(b){continue}break h}}while(1){a=F[c+8>>2];b=F[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=F[d>>2];if((F[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+L(i,12)|0;a=D[a+11|0]<0?F[a>>2]:a}return a|0}function Ad(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=Z-16|0;Z=i;F[i>>2]=b;f=-1;a:{if((b|0)==-1){F[i+4>>2]=-1;break a}f=b+1|0;F[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}F[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=F[(l<<2)+i>>2];if((j|0)!=-1){f=F[F[F[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=F[a+216>>2];if((g|0)==F[a+220>>2]){break e}while(1){g=L(f,144)+g|0;d=F[g+136>>2];c=F[g+140>>2];g:{if(d>>>0>>0){F[d>>2]=j;F[g+136>>2]=d+4;break g}e=d;d=F[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=ka(h<<2)}else{c=0}e=m+c|0;F[e>>2]=j;c=pa(c,d,k);F[g+132>>2]=c;F[g+136>>2]=e+4;F[g+140>>2]=c+(h<<2);if(!d){break g}ja(d)}f=f+1|0;g=F[a+216>>2];if(f>>>0<(F[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(F[a+220>>2]==F[a+216>>2]){break e}while(1){h:{if(!wa(F[a+368>>2]+(f<<4)|0)){break h}g=F[a+216>>2]+L(f,144)|0;d=F[g+136>>2];c=F[g+140>>2];if(d>>>0>>0){F[d>>2]=j;F[g+136>>2]=d+4;break h}e=d;d=F[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=ka(h<<2)}else{c=0}e=m+c|0;F[e>>2]=j;c=pa(c,d,k);F[g+132>>2]=c;F[g+136>>2]=e+4;F[g+140>>2]=c+(h<<2);if(!d){break h}ja(d)}f=f+1|0;if(f>>>0<(F[a+220>>2]-F[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}Z=i+16|0;return 1}na();v()}oa();v()}na();v()}function Bd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-16|0;Z=h;m=-1;a:{b:{c:{if(!Da(1,h+12|0,b)){break c}j=F[h+12>>2];if(j){c=F[a+8>>2];if((F[c+4>>2]-F[c>>2]>>2>>>0)/3>>>0>>0){break c}while(1){if(!Da(1,h+8|0,b)){break c}c=F[h+8>>2];if(!Da(1,h+8|0,b)){break c}g=c+g|0;c=F[h+8>>2];if(g>>>0>>0){break c}e=g-c|0;c=F[a+40>>2];d:{if((c|0)!=F[a+44>>2]){F[c+4>>2]=g;F[c>>2]=e;F[a+40>>2]=c+12;j=F[h+12>>2];break d}d=c;c=F[a+36>>2];l=d-c|0;d=(l|0)/12|0;f=d+1|0;if(f>>>0>=357913942){break b}i=d<<1;f=d>>>0>=178956970?357913941:f>>>0>>0?i:f;if(f){if(f>>>0>=357913942){break a}i=ka(L(f,12))}else{i=0}d=i+L(d,12)|0;F[d+4>>2]=g;F[d>>2]=e;e=pa(d+L((l|0)/-12|0,12)|0,c,l);F[a+44>>2]=i+L(f,12);F[a+40>>2]=d+12;F[a+36>>2]=e;if(!c){break d}ja(c)}k=k+1|0;if(k>>>0>>0){continue}break}g=0;hc(b,0,0);if(j){while(1){c=G[b+36|0];d=H[F[a+4>>2]+36>>1];e:{f:{if(((d<<8|d>>>8)&65535)>>>0<=513){if(!c){break e}e=0;d=F[b+32>>2];k=d>>>3|0;f=F[b+24>>2];c=k+f|0;i=F[b+28>>2];g:{if(c>>>0>=i>>>0){c=d;break g}e=G[c|0];c=d+1|0;F[b+32>>2]=c;k=c>>>3|0;e=e>>>(d&7)&1}if(i>>>0>f+k>>>0){break f}break e}if(!c){break e}e=0;c=F[b+32>>2];d=F[b+24>>2]+(c>>>3|0)|0;if(d>>>0>=I[b+28>>2]){break e}e=G[d|0]>>>(c&7)&1}F[b+32>>2]=c+1}c=F[a+36>>2]+L(g,12)|0;D[c+8|0]=G[c+8|0]&254|e&1;g=g+1|0;if((j|0)!=(g|0)){continue}break}}D[b+36|0]=0;d=F[b+20>>2];a=0;e=F[b+32>>2]+7|0;a=e>>>0<7?1:a;e=a<<29|e>>>3;c=e+F[b+16>>2]|0;a=(a>>>3|0)+d|0;F[b+16>>2]=c;F[b+20>>2]=c>>>0>>0?a+1|0:a}m=F[b+16>>2]}Z=h+16|0;return m}na();v()}oa();v()}function xf(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,j=0,k=0,l=0,m=0,n=0,o=0;m=Z-16|0;Z=m;l=F[b+80>>2];e=G[c+24|0];a=L(l,e);a:{b:{c:{d:{b=F[c+28>>2];if(!(!G[c+84|0]|(b|0)!=1&(b|0)!=2)){b=F[c+48>>2];c=F[F[c>>2]>>2];F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;if(a){if((a|0)<0){break d}f=ka(a);h=la(f,b+c|0,a)+a|0}a=F[d>>2];if(a){F[d+4>>2]=a;ja(a)}F[d+8>>2]=h;F[d+4>>2]=h;F[d>>2]=f;b=1;break a}if(e){f=ka(e);ma(f,0,e)}e:{i=F[d+4>>2];b=F[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=F[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ma(i,0,k)+k|0,F[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=ka(i);ma(j+g|0,0,k);g=pa(j,b,g);F[d+8>>2]=g+i;F[d+4>>2]=a+g;F[d>>2]=g;if(!b){break f}ja(b);break f}if(a>>>0>=g>>>0){break f}F[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!Cb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!Cb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){D[F[d>>2]+h|0]=G[a+f|0];D[(F[d>>2]+h|0)+1|0]=G[(a|1)+f|0];D[(F[d>>2]+h|0)+2|0]=G[(a|2)+f|0];D[(F[d>>2]+h|0)+3|0]=G[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){D[F[d>>2]+h|0]=G[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}na();v()}na();v()}if(!f){break a}}ja(f)}Z=m+16|0;return b&1}function wf(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,j=0,k=0,l=0,m=0,n=0,o=0;m=Z-16|0;Z=m;l=F[b+80>>2];e=G[c+24|0];a=L(l,e);a:{b:{c:{d:{b=F[c+28>>2];if(!(!G[c+84|0]|(b|0)!=1&(b|0)!=2)){b=F[c+48>>2];c=F[F[c>>2]>>2];F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;if(a){if((a|0)<0){break d}f=ka(a);h=la(f,b+c|0,a)+a|0}a=F[d>>2];if(a){F[d+4>>2]=a;ja(a)}F[d+8>>2]=h;F[d+4>>2]=h;F[d>>2]=f;b=1;break a}if(e){f=ka(e);ma(f,0,e)}e:{i=F[d+4>>2];b=F[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=F[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ma(i,0,k)+k|0,F[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=ka(i);ma(j+g|0,0,k);g=pa(j,b,g);F[d+8>>2]=g+i;F[d+4>>2]=a+g;F[d>>2]=g;if(!b){break f}ja(b);break f}if(a>>>0>=g>>>0){break f}F[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!Bb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!Bb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){D[F[d>>2]+h|0]=G[a+f|0];D[(F[d>>2]+h|0)+1|0]=G[(a|1)+f|0];D[(F[d>>2]+h|0)+2|0]=G[(a|2)+f|0];D[(F[d>>2]+h|0)+3|0]=G[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){D[F[d>>2]+h|0]=G[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}na();v()}na();v()}if(!f){break a}}ja(f)}Z=m+16|0;return b&1}function Jb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=F[b+16>>2];h=F[c+4>>2]-k|0;e=F[c>>2]-k|0;F[c>>2]=e;f=h;F[c+4>>2]=f;l=F[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=L(j,l);f=(e<<1)-n|0;i=(L(g,j)|0)>=0;e=L(g,l);f=((i?0-f|0:f)+e|0)/2|0;F[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;F[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}F[c>>2]=f;F[c+4>>2]=g;j=0}e=F[d>>2]+f|0;h=F[b+16>>2];k:{if((e|0)>(h|0)){e=e-F[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=F[b+4>>2]+e|0}c=F[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-F[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=F[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=L(f,h);d=d-e|0;f=(L(c,f)|0)>=0;g=f?0-d|0:d;d=L(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;F[b>>2]=e+k;F[b+4>>2]=c+k}function Uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;F[a+8>>2]=e;m=a+32|0;h=F[m>>2];g=F[a+36>>2]-h>>2;a:{if(g>>>0>>0){qa(m,e-g|0);f=F[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}F[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=ma(ka(g),0,g);b:{if((f|0)<=0){break b}h=F[a+32>>2];while(1){f=i<<2;g=F[f+n>>2];j=F[a+16>>2];c:{if((g|0)>(j|0)){F[f+h>>2]=j;break c}f=f+h|0;j=F[a+12>>2];if((j|0)>(g|0)){F[f>>2]=j;break c}F[f>>2]=g}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=F[b+g>>2]+F[g+h>>2]|0;F[f>>2]=g;d:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break d}g=g+F[a+20>>2]|0}F[f>>2]=g}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=F[m>>2];i=0;while(1){f=i<<2;h=F[f+q>>2];k=F[a+16>>2];f:{if((h|0)>(k|0)){F[f+j>>2]=k;break f}f=f+j|0;k=F[a+12>>2];if((k|0)>(h|0)){F[f>>2]=k;break f}F[f>>2]=h}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=F[h+l>>2]+F[h+j>>2]|0;F[f>>2]=h;g:{if((h|0)>F[a+16>>2]){h=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break g}h=h+F[a+20>>2]|0}F[f>>2]=h}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}ja(n);return 1}function yf(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,j=0,k=0,l=0,m=0,n=0,o=0;j=F[b+80>>2];b=G[c+24|0];g=L(j,b);a:{if(!b){break a}h=b<<2;f=ka(h);a=f;k=b&7;if(k){while(1){F[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){F[a+24>>2]=-1073741824;F[a+28>>2]=-1073741824;F[a+16>>2]=-1073741824;F[a+20>>2]=-1073741824;F[a+8>>2]=-1073741824;F[a+12>>2]=-1073741824;F[a>>2]=-1073741824;F[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=F[d>>2];a=F[d+4>>2]-e>>2;b:{if(a>>>0>>0){qa(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}F[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!lb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!lb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],f)){break e}m=F[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;J[g>>2]=J[h+f>>2];J[g+4>>2]=J[(h|4)+f>>2];J[g+8>>2]=J[(h|8)+f>>2];J[g+12>>2]=J[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){J[(e<<2)+m>>2]=J[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}ja(f)}return i|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Z-16|0;Z=k;c=F[b+20>>2];d=F[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=F[b+12>>2];a:{if(I[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+F[b>>2]|0;h=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=c;if((h|0)<0){break a}Na(a+76|0,h);c=k;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;b:{if(!Aa(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=F[f>>2]&(d^-1)}else{d=d|F[f>>2]}g=e^1;F[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=F[b+8>>2];e=F[b+12>>2];f=e;e=F[b+20>>2];g=e;l=F[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=F[b>>2];d=m+l|0;j=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=h;F[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=c;if((d|0)<(j|0)){break b}F[a+16>>2]=d;F[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;F[a+20>>2]=c;b=c>>>1|0;F[a+24>>2]=b;F[a+28>>2]=0-b;if(c&1){break b}F[a+24>>2]=b-1}}Z=k+16|0;return i|0}function tf(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=5&(f|0)!=6)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<2;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>2;e:{if(f>>>0>>0){qa(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!xb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!xb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;F[f>>2]=F[i+a>>2];F[f+4>>2]=F[(i|4)+a>>2];F[f+8>>2]=F[(i|8)+a>>2];F[f+12>>2]=F[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){F[(g<<2)+n>>2]=F[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function cd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=5&(f|0)!=6)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<2;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>2;e:{if(f>>>0>>0){qa(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!yb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!yb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;F[f>>2]=F[i+a>>2];F[f+4>>2]=F[(i|4)+a>>2];F[f+8>>2]=F[(i|8)+a>>2];F[f+12>>2]=F[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){F[(g<<2)+n>>2]=F[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function vf(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=3&(f|0)!=4)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<1;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>1;e:{if(f>>>0>>0){kd(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Ab(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Ab(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;E[f>>1]=H[i+a>>1];E[f+2>>1]=H[(i|2)+a>>1];E[f+4>>1]=H[(i|4)+a>>1];E[f+6>>1]=H[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){E[(g<<1)+n>>1]=H[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function uf(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=3&(f|0)!=4)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<1;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>1;e:{if(f>>>0>>0){kd(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!zb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!zb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;E[f>>1]=H[i+a>>1];E[f+2>>1]=H[(i|2)+a>>1];E[f+4>>1]=H[(i|4)+a>>1];E[f+6>>1]=H[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){E[(g<<1)+n>>1]=H[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function kc(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(F[a+168>>2]){case 0:case 1:e=F[a+148>>2];c=1;b=F[a+156>>2];g=b+(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)|0;F[g>>2]=F[g>>2]+1;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+1;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+1;c=2;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+1;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+2;c=1;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+2;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+2;c=2;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0}F[b>>2]=F[b>>2]+c}c=a;b=F[F[a+156>>2]+(((f|0)==-1?-1:F[F[F[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=F[a+180>>2];a=F[a+176>>2];F[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function Dg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=F[a+32>>2];f=F[b+8>>2];h=F[b+12>>2];g=F[b+20>>2];c=F[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=G[F[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;F[e+16>>2]=c;F[e+20>>2]=b;c:{if(!f){break c}while(1){if($[F[F[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=F[a+8>>2];b=F[a+12>>2];if((d|0)!=(b|0)){while(1){c=F[d>>2];if(!($[F[F[c>>2]+8>>2]](c,a,F[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=F[F[a+8>>2]+(d<<2)>>2];if(!($[F[F[b>>2]+12>>2]](b,F[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=F[j+F[a+8>>2]>>2];k=$[F[F[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=F[F[a+8>>2]+j>>2];c=$[F[F[c>>2]+20>>2]](c,d)|0;e=F[a+20>>2];g=F[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){qa(i,h-g|0);e=F[i>>2];break e}if(g>>>0<=h>>>0){break e}F[a+24>>2]=(h<<2)+e}F[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!($[F[F[a>>2]+28>>2]](a)|0)){break b}e=$[F[F[a>>2]+32>>2]](a)|0}return e|0}return 0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Oc(a,b,c);c=F[a+84>>2];d=F[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=F[a+92>>2];c=F[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){F[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){F[b+24>>2]=1;F[b+28>>2]=1;F[b+16>>2]=1;F[b+20>>2]=1;F[b+8>>2]=1;F[b+12>>2]=1;F[b>>2]=1;F[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}F[a+88>>2]=c;break b}d:{b=c;c=F[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=ka(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){F[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){F[b+24>>2]=1;F[b+28>>2]=1;F[b+16>>2]=1;F[b+20>>2]=1;F[b+8>>2]=1;F[b+12>>2]=1;F[b>>2]=1;F[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=pa(j,c,i);F[a+88>>2]=f;F[a+84>>2]=b;F[a+92>>2]=b+(e<<2);if(c){ja(c)}break b}na();v()}oa();v()}return}if(b>>>0>=d>>>0){break a}F[a+88>>2]=c+(b<<2)}}function ab(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){F[d>>2]=F[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}b:{i=F[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=ka(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){F[d>>2]=F[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;F[f>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[a+8>>2]=(h<<2)+k;F[a+4>>2]=g;F[a>>2]=f;if(i){ja(i)}return}na();v()}oa();v()}function Xb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a>>2];if(d-e>>2>>>0>=b>>>0){f=F[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){F[d>>2]=F[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){F[f>>2]=F[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}F[a+4>>2]=b;return}F[a+4>>2]=e+(b<<2);return}if(e){F[a+4>>2]=e;ja(e);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=ka(d);F[a>>2]=e;F[a+8>>2]=d+e;c=F[c>>2];d=e;g=b&7;if(g){while(1){F[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){F[d+28>>2]=c;F[d+24>>2]=c;F[d+20>>2]=c;F[d+16>>2]=c;F[d+12>>2]=c;F[d+8>>2]=c;F[d+4>>2]=c;F[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}na();v()}function Ka(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=F[(F[F[a+8>>2]+96>>2]+L(f,12)|0)+(c-L(f,3)<<2)>>2];a:{h=F[F[a+12>>2]+4>>2];e=F[h+4>>2];if((e|0)!=F[h+8>>2]){F[e>>2]=j;F[h+4>>2]=e+4;break a}b:{i=F[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=ka(g<<2)}else{f=0}d=k+f|0;F[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[h+8>>2]=f+(g<<2);F[h+4>>2]=j;F[h>>2]=d;if(i){ja(i)}break a}na();v()}oa();v()}c:{d:{h=F[a+4>>2];e=F[h+4>>2];e:{if((e|0)!=F[h+8>>2]){F[e>>2]=c;F[h+4>>2]=e+4;break e}i=F[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=ka(g<<2)}else{f=0}d=f+(j<<2)|0;F[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[h+8>>2]=f+(g<<2);F[h+4>>2]=c;F[h>>2]=d;if(!i){break e}ja(i)}a=F[a+4>>2];F[F[a+12>>2]+(b<<2)>>2]=F[a+24>>2];F[a+24>>2]=F[a+24>>2]+1;return}na();v()}oa();v()}function pb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=F[a+8>>2];i=F[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){D[f|0]=G[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=f;if((j|0)>0){break a}return}k=F[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=ka(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=la(g,c,h)+h|0}d=pa(e,k,j);c=i-b|0;b=pa(g,b,c);F[a+8>>2]=e+f;F[a+4>>2]=b+c;F[a>>2]=d;if(k){ja(k)}return}na();v()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){D[e|0]=G[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}F[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;pa(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){D[e|0]=G[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){D[e|0]=G[c|0];D[e+1|0]=G[c+1|0];D[e+2|0]=G[c+2|0];D[e+3|0]=G[c+3|0];D[e+4|0]=G[c+4|0];D[e+5|0]=G[c+5|0];D[e+6|0]=G[c+6|0];D[e+7|0]=G[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function la(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Y(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function sd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;F[a>>2]=8336;d=a+232|0;b=F[d+196>>2];if(b){F[d+200>>2]=b;ja(b)}c=F[d+184>>2];if(c){b=c;e=F[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=F[b>>2];if(f){F[e-8>>2]=f;ja(f)}e=b;if((b|0)!=(c|0)){continue}break}b=F[d+184>>2]}F[d+188>>2]=c;ja(b)}b=F[d+156>>2];if(b){F[d+160>>2]=b;ja(b)}c=F[d+136>>2];F[d+136>>2]=0;if(c){e=c-4|0;b=F[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}ja(e)}td(a+216|0);b=F[a+196>>2];if(b){F[a+200>>2]=b;ja(b)}b=F[a+184>>2];if(b){F[a+188>>2]=b;ja(b)}b=F[a+172>>2];if(b){F[a+176>>2]=b;ja(b)}b=F[a+160>>2];if(b){F[a+164>>2]=b;ja(b)}b=F[a+144>>2];if(b){while(1){c=F[b>>2];ja(b);b=c;if(b){continue}break}}b=F[a+136>>2];F[a+136>>2]=0;if(b){ja(b)}b=F[a+120>>2];if(b){ja(b)}b=F[a+108>>2];if(b){ja(b)}b=F[a+96>>2];if(b){ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+36>>2];if(b){F[a+40>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a+8>>2];F[a+8>>2]=0;if(b){Za(b)}return a|0}function Fa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){F[d>>2]=F[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}b:{i=F[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=ka(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){F[d>>2]=F[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=pa(k,i,j);F[a+4>>2]=e;F[a>>2]=b;F[a+8>>2]=b+(g<<2);if(i){ja(i)}return}na();v()}oa();v()}function Sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(G[a+11|0]>>>7|0){d=F[a+4>>2]}else{d=G[a+11|0]&127}if(d>>>0>>0){h=Z-16|0;Z=h;b=b-d|0;if(b){g=G[a+11|0]>>>7|0?(F[a+8>>2]&2147483647)-1|0:10;if(G[a+11|0]>>>7|0){d=F[a+4>>2]}else{d=G[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=Z-16|0;Z=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(G[a+11|0]>>>7|0){f=F[a>>2]}else{f=a}if(g>>>0<1073741799){F[e+12>>2]=g<<1;F[e>>2]=c+g;c=Z-16|0;Z=c;Z=c+16|0;c=e+12|0;c=F[(I[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}sb(e,c);c=F[e>>2];if(d){db(c,f,d)}if((g|0)!=10){ja(f)}F[a>>2]=c;F[a+8>>2]=F[a+8>>2]&-2147483648|F[e+4>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;Z=e+16|0;break a}za();v()}}f=d;if(G[a+11|0]>>>7|0){d=F[a>>2]}else{d=a}f=f+d|0;e=Z-16|0;Z=e;D[e+15|0]=0;while(1){if(b){D[f|0]=G[e+15|0];b=b-1|0;f=f+1|0;continue}break}Z=e+16|0;Ic(a,i);D[h+15|0]=0;D[d+i|0]=G[h+15|0]}Z=h+16|0;return}if(G[a+11|0]>>>7|0){d=F[a>>2]}else{d=a}f=Z-16|0;Z=f;Ic(a,b);D[f+15|0]=0;D[b+d|0]=G[f+15|0];Z=f+16|0}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=Z-16|0;Z=g;a:{b:{if(b){F[a+88>>2]=0;F[a+92>>2]=0;d=F[a+84>>2];F[a+84>>2]=0;if(d){ja(d)}F[a+76>>2]=0;F[a+80>>2]=0;d=F[a+72>>2];F[a+72>>2]=0;if(d){ja(d)}d=F[b>>2];c=F[b+4>>2];D[g+15|0]=0;Ea(a,c-d>>2,g+15|0);d=F[b+28>>2];c=F[b+24>>2];D[g+14|0]=0;Ea(a+12|0,d-c>>2,g+14|0);Xb(a+28|0,F[b+4>>2]-F[b>>2]>>2,10284);c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;e=F[a+52>>2];c:{if(f>>>0<=F[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=F[a+56>>2];c=ka(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(e|0)){continue}break}}F[a+60>>2]=f;F[a+56>>2]=h;F[a+52>>2]=c;if(!e){break c}ja(e)}c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;e=F[a+40>>2];d:{if(f>>>0<=F[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=F[a+44>>2];c=ka(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(e|0)){continue}break}}F[a+48>>2]=f;F[a+44>>2]=h;F[a+40>>2]=c;if(!e){break d}ja(e)}D[a+24|0]=1;F[a+64>>2]=b}Z=g+16|0;return}na();v()}na();v()}function nb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);D[b+12|0]=c;a:{if(c){break a}while(1){d=F[b+8>>2];if(G[d+12|0]){break a}b:{c=F[d+8>>2];e=F[c>>2];if((e|0)==(d|0)){e=F[c+4>>2];if(!(!e|G[e+12|0])){break b}c:{if(F[d>>2]==(b|0)){b=d;break c}b=F[d+4>>2];a=F[b>>2];F[d+4>>2]=a;if(a){F[a+8>>2]=d;c=F[d+8>>2]}F[b+8>>2]=c;a=F[d+8>>2];F[((F[a>>2]!=(d|0))<<2)+a>>2]=b;F[b>>2]=d;F[d+8>>2]=b;c=F[b+8>>2];d=F[c>>2]}D[b+12|0]=1;D[c+12|0]=0;a=F[d+4>>2];F[c>>2]=a;if(a){F[a+8>>2]=c}F[d+8>>2]=F[c+8>>2];a=F[c+8>>2];F[((F[a>>2]!=(c|0))<<2)+a>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;return}if(!(G[e+12|0]|!e)){break b}d:{if(F[d>>2]!=(b|0)){b=d;break d}a=F[b+4>>2];F[d>>2]=a;if(a){F[a+8>>2]=d;c=F[d+8>>2]}F[b+8>>2]=c;a=F[d+8>>2];F[((F[a>>2]!=(d|0))<<2)+a>>2]=b;F[b+4>>2]=d;F[d+8>>2]=b;c=F[b+8>>2]}D[b+12|0]=1;D[c+12|0]=0;a=F[c+4>>2];b=F[a>>2];F[c+4>>2]=b;if(b){F[b+8>>2]=c}F[a+8>>2]=F[c+8>>2];b=F[c+8>>2];F[((F[b>>2]!=(c|0))<<2)+b>>2]=a;F[a>>2]=c;F[c+8>>2]=a;break a}D[d+12|0]=1;D[c+12|0]=(a|0)==(c|0);D[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function mi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=O(d)-O(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}_=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>ji(d)|0;_=0;break a}if(!(c-1&c)){break f}h=(O(c)+33|0)-O(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}_=0;a=(b>>>0)/(d>>>0)|0;break a}e=O(d)-O(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=ji(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}_=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}_=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}_=b}return a}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=F[b+88>>2];if(!(!c|F[c>>2]!=1)){e=F[c+8>>2];F[a+4>>2]=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);f=a+8|0;d=G[b+24|0];h=F[a+8>>2];g=F[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){qa(f,d-g|0);d=G[b+24|0];e=F[c+8>>2];break a}if(d>>>0>=g>>>0){break a}F[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=F[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;F[g+f>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[f+(g|4)>>2]=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[f+(g|8)>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[f+(g|12)>>2]=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;F[f+(d<<2)>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;F[d+20>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);d=1}return d|0}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=Z-16|0;Z=g;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=h;F[e>>2]=c;if(!d){break b}ja(d)}b=F[a+12>>2];c=F[b+28>>2];b=F[b+24>>2];F[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=F[d>>2];c=F[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){Fa(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}F[a+100>>2]=e+(b<<2)}e=a+8|0;b=F[a+116>>2];d:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){c=1;break d}b=0;while(1){c=rd(e,F[(b<<2)+d>>2]);if(!c){break d}f=F[a+116>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=F[a+12>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=rd(e,L(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}Z=g+16|0;return c|0}na();v()}function md(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=F[a+4>>2];b=F[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=F[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=ma(f,0,g)+g|0,F[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=ka(f);ma(e+d|0,0,g);d=pa(e,b,d);F[a+8>>2]=d+f;F[a+4>>2]=c+d;F[a>>2]=d;if(!b){break c}ja(b);break c}if(c>>>0>=d>>>0){break c}F[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=F[a+4>>2];f=F[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=F[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=ma(e,0,d)+d|0,F[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=ka(e);ma(h+g|0,0,d);d=pa(h,f,g);F[a+8>>2]=d+e;F[a+4>>2]=c+d;F[a>>2]=d;if(!f){break d}ja(f);break d}if(c>>>0>=g>>>0){break d}F[a+4>>2]=c+f}if(!c){break c}pa(F[a>>2],b,c)}b=F[a+28>>2];c=F[a+24>>2]+1|0;b=c?b:b+1|0;F[a+24>>2]=c;F[a+28>>2]=b;g=1;break a}na();v()}return g}function Lg(a,b){a=a|0;b=b|0;var 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;k=F[a+12>>2];c=F[a+68>>2];d=F[c+80>>2];D[b+84|0]=0;n=b+68|0;i=F[b+68>>2];e=F[b+72>>2]-i>>2;a:{if(e>>>0>>0){ab(n,d-e|0,9124);c=F[a+68>>2];d=F[c+80>>2];break a}if(d>>>0>=e>>>0){break a}F[b+72>>2]=i+(d<<2)}b=F[c+100>>2];e=F[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=F[k+28>>2];f=F[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=F[c>>2];if(g>>>0>=d>>>0){break b}j=F[F[a+72>>2]+12>>2];h=F[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=F[n>>2];F[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=F[g+4>>2];if((h|0)==-1){break b}l=F[c+4>>2];if(l>>>0>=d>>>0){break b}h=F[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}F[f+(l<<2)>>2]=h;g=F[g+8>>2];if((g|0)==-1){break b}c=F[c+8>>2];if(c>>>0>=d>>>0){break b}j=F[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}F[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+L(b,12)|0;l=L(b,3);f=F[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function ag(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,j=0,k=0,l=0,m=0;h=F[d+80>>2];e=Z-48|0;Z=e;a=F[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=F[F[d>>2]>>2]+F[d+48>>2]|0;F[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;F[e+24>>2]=a;F[e+32>>2]=(a|0)/2;J[e+28>>2]=M(2)/M(a|0);f=F[c>>2];if((f|0)!=F[c+4>>2]){a=0;d=0;while(1){g=F[(d<<2)+f>>2];h=e+36|0;k=F[F[b>>2]>>2];l=F[b+48>>2];f=F[b+40>>2];i=F[b+44>>2];if(!G[b+84|0]){g=F[F[b+68>>2]+(g<<2)>>2]}g=ki(f,i,g,0);i=g;g=g+l|0;la(h,g+k|0,f);Kc(e+16|0,h,e+12|0,e+8|0);f=a<<2;F[f+j>>2]=F[e+12>>2];F[(f|4)+j>>2]=F[e+8>>2];a=a+2|0;d=d+1|0;f=F[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=F[F[b>>2]>>2];i=F[b+48>>2];c=F[b+40>>2];f=ki(c,F[b+44>>2],G[b+84|0]?a:F[F[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;la(k,f+l|0,c);Kc(e+16|0,k,e+12|0,e+8|0);c=d<<2;F[c+j>>2]=F[e+12>>2];F[(c|4)+j>>2]=F[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}Z=e+48|0;return m>>>0<29|0}function Zg(a,b){a=a|0;b=b|0;var 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=F[a+12>>2];d=F[a+108>>2];e=F[d+80>>2];D[b+84|0]=0;m=b+68|0;h=F[b+68>>2];f=F[b+72>>2]-h>>2;a:{if(f>>>0>>0){ab(m,e-f|0,9124);d=F[a+108>>2];e=F[d+80>>2];break a}if(e>>>0>=f>>>0){break a}F[b+72>>2]=h+(e<<2)}b=F[d+100>>2];f=F[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=F[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=F[c>>2];if((i|0)==-1){break b}g=F[d>>2];if(g>>>0>=e>>>0){break b}l=F[F[a+112>>2]+12>>2];j=F[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=F[m>>2];F[i+(g<<2)>>2]=j;g=F[c+4>>2];if((g|0)==-1){break b}j=F[d+4>>2];if(j>>>0>=e>>>0){break b}g=F[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}F[i+(j<<2)>>2]=g;c=F[c+8>>2];if((c|0)==-1){break b}d=F[d+8>>2];if(d>>>0>=e>>>0){break b}c=F[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}F[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=L(b,3);d=f+L(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=M(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;k=Z-16|0;Z=k;if(F[c+28>>2]==9){d=F[a+4>>2];h=G[c+24|0];e=h<<2;f=ka(e);l=k+8|0;F[l>>2]=1065353216;i=J[a+20>>2];d=-1<0){J[l>>2]=i/M(d|0)}o=(d|0)>0;a:{if(!o){break a}j=F[c+80>>2];if(!j){break a}if(h){p=F[F[b>>2]>>2]+F[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=F[a+8>>2];i=J[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;J[g+f>>2]=M(i*M(F[q>>2]))+J[g+m>>2];g=g|4;J[g+f>>2]=M(i*M(F[q+4>>2]))+J[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;J[d+f>>2]=M(i*M(F[(b<<2)+p>>2]))+J[d+m>>2];b=b+1|0}la(F[F[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){la(F[F[c+64>>2]>>2]+b|0,f,e);b=b+e|0;la(b+F[F[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}la(F[F[c+64>>2]>>2]+b|0,f,e)}ja(f)}Z=k+16|0;return o|0}function Rg(a,b){a=a|0;b=b|0;var 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=F[a+12>>2];d=F[a+68>>2];e=F[d+80>>2];D[b+84|0]=0;m=b+68|0;h=F[b+68>>2];f=F[b+72>>2]-h>>2;a:{if(f>>>0>>0){ab(m,e-f|0,9124);d=F[a+68>>2];e=F[d+80>>2];break a}if(e>>>0>=f>>>0){break a}F[b+72>>2]=h+(e<<2)}b=F[d+100>>2];f=F[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=F[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=F[c>>2];if((i|0)==-1){break b}g=F[d>>2];if(g>>>0>=e>>>0){break b}l=F[F[a+72>>2]+12>>2];j=F[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=F[m>>2];F[i+(g<<2)>>2]=j;g=F[c+4>>2];if((g|0)==-1){break b}j=F[d+4>>2];if(j>>>0>=e>>>0){break b}g=F[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}F[i+(j<<2)>>2]=g;c=F[c+8>>2];if((c|0)==-1){break b}d=F[d+8>>2];if(d>>>0>=e>>>0){break b}c=F[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}F[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=L(b,3);d=f+L(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Na(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=Z-16|0;Z=d;a:{f=F[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=F[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){F[a+4>>2]=b;h=f&31;b=F[a>>2]+(f>>>3&536870908)|0;break c}F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}$a(d,b);f=F[a+4>>2];F[d+4>>2]=f+e;i=F[a>>2];b=F[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){pa(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;F[b>>2]=F[b>>2]&(c^-1)|F[i+g>>2]&c}i=F[a>>2]}F[a>>2]=F[d>>2];F[d>>2]=i;c=F[a+4>>2];F[a+4>>2]=F[d+4>>2];F[d+4>>2]=c;c=F[a+8>>2];F[a+8>>2]=F[d+8>>2];F[d+8>>2]=c;if(!i){break c}ja(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;F[b>>2]=F[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){ma(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;F[a>>2]=F[a>>2]&(-1>>>32-(e&31)^-1);break b}F[a+4>>2]=b}Z=d+16|0;return}na();v()}function Aa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Z-16|0;Z=i;f=F[b+20>>2];h=F[b+12>>2];c=F[b+16>>2];a:{if((f|0)>=(h|0)&c>>>0>=I[b+8>>2]|(f|0)>(h|0)){break a}D[a+12|0]=G[c+F[b>>2]|0];c=F[b+20>>2];f=F[b+16>>2]+1|0;c=f?c:c+1|0;F[b+16>>2]=f;F[b+20>>2]=c;if(!Qd(1,i+12|0,b)){break a}h=F[b+8>>2];f=F[b+16>>2];g=h-f|0;c=F[i+12>>2];d=f>>>0>h>>>0;h=F[b+20>>2];e=F[b+12>>2]-(d+h|0)|0;if(g>>>0>>0&(e|0)<=0|(e|0)<0|(c|0)<=0){break a}g=f+F[b>>2]|0;F[a>>2]=g;b:{c:{e=c-1|0;j=e+g|0;d=G[j|0];d:{if(d>>>0<=63){F[a+4>>2]=e;d=G[j|0]&63;break d}e:{switch((d>>>6|0)-1|0){case 1:break c;case 0:break e;default:break a}}if(c>>>0<2){break a}e=c-2|0;F[a+4>>2]=e;g=g+e|0;d=G[g+1|0]<<8&16128|G[g|0]}F[a+8>>2]=d+4096;break b}if(c>>>0<3){break a}e=c-3|0;F[a+4>>2]=e;d=a;a=g+e|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];F[d+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=h;d=c;c=c+f|0;a=d>>>0>c>>>0?a+1|0:a;F[b+16>>2]=c;F[b+20>>2]=a;k=1}Z=i+16|0;return k}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=F[a+12>>2];i=F[a+8>>2];d=e-i>>2;b=G[b+24|0];a:{if(d>>>0>>0){qa(a+8|0,b-d|0);i=F[a+8>>2];e=F[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;F[a+12>>2]=e}b=0;f=F[c+8>>2];h=F[c+12>>2];j=F[c+20>>2];e=e-i|0;d=F[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}la(i,d+F[c>>2]|0,e);d=F[c+20>>2];g=e;e=e+F[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d;f=F[c+8>>2];h=F[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+F[c>>2]|0;F[a+20>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);d=F[c+20>>2];g=d;f=d;e=F[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;F[c+16>>2]=d;F[c+20>>2]=f;h=F[c+12>>2];if((f|0)>=(h|0)&d>>>0>=I[c+8>>2]|(f|0)>(h|0)){break b}f=G[d+F[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d;if(f-1>>>0>29){break b}F[a+4>>2]=f;b=1}return b|0}function Kc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+J[b>>2];k=+J[b+4>>2];l=+J[b+8>>2];g=N(j)+N(k)+N(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=F[a+16>>2];l=+(h|0);g=R(j*l+.5);b:{if(N(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=R(k*l+.5);c:{if(N(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=F[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=F[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}F[c>>2]=a;F[d>>2]=b}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!$c(a,b)){break a}h=a+36|0;g=$[F[F[a>>2]+24>>2]](a)|0;e=F[a+40>>2];d=F[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){Pb(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=F[e>>2];F[e>>2]=0;if(c){$[F[F[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}F[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=F[b+20>>2];f=F[b+12>>2];d=F[b+16>>2];if((c|0)>=(f|0)&d>>>0>=I[b+8>>2]|(c|0)>(f|0)){break c}f=G[F[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;d=$[F[F[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+F[a+36>>2]|0;c=F[i>>2];F[i>>2]=d;if(c){$[F[F[c>>2]+4>>2]](c)}c=F[F[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=$[F[F[a>>2]+28>>2]](a)|0,m=$[F[F[a>>2]+20>>2]](a,e)|0,j=F[F[c>>2]+8>>2],$[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function Xc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=F[a>>2];c=g+(b>>>3&536870908)|0;F[c>>2]=F[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=F[F[f>>2]+(c<<2)>>2]}c=F[a+12>>2];h=(d>>>3&536870908)+c|0;F[h>>2]=F[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=F[F[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;F[e>>2]=F[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}D[a+24|0]=0;a=(b>>>3&536870908)+g|0;F[a>>2]=F[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=F[F[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;F[a>>2]=F[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=F[F[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=F[a>>2];break c}a=c+536870908|0;b=F[c+536870908>>2];c=-2147483648}F[a>>2]=b|c}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=M(0),f=M(0),g=M(0),h=M(0),i=M(0),j=0,k=M(0),l=M(0),m=M(0),n=M(0),o=0;a:{if(F[c+28>>2]!=9|G[c+24|0]!=3){break a}a=F[a+4>>2];if(a-2>>>0>28){break a}o=1;j=F[c+80>>2];if(!j){break a}k=M(M(2)/M((1<>2]>>2]+F[c+48>>2]|0;a=F[F[b>>2]>>2]+F[b+48>>2]|0;b=0;while(1){g=M(0);l=M(0);m=M(0);e=M(M(M(F[a>>2])*k)+M(-1));f=M(M(M(F[a+4>>2])*k)+M(-1));i=M(M(M(1)-M(N(e)))-M(N(f)));h=M(Q(M(-i),M(0)));n=M(-h);f=M(f+(f>>8;D[c+10|0]=d>>>16;D[c+11|0]=d>>>24;d=(w(l),y(2));D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=(w(g),y(2));D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Md(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Z-16|0;Z=g;a:{if(!Sa(1,g+8|0,b)){break a}d=F[b+8>>2];e=F[b+16>>2];f=d-e|0;h=F[g+12>>2];c=d>>>0>>0;d=F[b+20>>2];i=F[b+12>>2]-(c+d|0)|0;c=F[g+8>>2];if((h|0)==(i|0)&c>>>0>f>>>0|h>>>0>i>>>0){break a}d=d+h|0;f=c+e|0;d=f>>>0>>0?d+1|0:d;F[b+16>>2]=f;F[b+20>>2]=d;if((c|0)<=0){break a}b=F[b>>2]+e|0;F[a+40>>2]=b;e=c-1|0;d=b+e|0;f=G[d|0];b:{if(f>>>0<=63){F[a+44>>2]=e;b=G[d|0]&63;break b}c:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;F[a+44>>2]=c;b=b+c|0;b=G[b+1|0]<<8&16128|G[b|0];break b;case 1:if(c>>>0<3){break a}c=c-3|0;F[a+44>>2]=c;b=b+c|0;b=G[b+1|0]<<8|G[b+2|0]<<16&4128768|G[b|0];break b;default:break c}}c=c-4|0;F[a+44>>2]=c;b=b+c|0;b=(G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24))&1073741823}F[a+48>>2]=b+16384;j=b>>>0<4177920}Z=g+16|0;return j}function Tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=Z-32|0;Z=a;e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=ka(g);F[a+24>>2]=g|-2147483648;F[a+16>>2]=f;F[a+20>>2]=e;g=e+f|0;break c}D[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}la(f,c,e)}D[g|0]=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d:{c=Ya(b,a+16|0);if((c|0)==(b+4|0)){break d}b=F[c+28>>2];e=F[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=F[a+4>>2];b=F[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){qa(a,e-g|0);b=F[a>>2];f=F[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;F[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=F[c+28>>2];la(e,b,F[c+32>>2]-b|0);break d}ta();v()}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d>>2]=F[a>>2];F[d+4>>2]=F[a+4>>2];F[d+8>>2]=F[a+8>>2];if(D[a+27|0]<0){ja(F[a+16>>2])}Z=a+32|0;break a}za();v()}}function ud(a){a=a|0;var b=0,c=0,d=0,e=0;F[a>>2]=8284;d=F[a+368>>2];F[a+368>>2]=0;if(d){e=d-4|0;b=F[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}ja(e)}td(a+216|0);b=F[a+196>>2];if(b){F[a+200>>2]=b;ja(b)}b=F[a+184>>2];if(b){F[a+188>>2]=b;ja(b)}b=F[a+172>>2];if(b){F[a+176>>2]=b;ja(b)}b=F[a+160>>2];if(b){F[a+164>>2]=b;ja(b)}c=F[a+144>>2];if(c){while(1){b=F[c>>2];ja(c);c=b;if(b){continue}break}}b=F[a+136>>2];F[a+136>>2]=0;if(b){ja(b)}b=F[a+120>>2];if(b){ja(b)}b=F[a+108>>2];if(b){ja(b)}b=F[a+96>>2];if(b){ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+36>>2];if(b){F[a+40>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a+8>>2];F[a+8>>2]=0;if(b){Za(b)}return a|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Z-16|0;Z=d;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=ka(f);F[d+8>>2]=f|-2147483648;F[d>>2]=a;F[d+4>>2]=e;f=a+e|0;break c}D[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}la(a,c,e)}D[f|0]=0;c=G[d+11|0];e=c<<24>>24;b=F[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?F[d+4>>2]:a;f=c?F[d>>2]:d;while(1){c=G[b+27|0];g=c<<24>>24<0;c=g?F[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?F[b+16>>2]:b+16|0;j=sa(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=sa(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=F[b>>2];if(b){continue}break}a=0}if((e|0)<0){ja(F[d>>2])}Z=d+16|0;break a}za();v()}return a|0}function lc(a,b){var c=0,d=0;c=F[b+8>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=c;F[a+20>>2]=F[b+20>>2];c=F[b+16>>2];F[a+12>>2]=F[b+12>>2];F[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=F[b+28>>2];if(c){d=F[a+24>>2];if(F[a+32>>2]<<5>>>0>>0){if(d){ja(d);F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;c=F[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=ka(c<<2);F[a+32>>2]=c;F[a+28>>2]=0;F[a+24>>2]=d;c=F[b+28>>2]}pa(d,F[b+24>>2],(c-1>>>3&536870908)+4|0);c=F[b+28>>2]}else{c=0}F[a+28>>2]=c;c=F[b+40>>2];if(c){d=F[a+36>>2];if(F[a+44>>2]<<5>>>0>>0){if(d){ja(d);F[a+44>>2]=0;F[a+36>>2]=0;F[a+40>>2]=0;c=F[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=ka(c<<2);F[a+44>>2]=c;F[a+40>>2]=0;F[a+36>>2]=d;c=F[b+40>>2]}pa(d,F[b+36>>2],(c-1>>>3&536870908)+4|0);b=F[b+40>>2]}else{b=0}F[a+40>>2]=b}return}na();v()}na();v()}function nc(a){var b=0,c=0,d=0;b=F[a+8>>2];d=F[a>>2];a:{if(G[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=F[F[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}F[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;F[a+8>>2]=b;if((b|0)!=-1){break b}}c=F[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=F[F[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}D[a+12|0]=0;F[a+8>>2]=b;return}if((b|0)!=F[a+4>>2]){break a}F[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=F[F[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}F[a+8>>2]=c}}function Od(a){var b=0,c=0,d=0;b=ka(32);D[b+26|0]=0;c=G[1475]|G[1476]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1471]|G[1472]<<8|(G[1473]<<16|G[1474]<<24);d=G[1467]|G[1468]<<8|(G[1469]<<16|G[1470]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1463]|G[1464]<<8|(G[1465]<<16|G[1466]<<24);d=G[1459]|G[1460]<<8|(G[1461]<<16|G[1462]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1455]|G[1456]<<8|(G[1457]<<16|G[1458]<<24);d=G[1451]|G[1452]<<8|(G[1453]<<16|G[1454]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,26);ja(b)}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+56>>2]-F[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=g;F[e>>2]=c;if(!d){break b}ja(d)}e=a+8|0;b=F[a+76>>2];c:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){return 1}b=0;while(1){c=od(e,F[(b<<2)+d>>2]);if(!c){break c}f=F[a+76>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=F[F[a+12>>2]+64>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=od(e,L(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}na();v()}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=g;F[e>>2]=c;if(!d){break b}ja(d)}e=a+8|0;b=F[a+76>>2];c:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){return 1}b=0;while(1){c=pd(e,F[(b<<2)+d>>2]);if(!c){break c}f=F[a+76>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=F[a+12>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=pd(e,L(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}na();v()}function pa(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return la(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}D[d|0]=G[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;D[d|0]=G[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;F[c+a>>2]=F[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;D[c+a|0]=G[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){F[d>>2]=F[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){D[d|0]=G[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Pb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=F[a+8>>2];c=F[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{b:{c:{g=F[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=ka(e<<2)}d=(f<<2)+i|0;f=b<<2;b=ma(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;d=d-4|0;F[d>>2]=b;if((c|0)!=(g|0)){continue}break}F[a+8>>2]=e;b=F[a+4>>2];F[a+4>>2]=f;c=F[a>>2];F[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=F[b>>2];F[b>>2]=0;if(a){$[F[F[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}na();v()}oa();v()}F[a+8>>2]=e;F[a+4>>2]=f;F[a>>2]=b}if(c){ja(c)}}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=F[b+8>>2];d=F[b+12>>2];g=d;d=F[b+20>>2];k=d;h=F[b+16>>2];c=h+4|0;d=c>>>0<4?d+1|0:d;i=c;a:{if(c>>>0>e>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}j=F[b>>2];c=j+h|0;f=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=i;F[b+20>>2]=d;c=e;e=k;d=h+8|0;e=d>>>0<8?e+1|0:e;if(c>>>0>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}c=i+j|0;c=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=d;F[b+20>>2]=e;if((c|0)<(f|0)){break a}F[a+16>>2]=c;F[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;e=c-f|0;if(!d&e>>>0>2147483646|d){break a}d=e+1|0;F[a+20>>2]=d;e=d>>>1|0;F[a+24>>2]=e;F[a+28>>2]=0-e;if(!(d&1)){F[a+24>>2]=e-1}l=Aa(a+112|0,b)}return l|0}function Wc(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=F[F[F[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(c-L(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(c-L(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(b-L(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=F[F[a>>2]+96>>2];a=(b>>>0)/3|0;f=F[(c+L(a,12)|0)+(b-L(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}function Fc(a,b){var c=0,d=0,e=0;c=Z+-64|0;Z=c;d=F[a>>2];e=F[d-4>>2];d=F[d-8>>2];F[c+32>>2]=0;F[c+36>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;D[c+55|0]=0;D[c+56|0]=0;D[c+57|0]=0;D[c+58|0]=0;D[c+59|0]=0;D[c+60|0]=0;D[c+61|0]=0;D[c+62|0]=0;F[c+24>>2]=0;F[c+28>>2]=0;F[c+20>>2]=0;F[c+16>>2]=11020;F[c+12>>2]=a;F[c+8>>2]=b;a=a+d|0;d=0;a:{if(La(e,b,0)){F[c+56>>2]=1;$[F[F[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=F[c+32>>2]==1?a:0;break a}$[F[F[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(F[c+44>>2]){case 0:d=F[c+48>>2]==1?F[c+36>>2]==1?F[c+40>>2]==1?F[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(F[c+32>>2]!=1){if(F[c+48>>2]|F[c+36>>2]!=1|F[c+40>>2]!=1){break a}}d=F[c+24>>2]}Z=c- -64|0;return d}function ma(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}D[a|0]=b;d=a+c|0;D[d-1|0]=b;if(c>>>0<3){break a}D[a+2|0]=b;D[a+1|0]=b;D[d-3|0]=b;D[d-2|0]=b;if(c>>>0<7){break a}D[a+3|0]=b;D[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=L(b&255,16843009);F[e>>2]=b;d=c-d&-4;c=d+e|0;F[c-4>>2]=b;if(d>>>0<9){break a}F[e+8>>2]=b;F[e+4>>2]=b;F[c-8>>2]=b;F[c-12>>2]=b;if(d>>>0<25){break a}F[e+24>>2]=b;F[e+20>>2]=b;F[e+16>>2]=b;F[e+12>>2]=b;F[c-16>>2]=b;F[c-20>>2]=b;F[c-24>>2]=b;F[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=ki(b,0,1,1);f=_;b=e+g|0;while(1){F[b+24>>2]=d;F[b+28>>2]=f;F[b+16>>2]=d;F[b+20>>2]=f;F[b+8>>2]=d;F[b+12>>2]=f;F[b>>2]=d;F[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=F[b+8>>2];e=F[b+12>>2];g=e;e=F[b+20>>2];k=e;h=F[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=F[b>>2];c=j+h|0;f=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=i;F[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=d;if((c|0)<(f|0)){break a}F[a+16>>2]=c;F[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;F[a+20>>2]=d;b=d>>>1|0;F[a+24>>2]=b;F[a+28>>2]=0-b;if(d&1){break a}F[a+24>>2]=b-1}return l|0}function Uc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Z-16|0;Z=d;f=F[a+24>>2];k=F[a+28>>2];a:{if((f|0)!=(k|0)){while(1){F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;a=Sc(F[f>>2],b,d);g=G[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=G[c+11|0];e=a<<24>>24;j=(h|0)<0?F[d+4>>2]:g;if((j|0)!=(((e|0)<0?F[c+4>>2]:a)|0)){break d}a=(e|0)<0?F[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(G[e|0]!=G[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(sa(e?F[d>>2]:d,a,j)){break c}}l=F[f>>2];i=1}if((h|0)>=0){break b}}ja(F[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}Z=d+16|0;return l}function gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=F[a+8>>2];e=F[a>>2];if(h>>>0<=d-e>>2>>>0){d=F[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){F[e>>2]=F[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){F[d>>2]=F[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}F[a+4>>2]=d;return}F[a+4>>2]=e;return}if(e){F[a+4>>2]=e;ja(e);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=ka(e);F[a>>2]=d;F[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=la(d,c,b)+b|0}F[a+4>>2]=d;return}na();v()}function Ea(a,b,c){var d=0,e=0,f=0;e=Z-16|0;Z=e;F[a+4>>2]=0;a:{b:{if(!b){break b}f=F[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){F[a+4>>2]=b;break c}F[e+8>>2]=0;F[e>>2]=0;F[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}$a(e,d);f=F[a>>2];F[a>>2]=F[e>>2];F[e>>2]=f;d=F[a+4>>2];F[a+4>>2]=b;F[e+4>>2]=d;d=F[a+8>>2];F[a+8>>2]=F[e+8>>2];F[e+8>>2]=d;if(!f){break c}ja(f)}d=b>>>5|0;a=F[a>>2];if(G[c|0]){if(b>>>0>=32){ma(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;F[a>>2]=F[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){ma(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;F[a>>2]=F[a>>2]&(-1>>>32-(b&31)^-1)}Z=e+16|0;return}na();v()}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Z-32|0;Z=e;a:{b:{f=ya(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=ka(a);F[e+24>>2]=a|-2147483648;F[e+16>>2]=g;F[e+20>>2]=f;a=f+g|0;break d}D[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}la(g,c,f)}D[a|0]=0;c=ya(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=ka(f);F[e+8>>2]=f|-2147483648;F[e>>2]=a;F[e+4>>2]=c;g=a+c|0;break f}D[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}la(a,d,c)}D[g|0]=0;c=F[b+4>>2];a=-1;g:{if(!c){break g}c=Uc(c,e+16|0,e);a=-1;if(!c){break g}a=Pc(b,F[c+24>>2])}if(D[e+11|0]<0){ja(F[e>>2])}if(D[e+27|0]<0){ja(F[e+16>>2])}Z=e+32|0;break a}za();v()}za();v()}return a|0}function se(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=ka(20);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;return a|0;case 1:a=ka(24);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;return a|0;case 2:a=ka(48);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;F[a+24>>2]=1624;F[a>>2]=7948;F[a+32>>2]=0;F[a+36>>2]=0;F[a+28>>2]=-1;F[a+40>>2]=0;F[a+44>>2]=0;return a|0;case 3:a=ka(32);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;F[a+24>>2]=1032;F[a>>2]=5812;F[a+28>>2]=-1;break;default:break a}}return a|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=F[b>>2];b=F[b+4>>2];d=F[F[a+8>>2]+40>>2];j=d;m=ka((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=F[c+16>>2];k=d;f=g+d|0;d=0+F[c+20>>2]|0;d=f>>>0>>0?d+1|0:d;h=F[c+12>>2];e=0;if(I[c+8>>2]>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=la(m,F[c>>2]+g|0,j);F[c+16>>2]=f;F[c+20>>2]=d;la(F[F[F[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+F[c+20>>2]|0;g=F[c+16>>2];f=k+g|0;d=f>>>0>>0?d+1|0:d;h=F[c+12>>2];if((d|0)<=(h|0)&I[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}ja(m);return e|0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;F[b>>2]=1;f=b+8|0;c=F[b+8>>2];d=F[b+12>>2]-c|0;if(d>>>0<=4294967291){Db(f,d+4|0);c=F[f>>2]}c=c+d|0;d=F[a+4>>2];D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;c=F[a+8>>2];if((c|0)!=F[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=F[b+8>>2];e=F[b+12>>2]-c|0;if(e>>>0<=4294967291){Db(f,e+4|0);c=F[f>>2]}c=c+e|0;e=F[g>>2];D[c|0]=e;D[c+1|0]=e>>>8;D[c+2|0]=e>>>16;D[c+3|0]=e>>>24;d=d+1|0;c=F[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=F[b+12>>2];b=F[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){Db(f,c+4|0);b=F[f>>2]}b=b+c|0;a=F[a+20>>2];D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24}function mb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=F[a+4>>2];if((c|0)!=F[a+8>>2]){e=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=e;F[c+8>>2]=F[b+8>>2];F[a+4>>2]=c+12;return}a:{g=F[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=ka(L(f,12))}else{e=0}d=e+L(d,12)|0;h=F[b+4>>2];F[d>>2]=F[b>>2];F[d+4>>2]=h;F[d+8>>2]=F[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=F[c+4>>2];d=d-12|0;F[d>>2]=F[c>>2];F[d+4>>2]=h;F[d+8>>2]=F[c+8>>2];if((c|0)!=(g|0)){continue}break}c=F[a>>2]}F[a+8>>2]=e+L(f,12);F[a+4>>2]=b;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=F[c+12>>2];f=h;e=F[c+20>>2];i=F[c+8>>2];g=F[c+16>>2];a:{if((f|0)<=(e|0)&i>>>0<=g>>>0|(e|0)>(f|0)){break a}j=F[c>>2];k=D[j+g|0];d=e;f=g+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;b:{if((k|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=i>>>0|(d|0)>(h|0)){break a}d=D[f+j|0];g=g+2|0;e=g>>>0<2?e+1|0:e;F[c+16>>2]=g;F[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=$[F[F[a>>2]+40>>2]](a,k,d)|0;d=F[a+20>>2];F[a+20>>2]=e;if(!d){break b}$[F[F[d>>2]+4>>2]](d)}d=F[a+20>>2];if(d){if(!($[F[F[a>>2]+28>>2]](a,d)|0)){break a}}l=$[F[F[a>>2]+36>>2]](a,b,c)|0}return l|0}function Bf(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,j=0;a:{if(I[b+80>>2]>65535){break a}a=F[b+100>>2];b=F[b+96>>2];e=(a-b|0)/12|0;f=L(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=L(a,6);h=f+d|0;e=b+L(a,12)|0;E[h>>1]=F[e>>2];E[(f|2)+d>>1]=F[e+4>>2];E[h+4>>1]=F[e+8>>2];f=a|1;e=L(f,6)+d|0;f=b+L(f,12)|0;E[e>>1]=F[f>>2];E[e+2>>1]=F[f+4>>2];E[e+4>>1]=F[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=L(a,6)+d|0;a=b+L(a,12)|0;E[c>>1]=F[a>>2];E[c+2>>1]=F[a+4>>2];E[c+4>>1]=F[a+8>>2]}return g|0}function Gh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Z-32|0;Z=f;h=e>>>0>1073741823?-1:e<<2;h=ma(ka(h),0,h);g=F[b>>2];i=F[b+4>>2];k=F[h+4>>2];F[f+16>>2]=F[h>>2];F[f+20>>2]=k;F[f+8>>2]=g;F[f+12>>2]=i;i=a+8|0;Jb(f+24|0,i,f+16|0,f+8|0);F[c>>2]=F[f+24>>2];F[c+4>>2]=F[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=F[j>>2];j=F[j+4>>2];g=c+g|0;l=g+k|0;n=F[l+4>>2];F[f+16>>2]=F[l>>2];F[f+20>>2]=n;F[f+8>>2]=m;F[f+12>>2]=j;Jb(f+24|0,i,f+16|0,f+8|0);F[g>>2]=F[f+24>>2];F[g+4>>2]=F[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}ja(h);Z=f+32|0;return 1}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=Z-32|0;Z=a;F[a+24>>2]=0;F[a+28>>2]=0;a:{d=ya(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=ka(e);F[a+16>>2]=e|-2147483648;F[a+8>>2]=f;F[a+12>>2]=d;e=d+f|0;break c}D[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}la(f,c,d)}D[e|0]=0;c=b+4|0;b=Ya(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=F[b+32>>2];b=F[b+28>>2];if((c-b|0)!=8){break d}c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);F[a+24>>2]=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);F[a+28>>2]=c}g=K[a+24>>3];if(D[a+19|0]<0){ja(F[a+8>>2])}Z=a+32|0;break a}za();v()}return+g}function Gc(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=Z-16|0;Z=h;if((b^-1)+2147483631>>>0>=c>>>0){if(G[a+11|0]>>>7|0){i=F[a>>2]}else{i=a}if(b>>>0<1073741799){F[h+12>>2]=b<<1;F[h>>2]=b+c;c=Z-16|0;Z=c;Z=c+16|0;c=h+12|0;c=F[(I[h>>2]>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}sb(h,c);c=F[h>>2];if(f){db(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){db(c+f|0,e+i|0,g)}if((b|0)!=10){ja(i)}F[a>>2]=c;F[a+8>>2]=F[a+8>>2]&-2147483648|F[h+4>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;b=a;a=f+g|0;F[b+4>>2]=a;D[h+12|0]=0;D[a+c|0]=G[h+12|0];Z=h+16|0;return}za();v()}function _c(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=L(b,3);Xb(a,b,10224);Xb(a+12|0,b,10228);d=F[a+24>>2];c:{if(F[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=F[a+28>>2];e=c<<2;c=ka(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+32>>2]=e;F[a+28>>2]=g;F[a+24>>2]=c;if(!d){break c}ja(d)}F[a+80>>2]=0;F[a+84>>2]=0;b=F[a+76>>2];F[a+76>>2]=0;if(b){ja(b)}F[a+68>>2]=0;F[a+72>>2]=0;b=a- -64|0;a=F[b>>2];F[b>>2]=0;if(!a){break b}ja(a)}return f}na();v()}function yd(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=F[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=ka(c>>>0>268435455?-1:b|4);F[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){F[b>>2]=0;F[b+4>>2]=0;D[b+5|0]=0;D[b+6|0]=0;D[b+7|0]=0;D[b+8|0]=0;D[b+9|0]=0;D[b+10|0]=0;D[b+11|0]=0;D[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=F[a+136>>2];F[a+136>>2]=d;if(e){c=e-4|0;d=F[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}ja(c)}b=0;if(F[a+140>>2]<=0){break a}while(1){f=Aa(F[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)>2]){continue}break}}return f} +function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=F[b+8>>2];c=F[b+12>>2];g=c;c=F[b+20>>2];i=c;h=F[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;a:{if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}e=h+F[b>>2]|0;e=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;f=d;d=i;c=h+8|0;d=c>>>0<8?d+1|0:d;if(c>>>0>f>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}F[b+16>>2]=c;F[b+20>>2]=d;if(!(e&1)){break a}d=O(e)^31;if(d-1>>>0>28){break a}F[a+8>>2]=d+1;d=-2<>2]=c;F[a+12>>2]=d^-1;F[a+24>>2]=c>>1;J[a+20>>2]=M(2)/M(c|0);j=Aa(a+96|0,b)}return j|0}function bc(a,b){var c=0;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;c=F[b+60>>2];F[a+56>>2]=F[b+56>>2];F[a+60>>2]=c;c=F[b+52>>2];F[a+48>>2]=F[b+48>>2];F[a+52>>2]=c;c=F[b+44>>2];F[a+40>>2]=F[b+40>>2];F[a+44>>2]=c;c=F[b+36>>2];F[a+32>>2]=F[b+32>>2];F[a+36>>2]=c;c=F[b+28>>2];F[a+24>>2]=F[b+24>>2];F[a+28>>2]=c;c=F[b+20>>2];F[a+16>>2]=F[b+16>>2];F[a+20>>2]=c;c=F[b+12>>2];F[a+8>>2]=F[b+8>>2];F[a+12>>2]=c;F[a+88>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;D[a+77|0]=0;D[a+78|0]=0;D[a+79|0]=0;D[a+80|0]=0;D[a+81|0]=0;D[a+82|0]=0;D[a+83|0]=0;D[a+84|0]=0;return a}function ac(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(F[a+64>>2]){break a}c=ka(32);F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=0;F[c>>2]=0;F[c+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;d=F[a+64>>2];F[a+64>>2]=c;if(!d){break a}c=F[d>>2];if(c){F[d+4>>2]=c;ja(c)}ja(d)}d=F[a+64>>2];c=F[a+28>>2]-1|0;if(c>>>0<=10){c=F[(c<<2)+10148>>2]}else{c=-1}c=L(c,G[a+24|0]);f=c>>31;g=md(d,0,ki(c,f,b,0),_);if(g){d=F[a+64>>2];F[a>>2]=d;e=F[d+20>>2];F[a+8>>2]=F[d+16>>2];F[a+12>>2]=e;e=F[d+24>>2];d=F[d+28>>2];F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=c;F[a+44>>2]=f;F[a+16>>2]=e;F[a+20>>2]=d;F[a+80>>2]=b}return g}function Af(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,j=0,k=0;a=F[b+100>>2];b=F[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=L(a,12);i=e+d|0;f=b+e|0;F[i>>2]=F[f>>2];F[(e|4)+d>>2]=F[f+4>>2];F[i+8>>2]=F[f+8>>2];f=L(a|1,12);e=f+d|0;f=b+f|0;F[e>>2]=F[f>>2];F[e+4>>2]=F[f+4>>2];F[e+8>>2]=F[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=L(a,12);a=e+d|0;b=b+d|0;F[a>>2]=F[b>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=F[b+8>>2]}return(c|0)==(h|0)|0}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=F[b+8>>2];d=F[b+12>>2];g=d;d=F[b+20>>2];i=d;h=F[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+F[b>>2]|0;e=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=d;f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}F[b+16>>2]=d;F[b+20>>2]=c;if(!(e&1)){break a}b=O(e)^31;if(b-1>>>0>28){break a}j=1;F[a+8>>2]=b+1;b=-2<>2]=c;F[a+12>>2]=b^-1;F[a+24>>2]=c>>1;J[a+20>>2]=M(2)/M(c|0)}return j|0}function Ya(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=F[a+4>>2];a:{b:{if(!a){break b}d=G[b+11|0];c=d<<24>>24<0;g=c?F[b>>2]:b;d=c?F[b+4>>2]:d;b=f;while(1){e=G[a+27|0];c=e<<24>>24<0;e=c?F[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=sa(c?F[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=F[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=G[b+27|0];a=c<<24>>24<0;d:{c=a?F[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=sa(g,a?F[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(La(a,F[b+8>>2],e)){if(!(F[b+28>>2]==1|F[b+4>>2]!=(c|0))){F[b+28>>2]=d}return}a:{if(La(a,F[b>>2],e)){if(!(F[b+16>>2]!=(c|0)&F[b+20>>2]!=(c|0))){if((d|0)!=1){break a}F[b+32>>2]=1;return}F[b+32>>2]=d;b:{if(F[b+44>>2]==4){break b}E[b+52>>1]=0;a=F[a+8>>2];$[F[F[a>>2]+20>>2]](a,b,c,c,1,e);if(G[b+53|0]){F[b+44>>2]=3;if(!G[b+52|0]){break b}break a}F[b+44>>2]=4}F[b+20>>2]=c;F[b+40>>2]=F[b+40>>2]+1;if(F[b+36>>2]!=1|F[b+24>>2]!=2){break a}D[b+54|0]=1;return}a=F[a+8>>2];$[F[F[a>>2]+24>>2]](a,b,c,d,e)}}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=ka(64);c=ka(12);F[c+8>>2]=F[F[a+4>>2]+80>>2];F[c>>2]=9968;F[c+4>>2]=0;f=yc(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=F[a+12>>2];e=F[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){Pb(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=F[c>>2];F[c>>2]=0;if(d){$[F[F[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}F[a+12>>2]=e}a=F[h>>2]+(b<<2)|0;c=F[a>>2];F[a>>2]=f;if(!c){break a}}$[F[F[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=F[a+60>>2];a:{if(!c){break a}F[c+4>>2]=a+48;if(!($[F[F[c>>2]+12>>2]](c)|0)){break a}b:{c=$[F[F[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=F[($[F[F[a>>2]+28>>2]](a)|0)+4>>2];g=$[F[F[a>>2]+20>>2]](a,d)|0;e=F[a+60>>2];if(!($[F[F[e>>2]+8>>2]](e,F[F[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!($[F[F[a>>2]+36>>2]](a,b)|0)){break a}if(!($[F[F[a>>2]+40>>2]](a,b)|0)){break a}d=$[F[F[a>>2]+44>>2]](a)|0}return d|0}function Id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=F[a+216>>2];if((c|0)!=F[a+220>>2]){while(1){a:{c=F[L(e,144)+c>>2];if((c|0)<0){break a}d=F[a+4>>2];f=F[d+8>>2];if((c|0)>=F[d+12>>2]-f>>2){break a}d=0;c=F[(c<<2)+f>>2];if(($[F[F[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if(($[F[F[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if(($[F[F[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=F[a+216>>2]+L(e,144)|0;return(G[a+100|0]?a+4|0:0)|0}e=e+1|0;c=F[a+216>>2];if(e>>>0<(F[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function nd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=F[a+8>>2];d=F[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=ma(d,0,b)+b|0}F[a+4>>2]=d;return}a:{f=F[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=ka(e<<2)}c=(g<<2)+i|0;b=b<<2;b=ma(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(f|0)){continue}break}}F[a+8>>2]=(e<<2)+i;F[a+4>>2]=b;F[a>>2]=c;if(f){ja(f)}return}na();v()}oa();v()}function bb(a){var b=0,c=0,d=0,e=0,f=0;d=F[a+8>>2];a:{if(G[d+84|0]){break a}b=F[a+16>>2];if(!b|!G[b+84|0]){break a}c=F[d+72>>2];e=F[d+68>>2];D[b+84|0]=0;c=c-e>>2;f=F[b+68>>2];e=F[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){ab(b+68|0,c-e|0,2004);d=F[a+8>>2];break b}if(c>>>0>=e>>>0){break b}F[b+72>>2]=f+(c<<2)}if(G[d+84|0]){break a}c=F[d+68>>2];if((c|0)==F[d+72>>2]){break a}e=F[F[a+16>>2]+68>>2];b=0;while(1){f=b<<2;F[f+e>>2]=F[c+f>>2];b=b+1|0;c=F[d+68>>2];if(b>>>0>2]-c>>2>>>0){continue}break}}return F[a+16>>2]}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Z+-64|0;Z=e;f=Ja(e+8|0);F[f+16>>2]=0;F[f+20>>2]=0;F[f>>2]=b;F[f+8>>2]=c;F[f+12>>2]=0;b=e+48|0;Pd(b,a,f,d);F[a+24>>2]=F[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=G[e+63|0];d=g<<24>>24;if(D[a+39|0]>=0){if((d|0)>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break a}qb(b,F[e+52>>2],F[e+56>>2]);break a}a=(d|0)<0;rb(b,a?F[e+52>>2]:c,a?F[e+56>>2]:g)}if(D[e+63|0]<0){ja(F[e+52>>2])}Z=e- -64|0;return f|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=Z-32|0;Z=a;a:{d=ya(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=ka(e);F[a+24>>2]=e|-2147483648;F[a+16>>2]=f;F[a+20>>2]=d;e=d+f|0;break c}D[a+27|0]=d;f=a+16|0;e=f+d|0;if(!d){break b}}la(f,c,d)}D[e|0]=0;D[a+4|0]=0;F[a>>2]=1701667182;D[a+11|0]=4;d=F[b+4>>2];c=-1;d:{if(!d){break d}d=Uc(d,a,a+16|0);c=-1;if(!d){break d}c=Pc(b,F[d+24>>2])}b=c;if(D[a+11|0]<0){ja(F[a>>2])}if(D[a+27|0]<0){ja(F[a+16>>2])}Z=a+32|0;break a}za();v()}return b|0}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=F[a+216>>2];if((c|0)!=F[a+220>>2]){while(1){a:{c=F[L(e,144)+c>>2];if((c|0)<0){break a}d=F[a+4>>2];f=F[d+8>>2];if((c|0)>=F[d+12>>2]-f>>2){break a}d=0;c=F[(c<<2)+f>>2];if(($[F[F[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if(($[F[F[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if(($[F[F[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(F[a+216>>2]+L(e,144)|0)+104|0}e=e+1|0;c=F[a+216>>2];if(e>>>0<(F[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Z-16|0;Z=d;F[d+12>>2]=0;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=ka(f);F[d+8>>2]=f|-2147483648;F[d>>2]=a;F[d+4>>2]=e;f=a+e|0;break c}D[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}la(a,c,e)}D[f|0]=0;a=Ya(b,d);d:{if((a|0)==(b+4|0)){break d}b=F[a+32>>2];a=F[a+28>>2];if((b-a|0)!=4){break d}F[d+12>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24)}a=F[d+12>>2];if(D[d+11|0]<0){ja(F[d>>2])}Z=d+16|0;break a}za();v()}return a|0}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;d=Z+-64|0;Z=d;e=Ja(d+8|0);F[e+16>>2]=0;F[e+20>>2]=0;F[e>>2]=b;F[e+8>>2]=c;F[e+12>>2]=0;b=d+48|0;Od(b);F[a+24>>2]=F[d+48>>2];f=a+24|0;a:{if((b|0)==(f|0)){break a}b=a+28|0;c=d+48|4;g=G[d+63|0];e=g<<24>>24;if(D[a+39|0]>=0){if((e|0)>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break a}qb(b,F[d+52>>2],F[d+56>>2]);break a}a=(e|0)<0;rb(b,a?F[d+52>>2]:c,a?F[d+56>>2]:g)}if(D[d+63|0]<0){ja(F[d+52>>2])}Z=d- -64|0;return f|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if(($[F[F[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=Qc(F[F[a+4>>2]+4>>2],$[F[F[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}g=F[a+4>>2];c=0;b:{if((d|0)<0){break b}h=F[g+4>>2];if((d|0)>=F[h+12>>2]-F[h+8>>2]>>2){break b}c=F[F[g+8>>2]+(F[F[g+20>>2]+(d<<2)>>2]<<2)>>2];c=$[F[F[c>>2]+32>>2]](c,d)|0}if(!c){break a}if(!($[F[F[b>>2]+28>>2]](b,c)|0)){break a}e=1;f=f+1|0;if(($[F[F[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=F[a+4>>2];e=F[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=F[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=ma(c,0,g)+g|0,F[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=ka(c);ma(f+d|0,0,g);d=pa(f,e,d);F[a+8>>2]=d+c;F[a+4>>2]=b+d;F[a>>2]=d;if(!e){break b}ja(e);break b}if(b>>>0>=d>>>0){break b}F[a+4>>2]=b+e}b=F[a+28>>2];c=b;d=b+1|0;b=F[a+24>>2]+1|0;e=b?c:d;F[a+24>>2]=b;F[a+28>>2]=e;return}na();v()}function Ma(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=F[a+4>>2];if((e|0)!=F[a+8>>2]){F[e>>2]=F[b>>2];F[a+4>>2]=e+4;return}a:{g=F[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=ka(c<<2)}else{f=0}d=h+f|0;F[d>>2]=F[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(g|0)){continue}break}}F[a+8>>2]=f+(c<<2);F[a+4>>2]=b;F[a>>2]=d;if(g){ja(g)}return}na();v()}oa();v()}function va(a){F[a>>2]=-1;F[a+4>>2]=0;F[a+8>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;D[a+28|0]=1;F[a+20>>2]=0;F[a+24>>2]=0;F[a+12>>2]=0;F[a+16>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[a+84>>2]=0;F[a+88>>2]=0;F[a+92>>2]=0;F[a+96>>2]=0;F[a+72>>2]=a+4;F[a+104>>2]=0;F[a+108>>2]=0;D[a+100|0]=1;F[a+112>>2]=0;F[a+116>>2]=0;F[a+120>>2]=0;F[a+124>>2]=0;F[a+128>>2]=0;F[a+132>>2]=0;F[a+136>>2]=0;F[a+140>>2]=0}function Hb(a,b){var c=0,d=0,e=0,f=0;d=F[a+12>>2];c=F[a+16>>2]-d>>2;a:{if(c>>>0>>0){qa(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}F[a+16>>2]=d+(b<<2)}b:{c=F[a>>2];c:{if(F[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=F[a+4>>2];e=b<<2;b=ka(e);e=b+e|0;f=b+(d-c&-4)|0;b=f;if((c|0)!=(d|0)){while(1){b=b-4|0;d=d-4|0;F[b>>2]=F[d>>2];if((c|0)!=(d|0)){continue}break}}F[a+8>>2]=e;F[a+4>>2]=f;F[a>>2]=b;if(!c){break c}ja(c)}return}na();v()}function tb(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=10300;b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}b=F[a+44>>2];if(b){F[a+48>>2]=b;ja(b)}b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}b=F[a+8>>2];if(b){d=b;c=F[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=F[c>>2];F[c>>2]=0;if(d){xa(d)}if((b|0)!=(c|0)){continue}break}d=F[a+8>>2]}F[a+12>>2]=b;ja(d)}b=F[a+4>>2];F[a+4>>2]=0;if(b){ic(b)}return a|0}function qa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=F[a+8>>2];c=F[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{f=c;c=F[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=ka(d<<2)}b=b<<2;e=ma((h<<2)+i|0,0,b);f=d<<2;d=pa(i,c,g);F[a+8>>2]=f+d;F[a+4>>2]=b+e;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function gc(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=Ya(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=D[a+39|0]<0?F[b>>2]:b;while(1){a=b;b=a+1|0;c=D[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=D[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=D[b|0];a=b}if(c-48>>>0<10){while(1){d=(L(d,10)-D[a|0]|0)+48|0;b=D[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function Qa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=F[a>>2];c=F[a+4>>2];e=F[a+8>>2];if(c>>>0>>0){F[c>>2]=F[b>>2];F[a+4>>2]=c+4;return}a:{d=c;c=F[a>>2];g=d-c|0;d=g>>2;f=d+1|0;if(f>>>0<1073741824){h=d<<2;e=e-c|0;d=e>>>1|0;f=e>>>0>=2147483644?1073741823:f>>>0>>0?d:f;if(f){if(f>>>0>=1073741824){break a}e=ka(f<<2)}else{e=0}d=h+e|0;F[d>>2]=F[b>>2];b=pa(e,c,g);F[a+8>>2]=b+(f<<2);F[a+4>>2]=d+4;F[a>>2]=b;if(c){ja(c)}return}na();v()}oa();v()}function db(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=Z-16|0;Z=f;d=Z-32|0;Z=d;e=Z-16|0;Z=e;F[e+12>>2]=b;F[e+8>>2]=b+c;F[d+24>>2]=F[e+12>>2];F[d+28>>2]=F[e+8>>2];Z=e+16|0;c=Z-16|0;Z=c;h=F[d+28>>2];e=F[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){pa(a,e,g)}F[c+12>>2]=e+g;F[c+8>>2]=a+g;F[d+16>>2]=F[c+12>>2];F[d+20>>2]=F[c+8>>2];Z=c+16|0;F[d+12>>2]=(F[d+16>>2]-b|0)+b;F[d+8>>2]=(F[d+20>>2]-a|0)+a;F[f+8>>2]=F[d+12>>2];F[f+12>>2]=F[d+8>>2];Z=d+32|0;Z=f+16|0}function _a(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=F[a+8>>2];c=F[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{f=c;c=F[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=ka(d<<3)}b=b<<3;e=ma((h<<3)+i|0,0,b);f=d<<3;d=pa(i,c,g);F[a+8>>2]=f+d;F[a+4>>2]=b+e;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function re(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=2016;b=F[a+60>>2];F[a+60>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}d=F[a+36>>2];if(d){c=F[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+36>>2]}F[a+40>>2]=d;ja(b)}F[a>>2]=1776;b=F[a+16>>2];if(b){F[a+20>>2]=b;ja(b)}b=F[a+4>>2];if(b){F[a+8>>2]=b;ja(b)}return a|0}function qe(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=2016;b=F[a+60>>2];F[a+60>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}d=F[a+36>>2];if(d){c=F[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+36>>2]}F[a+40>>2]=d;ja(b)}F[a>>2]=1776;b=F[a+16>>2];if(b){F[a+20>>2]=b;ja(b)}b=F[a+4>>2];if(b){F[a+8>>2]=b;ja(b)}ja(a)}function Eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=F[a+8>>2];b:{if((b|0)<0){break b}c=F[a+4>>2];e=F[c>>2];d=F[c+4>>2]-e>>2;c:{if(d>>>0>>0){nd(c,b-d|0);f=F[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}F[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=F[a+4>>2];c=F[a>>2];e=F[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}F[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}ta();v()}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Z-16|0;Z=d;e=F[a+4>>2];a:{if((e|0)==-1){break a}c=F[b+20>>2];if(!!F[b+16>>2]&(c|0)>=0|(c|0)>0){break a}pb(b,F[b+4>>2],F[a+8>>2],F[a+12>>2]);c=F[b+20>>2];if(!!F[b+16>>2]&(c|0)>=0|(c|0)>0){break a}pb(b,F[b+4>>2],a+20|0,a+24|0);c=F[b+20>>2];f=F[b+16>>2];D[d+15|0]=F[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}pb(b,F[b+4>>2],d+15|0,d+16|0)}Z=d+16|0;return(e|0)!=-1|0}function kd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=F[a+8>>2];c=F[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{f=c;c=F[a>>2];g=f-c|0;f=g>>1;d=f+b|0;if((d|0)>=0){e=e-c|0;d=e>>>0>=2147483646?2147483647:d>>>0>>0?e:d;if(d){if((d|0)<0){break a}h=ka(d<<1)}b=b<<1;e=ma((f<<1)+h|0,0,b);f=d<<1;d=pa(h,c,g);F[a+8>>2]=f+d;F[a+4>>2]=b+e;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Z-16|0;Z=d;Pd(d,a,b,c);F[a+24>>2]=F[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=G[d+15|0];g=f<<24>>24;if(D[a+39|0]>=0){if((g|0)>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break a}qb(b,F[d+4>>2],F[d+8>>2]);break a}a=(g|0)<0;rb(b,a?F[d+4>>2]:c,a?F[d+8>>2]:f)}if(D[d+15|0]<0){ja(F[d+4>>2])}Z=d+16|0;return e|0}function ra(a,b,c){var d=0,e=0,f=0,g=0;e=Z-16|0;Z=e;a:{b:{if(c>>>0<11){d=a;D[a+11|0]=G[a+11|0]&128|c;D[a+11|0]=G[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}sb(g,d+1|0);d=F[e+8>>2];F[a>>2]=d;F[a+8>>2]=F[a+8>>2]&-2147483648|F[e+12>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;F[a+4>>2]=c}db(d,b,c+1|0);Z=e+16|0;return}za();v()}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;b=Z-16|0;Z=b;Od(b);F[a+24>>2]=F[b>>2];e=a+24|0;a:{if((e|0)==(b|0)){break a}c=a+28|0;d=b|4;f=G[b+15|0];g=f<<24>>24;if(D[a+39|0]>=0){if((g|0)>=0){a=F[d+4>>2];F[c>>2]=F[d>>2];F[c+4>>2]=a;F[c+8>>2]=F[d+8>>2];break a}qb(c,F[b+4>>2],F[b+8>>2]);break a}a=(g|0)<0;rb(c,a?F[b+4>>2]:d,a?F[b+8>>2]:f)}if(D[b+15|0]<0){ja(F[b+4>>2])}Z=b+16|0;return e|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Z-16|0;Z=d;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=ka(g);F[d+8>>2]=g|-2147483648;F[d>>2]=f;F[d+4>>2]=e;g=e+f|0;break c}D[d+11|0]=e;g=d+e|0;f=d;if(!e){break b}}la(f,c,e)}D[g|0]=0;f=a+16|0;c=Sc(b,d,f);b=F[a+16>>2];a=D[a+27|0];if(D[d+11|0]<0){ja(F[d>>2])}Z=d+16|0;a=c?(a|0)<0?b:f:0;break a}za();v()}return a|0}function Yb(a,b){var c=0,d=0,e=0;c=F[a+4>>2];d=c+b|0;F[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){F[F[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=F[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;F[a>>2]=F[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){ma(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;F[a>>2]=F[a>>2]&(-1>>>32-(b&31)^-1)}}function ld(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=F[c+20>>2];f=F[c+12>>2];e=F[c+16>>2];if((d|0)>=(f|0)&e>>>0>=I[c+8>>2]|(d|0)>(f|0)){break a}f=D[e+F[c>>2]|0];e=e+1|0;d=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!ld(a+1|0,b,c)){break a}a=F[b>>2];d=d&127|a<<7;a=F[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}F[b>>2]=d;F[b+4>>2]=a;g=1}return g}function Sa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=F[c+20>>2];f=F[c+12>>2];e=F[c+16>>2];if((d|0)>=(f|0)&e>>>0>=I[c+8>>2]|(d|0)>(f|0)){break a}f=D[e+F[c>>2]|0];e=e+1|0;d=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!Sa(a+1|0,b,c)){break a}a=F[b>>2];d=d&127|a<<7;a=F[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}F[b>>2]=d;F[b+4>>2]=a;g=1}return g}function Ne(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(La(a,F[b+8>>2],e)){if(!(F[b+28>>2]==1|F[b+4>>2]!=(c|0))){F[b+28>>2]=d}return}a:{if(!La(a,F[b>>2],e)){break a}if(!(F[b+16>>2]!=(c|0)&F[b+20>>2]!=(c|0))){if((d|0)!=1){break a}F[b+32>>2]=1;return}F[b+20>>2]=c;F[b+32>>2]=d;F[b+40>>2]=F[b+40>>2]+1;if(!(F[b+36>>2]!=1|F[b+24>>2]!=2)){D[b+54|0]=1}F[b+44>>2]=4}}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Z+-64|0;Z=e;d=$[F[F[a>>2]+44>>2]](a,b)|0;a=$[F[F[a>>2]+40>>2]](a,b)|0;f=kb(e);g=F[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=F[(a<<2)+10148>>2]}else{a=-1}d=L(a,d);cc(f,g,h,i,0,d,d>>31);a=bc(ka(96),f);ac(a,c);D[a+84|0]=1;F[a+72>>2]=F[a+68>>2];F[a+60>>2]=F[b+60>>2];Z=e- -64|0;return a|0}function rh(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=8176;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}return a|0}function Dc(a,b,c,d){D[a+53|0]=1;a:{if(F[a+4>>2]!=(c|0)){break a}D[a+52|0]=1;c=F[a+16>>2];b:{if(!c){F[a+36>>2]=1;F[a+24>>2]=d;F[a+16>>2]=b;if((d|0)!=1){break a}if(F[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=F[a+24>>2];if((c|0)==2){F[a+24>>2]=d;c=d}if(F[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}F[a+36>>2]=F[a+36>>2]+1}D[a+54|0]=1}}function qh(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=8176;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}ja(a)}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=Z+-64|0;Z=e;d=1;a:{if(La(a,b,0)){break a}d=0;if(!b){break a}b=Fc(b,11068);d=0;if(!b){break a}d=e+8|0;ma(d|4,0,52);F[e+56>>2]=1;F[e+20>>2]=-1;F[e+16>>2]=a;F[e+8>>2]=b;$[F[F[b>>2]+28>>2]](b,d,F[c>>2],1);a=F[e+32>>2];if((a|0)==1){F[c>>2]=F[e+24>>2]}d=(a|0)==1}Z=e- -64|0;return d|0}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Z-16|0;Z=d;F[a+4>>2]=b;b=F[b+64>>2];e=F[b>>2];b=F[b+4>>2];D[d+15|0]=0;Ea(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=F[a+4>>2];e=F[b+56>>2];b=F[b+52>>2];D[d+14|0]=0;Ea(a+36|0,e-b>>2,d+14|0);b=F[c+12>>2];F[a+16>>2]=F[c+8>>2];F[a+20>>2]=b;b=F[c+4>>2];F[a+8>>2]=F[c>>2];F[a+12>>2]=b;Z=d+16|0}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=Z-16|0;Z=a;f=D[b+24|0];e=F[2555];F[a+8>>2]=F[2554];F[a+12>>2]=e;e=F[2553];F[a>>2]=F[2552];F[a+4>>2]=e;e=lb(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=ka(c);g=la(b,a,c)+c|0}c=F[d>>2];if(c){F[d+4>>2]=c;ja(c)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=b}Z=a+16|0;return e|0}function wd(a,b){var c=0,d=0;a:{c=F[a+4>>2];d=F[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}$a(a,c);c=F[a+4>>2]}F[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(G[b|0]){F[a>>2]=d|F[a>>2];return}F[a>>2]=F[a>>2]&(d^-1);return}na();v()}function Zb(a){var b=0;F[a>>2]=0;F[a+4>>2]=0;F[a+56>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[a+84>>2]=0;F[a+60>>2]=a;return a}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=$[F[F[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=F[F[a+36>>2]>>2];g=a+48|0;c=0;if(!($[F[F[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=F[F[a+36>>2]+(e<<2)>>2];if($[F[F[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=$[F[F[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=F[F[a+36>>2]>>2];g=a+48|0;c=0;if(!($[F[F[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=F[F[a+36>>2]+(e<<2)>>2];if($[F[F[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Z-16|0;Z=d;F[a+4>>2]=b;e=F[b>>2];b=F[b+4>>2];D[d+15|0]=0;Ea(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=F[a+4>>2];e=F[b+28>>2];b=F[b+24>>2];D[d+14|0]=0;Ea(a+36|0,e-b>>2,d+14|0);b=F[c+12>>2];F[a+16>>2]=F[c+8>>2];F[a+20>>2]=b;b=F[c+4>>2];F[a+8>>2]=F[c>>2];F[a+12>>2]=b;Z=d+16|0}function hb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!hb(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function fb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!fb(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Wb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Wb(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Ta(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Ta(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Qd(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Qd(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Oa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Oa(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Da(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Da(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function sa(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(F[a>>2]!=F[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=G[a|0];e=G[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function td(a){var b=0,c=0,d=0,e=0;d=F[a>>2];if(d){e=d;c=F[a+4>>2];if((d|0)!=(c|0)){while(1){e=c-144|0;b=F[e+132>>2];if(b){F[c-8>>2]=b;ja(b)}b=F[c-28>>2];if(b){F[c-24>>2]=b;ja(b)}b=F[c-40>>2];if(b){F[c-36>>2]=b;ja(b)}Gb(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}e=F[a>>2]}F[a+4>>2]=d;ja(e)}}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=F[b+4>>2];a:{if(!d){break a}b=F[F[F[b+8>>2]+(c<<2)>>2]+60>>2];if((b|0)<0){break a}a=F[d+24>>2];c=F[d+28>>2];if((a|0)==(c|0)){break a}b:{while(1){e=F[a>>2];if((b|0)==F[e+24>>2]){break b}a=a+4|0;if((c|0)!=(a|0)){continue}break}e=0}}return e|0}function ic(a){var b=0,c=0,d=0;if(a){d=F[a+24>>2];if(d){b=d;c=F[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}if((c|0)!=(d|0)){continue}break}b=F[a+24>>2]}F[a+28>>2]=d;ja(b)}Ca(a+12|0,F[a+16>>2]);Ba(a,F[a+4>>2]);ja(a)}}function $g(a){a=a|0;var b=0;F[a+8>>2]=9136;F[a>>2]=8924;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+80>>2];if(b){F[a+84>>2]=b;ja(b)}b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}return a|0}function _g(a){a=a|0;var b=0;F[a+8>>2]=9136;F[a>>2]=8924;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+80>>2];if(b){F[a+84>>2]=b;ja(b)}b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}ja(a)}function wh(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}return a|0}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=F[c+8>>2];e=F[c+16>>2];g=F[c+12>>2];f=g;d=F[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=G[F[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;F[c+16>>2]=i;F[c+20>>2]=f;F[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function La(a,b,c){var d=0;if(!c){return F[a+4>>2]==F[b+4>>2]}if((a|0)==(b|0)){return 1}d=F[a+4>>2];a=G[d|0];c=F[b+4>>2];b=G[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=G[c+1|0];a=G[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function Gg(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}ja(a)}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=F[b+12>>2];b=F[b+8>>2];a=0;a:{if((d|0)==(b|0)){break a}a=d-b>>2;d=a>>>0<=1?1:a;a=0;b:{while(1){e=F[b+(a<<2)>>2];if(F[e+60>>2]==(c|0)){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=0;break a}a=(a|0)!=-1?e:0}return a|0}function ah(a){a=a|0;var b=0;F[a>>2]=9136;b=F[a+88>>2];if(b){F[a+92>>2]=b;ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){F[a- -64>>2]=b;ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function Tc(a,b){var c=0,d=0,e=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;a:{c=F[b+4>>2];d=F[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=ka(c);c=ma(e,0,c);d=d+c|0;F[a+8>>2]=d;F[a+4>>2]=d;F[a>>2]=c;c=F[b>>2];a=F[b+4>>2]}la(e,c,a-c|0);return}na();v()}function Dd(a){var b=0,c=0,d=0,e=0;c=F[a+4>>2];d=F[a>>2];if((c|0)!=(d|0)){while(1){e=c-144|0;b=F[e+132>>2];if(b){F[c-8>>2]=b;ja(b)}b=F[c-28>>2];if(b){F[c-24>>2]=b;ja(b)}b=F[c-40>>2];if(b){F[c-36>>2]=b;ja(b)}Gb(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}}F[a+4>>2]=d}function Xg(a){a=a|0;var b=0;F[a>>2]=9136;b=F[a+88>>2];if(b){F[a+92>>2]=b;ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){F[a- -64>>2]=b;ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Za(a){var b=0;if(a){b=F[a+76>>2];if(b){F[a+80>>2]=b;ja(b)}b=F[a- -64>>2];if(b){F[a+68>>2]=b;ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a>>2];if(b){F[a+4>>2]=b;ja(b)}ja(a)}}function Gb(a){var b=0;b=F[a+84>>2];if(b){F[a+88>>2]=b;ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+52>>2];if(b){F[a+56>>2]=b;ja(b)}b=F[a+40>>2];if(b){F[a+44>>2]=b;ja(b)}b=F[a+28>>2];if(b){F[a+32>>2]=b;ja(b)}b=F[a+12>>2];if(b){ja(b)}a=F[a>>2];if(a){ja(a)}}function Lc(a,b,c){var d=0,e=0,f=0,g=0;f=Z-16|0;Z=f;d=Z-16|0;Z=d;b=b-a>>2;while(1){if(b){F[d+12>>2]=a;e=b>>>1|0;F[d+12>>2]=F[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=I[F[d+12>>2]>>2]>2];b=e?g:b;a=e?F[d+12>>2]+4|0:a;continue}break}Z=d+16|0;Z=f+16|0;return a}function id(a,b){var c=0,d=0;d=ka(40);F[d>>2]=-1;c=d+8|0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=0;F[c>>2]=0;F[c+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;$[F[F[a>>2]+16>>2]](a,d);a=F[b+88>>2];F[b+88>>2]=d;if(a){b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}ja(a)}return 1}function ya(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!G[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=F[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(G[b|0]){continue}break}}return b-a|0}function wa(a){var b=0,c=0,d=0,e=0,f=0;d=G[a+12|0];c=F[a+8>>2];a:{if(c>>>0>4095){break a}b=F[a+4>>2];if((b|0)<=0){break a}b=b-1|0;F[a+4>>2]=b;c=G[b+F[a>>2]|0]|c<<8}d=0-d&255;b=L(d,c>>>8|0);e=c&255;f=e>>>0>>0;F[a+8>>2]=f?b+e|0:c-(b+d|0)|0;return f}function yc(a,b){F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1776;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+40>>2]=0;F[a>>2]=2016;F[a+60>>2]=b;F[a+44>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+56>>2]=0;return a}function Eb(a,b){var c=0,d=0,e=0;c=ya(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=ka(d);F[a+8>>2]=d|-2147483648;F[a>>2]=e;F[a+4>>2]=c;d=c+e|0;break b}D[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}pa(e,b,c)}D[d|0]=0;return a}za();v()}function Of(a){a=a|0;var b=0,c=0,d=0;if(a){if(D[a+27|0]<0){ja(F[a+16>>2])}b=F[a>>2];if(b){c=b;d=F[a+4>>2];if((b|0)!=(d|0)){while(1){c=d-12|0;if(D[d-1|0]<0){ja(F[c>>2])}d=c;if((d|0)!=(b|0)){continue}break}c=F[a>>2]}F[a+4>>2]=b;ja(c)}ja(a)}}function xa(a){a=a|0;var b=0,c=0;if(a){b=F[a+88>>2];F[a+88>>2]=0;if(b){c=F[b+8>>2];if(c){F[b+12>>2]=c;ja(c)}ja(b)}b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+64>>2];F[a+64>>2]=0;if(b){c=F[b>>2];if(c){F[b+4>>2]=c;ja(c)}ja(b)}ja(a)}}function Ib(a,b){var c=0,d=0,e=0;a:{c=F[a>>2];b:{if(F[a+8>>2]-c>>2>>>0>=b>>>0){break b}if(b>>>0>=1073741824){break a}d=F[a+4>>2]-c|0;e=b<<2;b=pa(ka(e),c,d);F[a+8>>2]=b+e;F[a+4>>2]=b+d;F[a>>2]=b;if(!c){break b}ja(c)}return}na();v()}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=F[b+96>>2];a=ka(12);b=b+L(c,12)|0;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;F[a+8>>2]=F[b+8>>2];b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d>>2]=a;a=a+12|0;F[d+8>>2]=a;F[d+4>>2]=a;return 1}function Ah(a){a=a|0;var b=0;F[a+24>>2]=1624;F[a>>2]=7948;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}return a|0}function li(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=mi(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;_=(g^_)-((a>>>0>>0)+g|0)|0;return b}function zh(a){a=a|0;var b=0;F[a+24>>2]=1624;F[a>>2]=7948;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}ja(a)}function rb(a,b,c){var d=0,e=0,f=0;e=Z-16|0;Z=e;d=F[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=F[a>>2];F[a+4>>2]=c;db(d,b,c);D[e+15|0]=0;D[c+d|0]=G[e+15|0];break a}f=a;a=F[a+4>>2];Gc(f,d-1|0,(c-d|0)+1|0,a,a,c,b)}Z=e+16|0}function xe(a,b){a=a|0;b=b|0;var c=0,d=0;c=Z-16|0;Z=c;a=F[a+4>>2];a:{if((a|0)==-1){break a}D[c+15|0]=a;d=F[b+20>>2];if(!!F[b+16>>2]&(d|0)>=0|(d|0)>0){break a}pb(b,F[b+4>>2],c+15|0,c+16|0)}Z=c+16|0;return(a|0)!=-1|0}function ki(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=L(e,f);g=c&65535;h=a&65535;i=L(g,h);f=(i>>>16|0)+L(f,g)|0;e=(f&65535)+L(e,h)|0;_=(L(b,c)+j|0)+L(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function qb(a,b,c){var d=0,e=0;d=Z-16|0;Z=d;a:{if(c>>>0<=10){D[a+11|0]=G[a+11|0]&128|c;D[a+11|0]=G[a+11|0]&127;db(a,b,c);D[d+15|0]=0;D[a+c|0]=G[d+15|0];break a}e=a;a=G[a+11|0]&127;Gc(e,10,c-10|0,a,a,c,b)}Z=d+16|0}function Ec(a,b,c){var d=0;d=F[a+16>>2];if(!d){F[a+36>>2]=1;F[a+24>>2]=c;F[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(F[a+24>>2]!=2){break a}F[a+24>>2]=c;return}D[a+54|0]=1;F[a+24>>2]=2;F[a+36>>2]=F[a+36>>2]+1}}function vg(){var a=0;a=kb(ka(96));F[a+64>>2]=0;F[a+68>>2]=0;F[a+88>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;D[a+77|0]=0;D[a+78|0]=0;D[a+79|0]=0;D[a+80|0]=0;D[a+81|0]=0;D[a+82|0]=0;D[a+83|0]=0;D[a+84|0]=0;return a|0}function jh(a,b){a=a|0;b=b|0;var c=0,d=0;F[b>>2]=2;c=F[b+8>>2];d=F[b+12>>2]-c|0;if(d>>>0<=4294967291){Db(b+8|0,d+4|0);c=F[b+8>>2]}b=c+d|0;a=F[a+4>>2];D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24}function ge(a){a=a|0;var b=0;F[a>>2]=3016;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function ci(a){a=a|0;var b=0;F[a>>2]=4580;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Cg(a){a=a|0;var b=0,c=0,d=0;b=F[a+8>>2];d=F[a+12>>2];if((b|0)==(d|0)){return 1}while(1){c=F[b>>2];c=$[F[F[c>>2]+16>>2]](c,F[a+32>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Pc(a,b){var c=0,d=0;c=F[a+8>>2];a=F[a+12>>2];if((c|0)!=(a|0)){a=a-c>>2;d=a>>>0<=1?1:a;a=0;while(1){if(F[F[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return-1}function fe(a){a=a|0;var b=0;F[a>>2]=3016;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function bi(a){a=a|0;var b=0;F[a>>2]=4580;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Sc(a,b,c){var d=0,e=0;d=a+4|0;a=Ya(a,b);a:{if((d|0)==(a|0)){break a}b=F[a+32>>2];d=F[a+28>>2];if((b|0)==(d|0)){break a}Sb(c,b-d|0);c=Tb(c);b=F[a+28>>2];la(c,b,F[a+32>>2]-b|0);e=1}return e}function Kd(a){F[a+40>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=10032;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;E[a+36>>1]=0;F[a+44>>2]=0;F[a>>2]=8080;return a}function kb(a){F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+28>>2]=9;D[a+24|0]=1;F[a+56>>2]=-1;F[a+60>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;return a}function pe(a,b){a=a|0;b=b|0;var c=0,d=0;d=F[a+16>>2];c=0;a:{if(F[a+20>>2]-d>>2<=(b|0)){break a}b=F[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=bb(F[F[a+36>>2]+(b<<2)>>2])}return c|0}function Nf(){var a=0,b=0;a=ka(40);F[a+4>>2]=0;F[a+8>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;b=a+16|0;F[b>>2]=0;F[b+4>>2]=0;F[a>>2]=a+4;F[a+12>>2]=b;F[a+32>>2]=0;F[a+36>>2]=0;return a|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0;Nc(a,b);a:{if((b|0)<0){break a}d=F[a+88>>2];c=F[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;pa(c,b,d-b|0);F[a+88>>2]=d-4}}function eb(a){var b=0,c=0;b=F[2909];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>aa()<<16>>>0){if(!(X(a|0)|0)){break a}}F[2909]=a;return b}F[2940]=48;return-1}function Th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;F[a+4>>2]=b;b=F[F[F[b+4>>2]+8>>2]+(c<<2)>>2];F[a+12>>2]=c;F[a+8>>2]=b;a=F[a+8>>2];if(G[a+24|0]==3){d=F[a+28>>2]==9}return d|0}function Tg(a){a=a|0;var b=0;F[a+8>>2]=9556;F[a>>2]=9392;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}return a|0}function Ng(a){a=a|0;var b=0;F[a+8>>2]=8624;F[a>>2]=9684;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=8876;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}return a|0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=F[a+8>>2];a:{if(!G[d+24|0]){break a}if(!ac(d,F[b+4>>2]-F[b>>2]>>2)){break a}e=$[F[F[a>>2]+32>>2]](a,b,c)|0}return e|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;F[a+4>>2]=b;d=F[F[F[b+4>>2]+8>>2]+(c<<2)>>2];F[a+12>>2]=c;F[a+8>>2]=d;return F[F[F[F[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9|0}function Ca(a,b){if(b){Ca(a,F[b>>2]);Ca(a,F[b+4>>2]);a=F[b+28>>2];F[b+28>>2]=0;if(a){Ca(a+12|0,F[a+16>>2]);Ba(a,F[a+4>>2]);ja(a)}if(D[b+27|0]<0){ja(F[b+16>>2])}ja(b)}}function Sg(a){a=a|0;var b=0;F[a+8>>2]=9556;F[a>>2]=9392;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}ja(a)}function Mg(a){a=a|0;var b=0;F[a+8>>2]=8624;F[a>>2]=9684;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=8876;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}ja(a)}function Hc(a,b){var c=0,d=0,e=0,f=0;F[a>>2]=11356;F[a>>2]=11468;c=ya(b);d=ka(c+13|0);F[d+8>>2]=0;F[d+4>>2]=c;F[d>>2]=c;e=a,f=la(d+12|0,b,c+1|0),F[e+4>>2]=f;return a}function hc(a,b,c){a:{if(b){b=0;if(!ld(1,c,a)){break a}}D[a+36|0]=1;F[a+32>>2]=0;b=F[a+16>>2];c=b+F[a>>2]|0;F[a+24>>2]=c;F[a+28>>2]=c+(F[a+8>>2]-b|0);b=1}return b}function Ue(a,b){a=a|0;b=b|0;var c=0;a:{if(!($[F[F[a>>2]+36>>2]](a,b)|0)){break a}if(!($[F[F[a>>2]+40>>2]](a,b)|0)){break a}c=$[F[F[a>>2]+44>>2]](a)|0}return c|0}function _d(a){a=a|0;var b=0;a:{if(!F[a- -64>>2]|!F[a+68>>2]|(!F[a+44>>2]|!F[a+48>>2])){break a}if(!F[a+52>>2]|!F[a+56>>2]){break a}b=F[a+92>>2]!=-1}return b|0}function ii(a,b){a=a|0;b=b|0;var c=0;b=F[b+88>>2];if(!(!b|F[b>>2]!=2)){c=a;a=F[b+8>>2];F[c+4>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);c=1}return c|0}function wc(a){a=a|0;var b=0;F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}return a|0}function Ud(a){a=a|0;var b=0;a:{if(!F[a+48>>2]|!F[a+52>>2]|(!F[a+28>>2]|!F[a+32>>2])){break a}if(!F[a+36>>2]|!F[a+40>>2]){break a}b=F[a+76>>2]!=-1}return b|0}function Ug(a){a=a|0;var b=0;F[a>>2]=9556;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function Ed(a){a=a|0;var b=0;F[a>>2]=8624;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function vc(a){a=a|0;var b=0;F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}ja(a)}function yg(){var a=0,b=0;b=ka(40);F[b>>2]=-1;a=b+8|0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;return b|0}function eh(a){a=a|0;var b=0;F[a>>2]=8624;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Og(a){a=a|0;var b=0;F[a>>2]=9556;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Ja(a){F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;E[a+38>>1]=0;D[a+36|0]=0;return a}function Me(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(La(a,F[b+8>>2],f)){Dc(b,c,d,e);return}a=F[a+8>>2];$[F[F[a>>2]+20>>2]](a,b,c,d,e,f)}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(G[F[a+4>>2]+36|0]>=2){b=0;if(!($[F[F[a>>2]+52>>2]](a)|0)){break a}}b=id(a+24|0,F[a+16>>2])}return b|0}function hg(){var a=0;a=Rc(ka(108));F[a+84>>2]=0;F[a+88>>2]=0;F[a>>2]=10240;F[a+92>>2]=0;F[a+96>>2]=0;F[a+100>>2]=0;F[a+104>>2]=0;return a|0}function Qc(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=L(b,12)+a|0;a=F[b+20>>2];if((F[b+24>>2]-a|0)<=0){break a}c=F[a>>2]}return c}function cc(a,b,c,d,e,f,g){F[a>>2]=0;F[a+56>>2]=b;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=f;F[a+44>>2]=g;D[a+32|0]=e;F[a+28>>2]=d;D[a+24|0]=c}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(G[F[a+4>>2]+36|0]>=2){b=0;if(!uc(a+24|0,bb(a),c)){break a}}b=id(a+24|0,F[a+16>>2])}return b|0}function _e(a){a=a|0;var b=0;F[a>>2]=10240;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+84>>2];if(b){F[a+88>>2]=b;ja(b)}return tb(a)|0}function Tb(a){var b=0;if(G[a+11|0]>>>7|0){b=F[a+4>>2]}else{b=G[a+11|0]&127}if(!b){sc(1222);v()}if(G[a+11|0]>>>7|0){a=F[a>>2]}return a}function Ze(a){a=a|0;var b=0;F[a>>2]=10240;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+84>>2];if(b){F[a+88>>2]=b;ja(b)}ja(tb(a))}function ce(a){a=a|0;var b=0;F[a>>2]=3264;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function _h(a){a=a|0;var b=0;F[a>>2]=4816;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Ba(a,b){if(b){Ba(a,F[b>>2]);Ba(a,F[b+4>>2]);a=F[b+28>>2];if(a){F[b+32>>2]=a;ja(a)}if(D[b+27|0]<0){ja(F[b+16>>2])}ja(b)}}function Wf(){var a=0;a=ka(28);F[a>>2]=0;F[a+4>>2]=0;F[a+24>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return a|0}function We(a){a=a|0;var b=0;F[a>>2]=1776;b=F[a+16>>2];if(b){F[a+20>>2]=b;ja(b)}b=F[a+4>>2];if(b){F[a+8>>2]=b;ja(b)}return a|0}function fg(){var a=0,b=0;a=ka(24);F[a+4>>2]=0;F[a+8>>2]=0;b=a+16|0;F[b>>2]=0;F[b+4>>2]=0;F[a>>2]=a+4;F[a+12>>2]=b;return a|0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(La(a,F[b+8>>2],0)){Ec(b,c,d);return}a=F[a+8>>2];$[F[F[a>>2]+28>>2]](a,b,c,d)}function be(a){a=a|0;var b=0;F[a>>2]=3264;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Zh(a){a=a|0;var b=0;F[a>>2]=4816;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function ka(a){var b=0;a=a?a:1;a:{while(1){b=Ub(a);if(b){break a}b=F[3065];if(b){$[b|0]();continue}break}V();v()}return b}function ib(a,b){if(b){ib(a,F[b>>2]);ib(a,F[b+4>>2]);if(D[b+39|0]<0){ja(F[b+28>>2])}if(D[b+27|0]<0){ja(F[b+16>>2])}ja(b)}}function Cc(a){a=a|0;var b=0,c=0;F[a>>2]=11468;b=F[a+4>>2]-12|0;c=F[b+8>>2]-1|0;F[b+8>>2]=c;if((c|0)<0){ja(b)}return a|0}function ng(){var a=0;a=ka(24);F[a+8>>2]=0;F[a+12>>2]=0;F[a+4>>2]=-1;F[a>>2]=1624;F[a+16>>2]=0;F[a+20>>2]=0;return a|0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;F[a+4>>2]=b;b=F[F[F[b+4>>2]+8>>2]+(c<<2)>>2];F[a+12>>2]=c;F[a+8>>2]=b;return 1}function pc(a){a=a|0;var b=0;if(!(!F[a+60>>2]|!F[a+44>>2]|(!F[a+48>>2]|!F[a+52>>2]))){b=F[a+56>>2]!=0}return b|0}function Ic(a,b){if(G[a+11|0]>>>7|0){F[a+4>>2]=b;return}D[a+11|0]=G[a+11|0]&128|b;D[a+11|0]=G[a+11|0]&127}function gi(a){a=a|0;var b=0;F[a>>2]=3500;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Xh(a){a=a|0;var b=0;F[a>>2]=5040;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function nf(a){a=a|0;if(a){if(D[a+39|0]<0){ja(F[a+28>>2])}$b(a+12|0,F[a+16>>2]);ib(a,F[a+4>>2]);ja(a)}}function dh(a){a=a|0;var b=0;F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function Wg(a){a=a|0;var b=0;F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function ob(a){a=a|0;var b=0;if(!(!F[a+52>>2]|(!F[a+44>>2]|!F[a+48>>2]))){b=F[a+56>>2]!=0}return b|0}function oc(a,b){a=a|0;b=b|0;var c=0;if(!(F[b+56>>2]|!b|G[b+24|0]!=3)){F[a+60>>2]=b;c=1}return c|0}function fi(a){a=a|0;var b=0;F[a>>2]=3500;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Wh(a){a=a|0;var b=0;F[a>>2]=5040;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function zg(a,b,c){a=a|0;b=b|0;c=c|0;F[a+16>>2]=0;F[a+20>>2]=0;F[a>>2]=b;F[a+8>>2]=c;F[a+12>>2]=0}function ch(a){a=a|0;var b=0;F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Zd(a,b){a=a|0;b=b|0;var c=0;if(!(F[b+56>>2]|G[b+24|0]!=3)){F[a- -64>>2]=b;c=1}return c|0}function Vg(a){a=a|0;var b=0;F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Td(a,b){a=a|0;b=b|0;var c=0;if(!(F[b+56>>2]|G[b+24|0]!=3)){F[a+48>>2]=b;c=1}return c|0}function Le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(La(a,F[b+8>>2],f)){Dc(b,c,d,e)}}function oa(){var a=0;a=Rb(4);F[a>>2]=11356;F[a>>2]=11316;F[a>>2]=11336;W(a|0,11448,14);v()}function je(a){a=a|0;var b=0;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Ae(a){a=a|0;var b=0;F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}return a|0}function Pg(a){a=a|0;var b=0;F[a>>2]=1624;b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}return a|0}function Ch(a){a=a|0;var b=0;b=bb(a);return qd(a+24|0,b?b:F[a+8>>2],F[F[a+4>>2]+32>>2])|0}function ze(a){a=a|0;var b=0;F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}ja(a)}function Ob(a){a=a|0;var b=0;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Hg(a){a=a|0;var b=0;F[a>>2]=1624;b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}ja(a)}function oe(a,b){a=a|0;b=b|0;return $[F[F[a>>2]+48>>2]](a,F[b+4>>2]-F[b>>2]>>2)|0}function $b(a,b){if(b){$b(a,F[b>>2]);$b(a,F[b+4>>2]);ib(b+20|0,F[b+24>>2]);ja(b)}}function xg(a){a=a|0;var b=0;if(a){b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}ja(a)}}function xh(a){a=a|0;if(!F[a+44>>2]){return 0}return $[F[F[a>>2]+48>>2]](a)|0}function ni(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(La(a,F[b+8>>2],0)){Ec(b,c,d)}}function vh(a,b){a=a|0;b=b|0;a=F[a+48>>2];return $[F[F[a>>2]+20>>2]](a,b)|0}function oi(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function oh(a,b){a=a|0;b=b|0;a=F[a+48>>2];return $[F[F[a>>2]+12>>2]](a,b)|0}function nh(a,b){a=a|0;b=b|0;a=F[a+48>>2];return $[F[F[a>>2]+16>>2]](a,b)|0}function Xa(){var a=0;a=ka(12);F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;return a|0}function Wa(a){a=a|0;var b=0;if(a){b=F[a>>2];if(b){F[a+4>>2]=b;ja(b)}ja(a)}}function mf(a,b,c){a=a|0;b=b|0;c=c|0;F[a+32>>2]=c;F[a+28>>2]=b;return 1}function eg(a){a=a|0;if(a){Ca(a+12|0,F[a+16>>2]);Ba(a,F[a+4>>2]);ja(a)}}function Lb(a,b){a=a|0;b=b|0;if(b>>>0<=1){F[a+28>>2]=b}return b>>>0<2|0}function Fg(a,b){a=a|0;b=b|0;D[b+84|0]=1;F[b+72>>2]=F[b+68>>2];return 1}function kg(){var a=0;a=ka(8);F[a+4>>2]=-1;F[a>>2]=1032;return a|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return F[F[b+8>>2]+(c<<2)>>2]}function th(a){a=a|0;a=F[a+48>>2];return $[F[F[a>>2]+24>>2]](a)|0}function sh(a){a=a|0;a=F[a+48>>2];return $[F[F[a>>2]+28>>2]](a)|0}function ph(a){a=a|0;a=F[a+48>>2];return $[F[F[a>>2]+36>>2]](a)|0}function Rh(a,b){a=a|0;b=b|0;return zc(a+24|0,bb(a),F[a+8>>2])|0}function Bh(a,b){a=a|0;b=b|0;return xd(a+24|0,bb(a),F[a+8>>2])|0}function bg(a){a=a|0;if(a){if(D[a+15|0]<0){ja(F[a+4>>2])}ja(a)}}function Ke(a){a=a|0;if(!a){return 0}return(Fc(a,11164)|0)!=0|0}function Fe(a,b){a=a|0;b=b|0;F[a+12>>2]=-1;F[a+8>>2]=b;return 1}function hd(a,b){a=a|0;b=b|0;return $[F[F[a>>2]+12>>2]](a,b)|0}function Dh(a,b){a=a|0;b=b|0;return $[F[F[a>>2]+56>>2]](a,b)|0}function sc(a){a=Hc(Rb(8),a);F[a>>2]=11568;W(a|0,11600,1);v()}function mg(a,b){a=a|0;b=b|0;return M(J[F[a+8>>2]+(b<<2)>>2])}function Rd(a){a=Hc(Rb(8),a);F[a>>2]=11516;W(a|0,11548,1);v()}function $f(a,b){a=a|0;b=b|0;return M(J[F[a>>2]+(b<<2)>>2])}function gg(a){a=a|0;return(F[a+100>>2]-F[a+96>>2]|0)/12|0}function cg(a){a=a|0;return(D[a+15|0]<0?F[a+4>>2]:a+4|0)|0}function Re(a,b){a=a|0;b=b|0;return F[F[a+4>>2]+(b<<2)>>2]}function dd(a,b){a=a|0;b=b|0;return F[F[a>>2]+(b<<2)>>2]}function Yf(a,b){a=a|0;b=b|0;return E[F[a>>2]+(b<<1)>>1]}function Xf(a,b){a=a|0;b=b|0;return H[F[a>>2]+(b<<1)>>1]}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,c)|0}function sb(a,b){var c=0;c=ka(b);F[a+4>>2]=b;F[a>>2]=c}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;return Qc(b,c)|0}function Rc(a){F[a>>2]=10300;ma(a+4|0,0,80);return a}function ji(a){if(a){return 31-O(a-1^a)|0}return 32}function gd(a){a=a|0;return F[a+12>>2]-F[a+8>>2]>>2}function _f(a,b){a=a|0;b=b|0;return D[F[a>>2]+b|0]}function Zf(a,b){a=a|0;b=b|0;return G[F[a>>2]+b|0]}function Ie(a){a=a|0;return F[a+8>>2]-F[a+4>>2]>>2}function wb(a){a=a|0;if(a){$[F[F[a>>2]+4>>2]](a)}}function Jd(a,b){a=a|0;b=b|0;F[a+4>>2]=b;return 1}function ed(a){a=a|0;return F[a+4>>2]-F[a>>2]>>1}function dc(a){a=a|0;return F[a+4>>2]-F[a>>2]>>2}function fd(a){a=a|0;return F[a+4>>2]-F[a>>2]|0}function ke(a){a=a|0;return G[F[a+8>>2]+24|0]}function Qf(a,b){a=a|0;b=b|0;return F[b+8>>2]}function Ff(a,b){a=a|0;b=b|0;return F[b+4>>2]}function De(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Bg(a,b){a=a|0;b=b|0;return G[b+24|0]}function Oh(a){a=a|0;F[a>>2]=5928;return a|0}function Jh(a){a=a|0;F[a>>2]=6932;return a|0}function lg(a){a=a|0;return M(J[a+20>>2])}function Nh(a){a=a|0;F[a>>2]=5928;ja(a)}function Ih(a){a=a|0;F[a>>2]=6932;ja(a)}function ug(a){a=a|0;return F[a+88>>2]}function tg(a){a=a|0;return F[a+56>>2]}function qg(a){a=a|0;return F[a+40>>2]}function pg(a){a=a|0;return F[a+48>>2]}function og(a){a=a|0;return F[a+60>>2]}function ec(a){a=a|0;return F[a+80>>2]}function cb(a){a=a|0;return F[a+28>>2]}function vd(a){a=a|0;return F[a+8>>2]}function tc(a,b){a=a|0;b=b|0;return-1}function sg(a){a=a|0;return D[a+24|0]}function rg(a){a=a|0;return G[a+32|0]}function dg(a){a=a|0;return!F[a>>2]|0}function Wd(a,b){a=a|0;b=b|0;return 6}function Va(a){a=a|0;return F[a+4>>2]}function Rb(a){return Ub(a+80|0)+80|0}function Qh(a,b){a=a|0;b=b|0;return 2}function Ia(a,b){a=a|0;b=b|0;return 0}function Bc(a,b){a=a|0;b=b|0;return 1}function jd(a){a=a|0;return F[a>>2]}function wg(){return kb(ka(64))|0}function ig(){return Rc(ka(84))|0}function fc(a){a=a|0;if(a){ja(a)}}function Ag(){return Ja(ka(40))|0}function Qb(a){a=a|0;Cc(a);ja(a)}function Je(a){a=a|0;return 1161}function He(a){a=a|0;return 1235}function Ge(a){a=a|0;return 1201}function Pa(a){a=a|0;return a|0}function hh(a){a=a|0;ja(ud(a))}function gh(a){a=a|0;ja(sd(a))}function Ve(a){a=a|0;ja(tb(a))}function ua(a){a=a|0;return 1}function rc(a){a=a|0;return 4}function qc(a){a=a|0;return 5}function Xd(a){a=a|0;return 2}function Ua(a){a=a|0;return 0}function Nb(a){a=a|0;return 6}function Mh(a){a=a|0;return 3}function za(){Rd(1222);v()}function ta(){sc(1154);v()}function na(){Rd(1154);v()}function Ha(a){a=a|0;ja(a)}function Ra(a){a=a|0;v()}function ff(){return 10}function ef(){return 11}function df(){return 12}function vb(){return-1}function ub(){return 1}function lf(){return 5}function kf(){return 6}function jf(){return 7}function jb(){return 0}function hf(){return 8}function gf(){return 9}function cf(){return-2}function bf(){return-3}function bd(){return 3}function af(){return-4}function ad(){return 4}function _b(){return 2}function $e(){return-5}function Te(){V();v()}function Jc(a){a=a|0}function ae(){} +// EMSCRIPTEN_END_FUNCS +e=G;p(q);var $=c([null,Cc,Pa,Ha,Xd,ii,jh,ag,zc,xe,uc,jg,Wd,Qh,Pa,Pg,Hg,ua,yh,mh,kh,xd,fh,qd,Wd,Bg,We,Ra,mf,$c,Ue,Re,Ie,cb,Ia,Te,Bc,ua,Ae,ze,Ac,Fe,Ee,De,Bc,Ce,Be,re,qe,ye,we,pe,ve,ue,te,se,wc,vc,Ac,oe,ne,xc,me,ke,le,je,Ob,ua,Va,ob,Ua,tc,Ia,Ua,ua,ie,he,Ra,Ra,ge,fe,rc,ob,ee,de,ce,be,qc,pc,ua,Ia,oc,$d,hi,gi,fi,Nb,_d,ua,Ia,Zd,Yd,ei,Pa,Ha,Lb,cb,Mb,Ra,Ob,ua,ob,di,Ra,ci,bi,rc,ob,ai,$h,_h,Zh,qc,pc,ua,Ia,oc,$d,Yh,Xh,Wh,Nb,_d,ua,Ia,Zd,Yd,Vh,Pa,Ha,Lb,cb,Kb,Ra,Ob,Ua,ua,Uh,wc,vc,Th,Sh,Vd,Ph,Xd,Rh,Oh,Nh,Nb,Va,Ud,ua,Ia,Td,ua,Mh,Sd,Lh,Pa,Ha,Lb,cb,Mb,Jh,Ih,Nb,Ud,ua,Ia,Td,Sd,Hh,Pa,Ha,Lb,cb,Kb,Pa,Ha,Ua,ua,Ua,tc,Ia,Kh,Gh,Ah,zh,Fh,Eh,Vd,Dh,Ch,Bh,wh,Ra,ua,ua,xh,Dg,Cg,ua,Ua,Ia,Ia,rh,qh,uh,vh,sh,ph,oh,nh,th,ud,hh,Jd,Id,Hd,Gd,lh,ua,Va,vd,sd,gh,Jd,Id,Hd,Gd,ih,ua,Va,vd,Ed,eh,Fd,dh,ch,$g,_g,Zg,Yg,ah,Xg,bh,Wg,Vg,Tg,Sg,Rg,Qg,Ug,Og,Ng,Mg,Lg,Kg,Gg,Ig,Jg,Pa,Ha,Fg,Eg,Ra,Ua,ua,_e,Ze,Ye,Xe,tb,Ve,Oc,Nc,Pa,Ha,Jc,Jc,Se,Le,Ne,Qe,Ha,Me,Oe,Pe,Ha,He,Ha,Ge,Ha,Je,Qb,Va,Qb,Qb]);function aa(){return C.byteLength/65536|0}function fa(ga){ga=ga|0;var ba=aa()|0;var ca=ba+ga|0;if(ba=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="draco_decoder_gltf.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["g"];addOnInit(Module["asm"]["f"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return 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}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(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;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})}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}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+19728;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,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bAAAABIAAAACAAAAAgAAAAIAAAAAAAAASAQAAG4AAABvAAAAfAAAAAAAAABYBAAAbgAAAHAAAAB8AAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRW5jb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVFbmNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAdXNlX2J1aWx0X2luX2F0dHJpYnV0ZV9jb21wcmVzc2lvbgBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRW5jb2RlckUAcHJlZGljdGlvbl9zY2hlbWUAZW5jb2Rpbmdfc3BlZWQAZGVjb2Rpbmdfc3BlZWQAcXVhbnRpemF0aW9uX29yaWdpbgBxdWFudGl6YXRpb25fcmFuZ2UAIABlbmNvZGluZ19tZXRob2QAcXVhbnRpemF0aW9uX2JpdHMASW52YWxpZCBlbmNvZGluZyBtZXRob2QuAHN0YW5kYXJkX2VkZ2VicmVha2VyAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAZWRnZWJyZWFrZXJfbWV0aG9kAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckVuY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAHNwbGl0X21lc2hfb25fc2VhbXMATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxFbmNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VFbmNvZGVyRUVFAE41ZHJhY28xMU1lc2hFbmNvZGVyRQBjb21wcmVzc19jb25uZWN0aXZpdHkATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbEVuY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWRFbmNvZGVyRQBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBlbmNvZGVyLgBGYWlsZWQgdG8gZW5jb2RlIGludGVybmFsIGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gZW5jb2RlIG1ldGFkYXRhLgBEUkFDTwBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRW5jb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxFbmNvZGVyRQBzeW1ib2xfZW5jb2RpbmdfbWV0aG9kAHN5bWJvbF9lbmNvZGluZ19jb21wcmVzc2lvbl9sZXZlbABONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgAlZAAlZgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";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(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} +// EMSCRIPTEN_START_FUNCS +function be(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;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)Mq(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;aq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Cc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)aq(y);return 0}function ce(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;Uc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;Vc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ee(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;Wc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function fe(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;Xc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ge(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;Yc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;Zc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=2097152;if(d){d=c;c=2097152;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ie(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;_c(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=1048576;if(d){d=c;c=1048576;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Of(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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,o=0,p=0,q=0,r=0,s=Oa,t=Oa,u=Oa,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=ln(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;Hi(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 ke(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;$c(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=262144;if(d){d=c;c=262144;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Rf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function le(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;ad(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=131072;if(d){d=c;c=131072;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Sf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function me(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;bd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=32768;if(d){d=c;c=32768;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Uf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;cd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function oe(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;dd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function pe(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;ed(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function qe(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;fd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function re(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;gd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;hd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function te(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;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;id(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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=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+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>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]=0;f[i+20>>2]=0;jd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}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,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+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(q|0)!=(p|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{Ci(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=hh(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(r|0)!=(n|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{Ci(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Kf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((i|0)==(v|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);Oq(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function we(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 xe(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 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,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Me(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Me(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,i,i+1|0)|0;u=d;return 1}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,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;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;aq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];ub(k,i,b,x);l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)aq(z);return 0}function Ae(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;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;aq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];tb(k,i,b,x);l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)aq(z);return 0}function Be(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;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=0;m=g;while(1){f[d>>2]=(a>>>0)/3|0;f[c>>2]=f[d>>2];if(!(_j(m,c)|0)?(g=f[e>>2]|0,(f[(f[g+12>>2]|0)+(a<<2)>>2]|0)==-1):0){n=a+1|0;o=((n>>>0)%3|0|0)==0?a+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[g>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){g=f[k>>2]|0;n=f[l>>2]|0;if((g|0)==(n<<5|0)){if((g+1|0)<0){q=11;break}r=n<<6;n=g+32&-32;vi(j,g>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=g;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=a;n=o;while(1){f[n>>2]=g;o=r+1|0;a:do if((r|0)!=-1?(v=((o>>>0)%3|0|0)==0?r+-2|0:o,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=y;C=-1}else{B=y;C=f[(f[w>>2]|0)+(A<<2)>>2]|0}}else{B=-1;C=-1}while(0);n=t+(C<<2)|0;if((f[n>>2]|0)!=-1)break;else r=B}}}}r=a+1|0;if(r>>>0>=h>>>0){q=3;break}a=r;m=f[e>>2]|0}if((q|0)==3){u=b;return 1}else if((q|0)==11)aq(j);return 0}function Ce(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)aq(a);p=k<<6;k=b+31&-32;vi(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;im(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)Oq(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;sj(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;sj(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 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,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Gj(d)|0;if(l>>>0>4294967279)aq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=ln(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){kh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Gj(e)|0;if(l>>>0>4294967279)aq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=ln(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){kh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Gj(d)|0;if(l>>>0>4294967279)aq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=ln(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){kh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Gj(e)|0;if(l>>>0>4294967279)aq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=ln(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){kh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;mn(c,i,j);if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);if((b[i+11>>0]|0)<0)Oq(f[i>>2]|0);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);k=1;u=a;return k|0}function Ee(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];f[a+132>>2]=f[c+132>>2];return}function Fe(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,B=0,C=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Rh(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0<=28){f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))q=g;else{c=d+84|0;r=d+68|0;s=d+48|0;t=d+40|0;v=0;w=0;x=p;while(1){p=f[x+(v<<2)>>2]|0;if(!(b[c>>0]|0))y=f[(f[r>>2]|0)+(p<<2)>>2]|0;else y=p;p=s;z=f[p>>2]|0;A=f[p+4>>2]|0;p=t;B=f[p>>2]|0;C=un(B|0,f[p+4>>2]|0,y|0,0)|0;p=Vn(C|0,I|0,z|0,A|0)|0;kh(j|0,(f[f[d>>2]>>2]|0)+p|0,B|0)|0;rf(k,j,l,m);f[o+(w<<2)>>2]=f[l>>2];f[o+((w|1)<<2)>>2]=f[m>>2];v=v+1|0;x=f[e>>2]|0;if(v>>>0>=(f[n>>2]|0)-x>>2>>>0)break;else w=w+2|0}q=f[i>>2]|0}f[a>>2]=q;f[i>>2]=0;u=h;return}f[a>>2]=0;f[i>>2]=0;if(!g){u=h;return}i=g+88|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){q=a+12|0;if((f[q>>2]|0)!=(i|0))f[q>>2]=i;Oq(i)}Oq(a)}a=f[g+68>>2]|0;if(a|0){i=g+72|0;q=f[i>>2]|0;if((q|0)!=(a|0))f[i>>2]=q+(~((q+-4-a|0)>>>2)<<2);Oq(a)}a=g+64|0;q=f[a>>2]|0;f[a>>2]=0;if(q|0){a=f[q>>2]|0;if(a|0){i=q+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;Oq(a)}Oq(q)}Oq(g);u=h;return}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,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;Ok(j+4|0);b[j+100>>0]=1;k=j+104|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;f[k+24>>2]=0;j=(f[g>>2]|0)+136|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/136|0;h=j+c|0;if(h>>>0>31580641)aq(a);k=(e-i|0)/136|0;i=k<<1;e=k>>>0<15790320?(i>>>0>>0?h:i):31580641;do if(e)if(e>>>0>31580641){i=ra(8)|0;Oo(i,16035);f[i>>2]=7256;va(i|0,1112,110)}else{l=ln(e*136|0)|0;break}else l=0;while(0);i=l+(j*136|0)|0;j=i;h=l+(e*136|0)|0;e=c;c=j;l=i;do{f[l>>2]=-1;Ok(l+4|0);b[l+100>>0]=1;k=l+104|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;f[k+24>>2]=0;l=c+136|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=f[g>>2]|0;if((l|0)==(e|0)){m=j;n=e;o=e}else{k=l;l=j;j=i;do{k=k+-136|0;Ee(j+-136|0,k);j=l+-136|0;l=j}while((k|0)!=(e|0));m=l;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);Oq(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);Oq(o)}Mi(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;Oq(n);return}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;c=f[b>>2]|0;b=a+12|0;d=(c|0)==-1;e=c+1|0;do if(!d){g=((e>>>0)%3|0|0)==0?c+-2|0:e;if(!((c>>>0)%3|0)){h=g;i=c+2|0;break}else{h=g;i=c+-1|0;break}}else{h=-1;i=-1}while(0);e=d?-1:(c>>>0)/3|0;g=a+28|0;j=(f[g>>2]|0)+(e>>>5<<2)|0;f[j>>2]=1<<(e&31)|f[j>>2];j=a+172|0;e=a+176|0;k=a+280|0;if(((!d?(d=f[(f[(f[b>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(d|0)!=-1):0)?(a=(d>>>0)/3|0,(f[(f[g>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0):0)?(a=f[j>>2]|0,(f[e>>2]|0)!=(a|0)):0){d=c>>>5;l=1<<(c&31);c=0;m=a;do{a=(f[k>>2]|0)+(c<<5)|0;if(!(l&f[(f[m+(c*136|0)+4>>2]|0)+(d<<2)>>2]))fj(a,0);else fj(a,1);c=c+1|0;m=f[j>>2]|0}while(c>>>0<(((f[e>>2]|0)-m|0)/136|0)>>>0)}if((((h|0)!=-1?(m=f[(f[(f[b>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0)?(c=(m>>>0)/3|0,(f[(f[g>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)==0):0)?(c=f[j>>2]|0,(f[e>>2]|0)!=(c|0)):0){m=h>>>5;d=1<<(h&31);h=0;l=c;do{c=(f[k>>2]|0)+(h<<5)|0;if(!(d&f[(f[l+(h*136|0)+4>>2]|0)+(m<<2)>>2]))fj(c,0);else fj(c,1);h=h+1|0;l=f[j>>2]|0}while(h>>>0<(((f[e>>2]|0)-l|0)/136|0)>>>0)}if((i|0)==-1)return 1;l=f[(f[(f[b>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((l|0)==-1)return 1;b=(l>>>0)/3|0;if(f[(f[g>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31)|0)return 1;b=f[j>>2]|0;if((f[e>>2]|0)==(b|0))return 1;g=i>>>5;l=1<<(i&31);i=0;h=b;do{b=(f[k>>2]|0)+(i<<5)|0;if(!(l&f[(f[h+(i*136|0)+4>>2]|0)+(g<<2)>>2]))fj(b,0);else fj(b,1);i=i+1|0;h=f[j>>2]|0}while(i>>>0<(((f[e>>2]|0)-h|0)/136|0)>>>0);return 1}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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;ci((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=0;s=k;do{k=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[s+(r<<2)>>2]<<2)>>2]|0;b[h>>0]=f[k+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[k+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[k+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[k+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}ci(f[k+60>>2]|0,c)|0;r=r+1|0;s=f[i>>2]|0}while(r>>>0<(f[j>>2]|0)-s>>2>>>0);u=d;return 1}function Je(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,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=Oa,D=Oa,E=Oa,F=Oa;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Rh(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;Ap(i);Ko(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){Mq(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=un(z|0,f[j+4>>2]|0,x|0,0)|0;j=Vn(A|0,I|0,m|0,y|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);Mq(g);u=h;return}while(1){k=f[e+(v<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=un(j|0,f[k+4>>2]|0,B|0,0)|0;k=Vn(y|0,I|0,x|0,z|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=w;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($(F*$(f[c>>2]|0))+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=t>>>0)break;else w=w+l|0}Mq(g);u=h;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,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;lp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;lp(k);if((a|0)!=(b|0)){f[h>>2]=f[b>>2];f[i>>2]=b+4;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(a,g,e)}l=b+24|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+28;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+16|0;b=m;m=c;c=0;while(1){o=f[(f[b+(c<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Hd(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=c;w=b;x=m}}else{v=c;w=b;x=m}c=v+1|0;f[j>>2]=c;if((c|0)>=(x-w>>2|0))break;else{b=w;m=x}}u=d;return}function Le(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;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;ci(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Me(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=r;u=o;while(1){b[u>>0]=b[t>>0]|0;t=t+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((t|0)==(e|0)){s=v;break}else u=v}}if((q|0)>0){w=r;x=s}else{k=c;return k|0}}else{w=e;x=o}s=x-(c+j)|0;r=c+s|0;if(r>>>0>>0){q=r;r=x;do{b[r>>0]=b[q>>0]|0;q=q+1|0;r=(f[n>>2]|0)+1|0;f[n>>2]=r}while((q|0)!=(o|0))}if(s|0)im(x+(0-s)|0,c|0,s|0)|0;if((w|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(w|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)aq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=ln(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=i;C=g}else{g=d;d=i;i=z;do{b[i>>0]=b[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(e|0));B=d;C=f[a>>2]|0}d=h-C|0;e=z+(0-d)|0;if((d|0)>0)kh(e|0,C|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=B;kh(h|0,c|0,d|0)|0;D=h+d|0;E=f[a>>2]|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=D;f[l>>2]=j;if(!E){k=z;return k|0}Oq(E);k=z;return k|0}function Ne(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+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=ln(40)|0;zo(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=ln(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14495;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Jh(h,g)|0)!=0):0)t=Hk(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Hk(i,g,-1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=ln(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));zo(c);f[c>>2]=2496;f[c+40>>2]=1168;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=ln(64)|0;ym(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=ln(36)|0;Hm(c);j=c;k=j;f[a>>2]=k;u=e;return}function Oe(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 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,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=-1;i=n;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0;i=q}while(0);if(c){c=(f[a+84>>2]|0)+(h>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(h&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(h<<2)>>2]|0;q=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(c&31);if(!g){g=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((g|0)==-1){s=-1;t=i}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=i}}else{s=-1;t=-1}if((s|0)==(h|0)){u=r;return u|0}i=f[a+84>>2]|0;a=r;r=s;s=t;while(1){t=i+(r>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(r&31);t=a+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){q=f[b>>2]|0;d=f[q+12>>2]|0;p=c;while(1){c=f[d+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)==-1){v=-1;w=p}else{v=f[(f[q>>2]|0)+(d<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(h|0)){u=t;break}else{a=t;r=v;s=w}}return u|0}function Qe(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,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Rh(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;Ap(h);Ko(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){Mq(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=un(y|0,f[v+4>>2]|0,t|0,0)|0;v=Vn(z|0,I|0,w|0,x|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));Mq(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=un(v|0,f[i+4>>2]|0,A|0,0)|0;i=Vn(x|0,I|0,t|0,y|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($(E*$(f[c>>2]|0))+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=r+j|0}Mq(k);u=g;return}function Re(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;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Si(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Si(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=d;l=j}else{k=d;l=j}break}default:{k=0;l=g}}if((l+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=0;j=l;while(1){g=j+-48+(g*10|0)|0;l=f[c>>2]|0;if(l>>>0<(f[e>>2]|0)>>>0){f[c>>2]=l+1;o=h[l>>0]|0}else o=Si(a)|0;if(!((o+-48|0)>>>0<10&(g|0)<214748364))break;else j=o}j=((g|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;d=g;b=j;while(1){i=un(d|0,b|0,10,0)|0;p=I;q=Vn(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=Vn(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Si(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;d=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=g;v=j}if((t+-48|0)>>>0<10)do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;w=h[t>>0]|0}else w=Si(a)|0}while((w+-48|0)>>>0<10);if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;c=(k|0)!=0;k=Xn(0,0,u|0,v|0)|0;m=c?I:v;n=c?k:u}I=m;return n|0}function Se(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;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|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);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|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);Oq(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}Oq(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;jl(n);o=a+1088|0;jl(o);p=a+1068|0;jl(p);q=a+1036|0;Fj(q);r=a+12|0;Nh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l);n=a+1108|0;jl(n);o=a+1088|0;jl(o);p=a+1068|0;jl(p);q=a+1036|0;Fj(q);r=a+12|0;Nh(r);return}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;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Sa[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Sa[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)aq(e);else{l=a<<2;m=ln(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;sj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);Oq(q)}j=1;u=d;return j|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;Oh(a+12|0);wn(a+1036|0);vo(a+1068|0);vo(a+1088|0);vo(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)aq(e);else{i=b<<2;j=ln(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;sj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;sj(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=ln(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;sj(i|0,0,k|0)|0;f[e>>2]=j}lk(a+1164|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);Oq(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=ln(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;sj(k|0,0,h|0)|0;f[j>>2]=e}lk(a+1176|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);Oq(g);u=c;return}function Ve(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,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=0;r=o;s=n;n=o;while(1){o=f[c+(q<<2)>>2]|0;t=f[k>>2]|0;if(t-s>>2>>>0>o>>>0){v=r;w=n}else{x=o+1|0;f[h>>2]=0;y=t-s>>2;z=s;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(t|0)!=(A|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=r}else B=r;else{Ch(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(o<<2)|0;x=f[y>>2]|0;s=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,o>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=o;C=0.0}else C=0.0;else{D=+(x|0);C=+Zg(D)*D}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=+Zg(D)*D-C;p[a>>3]=+p[a>>3]+E;q=q+1|0;if((q|0)==(d|0))break;else{r=v;n=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}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.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 Xe(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;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=n;s=m}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0;q=k;r=f[k>>2]|0;s=f[l>>2]|0}a:do if((r|0)!=(s|0)){l=a+4|0;k=r;while(1){g=f[k>>2]|0;k=k+4|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,a,f[l>>2]|0)|0)){h=0;break}if((k|0)==(s|0))break a}u=c;return h|0}while(0);if(!(xc(a)|0)){h=0;u=c;return h|0}s=a+32|0;r=f[s>>2]|0;k=a+36|0;l=f[k>>2]|0;b:do if((r|0)!=(l|0)){g=r;do{if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(l|0));if((t|0)==18){u=c;return h|0}g=f[s>>2]|0;d=f[k>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[q>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ra[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=Qa[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Ye(a,b){a=a|0;b=b|0;ld(a,b);ld(a+32|0,b);ld(a+64|0,b);ld(a+96|0,b);ld(a+128|0,b);ld(a+160|0,b);ld(a+192|0,b);ld(a+224|0,b);ld(a+256|0,b);ld(a+288|0,b);ld(a+320|0,b);ld(a+352|0,b);ld(a+384|0,b);ld(a+416|0,b);ld(a+448|0,b);ld(a+480|0,b);ld(a+512|0,b);ld(a+544|0,b);ld(a+576|0,b);ld(a+608|0,b);ld(a+640|0,b);ld(a+672|0,b);ld(a+704|0,b);ld(a+736|0,b);ld(a+768|0,b);ld(a+800|0,b);ld(a+832|0,b);ld(a+864|0,b);ld(a+896|0,b);ld(a+928|0,b);ld(a+960|0,b);ld(a+992|0,b);ld(a+1024|0,b);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,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)aq(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;Oo(g,16035);f[g>>2]=7256;va(g|0,1112,110)}else{m=ln(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;ki(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;ki(d);u=c;return}function _e(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=nl(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)aq(e);else{n=ln(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);sj(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);Kj(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);Oq(a)}u=d;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;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;wn(a+12|0);vo(a+44|0);vo(a+64|0);vo(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)aq(e);else{i=b<<2;j=ln(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;sj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;sj(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=ln(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;sj(i|0,0,k|0)|0;f[e>>2]=j}lk(a+140|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);Oq(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=ln(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;sj(k|0,0,h|0)|0;f[j>>2]=e}lk(a+152|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);Oq(g);u=c;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;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;vo(a+12|0);vo(a+32|0);vo(a+52|0);vo(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)aq(e);else{i=b<<2;j=ln(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;sj(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=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;sj(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=ln(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;sj(i|0,0,k|0)|0;f[e>>2]=j}lk(a+128|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);Oq(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=ln(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;sj(k|0,0,h|0)|0;f[j>>2]=e}lk(a+140|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);Oq(g);u=c;return}function bf(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;d=ln(40)|0;e=d+16|0;pj(e,c);pj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=Vk(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function cf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3680;wi(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}kj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+140>>2]|0;if(b|0)Oq(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Oq(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Oq(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+84>>2]|0;if(b|0)Oq(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);Oq(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);Oq(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);Oq(b)}b=f[a+28>>2]|0;if(b|0)Oq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ii(a);Oq(a);return}function df(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+140|0;c=f[b>>2]|0;if(c|0){d=a+144|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);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|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);Oq(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}Oq(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;jl(n);o=a+52|0;jl(o);p=a+32|0;jl(p);q=a+12|0;jl(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l);n=a+72|0;jl(n);o=a+52|0;jl(o);p=a+32|0;jl(p);q=a+12|0;jl(q);return}function ef(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+152|0;c=f[b>>2]|0;if(c|0){d=a+156|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);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|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);Oq(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}Oq(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;jl(n);o=a+64|0;jl(o);p=a+44|0;jl(p);q=a+12|0;Fj(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l);n=a+84|0;jl(n);o=a+64|0;jl(o);p=a+44|0;jl(p);q=a+12|0;Fj(q);return}function ff(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3480;uj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}kj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+140>>2]|0;if(b|0)Oq(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Oq(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Oq(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+84>>2]|0;if(b|0)Oq(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);Oq(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);Oq(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);Oq(b)}b=f[a+28>>2]|0;if(b|0)Oq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ii(a);Oq(a);return}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,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=ln(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3656;f[j+12>>2]=3636;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3636;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3636;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,m,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];fg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Sg(j,i);f[a>>2]=o;Qi(i);f[h>>2]=3636;i=f[h+20>>2]|0;if(i|0)Oq(i);i=f[h+8>>2]|0;if(!i){u=e;return}Oq(i);u=e;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;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}wn(i);tk(i);if((f[h>>2]|0)>0){k=a+56|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;fj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Fj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(i);u=c;return 1}function jf(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;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=ln(96)|0;tl(j,c);f[h>>2]=j;j=vh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;Oq(h)}Oq(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);Oq(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;Oq(k)}Oq(l)}Oq(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){Ch(m,h-q|0,6220);break}if(h>>>0>>0?(q=p+(h<<2)|0,(q|0)!=(r|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}Bj(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function kf(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)Mq(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;aq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Bc(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)aq(x);return 0}function lf(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;Oq(a)}if((b[s+11>>0]|0)<0)Oq(f[s>>2]|0);Oq(d);return c|0}function mf(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;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+52|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(n*12|0)>>2]|0;s=r-m|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((h|0)==(p|0)){Ri(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[h>>2]=t;t=h+4|0;f[e>>2]=t;v=t;w=p}t=f[q+(n*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ri(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(n*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ri(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=n+1|0;if(t>>>0>=j>>>0)break;m=r;n=t;o=f[g>>2]|0;h=f[e>>2]|0;p=f[i>>2]|0}k=f[c>>2]|0;l=f[e>>2]|0}Mc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);Oq(a);u=b;return 1}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,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}wn(i);tk(i);if((f[h>>2]|0)>0){k=a+76|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;fj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Fj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(i);u=c;return 1}function of(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+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=ln(76)|0;j=ln(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=3908;f[j+8>>2]=k;f[h>>2]=j;rl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Qg(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Va[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ri(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{Ch(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function pf(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)Mq(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;aq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Ac(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)aq(x);return 0}function qf(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,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){o=c;p=f[o+4>>2]|0;q=m;f[q>>2]=f[o>>2];f[q+4>>2]=p;j=j+-1|0;if(!j)break;else m=m+8|0}}if(!l){m=h+(b<<3)|0;if((m|0)==(n|0))return;else{r=i;s=n+(~((n+-8-m|0)>>>3)<<3)|0;break}}else{m=b-k|0;j=m;p=n;while(1){q=c;o=f[q+4>>2]|0;t=p;f[t>>2]=f[q>>2];f[t+4>>2]=o;j=j+-1|0;if(!j)break;else p=p+8|0}r=i;s=n+(m<<3)|0;break}}else{p=g;if(!g)u=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-8-g|0)>>>3)<<3);Oq(p);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)aq(a);j=u>>2;p=u>>3>>>0<268435455?(j>>>0>>0?b:j):536870911;if(p>>>0>536870911)aq(a);j=ln(p<<3)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(p<<3);p=b;l=j;while(1){o=c;t=f[o+4>>2]|0;q=l;f[q>>2]=f[o>>2];f[q+4>>2]=t;p=p+-1|0;if(!p)break;else l=l+8|0}r=k;s=j+(b<<3)|0}while(0);f[r>>2]=s;return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=+$(n[b>>2]);g=+K(+e);h=+$(n[b+4>>2]);i=g+ +K(+h);g=+$(n[b+8>>2]);j=i+ +K(+g);b=j>1.0e-06;i=1.0/j;k=f[a+12>>2]|0;j=+(k|0);l=~~+J(+((b?i*e:1.0)*j+.5));m=~~+J(+((b?i*h:0.0)*j+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?i*g:0.0)<0.0?0-m|0:m;do if(!o){if((q|0)<0)r=(p|0)>-1?p:0-p|0;else r=(f[a+8>>2]|0)-((p|0)>-1?p:0-p|0)|0;if((p|0)<0){s=(q|0)>-1?q:0-q|0;t=r;break}else{s=(f[a+8>>2]|0)-((q|0)>-1?q:0-q|0)|0;t=r;break}}else{s=k+p|0;t=k+q|0}while(0);q=(t|0)==0;p=(s|0)==0;r=f[a+8>>2]|0;if(!(s|t)){u=r;v=r;f[c>>2]=u;f[d>>2]=v;return}a=(r|0)==(s|0);if(q&a){u=s;v=s;f[c>>2]=u;f[d>>2]=v;return}o=(r|0)==(t|0);if(p&o){u=t;v=t;f[c>>2]=u;f[d>>2]=v;return}if(q&(k|0)<(s|0)){u=0;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(o&(k|0)>(s|0)){u=t;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(t|0)){u=(k<<1)-t|0;v=s;f[c>>2]=u;f[d>>2]=v;return}if(!p){u=t;v=s;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(t|0)?(k<<1)-t|0:t;v=0;f[c>>2]=u;f[d>>2]=v;return}function sf(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Gg(d);m=a+1068|0;Mm(m);k=a+1088|0;Mm(k);l=a+1108|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];ib(a,i,h);Ye(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function tf(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Gg(d);m=a+1068|0;Mm(m);k=a+1088|0;Mm(k);l=a+1108|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];kb(a,i,h);Ye(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function uf(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){sj(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)aq(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;Oo(p,16035);f[p>>2]=7256;va(p|0,1112,110)}else{r=ln(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;sj(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;ki(d);u=c;return}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,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{Ch(i,h-m|0,3600);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 wf(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{Ch(i,h-m|0,3600);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 xf(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;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))yi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function yf(a,b){a=a|0;b=b|0;var c=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=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(b|0)){l=q+8|0;if((((d[l>>1]|0)==c<<16>>16?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function zf(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Mm(d);m=a+32|0;Mm(m);k=a+52|0;Mm(k);l=a+72|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];hb(a,i,h);Bg(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function Af(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;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;tk(d);m=a+44|0;Mm(m);k=a+64|0;Mm(k);l=a+84|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];lb(a,i,h);ld(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function Bf(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;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function Cf(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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{k=ln(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]=1196;f[k+(e*24|0)+4>>2]=f[b+4>>2];fk(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]=1196;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;Va[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;Oq(m);return}function Df(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]=3588;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)aq(i);else{o=((n+-1|0)>>>5)+1|0;p=ln(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];Tf(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)aq(i);k=((l+-1|0)>>>5)+1|0;l=ln(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];Tf(i,e,d);u=c;return}function Ef(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=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(c|0)){l=q+8|0;if((((b[l>>0]|0)==d<<24>>24?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Ff(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]=3636;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)aq(i);else{o=((n+-1|0)>>>5)+1|0;p=ln(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];Tf(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)aq(i);k=((l+-1|0)>>>5)+1|0;l=ln(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];Tf(i,e,d);u=c;return}function Gf(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;aq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];ub(l,h,b,w);m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)aq(y);return 0}function Hf(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;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+48>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+52>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;Cd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+52>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;Ad(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function If(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;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;aq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];tb(l,h,b,w);m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)aq(y);return 0}function Jf(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=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)im(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((b|0)==(c|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);Oq(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)aq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)aq(a);h=ln(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((k|0)==(m|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);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;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){sj(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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{n=ln(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;sj(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);Oq(m)}}while((c|0)!=(g|0))}if(!p)return;Oq(p);return}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=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;gk(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 Ch(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];wb(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];wb(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 Mf(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=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-4177920|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+4194304|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1077936128|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Nf(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=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-2080768|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+6291456|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1075838976|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Of(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=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1032192|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+7340032|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074790400|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Pf(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Tm(j);Jj(j,d,0,g&255,i,0,g<<1,0,0,0);i=jf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=un(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}Oq(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);Oq(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;Oq(v)}Oq(j)}k=w;u=a;return k|0}function Qf(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Tm(j);Jj(j,d,0,g&255,i,0,g<<2,0,0,0);i=jf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=un(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}Oq(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);Oq(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;Oq(v)}Oq(j)}k=w;u=a;return k|0}function Rf(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=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-245760|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8126464|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074003968|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Sf(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=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-114688|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8257536|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073872896|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Tf(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];we(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;im(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 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;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-16384|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8355840|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073774592|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Vf(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=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=25;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=25;break}k=f[k>>2]|0;if(!k){i=0;o=25;break}}if((o|0)==25)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){if((((f[p+8>>2]|0)==(c|0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=25;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=25;break}}p=f[p>>2]|0;if(!p){i=0;o=25;break}}if((o|0)==25)return i|0;return 0}function Wf(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Tm(j);Jj(j,d,0,g&255,i,0,g,0,0,0);i=jf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=un(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}Oq(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);Oq(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;Oq(v)}Oq(j)}k=w;u=a;return k|0}function Xf(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;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+48>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+52>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;qd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+52>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;pd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;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,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[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=0;i=a+12|0;j=a+8|0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=0;l=e;while(1){e=f[l>>2]|0;m=f[d+(e<<2)>>2]|0;if(m>>>0>>0)n=a;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(e<<2)>>2]|0;else t=e;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}l=l+4|0;if((l|0)==(g|0)){h=n;i=k;j=c;break}else a=n}}n=f[i>>2]|0;a=f[j>>2]|0;if((n-a|0)>0){u=0;v=a;w=n}else return;while(1){n=f[v+(u<<2)>>2]|0;b[n+84>>0]=0;a=n+68|0;c=n+72|0;n=f[c>>2]|0;k=f[a>>2]|0;g=n-k>>2;l=k;k=n;if(h>>>0<=g>>>0)if(h>>>0>>0?(n=l+(h<<2)|0,(n|0)!=(k|0)):0){f[c>>2]=k+(~((k+-4-n|0)>>>2)<<2);x=v;y=w}else{x=v;y=w}else{Ch(a,h-g|0,6220);x=f[j>>2]|0;y=f[i>>2]|0}u=u+1|0;if((u|0)>=(y-x>>2|0))break;else{v=x;w=y}}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,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)im(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);Oq(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)aq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)aq(a);h=ln(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 _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,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;b[m>>0]=j;b[m+1>>0]=j>>>8;n=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;o=j+8372224|0;b[m>>0]=o;b[m+1>>0]=o>>>8;b[m+2>>0]=o>>>16;n=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;o=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+-1073758208|0;b[o>>0]=m;b[o+1>>0]=m>>>8;b[o+2>>0]=m>>>16;b[o+3>>0]=m>>>24;n=(f[l>>2]|0)+4|0;break}else{n=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;n=(f[l>>2]|0)+1|0}while(0);k=((n|0)<0)<<31>>31;Gn(e);yh(n,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,n|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,n|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;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,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)im(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);Oq(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)aq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)aq(a);h=ln(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 ag(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;g=u;u=u+80|0;h=g;i=g+64|0;Il(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X(Vl(5)|0,d)|0;Jj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=ln(96)|0;tl(k,h);Bj(k,c)|0;f[i>>2]=k;gj(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;Oq(i)}Oq(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);Oq(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c)}Oq(h)}Oq(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){Ch(a,e-i|0,1532);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((i|0)==(d|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;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,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+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=m;m=k;k=n;while(1){n=f[a>>2]|0;f[d>>2]=n;if((m|0)==(f[b>>2]|0)){Ri(g,d);o=f[l>>2]|0}else{f[m>>2]=n;f[i>>2]=m+4;o=k}n=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((n|0)<(q|0)){s=r;t=n;v=o}else{w=n+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(p|0)!=(x|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=n;z=r;A=o}else{y=n;z=r;A=o}else{Ch(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}m=f[i>>2]|0;f[s+(t<<2)>>2]=(m-(f[g>>2]|0)>>2)+-1;a=a+4|0;if((a|0)==(h|0))break;else k=v}u=c;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,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)Oq(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)Oq(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{Ci(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(!(rc(a,d)|0)){s=0;u=c;return s|0}eb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function dg(a,b){a=a|0;b=b|0;var c=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=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){k=p+8|0;if(((d[k>>1]|0)==c<<16>>16?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function eg(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;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=Vn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=Yn(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=k;n=h;o=i}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=Vn(h|0,i|0,8,0)|0;i=q+(0-k)|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;b[d+24>>0]=0;yh(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;im(i+q|0,i+8|0,j|0)|0;kh(i|0,f[d>>2]|0,q|0)|0;i=e;h=Vn(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)Oq(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;Oq(h)}h=e;l=p;m=p;n=f[h>>2]|0;o=f[h+4>>2]|0}h=f[l>>2]|0;l=f[a>>2]|0;p=h-l|0;k=Xn(j|0,g|0,n|0,o|0)|0;o=Vn(k|0,I|0,p|0,0)|0;k=l;l=h;if(p>>>0>=o>>>0){if(p>>>0>o>>>0?(h=k+o|0,(h|0)!=(l|0)):0)f[m>>2]=h}else Fi(a,o-p|0);p=e;f[p>>2]=0;f[p+4>>2]=0;u=c;return}function fg(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{Oq(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)aq(c);else{j=((k+-1|0)>>>5)+1|0;l=ln(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);im(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{Oq(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)aq(h);else{n=((p+-1|0)>>>5)+1|0;c=ln(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);im(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 gg(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){Lk(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){Lk(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){Lk(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 hg(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);Oq(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)aq(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)aq(a);j=ln(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 ig(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=jh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)aq(k);m=g;if(l>>>0<=j>>>0)aq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)aq(k);if(l>>>0<=e>>>0)aq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)aq(k);if(l>>>0<=d>>>0)aq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)aq(k);if(l>>>0<=c>>>0)aq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|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,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(c|0)){k=p+8|0;if(((b[k>>0]|0)==d<<24>>24?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function kg(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=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Eg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Xa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)Bp(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function lg(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=u;u=u+16|0;e=d+4|0;g=d;ci(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(Bf(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;ci(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Me(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);ci(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(Bf(0,b,e+8|0)|0)){m=0;r=10;break}lg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 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,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+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=ln(76)|0;vn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Qg(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ri(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{Ch(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function ng(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);Oq(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)aq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)aq(a);j=ln(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;kh(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;kh(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 og(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{Ch(i,h-m|0,3600);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 pg(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=u;u=u+16|0;g=e;if(!(xh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=ln(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14495;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Jh(d,g)|0)!=0):0)o=Hk(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Hk(i,g,-1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}ip(a+40|0,o);h=1;u=e;return h|0}function qg(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=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=23;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=23;break}j=f[j>>2]|0;if(!j){h=0;n=23;break}}if((n|0)==23)return h|0}else o=a;while(1){a=f[o+4>>2]|0;if((a|0)==(b|0)){if(((f[o+8>>2]|0)==(c|0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=23;break}}else{if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=23;break}}o=f[o>>2]|0;if(!o){h=0;n=23;break}}if((n|0)==23)return h|0;return 0}function rg(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=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;Oq(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)aq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)aq(a);i=ln(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}n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{o=c;c=k;while(1){b[c>>0]=b[o>>0]|0;o=o+1|0;if((o|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[n>>2]|0)==(p|0))return;f[n>>2]=p;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 sg(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;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=Vn(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=Vn(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ri(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ri(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function tg(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 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,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{im(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;Oo(m,16035);f[m>>2]=7256;va(m|0,1112,110)}m=ln(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{Oq(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 vg(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+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;p=c+4|0;f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;q=f[m+4>>2]|0;m=a+20|0;if((q|0)>0|(q|0)==0&k>>>0>0){r=q;s=k;t=g}else{f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,m,m+4|0)|0;m=l;r=f[m+4>>2]|0;s=f[m>>2]|0;t=g}}else{r=o;s=n;t=g}b[h>>0]=f[i>>2];if(!((r|0)>0|(r|0)==0&s>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=Lq((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){Mq(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=0;r=n;n=a;s=a;a=m;while(1){m=f[r+(j<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(m<<2)>>2]|0;else t=m;m=s+48|0;v=f[m>>2]|0;w=f[m+4>>2]|0;m=s+40|0;x=f[m>>2]|0;y=un(x|0,f[m+4>>2]|0,t|0,0)|0;m=Vn(y|0,I|0,v|0,w|0)|0;kh(k|0,(f[f[s>>2]>>2]|0)+m|0,x|0)|0;x=o;m=f[x+4>>2]|0;if((m|0)>0|(m|0)==0&(f[x>>2]|0)>>>0>0){z=r;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Me(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=j+1|0;if(x>>>0>=A-z>>2>>>0)break;m=f[i>>2]|0;j=x;r=z;n=m;s=m;a=A}Mq(k);u=e;return 1}function xg(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=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1)break;d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1)break;else l=d}e=0;g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;f[c>>2]=g;return e|0}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,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=Vk(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=Vk(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 zg(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;xe(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;im(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 Ag(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{im(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;Oo(p,16035);f[p>>2]=7256;va(p|0,1112,110)}p=ln(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{Oq(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 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,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ri(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}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;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;Oq(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)aq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)aq(a);i=ln(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)im(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 Dg(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=u;u=u+16|0;d=c;if(b[a+352>>0]|0){u=c;return 1}e=a+8|0;g=f[e>>2]|0;h=(f[g+12>>2]|0)-(f[g+8>>2]|0)|0;g=h>>2;i=a+172|0;Gi(i,g+-1|0);if(!((g|0)!=1&(h|0)>0)){u=c;return 1}h=a+12|0;a=0;j=0;while(1){k=f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[k+56>>2]|0))l=j;else{m=f[i>>2]|0;f[m+(j*136|0)>>2]=a;n=f[m+(j*136|0)+104>>2]|0;o=m+(j*136|0)+108|0;p=f[o>>2]|0;if((p|0)!=(n|0))f[o>>2]=p+(~((p+-4-n|0)>>>2)<<2);n=f[h>>2]|0;gk(m+(j*136|0)+104|0,(f[n+4>>2]|0)-(f[n>>2]|0)>>2);n=(f[i>>2]|0)+(j*136|0)+116|0;m=f[h>>2]|0;p=(f[m+4>>2]|0)-(f[m>>2]|0)>>2;f[d>>2]=-1;hg(n,p,d);p=f[i>>2]|0;f[p+(j*136|0)+128>>2]=0;Gc(p+(j*136|0)+4|0,f[e>>2]|0,f[h>>2]|0,k)|0;l=j+1|0}a=a+1|0;if((a|0)>=(g|0))break;else j=l}u=c;return 1}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,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){sj(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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{n=ln(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;sj(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)Va[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;Oq(p);return}function Fg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=ln(32)|0;f[k>>2]=c;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=c;m=14495;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[c+17>>0]=0;Xj(Hd(a,j)|0,k,d);if((b[k+11>>0]|0)<0)Oq(f[k>>2]|0);d=ln(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14438;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;si(Hd(a,j)|0,k,g,e);if((b[k+11>>0]|0)<0)Oq(f[k>>2]|0);e=ln(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14458;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Tj(Hd(a,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}Oq(f[k>>2]|0);u=i;return}function Gg(a){a=a|0;tk(a);tk(a+32|0);tk(a+64|0);tk(a+96|0);tk(a+128|0);tk(a+160|0);tk(a+192|0);tk(a+224|0);tk(a+256|0);tk(a+288|0);tk(a+320|0);tk(a+352|0);tk(a+384|0);tk(a+416|0);tk(a+448|0);tk(a+480|0);tk(a+512|0);tk(a+544|0);tk(a+576|0);tk(a+608|0);tk(a+640|0);tk(a+672|0);tk(a+704|0);tk(a+736|0);tk(a+768|0);tk(a+800|0);tk(a+832|0);tk(a+864|0);tk(a+896|0);tk(a+928|0);tk(a+960|0);tk(a+992|0);tk(a+1024|0);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,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;if(b[a+288>>0]|0){u=c;return 1}e=a+8|0;g=f[e>>2]|0;h=(f[g+12>>2]|0)-(f[g+8>>2]|0)|0;g=h>>2;i=a+172|0;Gi(i,g+-1|0);if(!((g|0)!=1&(h|0)>0)){u=c;return 1}h=a+12|0;a=0;j=0;while(1){k=f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[k+56>>2]|0))l=j;else{m=f[i>>2]|0;f[m+(j*136|0)>>2]=a;n=f[m+(j*136|0)+104>>2]|0;o=m+(j*136|0)+108|0;p=f[o>>2]|0;if((p|0)!=(n|0))f[o>>2]=p+(~((p+-4-n|0)>>>2)<<2);n=f[h>>2]|0;gk(m+(j*136|0)+104|0,(f[n+4>>2]|0)-(f[n>>2]|0)>>2);n=(f[i>>2]|0)+(j*136|0)+116|0;m=f[h>>2]|0;p=(f[m+4>>2]|0)-(f[m>>2]|0)>>2;f[d>>2]=-1;hg(n,p,d);p=f[i>>2]|0;f[p+(j*136|0)+128>>2]=0;Gc(p+(j*136|0)+4|0,f[e>>2]|0,f[h>>2]|0,k)|0;l=j+1|0}a=a+1|0;if((a|0)>=(g|0))break;else j=l}u=c;return 1}function Ig(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)im(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;kh(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);Oq(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)aq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)aq(a);j=ln(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;kh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Jg(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.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(g);else{j=ln(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;sj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=k;n=j;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{j=l+(f[a+(g<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;r=0.0;b=0;while(1){g=f[l+(b<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=c+1|0;v=r+ +Zg(s/o)*s}else{t=c;v=r}b=b+1|0;if((b|0)==(h|0)){p=t;q=v;break}else{c=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!l){I=d;u=e;return p|0}if((m|0)!=(l|0))f[i>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(n);I=d;u=e;return p|0}function Kg(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+4|0;h=e;i=ln(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ph(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Lg(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))Bh(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)){Ri(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;Oq(b)}Oq(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);Oq(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;Oq(e)}Oq(h)}Oq(c);u=d;return}function Mg(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;gk(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];Zb(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];Zb(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 Ng(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=to(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=to(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 Og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6192;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);Oq(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);Oq(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);Oq(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);Oq(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);Oq(b)}hi(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){bj(i);Oq(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}Oq(g)}bj(a);Oq(a);return}function Pg(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 Qg(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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{k=ln(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)Va[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;Oq(m);return}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,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=Vk(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=Vk(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 Sg(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];fg(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{ng(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ng(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ng(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Ig(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Tg(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)aq(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;Oo(i,16035);f[i>>2]=7256;va(i|0,1112,110)}else{l=ln(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)kh(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;Oq(e);return}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,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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{k=ln(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){bj(n);Oq(n)}}while((h|0)!=(g|0))}if(!m)return;Oq(m);return}function Vg(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;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)aq(h);j=d;if(i>>>0<=g>>>0)aq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)aq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)aq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)aq(h);if(i>>>0<=c>>>0)aq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Wg(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;gk(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];dc(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];dc(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 Xg(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;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(b|0)!=(j|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Tg(h,c-k|0,e);k=0;b=f[h>>2]|0;while(1){j=k*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=((f[i>>2]|0)-b|0)/12|0;o=k;k=k+1|0;if(o>>>0>>0){p=b;q=b}else{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Tg(h,k-j|0,e);j=f[h>>2]|0;p=j;q=j}f[p+(o*12|0)>>2]=l;f[p+(o*12|0)+4>>2]=m;f[p+(o*12|0)+8>>2]=n;if((k|0)==(c|0)){g=1;break}else b=q}u=a;return g|0}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;ao(g,c);Ke(h,b,c);Ph(g,h);Ej(h+24|0,f[h+28>>2]|0);Oj(h+12|0,f[h+16>>2]|0);Ej(h,f[h+4>>2]|0);cj(a,g,d);Ej(g+24|0,f[g+28>>2]|0);Oj(g+12|0,f[g+16>>2]|0);Ej(g,f[g+4>>2]|0);u=e;return}function Zg(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=-1077;i=g;j=f[s>>2]|0;k=g;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=-1023;i=c;j=b;k=c;l=9}else e=a;while(0);if((l|0)==9){l=i+614242|0;f[s>>2]=j;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;j=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=j;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(h+(l>>>20)|0);m=q+o;e=m+(q+(o-m)+(t*1.4426950407214463+(t+r)*1.6751713164886512e-10))}return +e}function _g(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;g=ln(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14390;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Jh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Hk(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}Oq(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function $g(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;Lg(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;Oq(e)}Oq(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);Oq(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;Oq(c)}Oq(h)}Oq(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){Fh(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 ah(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;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+52>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Jh(h,e)|0)==0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(mi(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);u=d;return 1}function bh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;ci(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;ci((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;ci((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}zi(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(1<>0]|0);i=(f[j>>2]|0)+l|0;b[i>>0]=k<>0]|0);f[d>>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);eg(f[(f[g>>2]|0)+44>>2]|0);return 1}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;io(g,c);Ke(h,b,c);Ph(g,h);Ej(h+24|0,f[h+28>>2]|0);Oj(h+12|0,f[h+16>>2]|0);Ej(h,f[h+4>>2]|0);cj(a,g,d);Ej(g+24|0,f[g+28>>2]|0);Oj(g+12|0,f[g+16>>2]|0);Ej(g,f[g+4>>2]|0);u=e;return}function dh(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;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+52>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Jh(h,e)|0)==0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(mi(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);u=d;return 1}function eh(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;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Od(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=Lq(o)|0;sj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Od(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];Mq(e);u=g;return 1}function fh(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=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)aq(d);else{l=ln(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);sj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Kj(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);Oq(a);u=c;return}function gh(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)aq(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{Fo(a,j,(e&255)+1|0)|0;Oq(j);o=16}}else{j=k+1|0;p=ln(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Fo(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;Fo(n,m,(f[j>>2]|0)+1|0)|0;Oq(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 hh(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;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=k+2|0;m=h;break}else{l=k+-1|0;m=h;break}}else{h=a;k=g;while(1){i=h+1|0;n=k+1|0;o=((n>>>0)%3|0|0)==0?k+-2|0:n;if((o|0)==-1){l=b;m=i;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=b;m=i;break b}k=((o>>>0)%3|0|0)==0?n+-2|0:o;if((k|0)==-1){l=b;m=i;break b}if((k|0)==(b|0)){d=i;j=15;break a}else h=i}}while(0);if((l|0)==-1){d=m;j=15;break}else{a=m;e=1;g=l}}if((j|0)==15)return d|0;return 0}function ih(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=a+8|0;Vg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=e;n=c;o=j;while(1){f[n>>2]=o;if((m|0)==(a|0)){p=a;break}j=m+-4|0;o=f[j>>2]|0;if(h>>>0<=o>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(o<<3)>>2]|0)>>>0){p=m;break}else{q=m;m=j;n=q}}f[p>>2]=d}n=c+4|0;if((n|0)==(b|0)){k=3;break}else{m=c;c=n;e=m}}if((k|0)==3)return;else if((k|0)==5)aq(g);else if((k|0)==7)aq(g);else if((k|0)==11)aq(g)}function jh(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;g=Vg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)aq(j);l=e;if(k>>>0<=i>>>0)aq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)aq(j);if(k>>>0<=d>>>0)aq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)aq(j);if(k>>>0<=c>>>0)aq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(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 lh(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;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1232;g=a+4|0;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;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ri(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(j|0)!=(w|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{Ch(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function mh(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+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ra[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(d|0)!=(e|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else Ci(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)?(h=f[c>>2]|0,k=e-b>>2,f[h+(f[i>>2]<<2)>>2]=j,k>>>0>1):0){b=1;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function nh(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{Ci(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 oh(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(!(fp(a,f[c+8>>2]|0,g)|0)){if(!(fp(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Za[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;_a[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 Vm(0,c,d,e);while(0);return}function ph(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=Kd(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=ln(40)|0;pj(c+16|0,d);pj(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}Oe(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 qh(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)aq(a);n=j<<6;j=c+31&-32;vi(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)Oq(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)){sj(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{sj(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 rh(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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+88|0;ld(n,b);u=c;return 1}function sh(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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+108|0;ld(n,b);u=c;return 1}function th(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+32|0;d=f[a+64>>2]|0;e=(Qa[f[(f[d>>2]|0)+40>>2]&127](d)|0)+52|0;d=f[e>>2]|0;zi(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){eg(c);return}i=a+48|0;j=a+44|0;a=(g>>>2)+-1|0;g=e;while(1){e=f[g+(a<<2)>>2]|0;k=f[3524+(e<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>e&1|0):0){m=l+4|0;n=0;o=f[m>>2]|0;do{p=o>>>3;q=o&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(1<>0]|0);r=(f[l>>2]|0)+p|0;b[r>>0]=(e>>>n&1)<>0]|0);o=(f[m>>2]|0)+1|0;f[m>>2]=o;n=n+1|0}while((n|0)!=(k|0))}k=a+-1|0;if((k|0)<=-1)break;a=k;g=f[d>>2]|0}eg(c);return}function uh(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;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Gn(h);do if((dm(c,0)|0)!=-1){if(d){if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Va[f[(f[c>>2]|0)+20>>2]&127](c)}Yg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)Oq(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;rg(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Oq(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}j=k;u=g;return j|0}function vh(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;Xa[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;Oq(d)}Oq(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);Oq(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;Oq(a)}Oq(e)}Oq(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 wh(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)aq(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;Oo(h,16035);f[h>>2]=7256;va(h|0,1112,110)}else{k=ln(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)kh(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;Oq(d);return}function xh(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;if(!(bn(a,b,c)|0)){g=0;u=d;return g|0}if((Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=_g(c,f[b+48>>2]|0)|0;Xa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(!c){f[e>>2]=0;i=b}else{Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);i=f[h>>2]|0}if(!i){g=1;u=d;return g|0}if(Ra[f[(f[a>>2]|0)+36>>2]&127](a,i)|0){g=1;u=d;return g|0}i=f[h>>2]|0;f[h>>2]=0;if(!i){g=1;u=d;return g|0}Va[f[(f[i>>2]|0)+4>>2]&127](i);g=1;u=d;return g|0}function yh(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+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;k=Yn(a|0,c|0,7)|0;m=yh(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function zh(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;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Xi(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((Qa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Xf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=ln(44)|0;f[c>>2]=1544;f[c+4>>2]=g;g=c+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[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);f[c>>2]=1600;i=c}f[a>>2]=i;return}function Ah(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((qb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=Tq(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=qb(a,c,g,i,h)|0;if(!o)s=j;else{Sa[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=qb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)Sq(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Bh(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){uf(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;Oq(h)}Oq(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);Oq(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;Oq(e)}Oq(a)}Oq(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ch(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)aq(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;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}else{e=ln(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)kh(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;Oq(i);return}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,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=gp(f[a+8>>2]|0,e)|0;h=gp(f[a+12>>2]|0,e)|0;i=gp(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=gp(f[a+(q<<2)>>2]|0,e)|0;s=gp(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=hl(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=gp(f[a+(m<<2)>>2]|0,e)|0;j=gp(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 Eh(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(fp(l,e,0)|0){f[i+48>>2]=1;_a[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Za[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 Fh(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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{d=ln(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)kh(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;Oq(h);return}function Gh(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)Oq(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)Oq(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;qh(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;qh(a+12|0,k,e);hg(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6180);gk(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);gk(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 Hh(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 Ih(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>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;Td(a,e);return}function Jh(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=Vk(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=Vk(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 Kh(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=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;ag(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=0;p=d;while(1){d=f[p>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(d<<2)>>2]|0;else q=d;f[h>>2]=q;d=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Qb(i,g,d,a+(o<<2)|0)|0)){m=0;r=7;break}p=p+4|0;if((p|0)==(c|0)){m=1;r=7;break}else o=o+k|0}if((r|0)==7){u=e;return m|0}return 0}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1408;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Oq(c)}c=f[a+48>>2]|0;if(c|0)Oq(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)Va[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}Oq(g)}f[a>>2]=1232;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);Oq(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);Oq(g);return}function Mh(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;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(h|0)!=(i|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else Ci(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=j;e=j;h=1;while(1){i=f[b+(h<<2)>>2]|0;g=(i|0)<(e|0);k=g?i:e;l=g?d:(i|0)>(d|0)?i:d;h=h+1|0;if((h|0)==(c|0)){m=l;n=k;break}else{d=l;e=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=Xn(m|0,((m|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))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Nh(a){a=a|0;Fj(a+992|0);Fj(a+960|0);Fj(a+928|0);Fj(a+896|0);Fj(a+864|0);Fj(a+832|0);Fj(a+800|0);Fj(a+768|0);Fj(a+736|0);Fj(a+704|0);Fj(a+672|0);Fj(a+640|0);Fj(a+608|0);Fj(a+576|0);Fj(a+544|0);Fj(a+512|0);Fj(a+480|0);Fj(a+448|0);Fj(a+416|0);Fj(a+384|0);Fj(a+352|0);Fj(a+320|0);Fj(a+288|0);Fj(a+256|0);Fj(a+224|0);Fj(a+192|0);Fj(a+160|0);Fj(a+128|0);Fj(a+96|0);Fj(a+64|0);Fj(a+32|0);Fj(a);return}function Oh(a){a=a|0;wn(a);wn(a+32|0);wn(a+64|0);wn(a+96|0);wn(a+128|0);wn(a+160|0);wn(a+192|0);wn(a+224|0);wn(a+256|0);wn(a+288|0);wn(a+320|0);wn(a+352|0);wn(a+384|0);wn(a+416|0);wn(a+448|0);wn(a+480|0);wn(a+512|0);wn(a+544|0);wn(a+576|0);wn(a+608|0);wn(a+640|0);wn(a+672|0);wn(a+704|0);wn(a+736|0);wn(a+768|0);wn(a+800|0);wn(a+832|0);wn(a+864|0);wn(a+896|0);wn(a+928|0);wn(a+960|0);wn(a+992|0);return}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=(a|0)==(b|0);if(!i){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a,e,d)}if(!i){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Hc(a+12|0,e,d)}if(i){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a+24|0,e,d);u=c;return}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,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=ln(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=ln(44)|0;Ub(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;mk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}bj(j);Oq(j);g=1;u=a;return g|0}function Rh(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;c=u;u=u+64|0;j=c;k=i?6:5;Il(j);i=f[h+56>>2]|0;h=X(Vl(k)|0,e)|0;Jj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=ln(96)|0;tl(h,j);f[a>>2]=h;Bj(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){Ch(d,g-j|0,1216);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((j|0)==(e|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){rd(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;rd(a,e);return}function Th(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){vd(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;vd(a,e);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Fd(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;Fd(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Pd(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;Pd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){ud(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;ud(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){zd(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;zd(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Jd(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;Jd(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){sd(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;sd(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){wd(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;wd(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Gd(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;Gd(a,e);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Qd(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;Qd(a,e);return}function bi(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=u;u=u+16|0;h=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=ln(16)|0;f[h>>2]=i;f[h+8>>2]=-2147483632;f[h+4>>2]=15;j=i;k=14479;l=j+15|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+15>>0]=0;i=Hk(c,h,-1)|0;if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);switch(i|0){case -1:{if((mi(c)|0)==10)m=6;else m=5;break}case 1:{m=5;break}default:m=6}if((m|0)==5){i=ln(60)|0;Lo(i);n=i}else if((m|0)==6){m=ln(56)|0;tp(m);n=m}xo(n,d);Md(a,n,c,e);Va[f[(f[n>>2]|0)+4>>2]&127](n);u=g;return}function ci(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=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;k=ci(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0} +function vc(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+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=hc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=Wb(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=uc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=mc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=gc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=Xb(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=sc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=lc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=gc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=Xb(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=sc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=lc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=ec(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Vb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=nc(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=jc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=ec(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Vb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=nc(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=jc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=hc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=Wb(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=uc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=mc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=hc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=Wb(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=uc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=mc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function wc(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;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ra[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(Qa[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(Qa[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(f[n+80>>2]|0,i)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)aq(j);else{v=r<<2;w=ln(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;sj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Ta[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=s;A=f[j>>2]|0;p=20;break}if(!(Qa[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=f[m>>2]|0?x:s;A=x;p=20}}else{z=s;A=y;p=20}while(0);if((p|0)==20)xm(z,r,A);A=a+4|0;a=f[A>>2]|0;do if(a){z=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=ln(48)|0;f[g>>2]=y;f[g+8>>2]=-2147483600;f[g+4>>2]=34;s=y;w=10697;x=s+34|0;do{b[s>>0]=b[w>>0]|0;s=s+1|0;w=w+1|0}while((s|0)<(x|0));b[y+34>>0]=0;w=Yj(z,g,1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;s=0;x=0;do{x=f[w+(s<<2)>>2]|x;s=s+1|0}while((s|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;s=o;w=f[s>>2]|0;z=f[s+4>>2]|0;if((z|0)>0|(z|0)==0&w>>>0>0){C=z;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}if((B|0)==(Vl(5)|0)){w=f[j>>2]|0;z=o;s=f[z+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;z=0;do{s=(f[j>>2]|0)+(z<<2)|0;y=o;v=f[y+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[y>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Me(d,g,s,s+B|0)|0}z=z+1|0}while(z>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}lp(g);k=f[A>>2]|0;if(k|0)Zj(g,10-(mi(f[k+48>>2]|0)|0)|0)|0;k=Mc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Ej(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ra[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);Oq(d)}q=E}l=q;u=e;return l|0}function xc(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;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

>>0:0)break;s=yg(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=Vk(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=yg(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 Ld(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=vm(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>>>((vm(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=Vn(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;Xn(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Xn(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 Md(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=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;d=c+12|0;i=f[d>>2]|0;if((i|0)!=(e|0)){j=i;do{i=j+-4|0;f[d>>2]=i;k=f[i>>2]|0;f[i>>2]=0;if(k|0)Va[f[(f[k>>2]|0)+4>>2]&127](k);j=f[d>>2]|0}while((j|0)!=(e|0))}e=f[c+20>>2]|0;j=c+24|0;d=f[j>>2]|0;if((d|0)!=(e|0))f[j>>2]=d+(~((d+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;d=c+36|0;j=f[d>>2]|0;if((j|0)!=(e|0))f[d>>2]=j+(~((j+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=ln(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;l=e;m=15706;n=l+23|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+23>>0]=0;f[a>>2]=-1;pj(a+4|0,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}Ud(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;j=e+11|0;if((b[j>>0]|0)<0)Oq(f[e>>2]|0);Wi(a,c);if(f[a>>2]|0){u=g;return}if((b[j>>0]|0)<0)Oq(f[e>>2]|0);if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){j=ln(32)|0;f[h>>2]=j;f[h+8>>2]=-2147483616;f[h+4>>2]=29;l=j;m=15730;n=l+29|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[j+29>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){j=ln(32)|0;f[h>>2]=j;f[h+8>>2]=-2147483616;f[h+4>>2]=31;l=j;m=15760;n=l+31|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[j+31>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+24>>2]&127](c)|0)){j=ln(32)|0;f[h>>2]=j;f[h+8>>2]=-2147483616;f[h+4>>2]=31;l=j;m=15792;n=l+31|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[j+31>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}if(Qa[f[(f[c>>2]|0)+28>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}c=ln(48)|0;f[h>>2]=c;f[h+8>>2]=-2147483600;f[h+4>>2]=34;l=c;m=15824;n=l+34|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[c+34>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}function Nd(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;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=ln(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14538;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[j+20>>0]=0;j=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);i=f[h>>2]|0;n=ln(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14559;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);i=a+56|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Va[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+52>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=ln(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14582;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Hk(o,d,-1)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((mi(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0}j=ln(296)|0;_i(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Va[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Me(n,d,g,g+1|0)|0}g=ln(360)|0;xi(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Va[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ra[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Od(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;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((l|0)>-1)if((m|0)<=-1)if((l|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((m|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(l|0)>0?1:-1;o=(m|0)>0?1:-1}q=X(g,n)|0;r=X(g,o)|0;g=(l<<1)-q|0;f[c>>2]=g;l=(m<<1)-r|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;s=0-g|0;t=o}else{f[c>>2]=l;s=g;t=l}f[c>>2]=(t+q|0)/2|0;f[h>>2]=(s+r|0)/2|0;r=f[d>>2]|0;s=f[j>>2]|0;if((r|0)>-1)if((s|0)<=-1)if((r|0)<1){u=-1;v=-1}else p=14;else{u=1;v=1}else if((s|0)<1){u=-1;v=-1}else p=14;if((p|0)==14){u=(r|0)>0?1:-1;v=(s|0)>0?1:-1}q=f[e>>2]|0;e=X(q,u)|0;t=X(q,v)|0;q=(r<<1)-e|0;f[d>>2]=q;r=(s<<1)-t|0;f[j>>2]=r;if((X(u,v)|0)>-1){v=0-r|0;f[d>>2]=v;w=0-q|0;x=v}else{f[d>>2]=r;w=q;x=r}r=(x+e|0)/2|0;f[d>>2]=r;e=(w+t|0)/2|0;f[j>>2]=e;y=r;z=e}else{y=i;z=k}if(!y)if(!z){A=y;B=z}else p=22;else if((y|0)<0&(z|0)<1){A=y;B=z}else p=22;if((p|0)==22){if(!y)C=(z|0)==0?0:(z|0)>0?3:1;else C=(y|0)>0?(z>>31)+2|0:(z|0)<1?0:3;z=f[c>>2]|0;y=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=y;f[C+4>>2]=0-z;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-z;f[C+4>>2]=0-y;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-y;f[C+4>>2]=z;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=z;f[C+4>>2]=y;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;A=D;B=E}E=(f[c>>2]|0)-A|0;f[a>>2]=E;A=(f[h>>2]|0)-B|0;B=a+4|0;f[B>>2]=A;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((A|0)>=0){G=A;f[B>>2]=G;return}G=(f[b+4>>2]|0)+A|0;f[B>>2]=G;return}function Pd(a,b){a=a|0;b=b|0;var c=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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);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;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){b:do if(i){g=l;c=m;j=n;while(1){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}c=f[e>>2]|0;if(!c){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;c=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=c;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[c>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;c=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Qd(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;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(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){b:do if(i){g=l;d=m;j=n;while(1){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}d=f[e>>2]|0;if(!d){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;d=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=d;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[d>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;d=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Rd(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;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=0;n=1;while(1){o=(f[l+(m<<2)>>2]|0)>>>0>(f[l+(n<<2)>>2]|0)>>>0?n:m;n=n+1|0;if(n>>>0>=j>>>0){k=o;break}else m=o}return k|0}if(j){j=f[a+1128>>2]|0;m=f[e>>2]|0;e=f[a+1140>>2]|0;n=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

>>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[n+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=c;u=f[q>>2]|0;do{v=s+((X(t,p)|0)<<2)+(b<<2)|0;u=u+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=u;t=t+1|0}while((t|0)!=(g|0));t=h-u|0;f[q>>2]=t>>>0>>0?u:t}b=b+1|0;t=f[i>>2]|0}while(b>>>0>>0);r=t}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=h>>>0>>0;w=l?d:h;x=l?g:c}g=g+1|0;if(g>>>0>=r>>>0){y=x;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;if((h|0)<4){r=y&15;g=4-h|0;f[c>>2]=g;h=a+1100|0;i=f[h>>2]|r>>>g;f[h>>2]=i;g=a+1092|0;b=f[g>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ri(x,h);else{f[b>>2]=i;f[g>>2]=b+4}f[h>>2]=r<<32-(f[c>>2]|0);k=y;return k|0}r=a+1100|0;h=f[r>>2]|y<<28>>>w;f[r>>2]=h;b=w+4|0;f[c>>2]=b;if((b|0)!=32){k=y;return k|0}b=a+1092|0;w=f[b>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ri(x,r);else{f[w>>2]=h;f[b>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Sd(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)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(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 Td(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)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(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=a+24|0;k=j;j=g;l=d;d=g;a:while(1){g=j;m=l;n=d;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(k|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=o;y=p}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[y+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=x;break c}}while((z|0)<(v|0));z=f[y>>2]|0;if(!z){s=y;break}else{w=y;y=z;x=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=q;j=o;d=o}}if((E|0)==38)return}function Ud(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,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,15886,15891)|0}n=Qa[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Me(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=h;r=k}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Me(k,g,i,i+1|0)|0;q=h;r=f[m>>2]|0}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=h;r=t}t=Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=t;t=r+16|0;q=f[t+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[t>>2]|0)>>>0>0)){f[h>>2]=f[r+4>>2];f[g>>2]=f[h>>2];Me(r,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;r=f[m+4>>2]|0;if((r|0)>0|(r|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Me(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Vd(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;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=ln(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3612;m=k+12|0;f[m>>2]=3636;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3636;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3636;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,s,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;fg(s,g)|0;f[g>>2]=3636;o=f[g+20>>2]|0;if(o|0)Oq(o);o=f[g+8>>2]|0;if(o|0)Oq(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3636;l=f[j+20>>2]|0;if(l|0)Oq(l);l=f[j+8>>2]|0;if(l|0)Oq(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];fg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;ng(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);Oq(r)}f[v>>2]=3636;v=f[i+24>>2]|0;if(v|0)Oq(v);v=f[i+12>>2]|0;if(v|0)Oq(v);f[h>>2]=3636;v=f[h+20>>2]|0;if(v|0)Oq(v);v=f[h+8>>2]|0;if(!v){u=e;return}Oq(v);u=e;return}function Wd(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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Oa,x=0,y=Oa,z=Oa,A=Oa;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)aq(g);else{l=h<<2;m=ln(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;sj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);Oq(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=Lq(r)|0;q=Lq(r)|0;r=c+48|0;o=f[r>>2]|0;g=c+40|0;a=f[g>>2]|0;l=f[c>>2]|0;kh(q|0,(f[l>>2]|0)+o|0,a|0)|0;kh(p|0,(f[l>>2]|0)+o|0,a|0)|0;a=r;r=f[a>>2]|0;o=f[a+4>>2]|0;a=g;g=f[a>>2]|0;l=f[a+4>>2]|0;a=f[c>>2]|0;kh(s|0,(f[a>>2]|0)+r|0,g|0)|0;p=f[c+80>>2]|0;a:do if(p>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=un(g|0,l|0,c|0,0)|0;t=Vn(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+t|0,g|0)|0;c=c+1|0;if(c>>>0>=p>>>0)break a}}c=f[k>>2]|0;t=1;do{m=un(g|0,l|0,t|0,0)|0;v=Vn(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+v|0,g|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0

>>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;k=0;z=$(n[j>>2]);while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}Mq(q);Mq(s);i=1;u=e;return i|0}function Xd(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;g=a+8|0;Mh(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=h;h=f[g>>2]|0;while(1){p=b+(o<<2)|0;q=c+(o<<2)|0;if((h|0)>0){r=0;s=p+(d<<2)|0;t=h;while(1){if((t|0)>0){u=0;do{v=f[s+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[p+(r<<2)>>2]|0)-(f[z+(r<<2)>>2]|0)|0;w=q+(r<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}r=r+1|0;w=f[g>>2]|0;if((r|0)>=(w|0)){C=w;break}else{s=z;t=w}}}else C=h;o=o-e|0;if((o|0)<=0){D=C;break}else h=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=Lq(C)|0;sj(e|0,0,C|0)|0;if((D|0)<=0){Mq(e);return 1}C=a+16|0;h=a+32|0;o=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=0;n=e;l=D;while(1){if((l|0)>0){D=0;do{j=f[n+(D<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[h>>2]|0;f[k+(D<<2)>>2]=y;E=k}else{k=f[o>>2]|0;y=f[h>>2]|0;f[y+(D<<2)>>2]=(j|0)<(k|0)?k:j;E=y}D=D+1|0}while((D|0)<(f[g>>2]|0));F=E}else F=f[h>>2]|0;D=(f[b+(a<<2)>>2]|0)-(f[F+(a<<2)>>2]|0)|0;y=c+(a<<2)|0;f[y>>2]=D;if((D|0)>=(f[z>>2]|0)){if((D|0)>(f[m>>2]|0)){G=D-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+D|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}a=a+1|0;l=f[g>>2]|0;if((a|0)>=(l|0))break;else n=F}Mq(e);return 1}function Yd(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;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=t;z=v}else{m=b;return m|0}}else{y=c;z=p}c=z-(b+(j<<2))>>2;v=b+(c<<2)|0;if(v>>>0

>>0){t=(p+(0-c<<2)+~r|0)>>>2;r=v;s=z;while(1){f[s>>2]=f[r>>2];r=r+4|0;if(r>>>0>=p>>>0)break;else s=s+4|0}f[o>>2]=z+(t+1<<2)}if(c|0){c=v;v=z;do{c=c+-4|0;v=v+-4|0;f[v>>2]=f[c>>2]}while((c|0)!=(b|0))}c=y;if((k|0)==(c|0)){m=b;return m|0}else{A=b;B=k}while(1){f[A>>2]=f[B>>2];B=B+4|0;if((B|0)==(c|0)){m=b;break}else A=A+4|0}return m|0}A=(q-g>>2)+j|0;if(A>>>0>1073741823)aq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?A:g):1073741823;g=b;A=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;Oo(j,16035);f[j>>2]=7256;va(j|0,1112,110)}else{j=ln(n<<2)|0;C=j;D=j;break}else{C=0;D=0}while(0);j=D+(A<<2)|0;A=D+(n<<2)|0;if((l|0)==(k|0))E=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}E=j+(n<<2)|0}if((h|0)>0)kh(C|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){kh(E|0,b|0,h|0)|0;F=E+(h>>>2<<2)|0}else F=E;f[a>>2]=D;f[o>>2]=F;f[d>>2]=A;if(!e){m=j;return m|0}Oq(e);m=j;return m|0}function Zd(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;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;ci(f[i>>2]|0,b)|0;wn(h);tk(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Fj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(h);u=c;return 1}function _d(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,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)aq(h);k=i;if(j>>>0<=g>>>0)aq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Vg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{jh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{ig(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Vg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=d;i=0;m=g;b:while(1){n=f[k>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=m;s=k;t=o;while(1){f[s>>2]=t;if((r|0)==(a|0)){u=a;break}o=r+-4|0;t=f[o>>2]|0;if(h>>>0<=t>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(t<<3)>>2]|0)>>>0){u=r;break}else{v=r;r=o;s=v}}f[u>>2]=n;s=i+1|0;if((s|0)==8){w=0;x=(k+4|0)==(b|0);break a}else y=s}else y=i;s=k+4|0;if((s|0)==(b|0)){w=1;x=0;break a}else{r=k;k=s;i=y;m=r}}if((p|0)==14)aq(e);else if((p|0)==16)aq(e);else if((p|0)==20)aq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function $d(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;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;ci(f[i>>2]|0,b)|0;wn(h);tk(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Fj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(h);u=c;return 1}function ae(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;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)Mq(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;aq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Dc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)aq(y);return 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[4784]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19176+(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[4784]=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[4786]|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=19176+(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[4789]|0;h=m>>>3;l=19176+(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[4786]=j;f[4789]=k;o=e;u=b;return o|0}e=f[4785]|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[19440+((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=19440+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4785]=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[4789]|0;n=m>>>3;i=19176+(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[4786]=v;f[4789]=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[4785]|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[19440+(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[19440+((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[4786]|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=19440+(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=19176+(j<<1<<2)|0;d=f[4784]|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=19440+(_<<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[4785]=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[4786]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4789]|0;if(T>>>0>15){_=$+B|0;f[4789]=_;f[4786]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4786]=0;f[4789]=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[4787]|0;if($>>>0>B>>>0){T=$-B|0;f[4787]=T;S=f[4790]|0;_=S+B|0;f[4790]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[4902]|0)){f[4904]=4096;f[4903]=4096;f[4905]=-1;f[4906]=-1;f[4907]=0;f[4895]=0;f[4902]=c&-16^1431655768;aa=4096}else aa=f[4904]|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[4894]|0;if(X|0?(Y=f[4892]|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[4895]&4)){X=f[4790]|0;c:do if(X){Z=19584;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=Nl(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=Nl(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[4903]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4892]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4894]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Nl(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[4904]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Nl(X|0)|0)==(-1|0)){Nl(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4895]=f[4895]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Nl(aa|0)|0,aa=Nl(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[4892]|0)+da|0;f[4892]=ca;if(ca>>>0>(f[4893]|0)>>>0)f[4893]=ca;ca=f[4790]|0;do if(ca){ha=19584;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[4787]|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[4790]=ga;f[4787]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4791]=f[4906];break}if(ea>>>0<(f[4788]|0)>>>0)f[4788]=ea;fa=ea+da|0;S=19584;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=19584;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[4789]|0)==(aa|0)){ba=(f[4786]|0)+c|0;f[4786]=ba;f[4789]=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[4784]=f[4784]&~(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=19440+(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[4785]=f[4785]&~(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=19176+($<<1<<2)|0;Z=f[4784]|0;Y=1<<$;if(!(Z&Y)){f[4784]=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=19440+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4785]|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[4787]|0)+c|0;f[4787]=ba;f[4790]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=19584;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[4790]=fa;f[4787]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4791]=f[4906];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4896];f[c+4>>2]=f[4897];f[c+8>>2]=f[4898];f[c+12>>2]=f[4899];f[4896]=ea;f[4897]=da;f[4899]=0;f[4898]=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=19176+(ba<<1<<2)|0;S=f[4784]|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=19440+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4785]|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[4788]|0;if((c|0)==0|ea>>>0>>0)f[4788]=ea;f[4896]=ea;f[4897]=da;f[4899]=0;f[4793]=f[4902];f[4792]=-1;f[4797]=19176;f[4796]=19176;f[4799]=19184;f[4798]=19184;f[4801]=19192;f[4800]=19192;f[4803]=19200;f[4802]=19200;f[4805]=19208;f[4804]=19208;f[4807]=19216;f[4806]=19216;f[4809]=19224;f[4808]=19224;f[4811]=19232;f[4810]=19232;f[4813]=19240;f[4812]=19240;f[4815]=19248;f[4814]=19248;f[4817]=19256;f[4816]=19256;f[4819]=19264;f[4818]=19264;f[4821]=19272;f[4820]=19272;f[4823]=19280;f[4822]=19280;f[4825]=19288;f[4824]=19288;f[4827]=19296;f[4826]=19296;f[4829]=19304;f[4828]=19304;f[4831]=19312;f[4830]=19312;f[4833]=19320;f[4832]=19320;f[4835]=19328;f[4834]=19328;f[4837]=19336;f[4836]=19336;f[4839]=19344;f[4838]=19344;f[4841]=19352;f[4840]=19352;f[4843]=19360;f[4842]=19360;f[4845]=19368;f[4844]=19368;f[4847]=19376;f[4846]=19376;f[4849]=19384;f[4848]=19384;f[4851]=19392;f[4850]=19392;f[4853]=19400;f[4852]=19400;f[4855]=19408;f[4854]=19408;f[4857]=19416;f[4856]=19416;f[4859]=19424;f[4858]=19424;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[4790]=ba;f[4787]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4791]=f[4906]}while(0);ea=f[4787]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4787]=da;ea=f[4790]|0;ca=ea+B|0;f[4790]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=Vq()|0;f[ea>>2]=12;o=0;u=b;return o|0}function ab(a,c,d,e,g,i){a=a|0;c=c|0;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,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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=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.0,Wa=0.0,Xa=0.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;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=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[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=(g|0)==1;pa=Q+-1|0;if(F-D>>2>>>0>pa>>>0){qa=Q;ra=pa;sa=D;ta=P;ua=O;va=M;wa=M;xa=N;ya=M;za=N}else{Aa=G;aq(Aa)}b:while(1){pa=f[sa+(ra<<2)>>2]|0;Q=(((pa>>>0)%3|0|0)==0?2:-1)+pa|0;Ba=Q>>>5;Ca=1<<(Q&31);Da=(pa|0)==-1|(Q|0)==-1;Ea=1;Fa=0;Ga=pa;c:while(1){Ha=Ea^1;Ia=Fa;Ja=Ga;while(1){if((Ja|0)==-1){Ka=Ia;break c}La=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0?(Ma=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Ma|0)!=-1):0)?(Na=f[S>>2]|0,Oa=f[A>>2]|0,Pa=f[Oa+(f[Na+(Ma<<2)>>2]<<2)>>2]|0,Qa=Ma+1|0,Ra=f[Oa+(f[Na+((((Qa>>>0)%3|0|0)==0?Ma+-2|0:Qa)<<2)>>2]<<2)>>2]|0,Qa=f[Oa+(f[Na+((((Ma>>>0)%3|0|0)==0?2:-1)+Ma<<2)>>2]<<2)>>2]|0,(Pa|0)<(ra|0)&(Ra|0)<(ra|0)&(Qa|0)<(ra|0)):0){Ma=X(Pa,g)|0;Pa=X(Ra,g)|0;Ra=X(Qa,g)|0;if(T){Qa=0;do{f[La+(Qa<<2)>>2]=(f[c+(Qa+Ra<<2)>>2]|0)+(f[c+(Qa+Pa<<2)>>2]|0)-(f[c+(Qa+Ma<<2)>>2]|0);Qa=Qa+1|0}while((Qa|0)!=(g|0))}Qa=Ia+1|0;if((Qa|0)==4){Ka=4;break c}else Sa=Qa}else Sa=Ia;do if(Ea){Qa=Ja+1|0;Ma=((Qa>>>0)%3|0|0)==0?Ja+-2|0:Qa;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,Ma=Qa+1|0,(Qa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Qa+-2|0:Ma;else Ta=-1}else{Ma=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,(Qa|0)!=-1):0)if(!((Qa>>>0)%3|0)){Ta=Qa+2|0;break}else{Ta=Qa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(pa|0)){Ka=Sa;break c}if((Ta|0)!=-1|Ha){Ia=Sa;Ja=Ta}else break}if(Da){Ea=0;Fa=Sa;Ga=-1;continue}if(f[(f[e>>2]|0)+(Ba<<2)>>2]&Ca|0){Ea=0;Fa=Sa;Ga=-1;continue}Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ja|0)==-1){Ea=0;Fa=Sa;Ga=-1;continue}if(!((Ja>>>0)%3|0)){Ea=0;Fa=Sa;Ga=Ja+2|0;continue}else{Ea=0;Fa=Sa;Ga=Ja+-1|0;continue}}Ga=X(ra,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Fa=Ka+-1|0;Ea=p+(Fa<<3)|0;Q=Ea;Ca=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Ka|0,((Ka|0)<0)<<31>>31|0)|0;Q=I;Ba=Ea;f[Ba>>2]=Ca;f[Ba+4>>2]=Q;Ba=c+((X(qa+-2|0,g)|0)<<2)|0;Ea=c+(Ga<<2)|0;Da=f[_>>2]|0;if(T){pa=0;Ja=0;while(1){Ia=(f[Ba+(pa<<2)>>2]|0)-(f[Ea+(pa<<2)>>2]|0)|0;Ha=((Ia|0)>-1?Ia:0-Ia|0)+Ja|0;f[va+(pa<<2)>>2]=Ia;f[Da+(pa<<2)>>2]=Ia<<1^Ia>>31;pa=pa+1|0;if((pa|0)==(g|0)){Ua=Ha;break}else Ja=Ha}}else Ua=0;mo(j,$,Da,g);Ja=Zk(j)|0;pa=I;Ha=Bm(j)|0;Ia=I;Qa=o+(Fa<<3)|0;Ma=Qa;Pa=f[Ma>>2]|0;Ra=f[Ma+4>>2]|0;Va=+wm(Ca,Pa);Ma=Vn(Ha|0,Ia|0,Ja|0,pa|0)|0;Wa=+(Ca>>>0)+4294967296.0*+(Q|0);Xa=+W(+(Va*Wa));pa=Vn(Ma|0,I|0,~~Xa>>>0|0,(+K(Xa)>=1.0?(Xa>0.0?~~+Y(+J(Xa/4294967296.0),4294967295.0)>>>0:~~+W((Xa-+(~~Xa>>>0))/4294967296.0)>>>0):0)|0)|0;Ma=r;f[Ma>>2]=pa;f[Ma+4>>2]=Ua;b[V>>0]=0;f[Z>>2]=0;$f(aa,Ba,Ba+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Jf(ba,k,j);if((Ka|0)<1){Ya=za;Za=ya;_a=xa;$a=wa;ab=ua;bb=ta;cb=ta}else{Ma=n+Ka|0;pa=f[q>>2]|0;Ja=pa;Ia=f[H>>2]|0;Ha=Ma+-1|0;La=(Ha|0)==(n|0);Na=Ma+-2|0;Oa=ma>>>0>>0;db=~Ka;eb=Ka+2+((db|0)>-2?db:-2)|0;db=Ia;fb=Ha>>>0>n>>>0;gb=0;hb=1;while(1){gb=gb+1|0;sj(n|0,1,eb|0)|0;sj(n|0,0,gb|0)|0;ib=Vn(Pa|0,Ra|0,hb|0,0)|0;d:while(1){if(T){sj(f[m>>2]|0,0,na|0)|0;jb=f[m>>2]|0;kb=0;lb=0;while(1){if(!(b[n+kb>>0]|0)){mb=f[l+(kb*12|0)>>2]|0;nb=0;do{ob=jb+(nb<<2)|0;f[ob>>2]=(f[ob>>2]|0)+(f[mb+(nb<<2)>>2]|0);nb=nb+1|0}while((nb|0)!=(g|0));pb=(1<>0]|0))rb=(1<>2]|0;do if(T){f[kb>>2]=(f[kb>>2]|0)/(hb|0)|0;if(!oa){lb=1;do{jb=kb+(lb<<2)|0;f[jb>>2]=(f[jb>>2]|0)/(hb|0)|0;lb=lb+1|0}while((lb|0)!=(g|0));lb=f[_>>2]|0;if(T)sb=lb;else{tb=0;ub=lb;break}}else sb=f[_>>2]|0;lb=0;jb=0;while(1){nb=(f[kb+(lb<<2)>>2]|0)-(f[Ea+(lb<<2)>>2]|0)|0;mb=((nb|0)>-1?nb:0-nb|0)+jb|0;f[pa+(lb<<2)>>2]=nb;f[sb+(lb<<2)>>2]=nb<<1^nb>>31;lb=lb+1|0;if((lb|0)==(g|0)){tb=mb;ub=sb;break}else jb=mb}}else{tb=0;ub=f[_>>2]|0}while(0);mo(j,$,ub,g);kb=Zk(j)|0;jb=I;lb=Bm(j)|0;mb=I;Xa=+wm(Ca,ib);nb=Vn(lb|0,mb|0,kb|0,jb|0)|0;Va=+W(+(Xa*Wa));jb=Vn(nb|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;nb=f[r>>2]|0;if(!((nb|0)<=(jb|0)?!((nb|0)>=(jb|0)?(tb|0)<(f[U>>2]|0):0):0)){nb=r;f[nb>>2]=jb;f[nb+4>>2]=tb;b[V>>0]=qb;f[Z>>2]=hb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Jf(aa,k,j);f[x>>2]=Ja;f[y>>2]=Ia;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Jf(ba,k,j)}if(La)break;vb=b[Ha>>0]|0;nb=-1;jb=vb;while(1){kb=nb+-1|0;wb=Ma+kb|0;mb=jb;jb=b[wb>>0]|0;if((jb&255)<(mb&255))break;if((wb|0)==(n|0)){xb=84;break d}else nb=kb}kb=Ma+nb|0;if((jb&255)<(vb&255)){yb=Ha;zb=vb}else{mb=Ma;lb=Ha;while(1){ob=lb+-1|0;if((jb&255)<(h[mb+-2>>0]|0)){yb=ob;zb=1;break}else{Ab=lb;lb=ob;mb=Ab}}}b[wb>>0]=zb;b[yb>>0]=jb;if((nb|0)<-1){Bb=kb;Cb=Ha}else continue;while(1){mb=b[Bb>>0]|0;b[Bb>>0]=b[Cb>>0]|0;b[Cb>>0]=mb;mb=Bb+1|0;lb=Cb+-1|0;if(mb>>>0>>0){Bb=mb;Cb=lb}else continue d}}if(((xb|0)==84?(xb=0,fb):0)?(ib=b[n>>0]|0,b[n>>0]=vb,b[Ha>>0]=ib,Oa):0){ib=Na;kb=ma;do{nb=b[kb>>0]|0;b[kb>>0]=b[ib>>0]|0;b[ib>>0]=nb;kb=kb+1|0;ib=ib+-1|0}while(kb>>>0>>0)}if((hb|0)>=(Ka|0)){Ya=db;Za=pa;_a=db;$a=pa;ab=Ia;bb=Ja;cb=pa;break}else hb=hb+1|0}}hb=f[Z>>2]|0;pa=Vn(Pa|0,Ra|0,hb|0,((hb|0)<0)<<31>>31|0)|0;hb=Qa;f[hb>>2]=pa;f[hb+4>>2]=I;if(T){hb=f[ba>>2]|0;pa=f[C>>2]|0;Ja=0;do{Ia=f[hb+(Ja<<2)>>2]|0;f[pa+(Ja<<2)>>2]=Ia<<1^Ia>>31;Ja=Ja+1|0}while((Ja|0)!=(g|0));Db=pa}else Db=f[C>>2]|0;lo(j,$,Db,g);if((Ka|0)>0){Eb=a+60+(Fa*12|0)|0;pa=a+60+(Fa*12|0)+4|0;Ja=a+60+(Fa*12|0)+8|0;hb=0;do{Qa=f[pa>>2]|0;Ra=f[Ja>>2]|0;Pa=(Qa|0)==(Ra<<5|0);if(!(1<>0])){if(Pa){if((Qa+1|0)<0){xb=108;break b}Ia=Ra<<6;db=Qa+32&-32;vi(Eb,Qa>>>0<1073741823?(Ia>>>0>>0?db:Ia):2147483647);Fb=f[pa>>2]|0}else Fb=Qa;f[pa>>2]=Fb+1;Ia=(f[Eb>>2]|0)+(Fb>>>5<<2)|0;f[Ia>>2]=f[Ia>>2]|1<<(Fb&31)}else{if(Pa){if((Qa+1|0)<0){xb=113;break b}Pa=Ra<<6;Ra=Qa+32&-32;vi(Eb,Qa>>>0<1073741823?(Pa>>>0>>0?Ra:Pa):2147483647);Gb=f[pa>>2]|0}else Gb=Qa;f[pa>>2]=Gb+1;Qa=(f[Eb>>2]|0)+(Gb>>>5<<2)|0;f[Qa>>2]=f[Qa>>2]&~(1<<(Gb&31))}hb=hb+1|0}while((hb|0)<(Ka|0))}hb=d+(Ga<<2)|0;pa=f[z>>2]|0;if((pa|0)>0){Ja=0;Fa=f[aa>>2]|0;Qa=pa;while(1){if((Qa|0)>0){pa=0;do{Pa=f[Fa+(pa<<2)>>2]|0;Ra=f[ca>>2]|0;if((Pa|0)>(Ra|0)){Ia=f[da>>2]|0;f[Ia+(pa<<2)>>2]=Ra;Hb=Ia}else{Ia=f[ea>>2]|0;Ra=f[da>>2]|0;f[Ra+(pa<<2)>>2]=(Pa|0)<(Ia|0)?Ia:Pa;Hb=Ra}pa=pa+1|0}while((pa|0)<(f[z>>2]|0));Ib=Hb}else Ib=f[da>>2]|0;pa=(f[Ea+(Ja<<2)>>2]|0)-(f[Ib+(Ja<<2)>>2]|0)|0;Ra=hb+(Ja<<2)|0;f[Ra>>2]=pa;do if((pa|0)<(f[fa>>2]|0)){Jb=(f[ga>>2]|0)+pa|0;xb=103}else{if((pa|0)<=(f[ha>>2]|0))break;Jb=pa-(f[ga>>2]|0)|0;xb=103}while(0);if((xb|0)==103){xb=0;f[Ra>>2]=Jb}Ja=Ja+1|0;Qa=f[z>>2]|0;if((Ja|0)>=(Qa|0))break;else Fa=Ib}}Fa=f[ia>>2]|0;if(Fa|0){Qa=f[la>>2]|0;if((Qa|0)!=(Fa|0))f[la>>2]=Qa+(~((Qa+-4-Fa|0)>>>2)<<2);Oq(Fa)}Fa=f[ja>>2]|0;if(Fa|0){Qa=f[ka>>2]|0;if((Qa|0)!=(Fa|0))f[ka>>2]=Qa+(~((Qa+-4-Fa|0)>>>2)<<2);Oq(Fa)}if((qa|0)<=2){Kb=$a;Lb=_a;break a}Fa=f[B>>2]|0;sa=f[Fa>>2]|0;Qa=ra+-1|0;if((f[Fa+4>>2]|0)-sa>>2>>>0<=Qa>>>0){Aa=Fa;xb=18;break}else{Fa=ra;ra=Qa;ta=bb;ua=ab;va=cb;wa=$a;xa=_a;ya=Za;za=Ya;qa=Fa}}if((xb|0)==18)aq(Aa);else if((xb|0)==108)aq(Eb);else if((xb|0)==113)aq(Eb)}else{Kb=M;Lb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Eb=a+32|0;Aa=a+12|0;qa=a+28|0;Ya=a+20|0;za=a+24|0;a=0;Za=N;N=g;while(1){if((N|0)>0){g=0;do{ya=f[Za+(g<<2)>>2]|0;_a=f[M>>2]|0;if((ya|0)>(_a|0)){xa=f[Eb>>2]|0;f[xa+(g<<2)>>2]=_a;Mb=xa}else{xa=f[Aa>>2]|0;_a=f[Eb>>2]|0;f[_a+(g<<2)>>2]=(ya|0)<(xa|0)?xa:ya;Mb=_a}g=g+1|0}while((g|0)<(f[z>>2]|0));Nb=Mb}else Nb=f[Eb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Nb+(a<<2)>>2]|0)|0;_a=d+(a<<2)|0;f[_a>>2]=g;if((g|0)>=(f[qa>>2]|0)){if((g|0)>(f[za>>2]|0)){Ob=g-(f[Ya>>2]|0)|0;xb=139}}else{Ob=(f[Ya>>2]|0)+g|0;xb=139}if((xb|0)==139){xb=0;f[_a>>2]=Ob}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Za=Nb}}if(Kb|0){if((Lb|0)!=(Kb|0))f[H>>2]=Lb+(~((Lb+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[m>>2]|0;if(Kb|0){m=f[E>>2]|0;if((m|0)!=(Kb|0))f[E>>2]=m+(~((m+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l+36>>2]|0;if(Kb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Kb|0))f[m>>2]=E+(~((E+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l+24>>2]|0;if(Kb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Kb|0))f[E>>2]=m+(~((m+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l+12>>2]|0;if(Kb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Kb|0))f[m>>2]=E+(~((E+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l>>2]|0;if(!Kb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Kb|0))f[E>>2]=l+(~((l+-4-Kb|0)>>>2)<<2);Oq(Kb);u=i;return 1}function bb(a,c,d,e,g,i){a=a|0;c=c|0;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,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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=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.0,Wa=0.0,Xa=0.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;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=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[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=(g|0)==1;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=Q;qa=oa;ra=D;sa=P;ta=O;ua=M;va=M;wa=N;xa=M;ya=N}else{za=G;aq(za)}b:while(1){oa=f[ra+(qa<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=(oa|0)==-1|(Q|0)==-1;Ba=1;Ca=0;Da=oa;c:while(1){Ea=Ba^1;Fa=Ca;Ga=Da;while(1){if((Ga|0)==-1){Ha=Fa;break c}Ia=f[l+(Fa*12|0)>>2]|0;Ja=f[R>>2]|0;Ka=f[Ja+(Ga<<2)>>2]|0;if((Ka|0)!=-1){La=f[e>>2]|0;Ma=f[A>>2]|0;Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0;Oa=Ka+1|0;Pa=((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa;if((Pa|0)==-1)Qa=-1;else Qa=f[La+(Pa<<2)>>2]|0;Pa=f[Ma+(Qa<<2)>>2]|0;Oa=(((Ka>>>0)%3|0|0)==0?2:-1)+Ka|0;if((Oa|0)==-1)Ra=-1;else Ra=f[La+(Oa<<2)>>2]|0;Oa=f[Ma+(Ra<<2)>>2]|0;if((Na|0)<(qa|0)&(Pa|0)<(qa|0)&(Oa|0)<(qa|0)){Ma=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(S){Oa=0;do{f[Ia+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ma<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Fa+1|0;if((Oa|0)==4){Ha=4;break c}else Sa=Oa}else Sa=Fa}else Sa=Fa;do if(Ba){Oa=Ga+1|0;Ma=((Oa>>>0)%3|0|0)==0?Ga+-2|0:Oa;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,Ma=Oa+1|0,(Oa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Oa+-2|0:Ma;else Ta=-1}else{Ma=(((Ga>>>0)%3|0|0)==0?2:-1)+Ga|0;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ta=Oa+2|0;break}else{Ta=Oa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(oa|0)){Ha=Sa;break c}if((Ta|0)!=-1|Ea){Fa=Sa;Ga=Ta}else break}if(Aa){Ba=0;Ca=Sa;Da=-1;continue}Ga=f[Ja+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=0;Ca=Sa;Da=-1;continue}if(!((Ga>>>0)%3|0)){Ba=0;Ca=Sa;Da=Ga+2|0;continue}else{Ba=0;Ca=Sa;Da=Ga+-1|0;continue}}Da=X(qa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ca=Ha+-1|0;Ba=p+(Ca<<3)|0;Q=Ba;Aa=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Q=I;oa=Ba;f[oa>>2]=Aa;f[oa+4>>2]=Q;oa=c+((X(pa+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Ga=f[Z>>2]|0;if(S){Fa=0;Ea=0;while(1){Oa=(f[oa+(Fa<<2)>>2]|0)-(f[Ba+(Fa<<2)>>2]|0)|0;Ma=((Oa|0)>-1?Oa:0-Oa|0)+Ea|0;f[ua+(Fa<<2)>>2]=Oa;f[Ga+(Fa<<2)>>2]=Oa<<1^Oa>>31;Fa=Fa+1|0;if((Fa|0)==(g|0)){Ua=Ma;break}else Ea=Ma}}else Ua=0;mo(j,_,Ga,g);Ea=Zk(j)|0;Fa=I;Ma=Bm(j)|0;Oa=I;Na=o+(Ca<<3)|0;Pa=Na;Ia=f[Pa>>2]|0;La=f[Pa+4>>2]|0;Va=+wm(Aa,Ia);Pa=Vn(Ma|0,Oa|0,Ea|0,Fa|0)|0;Wa=+(Aa>>>0)+4294967296.0*+(Q|0);Xa=+W(+(Va*Wa));Fa=Vn(Pa|0,I|0,~~Xa>>>0|0,(+K(Xa)>=1.0?(Xa>0.0?~~+Y(+J(Xa/4294967296.0),4294967295.0)>>>0:~~+W((Xa-+(~~Xa>>>0))/4294967296.0)>>>0):0)|0)|0;Pa=r;f[Pa>>2]=Fa;f[Pa+4>>2]=Ua;b[U>>0]=0;f[V>>2]=0;$f($,oa,oa+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Jf(aa,k,j);if((Ha|0)<1){Ya=ya;Za=xa;_a=wa;$a=va;ab=ta;bb=sa;cb=sa}else{Pa=n+Ha|0;Fa=f[q>>2]|0;Ea=Fa;Oa=f[H>>2]|0;Ma=Pa+-1|0;Ka=(Ma|0)==(n|0);db=Pa+-2|0;eb=la>>>0>>0;fb=~Ha;gb=Ha+2+((fb|0)>-2?fb:-2)|0;fb=Oa;hb=Ma>>>0>n>>>0;ib=0;jb=1;while(1){ib=ib+1|0;sj(n|0,1,gb|0)|0;sj(n|0,0,ib|0)|0;kb=Vn(Ia|0,La|0,jb|0,0)|0;d:while(1){if(S){sj(f[m>>2]|0,0,ma|0)|0;lb=f[m>>2]|0;mb=0;nb=0;while(1){if(!(b[n+mb>>0]|0)){ob=f[l+(mb*12|0)>>2]|0;pb=0;do{qb=lb+(pb<<2)|0;f[qb>>2]=(f[qb>>2]|0)+(f[ob+(pb<<2)>>2]|0);pb=pb+1|0}while((pb|0)!=(g|0));rb=(1<>0]|0))tb=(1<>2]|0;do if(S){f[mb>>2]=(f[mb>>2]|0)/(jb|0)|0;if(!na){nb=1;do{lb=mb+(nb<<2)|0;f[lb>>2]=(f[lb>>2]|0)/(jb|0)|0;nb=nb+1|0}while((nb|0)!=(g|0));nb=f[Z>>2]|0;if(S)ub=nb;else{vb=0;wb=nb;break}}else ub=f[Z>>2]|0;nb=0;lb=0;while(1){pb=(f[mb+(nb<<2)>>2]|0)-(f[Ba+(nb<<2)>>2]|0)|0;ob=((pb|0)>-1?pb:0-pb|0)+lb|0;f[Fa+(nb<<2)>>2]=pb;f[ub+(nb<<2)>>2]=pb<<1^pb>>31;nb=nb+1|0;if((nb|0)==(g|0)){vb=ob;wb=ub;break}else lb=ob}}else{vb=0;wb=f[Z>>2]|0}while(0);mo(j,_,wb,g);mb=Zk(j)|0;lb=I;nb=Bm(j)|0;ob=I;Xa=+wm(Aa,kb);pb=Vn(nb|0,ob|0,mb|0,lb|0)|0;Va=+W(+(Xa*Wa));lb=Vn(pb|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;pb=f[r>>2]|0;if(!((pb|0)<=(lb|0)?!((pb|0)>=(lb|0)?(vb|0)<(f[T>>2]|0):0):0)){pb=r;f[pb>>2]=lb;f[pb+4>>2]=vb;b[U>>0]=sb;f[V>>2]=jb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Jf($,k,j);f[x>>2]=Ea;f[y>>2]=Oa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Jf(aa,k,j)}if(Ka)break;xb=b[Ma>>0]|0;pb=-1;lb=xb;while(1){mb=pb+-1|0;yb=Pa+mb|0;ob=lb;lb=b[yb>>0]|0;if((lb&255)<(ob&255))break;if((yb|0)==(n|0)){zb=84;break d}else pb=mb}mb=Pa+pb|0;if((lb&255)<(xb&255)){Ab=Ma;Bb=xb}else{ob=Pa;nb=Ma;while(1){qb=nb+-1|0;if((lb&255)<(h[ob+-2>>0]|0)){Ab=qb;Bb=1;break}else{Cb=nb;nb=qb;ob=Cb}}}b[yb>>0]=Bb;b[Ab>>0]=lb;if((pb|0)<-1){Db=mb;Eb=Ma}else continue;while(1){ob=b[Db>>0]|0;b[Db>>0]=b[Eb>>0]|0;b[Eb>>0]=ob;ob=Db+1|0;nb=Eb+-1|0;if(ob>>>0>>0){Db=ob;Eb=nb}else continue d}}if(((zb|0)==84?(zb=0,hb):0)?(kb=b[n>>0]|0,b[n>>0]=xb,b[Ma>>0]=kb,eb):0){kb=db;mb=la;do{pb=b[mb>>0]|0;b[mb>>0]=b[kb>>0]|0;b[kb>>0]=pb;mb=mb+1|0;kb=kb+-1|0}while(mb>>>0>>0)}if((jb|0)>=(Ha|0)){Ya=fb;Za=Fa;_a=fb;$a=Fa;ab=Oa;bb=Ea;cb=Fa;break}else jb=jb+1|0}}jb=f[V>>2]|0;Fa=Vn(Ia|0,La|0,jb|0,((jb|0)<0)<<31>>31|0)|0;jb=Na;f[jb>>2]=Fa;f[jb+4>>2]=I;if(S){jb=f[aa>>2]|0;Fa=f[C>>2]|0;Ea=0;do{Oa=f[jb+(Ea<<2)>>2]|0;f[Fa+(Ea<<2)>>2]=Oa<<1^Oa>>31;Ea=Ea+1|0}while((Ea|0)!=(g|0));Fb=Fa}else Fb=f[C>>2]|0;lo(j,_,Fb,g);if((Ha|0)>0){Gb=a+60+(Ca*12|0)|0;Fa=a+60+(Ca*12|0)+4|0;Ea=a+60+(Ca*12|0)+8|0;jb=0;do{Na=f[Fa>>2]|0;La=f[Ea>>2]|0;Ia=(Na|0)==(La<<5|0);if(!(1<>0])){if(Ia){if((Na+1|0)<0){zb=108;break b}Oa=La<<6;fb=Na+32&-32;vi(Gb,Na>>>0<1073741823?(Oa>>>0>>0?fb:Oa):2147483647);Hb=f[Fa>>2]|0}else Hb=Na;f[Fa>>2]=Hb+1;Oa=(f[Gb>>2]|0)+(Hb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]|1<<(Hb&31)}else{if(Ia){if((Na+1|0)<0){zb=113;break b}Ia=La<<6;La=Na+32&-32;vi(Gb,Na>>>0<1073741823?(Ia>>>0>>0?La:Ia):2147483647);Ib=f[Fa>>2]|0}else Ib=Na;f[Fa>>2]=Ib+1;Na=(f[Gb>>2]|0)+(Ib>>>5<<2)|0;f[Na>>2]=f[Na>>2]&~(1<<(Ib&31))}jb=jb+1|0}while((jb|0)<(Ha|0))}jb=d+(Da<<2)|0;Fa=f[z>>2]|0;if((Fa|0)>0){Ea=0;Ca=f[$>>2]|0;Na=Fa;while(1){if((Na|0)>0){Fa=0;do{Ia=f[Ca+(Fa<<2)>>2]|0;La=f[ba>>2]|0;if((Ia|0)>(La|0)){Oa=f[ca>>2]|0;f[Oa+(Fa<<2)>>2]=La;Jb=Oa}else{Oa=f[da>>2]|0;La=f[ca>>2]|0;f[La+(Fa<<2)>>2]=(Ia|0)<(Oa|0)?Oa:Ia;Jb=La}Fa=Fa+1|0}while((Fa|0)<(f[z>>2]|0));Kb=Jb}else Kb=f[ca>>2]|0;Fa=(f[Ba+(Ea<<2)>>2]|0)-(f[Kb+(Ea<<2)>>2]|0)|0;La=jb+(Ea<<2)|0;f[La>>2]=Fa;do if((Fa|0)<(f[ea>>2]|0)){Lb=(f[fa>>2]|0)+Fa|0;zb=103}else{if((Fa|0)<=(f[ga>>2]|0))break;Lb=Fa-(f[fa>>2]|0)|0;zb=103}while(0);if((zb|0)==103){zb=0;f[La>>2]=Lb}Ea=Ea+1|0;Na=f[z>>2]|0;if((Ea|0)>=(Na|0))break;else Ca=Kb}}Ca=f[ha>>2]|0;if(Ca|0){Na=f[ka>>2]|0;if((Na|0)!=(Ca|0))f[ka>>2]=Na+(~((Na+-4-Ca|0)>>>2)<<2);Oq(Ca)}Ca=f[ia>>2]|0;if(Ca|0){Na=f[ja>>2]|0;if((Na|0)!=(Ca|0))f[ja>>2]=Na+(~((Na+-4-Ca|0)>>>2)<<2);Oq(Ca)}if((pa|0)<=2){Mb=$a;Nb=_a;break a}Ca=f[B>>2]|0;ra=f[Ca>>2]|0;Na=qa+-1|0;if((f[Ca+4>>2]|0)-ra>>2>>>0<=Na>>>0){za=Ca;zb=18;break}else{Ca=qa;qa=Na;sa=bb;ta=ab;ua=cb;va=$a;wa=_a;xa=Za;ya=Ya;pa=Ca}}if((zb|0)==18)aq(za);else if((zb|0)==108)aq(Gb);else if((zb|0)==113)aq(Gb)}else{Mb=M;Nb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Gb=a+32|0;za=a+12|0;pa=a+28|0;Ya=a+20|0;ya=a+24|0;a=0;Za=N;N=g;while(1){if((N|0)>0){g=0;do{xa=f[Za+(g<<2)>>2]|0;_a=f[M>>2]|0;if((xa|0)>(_a|0)){wa=f[Gb>>2]|0;f[wa+(g<<2)>>2]=_a;Ob=wa}else{wa=f[za>>2]|0;_a=f[Gb>>2]|0;f[_a+(g<<2)>>2]=(xa|0)<(wa|0)?wa:xa;Ob=_a}g=g+1|0}while((g|0)<(f[z>>2]|0));Pb=Ob}else Pb=f[Gb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Pb+(a<<2)>>2]|0)|0;_a=d+(a<<2)|0;f[_a>>2]=g;if((g|0)>=(f[pa>>2]|0)){if((g|0)>(f[ya>>2]|0)){Qb=g-(f[Ya>>2]|0)|0;zb=139}}else{Qb=(f[Ya>>2]|0)+g|0;zb=139}if((zb|0)==139){zb=0;f[_a>>2]=Qb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Za=Pb}}if(Mb|0){if((Nb|0)!=(Mb|0))f[H>>2]=Nb+(~((Nb+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[m>>2]|0;if(Mb|0){m=f[E>>2]|0;if((m|0)!=(Mb|0))f[E>>2]=m+(~((m+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l+36>>2]|0;if(Mb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Mb|0))f[m>>2]=E+(~((E+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l+24>>2]|0;if(Mb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Mb|0))f[E>>2]=m+(~((m+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l+12>>2]|0;if(Mb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Mb|0))f[m>>2]=E+(~((E+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l>>2]|0;if(!Mb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Mb|0))f[E>>2]=l+(~((l+-4-Mb|0)>>>2)<<2);Oq(Mb);u=i;return 1}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=(Hl(6952,7144,e,c)|0)-6952>>2;k=h;a:while(1){l=(f[6952+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[6760+(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=Hl(6760,6952,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,c,d,e,g,i){a=a|0;c=c|0;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,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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=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.0,Ua=0.0,Va=0.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;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=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[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=(g|0)==1;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=Q;pa=na;qa=D;ra=P;sa=O;ta=M;ua=M;va=N;wa=M;xa=N}else{ya=G;aq(ya)}b:while(1){na=f[qa+(pa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=Q>>>5;Aa=1<<(Q&31);Ba=(na|0)==-1|(Q|0)==-1;Ca=1;Da=0;Ea=na;c:while(1){Fa=Ca^1;Ga=Da;Ha=Ea;while(1){if((Ha|0)==-1){Ia=Ga;break c}Ja=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(Ka=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(Ka|0)!=-1):0)?(La=f[S>>2]|0,Ma=f[A>>2]|0,Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0,Oa=Ka+1|0,Pa=f[Ma+(f[La+((((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa)<<2)>>2]<<2)>>2]|0,Oa=f[Ma+(f[La+((((Ka>>>0)%3|0|0)==0?2:-1)+Ka<<2)>>2]<<2)>>2]|0,(Na|0)<(pa|0)&(Pa|0)<(pa|0)&(Oa|0)<(pa|0)):0){Ka=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(T){Oa=0;do{f[Ja+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ka<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Ga+1|0;if((Oa|0)==4){Ia=4;break c}else Qa=Oa}else Qa=Ga;do if(Ca){Oa=Ha+1|0;Ka=((Oa>>>0)%3|0|0)==0?Ha+-2|0:Oa;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,Ka=Oa+1|0,(Oa|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Oa+-2|0:Ka;else Ra=-1}else{Ka=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ra=Oa+2|0;break}else{Ra=Oa+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(na|0)){Ia=Qa;break c}if((Ra|0)!=-1|Fa){Ga=Qa;Ha=Ra}else break}if(Ba){Ca=0;Da=Qa;Ea=-1;continue}if(f[(f[z>>2]|0)+(za<<2)>>2]&Aa|0){Ca=0;Da=Qa;Ea=-1;continue}Ha=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ha|0)==-1){Ca=0;Da=Qa;Ea=-1;continue}if(!((Ha>>>0)%3|0)){Ca=0;Da=Qa;Ea=Ha+2|0;continue}else{Ca=0;Da=Qa;Ea=Ha+-1|0;continue}}Ea=X(pa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Da=Ia+-1|0;Ca=p+(Da<<3)|0;Q=Ca;Aa=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Ia|0,((Ia|0)<0)<<31>>31|0)|0;Q=I;za=Ca;f[za>>2]=Aa;f[za+4>>2]=Q;za=c+((X(oa+-2|0,g)|0)<<2)|0;Ca=c+(Ea<<2)|0;Ba=f[_>>2]|0;if(T){na=0;Ha=0;while(1){Ga=(f[za+(na<<2)>>2]|0)-(f[Ca+(na<<2)>>2]|0)|0;Fa=((Ga|0)>-1?Ga:0-Ga|0)+Ha|0;f[ta+(na<<2)>>2]=Ga;f[Ba+(na<<2)>>2]=Ga<<1^Ga>>31;na=na+1|0;if((na|0)==(g|0)){Sa=Fa;break}else Ha=Fa}}else Sa=0;mo(e,$,Ba,g);Ha=Zk(e)|0;na=I;Fa=Bm(e)|0;Ga=I;Oa=o+(Da<<3)|0;Ka=Oa;Na=f[Ka>>2]|0;Pa=f[Ka+4>>2]|0;Ta=+wm(Aa,Na);Ka=Vn(Fa|0,Ga|0,Ha|0,na|0)|0;Ua=+(Aa>>>0)+4294967296.0*+(Q|0);Va=+W(+(Ta*Ua));na=Vn(Ka|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Ka=r;f[Ka>>2]=na;f[Ka+4>>2]=Sa;b[V>>0]=0;f[Z>>2]=0;$f(aa,za,za+(g<<2)|0);f[s>>2]=ra;f[t>>2]=sa;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Jf(ba,j,e);if((Ia|0)<1){Wa=xa;Xa=wa;Ya=va;Za=ua;_a=sa;$a=ra;ab=ra}else{Ka=n+Ia|0;na=f[q>>2]|0;Ha=na;Ga=f[H>>2]|0;Fa=Ka+-1|0;Ja=(Fa|0)==(n|0);La=Ka+-2|0;Ma=ka>>>0>>0;bb=~Ia;cb=Ia+2+((bb|0)>-2?bb:-2)|0;bb=Ga;db=Fa>>>0>n>>>0;eb=0;fb=1;while(1){eb=eb+1|0;sj(n|0,1,cb|0)|0;sj(n|0,0,eb|0)|0;gb=Vn(Na|0,Pa|0,fb|0,0)|0;d:while(1){if(T){sj(f[m>>2]|0,0,la|0)|0;hb=f[m>>2]|0;ib=0;jb=0;while(1){if(!(b[n+ib>>0]|0)){kb=f[l+(ib*12|0)>>2]|0;lb=0;do{mb=hb+(lb<<2)|0;f[mb>>2]=(f[mb>>2]|0)+(f[kb+(lb<<2)>>2]|0);lb=lb+1|0}while((lb|0)!=(g|0));nb=(1<>0]|0))pb=(1<>2]|0;do if(T){f[ib>>2]=(f[ib>>2]|0)/(fb|0)|0;if(!ma){jb=1;do{hb=ib+(jb<<2)|0;f[hb>>2]=(f[hb>>2]|0)/(fb|0)|0;jb=jb+1|0}while((jb|0)!=(g|0));jb=f[_>>2]|0;if(T)qb=jb;else{rb=0;sb=jb;break}}else qb=f[_>>2]|0;jb=0;hb=0;while(1){lb=(f[ib+(jb<<2)>>2]|0)-(f[Ca+(jb<<2)>>2]|0)|0;kb=((lb|0)>-1?lb:0-lb|0)+hb|0;f[na+(jb<<2)>>2]=lb;f[qb+(jb<<2)>>2]=lb<<1^lb>>31;jb=jb+1|0;if((jb|0)==(g|0)){rb=kb;sb=qb;break}else hb=kb}}else{rb=0;sb=f[_>>2]|0}while(0);mo(e,$,sb,g);ib=Zk(e)|0;hb=I;jb=Bm(e)|0;kb=I;Va=+wm(Aa,gb);lb=Vn(jb|0,kb|0,ib|0,hb|0)|0;Ta=+W(+(Va*Ua));hb=Vn(lb|0,I|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;lb=f[r>>2]|0;if(!((lb|0)<=(hb|0)?!((lb|0)>=(hb|0)?(rb|0)<(f[U>>2]|0):0):0)){lb=r;f[lb>>2]=hb;f[lb+4>>2]=rb;b[V>>0]=ob;f[Z>>2]=fb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Jf(aa,j,e);f[x>>2]=Ha;f[y>>2]=Ga;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Jf(ba,j,e)}if(Ja)break;tb=b[Fa>>0]|0;lb=-1;hb=tb;while(1){ib=lb+-1|0;ub=Ka+ib|0;kb=hb;hb=b[ub>>0]|0;if((hb&255)<(kb&255))break;if((ub|0)==(n|0)){vb=84;break d}else lb=ib}ib=Ka+lb|0;if((hb&255)<(tb&255)){wb=Fa;xb=tb}else{kb=Ka;jb=Fa;while(1){mb=jb+-1|0;if((hb&255)<(h[kb+-2>>0]|0)){wb=mb;xb=1;break}else{yb=jb;jb=mb;kb=yb}}}b[ub>>0]=xb;b[wb>>0]=hb;if((lb|0)<-1){zb=ib;Ab=Fa}else continue;while(1){kb=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=kb;kb=zb+1|0;jb=Ab+-1|0;if(kb>>>0>>0){zb=kb;Ab=jb}else continue d}}if(((vb|0)==84?(vb=0,db):0)?(gb=b[n>>0]|0,b[n>>0]=tb,b[Fa>>0]=gb,Ma):0){gb=La;ib=ka;do{lb=b[ib>>0]|0;b[ib>>0]=b[gb>>0]|0;b[gb>>0]=lb;ib=ib+1|0;gb=gb+-1|0}while(ib>>>0>>0)}if((fb|0)>=(Ia|0)){Wa=bb;Xa=na;Ya=bb;Za=na;_a=Ga;$a=Ha;ab=na;break}else fb=fb+1|0}}fb=f[Z>>2]|0;na=Vn(Na|0,Pa|0,fb|0,((fb|0)<0)<<31>>31|0)|0;fb=Oa;f[fb>>2]=na;f[fb+4>>2]=I;if(T){fb=f[ba>>2]|0;na=f[C>>2]|0;Ha=0;do{Ga=f[fb+(Ha<<2)>>2]|0;f[na+(Ha<<2)>>2]=Ga<<1^Ga>>31;Ha=Ha+1|0}while((Ha|0)!=(g|0));Bb=na}else Bb=f[C>>2]|0;lo(e,$,Bb,g);if((Ia|0)>0){Cb=a+40+(Da*12|0)|0;na=a+40+(Da*12|0)+4|0;Ha=a+40+(Da*12|0)+8|0;fb=0;do{Oa=f[na>>2]|0;Pa=f[Ha>>2]|0;Na=(Oa|0)==(Pa<<5|0);if(!(1<>0])){if(Na){if((Oa+1|0)<0){vb=95;break b}Ga=Pa<<6;bb=Oa+32&-32;vi(Cb,Oa>>>0<1073741823?(Ga>>>0>>0?bb:Ga):2147483647);Db=f[na>>2]|0}else Db=Oa;f[na>>2]=Db+1;Ga=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[Ga>>2]=f[Ga>>2]|1<<(Db&31)}else{if(Na){if((Oa+1|0)<0){vb=100;break b}Na=Pa<<6;Pa=Oa+32&-32;vi(Cb,Oa>>>0<1073741823?(Na>>>0>>0?Pa:Na):2147483647);Eb=f[na>>2]|0}else Eb=Oa;f[na>>2]=Eb+1;Oa=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]&~(1<<(Eb&31))}fb=fb+1|0}while((fb|0)<(Ia|0))}fb=f[aa>>2]|0;na=d+(Ea<<2)|0;Ha=f[Ca+4>>2]|0;Da=f[fb>>2]|0;Oa=f[fb+4>>2]|0;f[j>>2]=f[Ca>>2];f[da>>2]=Ha;f[k>>2]=Da;f[ea>>2]=Oa;Od(e,ca,j,k);f[na>>2]=f[e>>2];f[na+4>>2]=f[fa>>2];na=f[ga>>2]|0;if(na|0){Oa=f[ja>>2]|0;if((Oa|0)!=(na|0))f[ja>>2]=Oa+(~((Oa+-4-na|0)>>>2)<<2);Oq(na)}na=f[ha>>2]|0;if(na|0){Oa=f[ia>>2]|0;if((Oa|0)!=(na|0))f[ia>>2]=Oa+(~((Oa+-4-na|0)>>>2)<<2);Oq(na)}if((oa|0)<=2){Fb=Za;Gb=Ya;break a}na=f[B>>2]|0;qa=f[na>>2]|0;Oa=pa+-1|0;if((f[na+4>>2]|0)-qa>>2>>>0<=Oa>>>0){ya=na;vb=18;break}else{na=pa;pa=Oa;ra=$a;sa=_a;ta=ab;ua=Za;va=Ya;wa=Xa;xa=Wa;oa=na}}if((vb|0)==18)aq(ya);else if((vb|0)==95)aq(Cb);else if((vb|0)==100)aq(Cb)}else{Fb=M;Gb=N}while(0);if((g|0)>0)sj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Cb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Cb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Fb|0){if((Gb|0)!=(Fb|0))f[H>>2]=Gb+(~((Gb+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[m>>2]|0;if(Fb|0){m=f[E>>2]|0;if((m|0)!=(Fb|0))f[E>>2]=m+(~((m+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l+36>>2]|0;if(Fb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Fb|0))f[m>>2]=E+(~((E+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l+24>>2]|0;if(Fb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Fb|0))f[E>>2]=m+(~((m+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l+12>>2]|0;if(Fb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Fb|0))f[m>>2]=E+(~((E+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l>>2]|0;if(!Fb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Fb|0))f[E>>2]=l+(~((l+-4-Fb|0)>>>2)<<2);Oq(Fb);u=i;return 1}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,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 Ch(h,b-l|0,6140);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)aq(d);k=((b+-1|0)>>>5)+1|0;m=ln(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;sj(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)aq(e);v=((o+-1|0)>>>5)+1|0;w=ln(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;sj(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))Ri(h,6140);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ri(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;vi(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)aq(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)Oq(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}Oq(_b);u=c;return 1}function fb(a,c,d,e,g,i){a=a|0;c=c|0;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,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,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=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.0,Ua=0.0,Va=0.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;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=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[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=(g|0)==1;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=Q;oa=ma;pa=P;qa=O;ra=M;sa=M;ta=N;ua=M;va=N;wa=D}else{xa=G;aq(xa)}b:while(1){ma=f[wa+(oa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=(ma|0)==-1|(Q|0)==-1;za=1;Aa=0;Ba=ma;c:while(1){Ca=za^1;Da=Aa;Ea=Ba;while(1){if((Ea|0)==-1){Fa=Da;break c}Ga=f[l+(Da*12|0)>>2]|0;Ha=f[R>>2]|0;Ia=f[Ha+(Ea<<2)>>2]|0;if((Ia|0)!=-1){Ja=f[z>>2]|0;Ka=f[A>>2]|0;La=f[Ka+(f[Ja+(Ia<<2)>>2]<<2)>>2]|0;Ma=Ia+1|0;Na=((Ma>>>0)%3|0|0)==0?Ia+-2|0:Ma;if((Na|0)==-1)Oa=-1;else Oa=f[Ja+(Na<<2)>>2]|0;Na=f[Ka+(Oa<<2)>>2]|0;Ma=(((Ia>>>0)%3|0|0)==0?2:-1)+Ia|0;if((Ma|0)==-1)Pa=-1;else Pa=f[Ja+(Ma<<2)>>2]|0;Ma=f[Ka+(Pa<<2)>>2]|0;if((La|0)<(oa|0)&(Na|0)<(oa|0)&(Ma|0)<(oa|0)){Ka=X(La,g)|0;La=X(Na,g)|0;Na=X(Ma,g)|0;if(S){Ma=0;do{f[Ga+(Ma<<2)>>2]=(f[c+(Ma+Na<<2)>>2]|0)+(f[c+(Ma+La<<2)>>2]|0)-(f[c+(Ma+Ka<<2)>>2]|0);Ma=Ma+1|0}while((Ma|0)!=(g|0))}Ma=Da+1|0;if((Ma|0)==4){Fa=4;break c}else Qa=Ma}else Qa=Da}else Qa=Da;do if(za){Ma=Ea+1|0;Ka=((Ma>>>0)%3|0|0)==0?Ea+-2|0:Ma;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,Ka=Ma+1|0,(Ma|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Ma+-2|0:Ka;else Ra=-1}else{Ka=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,(Ma|0)!=-1):0)if(!((Ma>>>0)%3|0)){Ra=Ma+2|0;break}else{Ra=Ma+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(ma|0)){Fa=Qa;break c}if((Ra|0)!=-1|Ca){Da=Qa;Ea=Ra}else break}if(ya){za=0;Aa=Qa;Ba=-1;continue}Ea=f[Ha+(Q<<2)>>2]|0;if((Ea|0)==-1){za=0;Aa=Qa;Ba=-1;continue}if(!((Ea>>>0)%3|0)){za=0;Aa=Qa;Ba=Ea+2|0;continue}else{za=0;Aa=Qa;Ba=Ea+-1|0;continue}}Ba=X(oa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Aa=Fa+-1|0;za=p+(Aa<<3)|0;Q=za;ya=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Fa|0,((Fa|0)<0)<<31>>31|0)|0;Q=I;ma=za;f[ma>>2]=ya;f[ma+4>>2]=Q;ma=c+((X(na+-2|0,g)|0)<<2)|0;za=c+(Ba<<2)|0;Ea=f[Z>>2]|0;if(S){Da=0;Ca=0;while(1){Ma=(f[ma+(Da<<2)>>2]|0)-(f[za+(Da<<2)>>2]|0)|0;Ka=((Ma|0)>-1?Ma:0-Ma|0)+Ca|0;f[ra+(Da<<2)>>2]=Ma;f[Ea+(Da<<2)>>2]=Ma<<1^Ma>>31;Da=Da+1|0;if((Da|0)==(g|0)){Sa=Ka;break}else Ca=Ka}}else Sa=0;mo(e,_,Ea,g);Ca=Zk(e)|0;Da=I;Ka=Bm(e)|0;Ma=I;La=o+(Aa<<3)|0;Na=La;Ga=f[Na>>2]|0;Ja=f[Na+4>>2]|0;Ta=+wm(ya,Ga);Na=Vn(Ka|0,Ma|0,Ca|0,Da|0)|0;Ua=+(ya>>>0)+4294967296.0*+(Q|0);Va=+W(+(Ta*Ua));Da=Vn(Na|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Na=r;f[Na>>2]=Da;f[Na+4>>2]=Sa;b[U>>0]=0;f[V>>2]=0;$f($,ma,ma+(g<<2)|0);f[s>>2]=pa;f[t>>2]=qa;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Jf(aa,j,e);if((Fa|0)<1){Wa=va;Xa=ua;Ya=ta;Za=sa;_a=qa;$a=pa;ab=pa}else{Na=n+Fa|0;Da=f[q>>2]|0;Ca=Da;Ma=f[H>>2]|0;Ka=Na+-1|0;Ia=(Ka|0)==(n|0);bb=Na+-2|0;cb=ja>>>0>>0;db=~Fa;eb=Fa+2+((db|0)>-2?db:-2)|0;db=Ma;fb=Ka>>>0>n>>>0;gb=0;hb=1;while(1){gb=gb+1|0;sj(n|0,1,eb|0)|0;sj(n|0,0,gb|0)|0;ib=Vn(Ga|0,Ja|0,hb|0,0)|0;d:while(1){if(S){sj(f[m>>2]|0,0,ka|0)|0;jb=f[m>>2]|0;kb=0;lb=0;while(1){if(!(b[n+kb>>0]|0)){mb=f[l+(kb*12|0)>>2]|0;nb=0;do{ob=jb+(nb<<2)|0;f[ob>>2]=(f[ob>>2]|0)+(f[mb+(nb<<2)>>2]|0);nb=nb+1|0}while((nb|0)!=(g|0));pb=(1<>0]|0))rb=(1<>2]|0;do if(S){f[kb>>2]=(f[kb>>2]|0)/(hb|0)|0;if(!la){lb=1;do{jb=kb+(lb<<2)|0;f[jb>>2]=(f[jb>>2]|0)/(hb|0)|0;lb=lb+1|0}while((lb|0)!=(g|0));lb=f[Z>>2]|0;if(S)sb=lb;else{tb=0;ub=lb;break}}else sb=f[Z>>2]|0;lb=0;jb=0;while(1){nb=(f[kb+(lb<<2)>>2]|0)-(f[za+(lb<<2)>>2]|0)|0;mb=((nb|0)>-1?nb:0-nb|0)+jb|0;f[Da+(lb<<2)>>2]=nb;f[sb+(lb<<2)>>2]=nb<<1^nb>>31;lb=lb+1|0;if((lb|0)==(g|0)){tb=mb;ub=sb;break}else jb=mb}}else{tb=0;ub=f[Z>>2]|0}while(0);mo(e,_,ub,g);kb=Zk(e)|0;jb=I;lb=Bm(e)|0;mb=I;Va=+wm(ya,ib);nb=Vn(lb|0,mb|0,kb|0,jb|0)|0;Ta=+W(+(Va*Ua));jb=Vn(nb|0,I|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;nb=f[r>>2]|0;if(!((nb|0)<=(jb|0)?!((nb|0)>=(jb|0)?(tb|0)<(f[T>>2]|0):0):0)){nb=r;f[nb>>2]=jb;f[nb+4>>2]=tb;b[U>>0]=qb;f[V>>2]=hb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Jf($,j,e);f[x>>2]=Ca;f[y>>2]=Ma;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Jf(aa,j,e)}if(Ia)break;vb=b[Ka>>0]|0;nb=-1;jb=vb;while(1){kb=nb+-1|0;wb=Na+kb|0;mb=jb;jb=b[wb>>0]|0;if((jb&255)<(mb&255))break;if((wb|0)==(n|0)){xb=84;break d}else nb=kb}kb=Na+nb|0;if((jb&255)<(vb&255)){yb=Ka;zb=vb}else{mb=Na;lb=Ka;while(1){ob=lb+-1|0;if((jb&255)<(h[mb+-2>>0]|0)){yb=ob;zb=1;break}else{Ab=lb;lb=ob;mb=Ab}}}b[wb>>0]=zb;b[yb>>0]=jb;if((nb|0)<-1){Bb=kb;Cb=Ka}else continue;while(1){mb=b[Bb>>0]|0;b[Bb>>0]=b[Cb>>0]|0;b[Cb>>0]=mb;mb=Bb+1|0;lb=Cb+-1|0;if(mb>>>0>>0){Bb=mb;Cb=lb}else continue d}}if(((xb|0)==84?(xb=0,fb):0)?(ib=b[n>>0]|0,b[n>>0]=vb,b[Ka>>0]=ib,cb):0){ib=bb;kb=ja;do{nb=b[kb>>0]|0;b[kb>>0]=b[ib>>0]|0;b[ib>>0]=nb;kb=kb+1|0;ib=ib+-1|0}while(kb>>>0>>0)}if((hb|0)>=(Fa|0)){Wa=db;Xa=Da;Ya=db;Za=Da;_a=Ma;$a=Ca;ab=Da;break}else hb=hb+1|0}}hb=f[V>>2]|0;Da=Vn(Ga|0,Ja|0,hb|0,((hb|0)<0)<<31>>31|0)|0;hb=La;f[hb>>2]=Da;f[hb+4>>2]=I;if(S){hb=f[aa>>2]|0;Da=f[C>>2]|0;Ca=0;do{Ma=f[hb+(Ca<<2)>>2]|0;f[Da+(Ca<<2)>>2]=Ma<<1^Ma>>31;Ca=Ca+1|0}while((Ca|0)!=(g|0));Db=Da}else Db=f[C>>2]|0;lo(e,_,Db,g);if((Fa|0)>0){Eb=a+40+(Aa*12|0)|0;Da=a+40+(Aa*12|0)+4|0;Ca=a+40+(Aa*12|0)+8|0;hb=0;do{La=f[Da>>2]|0;Ja=f[Ca>>2]|0;Ga=(La|0)==(Ja<<5|0);if(!(1<>0])){if(Ga){if((La+1|0)<0){xb=95;break b}Ma=Ja<<6;db=La+32&-32;vi(Eb,La>>>0<1073741823?(Ma>>>0>>0?db:Ma):2147483647);Fb=f[Da>>2]|0}else Fb=La;f[Da>>2]=Fb+1;Ma=(f[Eb>>2]|0)+(Fb>>>5<<2)|0;f[Ma>>2]=f[Ma>>2]|1<<(Fb&31)}else{if(Ga){if((La+1|0)<0){xb=100;break b}Ga=Ja<<6;Ja=La+32&-32;vi(Eb,La>>>0<1073741823?(Ga>>>0>>0?Ja:Ga):2147483647);Gb=f[Da>>2]|0}else Gb=La;f[Da>>2]=Gb+1;La=(f[Eb>>2]|0)+(Gb>>>5<<2)|0;f[La>>2]=f[La>>2]&~(1<<(Gb&31))}hb=hb+1|0}while((hb|0)<(Fa|0))}hb=f[$>>2]|0;Da=d+(Ba<<2)|0;Ca=f[za+4>>2]|0;Aa=f[hb>>2]|0;La=f[hb+4>>2]|0;f[j>>2]=f[za>>2];f[ca>>2]=Ca;f[k>>2]=Aa;f[da>>2]=La;Od(e,ba,j,k);f[Da>>2]=f[e>>2];f[Da+4>>2]=f[ea>>2];Da=f[fa>>2]|0;if(Da|0){La=f[ia>>2]|0;if((La|0)!=(Da|0))f[ia>>2]=La+(~((La+-4-Da|0)>>>2)<<2);Oq(Da)}Da=f[ga>>2]|0;if(Da|0){La=f[ha>>2]|0;if((La|0)!=(Da|0))f[ha>>2]=La+(~((La+-4-Da|0)>>>2)<<2);Oq(Da)}if((na|0)<=2){Hb=Za;Ib=Ya;break a}Da=f[B>>2]|0;wa=f[Da>>2]|0;La=oa+-1|0;if((f[Da+4>>2]|0)-wa>>2>>>0<=La>>>0){xa=Da;xb=18;break}else{Da=oa;oa=La;pa=$a;qa=_a;ra=ab;sa=Za;ta=Ya;ua=Xa;va=Wa;na=Da}}if((xb|0)==18)aq(xa);else if((xb|0)==95)aq(Eb);else if((xb|0)==100)aq(Eb)}else{Hb=M;Ib=N}while(0);if((g|0)>0)sj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Eb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Eb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Hb|0){if((Ib|0)!=(Hb|0))f[H>>2]=Ib+(~((Ib+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[m>>2]|0;if(Hb|0){m=f[E>>2]|0;if((m|0)!=(Hb|0))f[E>>2]=m+(~((m+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l+36>>2]|0;if(Hb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Hb|0))f[m>>2]=E+(~((E+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l+24>>2]|0;if(Hb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Hb|0))f[E>>2]=m+(~((m+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l+12>>2]|0;if(Hb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Hb|0))f[m>>2]=E+(~((E+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l>>2]|0;if(!Hb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Hb|0))f[E>>2]=l+(~((l+-4-Hb|0)>>>2)<<2);Oq(Hb);u=i;return 1}function gb(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=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=Oa,La=0,Ma=0,Na=0,Pa=0,Qa=Oa,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{r=r+(b[(f[w+(f[t+(q<<2)>>2]<<2)>>2]|0)+24>>0]|0)|0;q=q+1|0}while(q>>>0>>0);f[a+72>>2]=r;if(s){v=1;u=c;return v|0}s=g+4|0;r=g+8|0;x=d+8|0;q=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=0;ia=t;t=l;l=k;a:while(1){k=f[ia+(ha<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(k<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1196;f[s>>2]=-1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=ln(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[q>>2]=17;ma=la;na=14495;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(k|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Jh(ra,d)|0)!=0):0)va=Hk(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Hk(ka,d,-1)|0}if((b[w>>0]|0)<0)Oq(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=ln(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14438;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(k|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(k|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Jh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=ln(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14458;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(k|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(k|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Jh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)Oq(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)Oq(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=ln(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;sj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=ln(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14438;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(k|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(k|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Jh(Fa,i)|0)!=0):0){Ga=Rg(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){pj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ja=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{Ka=$(bq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=Ka;Fa=Fa+1|0}while((Fa|0)<(ra|0));La=b[M>>0]|0}else La=Ga;Ja=La}if(Ja<<24>>24<0)Oq(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Rg(pa,i)|0,(Fa|0)!=(pa+4|0)):0){pj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Ma=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{Ka=$(bq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=Ka;ya=ya+1|0}while((ya|0)<(ra|0));Na=b[G>>0]|0}else Na=Fa;Ma=Na}if(Ma<<24>>24<0)Oq(f[d>>2]|0)}if((b[I>>0]|0)<0)Oq(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=ln(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14458;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(k|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Jh(oa,d)|0)){wa=91;break}Qa=$(sk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(sk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)Oq(f[d>>2]|0);Dl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);k=f[h>>2]|0;if(k|0){na=f[C>>2]|0;if((na|0)!=(k|0))f[C>>2]=na+(~((na+-4-k|0)>>>2)<<2);Oq(k)}}else Wd(g,ja,va)|0;k=f[P>>2]|0;if((k|0)==(f[Q>>2]|0))Cf(R,g);else{f[k>>2]=1196;f[k+4>>2]=f[s>>2];Ra=k+8|0;f[Ra>>2]=0;na=k+12|0;f[na>>2]=0;f[k+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=ln(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[k+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){kh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[k+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Qe(d,g,ja,m);k=f[S>>2]|0;if(k>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[k>>2]=ma;f[S>>2]=k+4}else Ze(U,d);k=f[d>>2]|0;f[d>>2]=0;if(k|0){ma=k+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;Oq(ma)}Oq(oa)}oa=f[k+68>>2]|0;if(oa|0){ma=k+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);Oq(oa)}oa=k+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;Oq(oa)}Oq(na)}Oq(k)}xa=0}f[g>>2]=1196;k=f[r>>2]|0;if(k|0){na=f[y>>2]|0;if((na|0)!=(k|0))f[y>>2]=na+(~((na+-4-k|0)>>>2)<<2);Oq(k)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{k=ja+24|0;na=b[k>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=ln(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=oa;oa=na;while(1){f[oa>>2]=2147483647;ya=ya+-1|0;if(!ya)break;else oa=oa+4|0}f[_>>2]=ma;Sa=b[k>>0]|0}oa=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}ya=oa<<2;sa=ln(ya)|0;f[h>>2]=sa;ra=sa+(oa<<2)|0;f[da>>2]=ra;sj(sa|0,0,ya|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[k>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{ya=0;oa=ra;na=Ta;while(1){f[e>>2]=ya;f[d>>2]=f[e>>2];Qb(ja,d,oa,na)|0;Fa=b[k>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=ya+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}ya=pa;oa=Fa;na=f[h>>2]|0}}while(0);if(Ua<<24>>24>0){sa=0;ja=Ua;while(1){ra=(f[g>>2]|0)+(sa<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ri(ga,ra);Va=b[k>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=ja}sa=sa+1|0;if((sa|0)>=(Va<<24>>24|0))break;else ja=Va}}ja=f[h>>2]|0;if(ja|0){sa=f[ba>>2]|0;if((sa|0)!=(ja|0))f[ba>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);Oq(ja)}ja=f[g>>2]|0;if(ja|0){sa=f[_>>2]|0;if((sa|0)!=(ja|0))f[_>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);Oq(ja)}break}default:{}}ja=ha+1|0;sa=f[o>>2]|0;if(ja>>>0>=(f[p>>2]|0)-sa>>2>>>0){v=1;wa=169;break}k=f[j>>2]|0;ha=ja;ia=sa;t=f[k+4>>2]|0;l=k}if((wa|0)==48)aq(h);else if((wa|0)==103)aq(Ra);else if((wa|0)==137)aq(g);else if((wa|0)==144)aq(h);else if((wa|0)==169){u=c;return v|0}return 0}function hb(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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(e);else{j=h<<2;k=ln(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;sj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);Oq(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)aq(e);else{r=s<<2;o=ln(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;sj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+140|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);Oq(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>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;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Pc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+116|0;y=a+48|0;h=a+44|0;j=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=i+4|0;N=i+24|0;O=i+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){Oq(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[s>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[w>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=1;ba=$;ca=V;while(1){ca=(ca|0)==(ba+-1|0)?0:ca+1|0;f[U+(aa<<2)>>2]=ca;aa=aa+1|0;da=f[g>>2]|0;if(aa>>>0>=da>>>0){ea=da;break}else ba=da}}else ea=$;if(!z){fa=99;break}else{ga=0;ha=ea}while(1){ba=(f[N>>2]|0)+((X(f[M>>2]|0,S+ga|0)|0)<<2)|0;if(!ha)ia=0;else{aa=0;do{ca=f[(f[w>>2]|0)+(aa<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ca<<2)>>2]|0)|0;do if(U|0){da=f[y>>2]|0;ja=32-da|0;ka=32-U|0;la=f[ba+(ca<<2)>>2]<(ja|0)){ma=la>>>ka;ka=U-ja|0;f[y>>2]=ka;ja=f[h>>2]|ma>>>ka;f[h>>2]=ja;ka=f[j>>2]|0;if((ka|0)==(f[m>>2]|0))Ri(n,h);else{f[ka>>2]=ja;f[j>>2]=ka+4}f[h>>2]=ma<<32-(f[y>>2]|0);break}ma=f[h>>2]|la>>>da;f[h>>2]=ma;la=da+U|0;f[y>>2]=la;if((la|0)!=32)break;la=f[j>>2]|0;if((la|0)==(f[m>>2]|0))Ri(n,h);else{f[la>>2]=ma;f[j>>2]=la+4}f[h>>2]=0;f[y>>2]=0}while(0);aa=aa+1|0;U=f[g>>2]|0}while(aa>>>0>>0);ia=U}ga=ga+1|0;if(ga>>>0>=z>>>0){fa=99;break a}else ha=ia}}$=Z+1|0;Ig(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);aa=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;ba=(f[aa>>2]|0)+(1<>2]=ba;aa=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))na=S;else{ca=f[O>>2]|0;if(!aa){if((f[ca+(V<<2)>>2]|0)>>>0>>0){na=W;break}else{oa=W;pa=S}while(1){la=oa;do{la=la+-1|0;if((pa|0)==(la|0)){na=pa;break b}ma=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[ma>>2]|0)>>>0>=ba>>>0);pa=pa+1|0;if((pa|0)==(la|0)){na=la;break b}else oa=la}}else{qa=W;ra=S}while(1){ma=ra;while(1){sa=ca+((X(ma,aa)|0)<<2)|0;if((f[sa+(V<<2)>>2]|0)>>>0>=ba>>>0){ta=qa;break}da=ma+1|0;if((da|0)==(qa|0)){na=qa;break b}else ma=da}while(1){ta=ta+-1|0;if((ma|0)==(ta|0)){na=ma;break b}ua=(f[P>>2]|0)+((X(ta,U)|0)<<2)|0;if((f[ua+(V<<2)>>2]|0)>>>0>>0){va=0;break}}do{la=sa+(va<<2)|0;da=ua+(va<<2)|0;ka=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ka;va=va+1|0}while((va|0)!=(aa|0));ra=ma+1|0;if((ra|0)==(ta|0)){na=ta;break}else qa=ta}}while(0);ba=(_(z|0)|0)^31;U=na-S|0;ca=W-na|0;ka=U>>>0>>0;if((U|0)!=(ca|0)){da=f[H>>2]|0;if(ka)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ri(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ka){da=f[C>>2]|0;ja=32-da|0;wa=32-ba|0;xa=la-U<(ja|0)){ya=xa>>>wa;wa=ba-ja|0;f[C>>2]=wa;ja=f[D>>2]|ya>>>wa;f[D>>2]=ja;wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ri(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=ya<<32-(f[C>>2]|0);break}ya=f[D>>2]|xa>>>da;f[D>>2]=ya;xa=da+ba|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ri(G,D);else{f[xa>>2]=ya;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;ya=32-xa|0;da=32-ba|0;wa=la-ca<(ya|0)){ja=wa>>>da;da=ba-ya|0;f[C>>2]=da;ya=f[D>>2]|ja>>>da;f[D>>2]=ya;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ri(G,D);else{f[da>>2]=ya;f[E>>2]=da+4}f[D>>2]=ja<<32-(f[C>>2]|0);break}ja=f[D>>2]|wa>>>xa;f[D>>2]=ja;wa=xa+ba|0;f[C>>2]=wa;if((wa|0)==32){wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ri(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=0;f[C>>2]=0}}while(0);ba=f[s>>2]|0;la=f[ba+(Z*12|0)>>2]|0;ka=la+(V<<2)|0;f[ka>>2]=(f[ka>>2]|0)+1;Ig(ba+($*12|0)|0,la,f[ba+(Z*12|0)+4>>2]|0);if((na|0)!=(S|0)){ba=f[o>>2]|0;la=f[t>>2]|0;ka=ba-la>>2;wa=f[v>>2]|0;ja=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ja+wa|0)){Pc(e);za=f[v>>2]|0;Aa=f[l>>2]|0;Ba=f[o>>2]|0;Ca=f[t>>2]|0}else{za=wa;Aa=ja;Ba=ba;Ca=la}la=Aa+za|0;if((Ba|0)==(Ca|0))Da=0;else Da=(f[Ca+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Da>>2]=S;la=Da+4|0;f[la>>2]=r;f[la+4>>2]=x;f[Da+12>>2]=na;f[Da+16>>2]=i;f[Da+20>>2]=aa;f[Da+24>>2]=V;f[Da+28>>2]=U;f[Da+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(na|0)){la=f[o>>2]|0;ba=f[t>>2]|0;ja=la-ba>>2;wa=f[v>>2]|0;ka=f[l>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ka+wa|0)){Pc(e);Ea=f[v>>2]|0;Fa=f[l>>2]|0;Ga=f[o>>2]|0;Ha=f[t>>2]|0}else{Ea=wa;Fa=ka;Ga=la;Ha=ba}ba=Fa+Ea|0;if((Ga|0)==(Ha|0))Ia=0;else Ia=(f[Ha+(((ba>>>0)/113|0)<<2)>>2]|0)+(((ba>>>0)%113|0)*36|0)|0;f[Ia>>2]=na;f[Ia+4>>2]=i;f[Ia+8>>2]=aa;f[Ia+12>>2]=W;ba=Ia+16|0;f[ba>>2]=p;f[ba+4>>2]=q;f[Ia+24>>2]=V;f[Ia+28>>2]=ca;f[Ia+32>>2]=$;ba=(f[l>>2]|0)+1|0;f[l>>2]=ba;Ja=ba}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ja=f[l>>2]|0}if(!Ja)break;else Q=Ja}}Ja=f[t>>2]|0;Q=f[v>>2]|0;Ia=Ja+(((Q>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ja;if((q|0)==(Ja|0)){Ka=0;La=0}else{na=(f[Ia>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;Ka=na;La=na}na=Ia;Ia=La;c:while(1){La=Ia;do{Q=La;if((Ka|0)==(Q|0))break c;La=Q+36|0}while((La-(f[na>>2]|0)|0)!=4068);La=na+4|0;na=La;Ia=f[La>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ja;do{Oq(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ma=f[o>>2]|0;Na=Ma-i>>2}while(Na>>>0>2);Oa=Na;Pa=i;Qa=Ma}else{Oa=l;Pa=Ja;Qa=q}switch(Oa|0){case 1:{Ra=56;fa=113;break}case 2:{Ra=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Ra;if((Pa|0)!=(Qa|0)){Ra=Pa;do{Oq(f[Ra>>2]|0);Ra=Ra+4|0}while((Ra|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}Oq(Qa);u=d;return}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,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;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)aq(e);else{l=j<<2;m=ln(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;sj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|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);Oq(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[e>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[e+8>>2];f[e>>2]=0;r=e+4|0;f[r>>2]=0;f[e+8>>2]=0;do if(v)if(v>>>0>1073741823)aq(e);else{t=v<<2;q=ln(t)|0;f[e>>2]=q;s=q+(v<<2)|0;f[e+8>>2]=s;sj(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+1176|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);Oq(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[e>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;A=b+4|0;t=f[A>>2]|0;z=f[A+4>>2]|0;A=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;s=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;k=t;Pc(h);l=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(l|0))B=0;else B=(f[l+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=y;j=B+4|0;f[j>>2]=t;f[j+4>>2]=z;f[B+12>>2]=A;j=B+16|0;f[j>>2]=r;f[j+4>>2]=s;f[B+24>>2]=0;f[B+28>>2]=A-y;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){y=a+1152|0;A=a+1084|0;j=a+1080|0;l=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=k+4|0;K=k+24|0;L=k+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){Oq(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[v>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Rd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[y>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=1;$=Y;aa=Q;while(1){aa=(aa|0)==($+-1|0)?0:aa+1|0;f[W+(Z<<2)>>2]=aa;Z=Z+1|0;ba=f[i>>2]|0;if(Z>>>0>=ba>>>0){ca=ba;break}else $=ba}}else ca=Y;if(!U){da=87;break}else{ea=0;fa=ca}while(1){$=(f[K>>2]|0)+((X(f[J>>2]|0,P+ea|0)|0)<<2)|0;if(!fa)ga=0;else{Z=0;do{aa=f[(f[y>>2]|0)+(Z<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+(aa<<2)>>2]|0)|0;do if(W|0){ba=f[A>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[$+(aa<<2)>>2]<(ha|0)){ka=ja>>>ia;ia=W-ha|0;f[A>>2]=ia;ha=f[j>>2]|ka>>>ia;f[j>>2]=ha;ia=f[l>>2]|0;if((ia|0)==(f[o>>2]|0))Ri(p,j);else{f[ia>>2]=ha;f[l>>2]=ia+4}f[j>>2]=ka<<32-(f[A>>2]|0);break}ka=f[j>>2]|ja>>>ba;f[j>>2]=ka;ja=ba+W|0;f[A>>2]=ja;if((ja|0)!=32)break;ja=f[l>>2]|0;if((ja|0)==(f[o>>2]|0))Ri(p,j);else{f[ja>>2]=ka;f[l>>2]=ja+4}f[j>>2]=0;f[A>>2]=0}while(0);Z=Z+1|0;W=f[i>>2]|0}while(Z>>>0>>0);ga=W}ea=ea+1|0;if(ea>>>0>=U>>>0){da=87;break a}else fa=ga}}Y=V+1|0;Z=f[m>>2]|0;$=Z+(Y*12|0)|0;if(($|0)==(S|0))la=Z;else{Ig($,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);la=f[m>>2]|0}$=(f[la+(Y*12|0)>>2]|0)+(Q<<2)|0;Z=(f[$>>2]|0)+(1<>2]=Z;$=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))ma=P;else{aa=f[L>>2]|0;if(!$){if((f[aa+(Q<<2)>>2]|0)>>>0>>0){ma=T;break}else{na=T;oa=P}while(1){ja=na;do{ja=ja+-1|0;if((oa|0)==(ja|0)){ma=oa;break b}ka=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[ka>>2]|0)>>>0>=Z>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){ma=ja;break b}else na=ja}}else{pa=T;qa=P}while(1){ka=qa;while(1){ra=aa+((X(ka,$)|0)<<2)|0;if((f[ra+(Q<<2)>>2]|0)>>>0>=Z>>>0){sa=pa;break}ba=ka+1|0;if((ba|0)==(pa|0)){ma=pa;break b}else ka=ba}while(1){sa=sa+-1|0;if((ka|0)==(sa|0)){ma=ka;break b}ta=(f[M>>2]|0)+((X(sa,W)|0)<<2)|0;if((f[ta+(Q<<2)>>2]|0)>>>0>>0){ua=0;break}}do{ja=ra+(ua<<2)|0;ba=ta+(ua<<2)|0;ia=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ia;ua=ua+1|0}while((ua|0)!=($|0));qa=ka+1|0;if((qa|0)==(sa|0)){ma=sa;break}else pa=sa}}while(0);Z=(_(U|0)|0)^31;W=ma-P|0;aa=T-ma|0;ia=W>>>0>>0;if((W|0)!=(aa|0)){ba=f[E>>2]|0;if(ia)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ri(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ia){ia=ja-W|0;if(Z|0){ba=0;ha=1<>>1}}}else{ha=ja-aa|0;if(Z|0){ba=0;ia=1<>>1}}}ia=f[v>>2]|0;Z=f[ia+(V*12|0)>>2]|0;ba=Z+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Ig(ia+(Y*12|0)|0,Z,f[ia+(V*12|0)+4>>2]|0);if((ma|0)!=(P|0)){ia=f[q>>2]|0;Z=f[w>>2]|0;ba=ia-Z>>2;ha=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ha|0)){Pc(h);va=f[x>>2]|0;wa=f[n>>2]|0;xa=f[q>>2]|0;ya=f[w>>2]|0}else{va=ha;wa=ja;xa=ia;ya=Z}Z=wa+va|0;if((xa|0)==(ya|0))za=0;else za=(f[ya+(((Z>>>0)/113|0)<<2)>>2]|0)+(((Z>>>0)%113|0)*36|0)|0;f[za>>2]=P;Z=za+4|0;f[Z>>2]=t;f[Z+4>>2]=z;f[za+12>>2]=ma;f[za+16>>2]=k;f[za+20>>2]=$;f[za+24>>2]=Q;f[za+28>>2]=W;f[za+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(ma|0)){Z=f[q>>2]|0;ia=f[w>>2]|0;ja=Z-ia>>2;ha=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ha|0)){Pc(h);Aa=f[x>>2]|0;Ba=f[n>>2]|0;Ca=f[q>>2]|0;Da=f[w>>2]|0}else{Aa=ha;Ba=ba;Ca=Z;Da=ia}ia=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((ia>>>0)/113|0)<<2)>>2]|0)+(((ia>>>0)%113|0)*36|0)|0;f[Ea>>2]=ma;f[Ea+4>>2]=k;f[Ea+8>>2]=$;f[Ea+12>>2]=T;ia=Ea+16|0;f[ia>>2]=r;f[ia+4>>2]=s;f[Ea+24>>2]=Q;f[Ea+28>>2]=aa;f[Ea+32>>2]=Y;ia=(f[n>>2]|0)+1|0;f[n>>2]=ia;Fa=ia}else da=87}else da=87;while(0);if((da|0)==87){da=0;Fa=f[n>>2]|0}if(!Fa)break;else N=Fa}}Fa=f[w>>2]|0;N=f[x>>2]|0;Ea=Fa+(((N>>>0)/113|0)<<2)|0;s=f[q>>2]|0;r=s;k=Fa;if((s|0)==(Fa|0)){Ga=0;Ha=0}else{ma=(f[Ea>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ga=ma;Ha=ma}ma=Ea;Ea=Ha;c:while(1){Ha=Ea;do{N=Ha;if((Ga|0)==(N|0))break c;Ha=N+36|0}while((Ha-(f[ma>>2]|0)|0)!=4068);Ha=ma+4|0;ma=Ha;Ea=f[Ha>>2]|0}f[n>>2]=0;n=r-k>>2;if(n>>>0>2){k=Fa;do{Oq(f[k>>2]|0);k=(f[w>>2]|0)+4|0;f[w>>2]=k;Ia=f[q>>2]|0;Ja=Ia-k>>2}while(Ja>>>0>2);Ka=Ja;La=k;Ma=Ia}else{Ka=n;La=Fa;Ma=s}switch(Ka|0){case 1:{Na=56;da=101;break}case 2:{Na=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Na;if((La|0)!=(Ma|0)){Na=La;do{Oq(f[Na>>2]|0);Na=Na+4|0}while((Na|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}Oq(Ma);u=d;return}function jb(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,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,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;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(mi(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)aq(G);else{K=H<<2;L=ln(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;sj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=0;aa=0;ba=0;ca=0;da=M;ea=C;b:while(1){fa=f[(f[(f[ea+4>>2]|0)+8>>2]|0)+(f[da+(ca<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=fa;ha=aa;break}case 9:{ga=f[(f[Z>>2]|0)+(aa<<2)>>2]|0;ha=aa+1|0;break}default:{ia=0;break a}}if(!ga){ia=0;break a}c:do switch(f[ga+28>>2]|0){case 6:{if(Q){ja=ba;ka=ga+24|0;break c}fa=ga+84|0;la=ga+68|0;ma=ga+48|0;na=ga+40|0;oa=ga+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=un(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=Vn(ua|0,I|0,sa|0,ta|0)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,(f[f[ga>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=ba;ka=oa;break}case 1:case 3:case 5:{oa=ga+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=ln(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;sj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=ln(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;sj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ga+84|0;na=ga+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Qb(ga,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ba<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=ba+(b[oa>>0]|0)|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);Oq(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);Oq(na)}ja=pa;ka=oa;break}default:{pa=ga+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=ln(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;sj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ga+84|0;sa=ga+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];Pb(ga,e,ra,ma)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+($<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);Oq(Ga)}ja=ba;ka=pa}}while(0);na=ca+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=$+(b[ka>>0]|0)|0;aa=ha;ba=ja;ca=na;da=sa;ea=f[A>>2]|0}if((wa|0)==24)aq(j);else if((wa|0)==30)aq(k);else if((wa|0)==53)aq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{A=(_(D|0)|0)^31;Ka=(A|0)<(H|0)?H:A+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ue(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=sf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 5:{Ue(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=tf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 4:{Ue(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=tf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 3:{$e(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=Af(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 2:{$e(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=Af(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 1:{af(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=zf(j,g,e,k,c)|0;df(j);if(!H){ia=0;break d}break}case 0:{af(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=zf(j,g,e,k,c)|0;df(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);Oq(j);u=d;return ia|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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(e);else{j=h<<2;k=ln(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;sj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);Oq(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)aq(e);else{r=s<<2;o=ln(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;sj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+1176|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);Oq(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>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;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Pc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+1152|0;y=a+1084|0;h=a+1080|0;j=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=i+4|0;I=i+24|0;J=i+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){Oq(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[s>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[w>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=1;W=U;Y=Q;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[P+(V<<2)>>2]=Y;V=V+1|0;Z=f[g>>2]|0;if(V>>>0>=Z>>>0){$=Z;break}else W=Z}}else $=U;if(!z){aa=85;break}else{ba=0;ca=$}while(1){W=(f[I>>2]|0)+((X(f[H>>2]|0,N+ba|0)|0)<<2)|0;if(!ca)da=0;else{V=0;do{Y=f[(f[w>>2]|0)+(V<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Y<<2)>>2]|0)|0;do if(P|0){Z=f[y>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[W+(Y<<2)>>2]<(ea|0)){ha=ga>>>fa;fa=P-ea|0;f[y>>2]=fa;ea=f[h>>2]|ha>>>fa;f[h>>2]=ea;fa=f[j>>2]|0;if((fa|0)==(f[m>>2]|0))Ri(n,h);else{f[fa>>2]=ea;f[j>>2]=fa+4}f[h>>2]=ha<<32-(f[y>>2]|0);break}ha=f[h>>2]|ga>>>Z;f[h>>2]=ha;ga=Z+P|0;f[y>>2]=ga;if((ga|0)!=32)break;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ri(n,h);else{f[ga>>2]=ha;f[j>>2]=ga+4}f[h>>2]=0;f[y>>2]=0}while(0);V=V+1|0;P=f[g>>2]|0}while(V>>>0

>>0);da=P}ba=ba+1|0;if(ba>>>0>=z>>>0){aa=85;break a}else ca=da}}U=T+1|0;Ig(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);V=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;W=(f[V>>2]|0)+(1<>2]=W;V=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ia=N;else{Y=f[J>>2]|0;if(!V){if((f[Y+(Q<<2)>>2]|0)>>>0>>0){ia=R;break}else{ja=R;ka=N}while(1){ga=ja;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ia=ka;break b}ha=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ha>>2]|0)>>>0>=W>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ia=ga;break b}else ja=ga}}else{la=R;ma=N}while(1){ha=ma;while(1){na=Y+((X(ha,V)|0)<<2)|0;if((f[na+(Q<<2)>>2]|0)>>>0>=W>>>0){oa=la;break}Z=ha+1|0;if((Z|0)==(la|0)){ia=la;break b}else ha=Z}while(1){oa=oa+-1|0;if((ha|0)==(oa|0)){ia=ha;break b}pa=(f[K>>2]|0)+((X(oa,P)|0)<<2)|0;if((f[pa+(Q<<2)>>2]|0)>>>0>>0){qa=0;break}}do{ga=na+(qa<<2)|0;Z=pa+(qa<<2)|0;fa=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=fa;qa=qa+1|0}while((qa|0)!=(V|0));ma=ha+1|0;if((ma|0)==(oa|0)){ia=oa;break}else la=oa}}while(0);W=(_(z|0)|0)^31;P=ia-N|0;Y=R-ia|0;fa=P>>>0>>0;if((P|0)!=(Y|0)){Z=f[C>>2]|0;if(fa)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ri(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(fa){fa=ga-P|0;if(W|0){Z=0;ea=1<>>1}}}else{ea=ga-Y|0;if(W|0){Z=0;fa=1<>>1}}}fa=f[s>>2]|0;W=f[fa+(T*12|0)>>2]|0;Z=W+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Ig(fa+(U*12|0)|0,W,f[fa+(T*12|0)+4>>2]|0);if((ia|0)!=(N|0)){fa=f[o>>2]|0;W=f[t>>2]|0;Z=fa-W>>2;ea=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+ea|0)){Pc(e);ra=f[v>>2]|0;sa=f[l>>2]|0;ta=f[o>>2]|0;ua=f[t>>2]|0}else{ra=ea;sa=ga;ta=fa;ua=W}W=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[va>>2]=N;W=va+4|0;f[W>>2]=r;f[W+4>>2]=x;f[va+12>>2]=ia;f[va+16>>2]=i;f[va+20>>2]=V;f[va+24>>2]=Q;f[va+28>>2]=P;f[va+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ia|0)){W=f[o>>2]|0;fa=f[t>>2]|0;ga=W-fa>>2;ea=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+ea|0)){Pc(e);wa=f[v>>2]|0;xa=f[l>>2]|0;ya=f[o>>2]|0;za=f[t>>2]|0}else{wa=ea;xa=Z;ya=W;za=fa}fa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((fa>>>0)/113|0)<<2)>>2]|0)+(((fa>>>0)%113|0)*36|0)|0;f[Aa>>2]=ia;f[Aa+4>>2]=i;f[Aa+8>>2]=V;f[Aa+12>>2]=R;fa=Aa+16|0;f[fa>>2]=p;f[fa+4>>2]=q;f[Aa+24>>2]=Q;f[Aa+28>>2]=Y;f[Aa+32>>2]=U;fa=(f[l>>2]|0)+1|0;f[l>>2]=fa;Ba=fa}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ba=f[l>>2]|0}if(!Ba)break;else L=Ba}}Ba=f[t>>2]|0;L=f[v>>2]|0;Aa=Ba+(((L>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ba;if((q|0)==(Ba|0)){Ca=0;Da=0}else{ia=(f[Aa>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Ca=ia;Da=ia}ia=Aa;Aa=Da;c:while(1){Da=Aa;do{L=Da;if((Ca|0)==(L|0))break c;Da=L+36|0}while((Da-(f[ia>>2]|0)|0)!=4068);Da=ia+4|0;ia=Da;Aa=f[Da>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ba;do{Oq(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ea=f[o>>2]|0;Fa=Ea-i>>2}while(Fa>>>0>2);Ga=Fa;Ha=i;Ia=Ea}else{Ga=l;Ha=Ba;Ia=q}switch(Ga|0){case 1:{Ja=56;aa=99;break}case 2:{Ja=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ja;if((Ha|0)!=(Ia|0)){Ja=Ha;do{Oq(f[Ja>>2]|0);Ja=Ja+4|0}while((Ja|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}Oq(Ia);u=d;return}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,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;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(e);else{j=h<<2;k=ln(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;sj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);Oq(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)aq(e);else{r=s<<2;o=ln(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;sj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+152|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);Oq(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>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;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Pc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+128|0;y=a+60|0;h=a+56|0;j=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=i+4|0;J=i+24|0;K=i+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){Oq(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[s>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[w>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=1;Y=V;Z=R;while(1){Z=(Z|0)==(Y+-1|0)?0:Z+1|0;f[Q+(W<<2)>>2]=Z;W=W+1|0;$=f[g>>2]|0;if(W>>>0>=$>>>0){aa=$;break}else Y=$}}else aa=V;if(!z){ba=81;break}else{ca=0;da=aa}while(1){Y=(f[J>>2]|0)+((X(f[I>>2]|0,O+ca|0)|0)<<2)|0;if(!da)ea=0;else{W=0;do{Z=f[(f[w>>2]|0)+(W<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Z<<2)>>2]|0)|0;do if(Q|0){$=f[y>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[Y+(Z<<2)>>2]<(fa|0)){ia=ha>>>ga;ga=Q-fa|0;f[y>>2]=ga;fa=f[h>>2]|ia>>>ga;f[h>>2]=fa;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ri(n,h);else{f[ga>>2]=fa;f[j>>2]=ga+4}f[h>>2]=ia<<32-(f[y>>2]|0);break}ia=f[h>>2]|ha>>>$;f[h>>2]=ia;ha=$+Q|0;f[y>>2]=ha;if((ha|0)!=32)break;ha=f[j>>2]|0;if((ha|0)==(f[m>>2]|0))Ri(n,h);else{f[ha>>2]=ia;f[j>>2]=ha+4}f[h>>2]=0;f[y>>2]=0}while(0);W=W+1|0;Q=f[g>>2]|0}while(W>>>0>>0);ea=Q}ca=ca+1|0;if(ca>>>0>=z>>>0){ba=81;break a}else da=ea}}V=U+1|0;Ig(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);W=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;Y=(f[W>>2]|0)+(1<>2]=Y;W=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ja=O;else{Z=f[K>>2]|0;if(!W){if((f[Z+(R<<2)>>2]|0)>>>0>>0){ja=S;break}else{ka=S;la=O}while(1){ha=ka;do{ha=ha+-1|0;if((la|0)==(ha|0)){ja=la;break b}ia=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ia>>2]|0)>>>0>=Y>>>0);la=la+1|0;if((la|0)==(ha|0)){ja=ha;break b}else ka=ha}}else{ma=S;na=O}while(1){ia=na;while(1){oa=Z+((X(ia,W)|0)<<2)|0;if((f[oa+(R<<2)>>2]|0)>>>0>=Y>>>0){pa=ma;break}$=ia+1|0;if(($|0)==(ma|0)){ja=ma;break b}else ia=$}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[L>>2]|0)+((X(pa,Q)|0)<<2)|0;if((f[qa+(R<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ha=oa+(ra<<2)|0;$=qa+(ra<<2)|0;ga=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ga;ra=ra+1|0}while((ra|0)!=(W|0));na=ia+1|0;if((na|0)==(pa|0)){ja=pa;break}else ma=pa}}while(0);Y=(_(z|0)|0)^31;Q=ja-O|0;Z=S-ja|0;ga=Q>>>0>>0;if((Q|0)!=(Z|0)){$=f[D>>2]|0;if(ga)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ri(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ga)sg(C,Y,ha-Q|0);else sg(C,Y,ha-Z|0);ha=f[s>>2]|0;Y=f[ha+(U*12|0)>>2]|0;ga=Y+(R<<2)|0;f[ga>>2]=(f[ga>>2]|0)+1;Ig(ha+(V*12|0)|0,Y,f[ha+(U*12|0)+4>>2]|0);if((ja|0)!=(O|0)){ha=f[o>>2]|0;Y=f[t>>2]|0;ga=ha-Y>>2;$=f[v>>2]|0;fa=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(fa+$|0)){Pc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=$;ta=fa;ua=ha;va=Y}Y=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[wa>>2]=O;Y=wa+4|0;f[Y>>2]=r;f[Y+4>>2]=x;f[wa+12>>2]=ja;f[wa+16>>2]=i;f[wa+20>>2]=W;f[wa+24>>2]=R;f[wa+28>>2]=Q;f[wa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ja|0)){Q=f[o>>2]|0;Y=f[t>>2]|0;ha=Q-Y>>2;fa=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+fa|0)){Pc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=$;za=Q;Aa=Y}Y=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=i;f[Ba+8>>2]=W;f[Ba+12>>2]=S;Y=Ba+16|0;f[Y>>2]=p;f[Y+4>>2]=q;f[Ba+24>>2]=R;f[Ba+28>>2]=Z;f[Ba+32>>2]=V;Z=(f[l>>2]|0)+1|0;f[l>>2]=Z;Ca=Z}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Ca=f[l>>2]|0}if(!Ca)break;else M=Ca}}Ca=f[t>>2]|0;M=f[v>>2]|0;Ba=Ca+(((M>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ca;if((q|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{M=Ea;if((Da|0)==(M|0))break c;Ea=M+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ca;do{Oq(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Fa=f[o>>2]|0;Ga=Fa-i>>2}while(Ga>>>0>2);Ha=Ga;Ia=i;Ja=Fa}else{Ha=l;Ia=Ca;Ja=q}switch(Ha|0){case 1:{Ka=56;ba=95;break}case 2:{Ka=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{Oq(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}Oq(Ja);u=d;return}function mb(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=Oa,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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(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}sj(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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Vn(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}sj(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=(Vn(un(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}sj(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=(Vn(un(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}sj(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=(Vn(un(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}sj(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=(Vn(un(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}sj(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=(Vn(un(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}sj(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=(Vn(un(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}sj(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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Vn(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}sj(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=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Vn(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}sj(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 nb(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 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,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,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.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.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Si(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Si(a)|0;if((x|0)==48){o=0;w=0;while(1){y=Vn(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Si(a)|0;if((B|0)==48){o=y;w=z}else{q=1;r=B;s=1;t=y;v=z;break}}}else{q=1;r=x;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;x=(r|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=0;o=0;z=0;y=q;A=s;C=r;D=x;E=b;F=t;G=v;H=0;J=0;c:while(1){do if(D)if(!y){L=w;M=o;N=1;O=z;P=A;Q=H;R=J;S=H;T=J}else break c;else{U=Vn(H|0,J|0,1,0)|0;V=I;W=(C|0)!=48;if((o|0)>=125){if(!W){L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(o<<2)|0;if(!w)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=w+1|0;_=(Y|0)==9;L=_?0:Y;M=o+(_&1)|0;N=y;O=W?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=Si(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=S;ha=Q;ia=T;ja=R;p=29;break b}else{w=L;o=M;z=O;y=N;A=P;C=$;F=Q;G=R;H=S;J=T}}ka=w;la=o;ma=z;na=H;oa=J;pa=F;qa=G;ra=(A|0)!=0;p=37}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=0;ha=t;ia=0;ja=v;p=29}while(0);do if((p|0)==29){v=(da|0)==0;t=v?ga:ha;s=v?ia:ja;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ga;oa=ia;pa=t;qa=s;ra=v;p=37;break}else{sa=aa;ta=ba;ua=ca;va=ga;wa=ia;xa=v;ya=t;za=s;p=39;break}v=Re(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){Ym(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=Vn(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ga;Ia=I;Ja=ia;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=39}if((p|0)==39)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=41}else p=40;do if((p|0)==40){wa=Vq()|0;f[wa>>2]=22;Ym(a,0);Aa=0.0}else if((p|0)==41){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=Vq()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0>>0){wa=Vq()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[6720+(8-Ga<<2)>>2]|0);break}za=c+27+(X(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[6720+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=0;Ma=Ka;Na=0;Oa=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[6720+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;J=0;H=Ga;z=0;do{o=j+(z<<2)|0;w=f[o>>2]|0;ya=((w>>>0)/(A>>>0)|0)+F|0;f[o>>2]=ya;F=X(G,(w>>>0)%(A>>>0)|0)|0;w=(z|0)==(J|0)&(ya|0)==0;H=w?H+-9|0:H;J=w?J+1&127:J;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Pa=J;Qa=Ka;Ra=H}else{f[j+(Ka<<2)>>2]=F;Pa=J;Qa=Ka+1|0;Ra=H}}else{Pa=0;Qa=0;Ra=Ga}La=0;Ma=Qa;Na=Pa;Oa=9-za+Ra|0}d:while(1){z=(Oa|0)<18;A=(Oa|0)==18;G=j+(Na<<2)|0;va=La;wa=Ma;while(1){if(!z){if(!A){Sa=va;Ta=Na;Ua=Oa;Va=wa;break d}if((f[G>>2]|0)>>>0>=9007199){Sa=va;Ta=Na;Ua=18;Va=wa;break d}}w=0;Wa=wa;ya=wa+127|0;while(1){o=ya&127;ua=j+(o<<2)|0;ta=Tn(f[ua>>2]|0,0,29)|0;sa=Vn(ta|0,I|0,w|0,0)|0;ta=I;if(ta>>>0>0|(ta|0)==0&sa>>>0>1e9){xa=jp(sa|0,ta|0,1e9,0)|0;qa=hn(sa|0,ta|0,1e9,0)|0;Xa=xa;Ya=qa}else{Xa=0;Ya=sa}f[ua>>2]=Ya;ua=(o|0)==(Na|0);Wa=(Ya|0)==0&(((o|0)!=(Wa+127&127|0)|ua)^1)?o:Wa;if(ua)break;else{w=Xa;ya=o+-1|0}}va=va+-29|0;if(Xa|0)break;else wa=Wa}wa=Na+127&127;G=Wa+127&127;A=j+((Wa+126&127)<<2)|0;if((wa|0)==(Wa|0)){f[A>>2]=f[A>>2]|f[j+(G<<2)>>2];Za=G}else Za=Wa;f[j+(wa<<2)>>2]=Xa;La=va;Ma=Za;Na=wa;Oa=Oa+9|0}e:while(1){za=Va+1&127;H=j+((Va+127&127)<<2)|0;J=Sa;F=Ta;wa=Ua;while(1){G=(wa|0)==18;A=(wa|0)>27?9:1;_a=J;$a=F;while(1){z=0;while(1){ya=z+$a&127;if((ya|0)==(Va|0)){ab=2;p=88;break}w=f[j+(ya<<2)>>2]|0;ya=f[6752+(z<<2)>>2]|0;if(w>>>0>>0){ab=2;p=88;break}if(w>>>0>ya>>>0)break;ya=z+1|0;if((z|0)<1)z=ya;else{ab=ya;p=88;break}}if((p|0)==88?(p=0,G&(ab|0)==2):0){bb=0.0;cb=0;db=Va;break e}eb=A+_a|0;if(($a|0)==(Va|0)){_a=eb;$a=Va}else break}G=(1<>>A;fb=0;gb=$a;hb=wa;ya=$a;do{w=j+(ya<<2)|0;o=f[w>>2]|0;ua=(o>>>A)+fb|0;f[w>>2]=ua;fb=X(o&G,z)|0;o=(ya|0)==(gb|0)&(ua|0)==0;hb=o?hb+-9|0:hb;gb=o?gb+1&127:gb;ya=ya+1&127}while((ya|0)!=(Va|0));if(!fb){J=eb;F=gb;wa=hb;continue}if((za|0)!=(gb|0))break;f[H>>2]=f[H>>2]|1;J=eb;F=gb;wa=hb}f[j+(Va<<2)>>2]=fb;Sa=eb;Ta=gb;Ua=hb;Va=za}while(1){wa=cb+$a&127;F=db+1&127;if((wa|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;bb=bb*1.0e9+ +((f[j+(wa<<2)>>2]|0)>>>0);cb=cb+1|0;if((cb|0)==2)break;else db=ib}jb=+(e|0);kb=bb*jb;wa=_a+53|0;F=wa-d|0;J=(F|0)<(c|0);H=J?((F|0)>0?F:0):c;if((H|0)<53){lb=+rq(+bk(1.0,105-H|0),kb);mb=+Dq(kb,+bk(1.0,53-H|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}va=$a+2&127;if((va|0)!=(ib|0)){ya=f[j+(va<<2)>>2]|0;do if(ya>>>0>=5e8){if((ya|0)!=5e8){qb=jb*.75+ob;break}if(($a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ya|0)==0?($a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-H|0)>1?!(+Dq(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((wa&2147483647|0)>(-2-k|0)){ya=!(+K(+jb)>=9007199254740992.0);va=_a+((ya^1)&1)|0;kb=ya?jb:jb*.5;if((va+50|0)<=(l|0)?!(rb!=0.0&(J&((H|0)!=(F|0)|ya))):0){sb=kb;tb=va;break}ya=Vq()|0;f[ya>>2]=34;sb=kb;tb=va}else{sb=jb;tb=_a}while(0);Aa=+sq(sb,tb)}while(0);u=i;return +Aa}function ob(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;yo(c)|0;if((I|0)<0){q=-c;r=1;s=16605}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?16606:16611):16608}yo(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Qk(a,32,d,v,g&-65537);Xo(a,s,r);Xo(a,q!=q|0.0!=0.0?(t?18555:16632):t?16624:16628,3);Qk(a,32,d,v,g^8192);w=v}else{c=+tq(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=Rj(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[16636+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;Qk(a,32,d,G,g);Xo(a,y,z);Qk(a,48,d,G,g^65536);Xo(a,m,M);Qk(a,48,N-M|0,0,0);Xo(a,A,E);Qk(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=Tn(f[K>>2]|0,0,y|0)|0;Q=Vn(J|0,I|0,x|0,0)|0;J=I;R=hn(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=jp(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=Rj(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;Qk(a,32,d,A,g);Xo(a,s,r);Qk(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=Rj(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){sj(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;Xo(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)Xo(a,16652,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=Rj(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){sj(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;Xo(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;Qk(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=Rj(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;Xo(a,Da,1);if(Z&(K|0)<1){Ea=x;break}Xo(a,16652,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}sj(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;Xo(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;Qk(a,48,Fa+18|0,18,0);Xo(a,xa,p-xa|0)}Qk(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function pb(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,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+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){_e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ii(v);Oq(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ii(v);Oq(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ii(s);Oq(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ii(s);Oq(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;ci(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;ci((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;hg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;gk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;Oq(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;hg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;gk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(Hg(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;dj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(_j(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=xg(a,d,e)|0;fj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=W;T=-1;U=Z;break}S=W;T=f[V+(Y<<2)>>2]|0;U=Z}while(0);Y=f[C>>2]|0;V=Y+(S>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(S&31);V=Y+(U>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31);V=Y+(T>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(T&31);f[d>>2]=1;V=f[B>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=1;f[B>>2]=V+4}else Ri(A,d);V=(f[t>>2]|0)+(O<<2)|0;f[V>>2]=f[V>>2]|P;V=Q+1|0;if(R)_=-1;else _=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[d>>2]=_;Y=f[H>>2]|0;if(Y>>>0<(f[K>>2]|0)>>>0){f[Y>>2]=_;f[H>>2]=Y+4}else Ri(i,d);if(R)break;Y=((V>>>0)%3|0|0)==0?Q+-2|0:V;if((Y|0)==-1)break;V=f[(f[(f[s>>2]|0)+12>>2]|0)+(Y<<2)>>2]|0;Y=(V|0)==-1;W=Y?-1:(V>>>0)/3|0;if(Y)break;if(f[(f[t>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)break;f[l>>2]=V;f[d>>2]=f[l>>2];if(!(kc(a,d)|0))break b}else{V=Q+1|0;if(R)$=-1;else $=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[m>>2]=$;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(kc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}th(v);F=a+232|0;ld(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(ld(E,F),(f[h>>2]|0)>1):0){E=1;do{ld((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}ci((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;ci(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(bh(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);Oq(F)}w=ba;u=c;return w|0}function qb(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=Vq()|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)Xo(a,w,y);if(y|0){s=y;t=x;continue}y=(Aq(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((Aq(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=Ll(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=Ll(j)|0;$=O;aa=f[j>>2]|0;break}if(Aq(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+(16124+(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}We(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=Ol(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=16588;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=Xn(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=16588;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?16588:16590):16589;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=16588;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=16588;za=o;Aa=1;Ba=O;break}case 109:{ja=Vq()|0;Ca=$o(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:16598;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(!$){Qk(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=ob(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=16588;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=ul(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?16588:16588+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=Rj(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=tg(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=16588;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=Po(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}Qk(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=Po(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}Xo(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;Qk(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;Qk(a,32,ja,O,Ba);Xo(a,ya,xa);Qk(a,48,ja,O,Ba^65536);Qk(a,48,F,Q,0);Xo(a,wa,Q);Qk(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}We(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 rb(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,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+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){_e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ii(v);Oq(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ii(v);Oq(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ii(s);Oq(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ii(s);Oq(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;ve(t,a)|0;v=f[s>>2]|0;x=a+4|0;ci(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;ci((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;hg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;gk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;Oq(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;hg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;gk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(Dg(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;dj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(_j(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=xg(a,d,e)|0;fj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ri(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ri(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(Yb(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(Yb(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}pi(t);ci(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;ci(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(bh(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);Oq(t)}w=aa;u=c;return w|0}function sb(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,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=Oa,ma=Oa,na=Oa,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Ih(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)aq(e);else{o=k<<2;p=ln(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;sj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(A<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(v<<2)>>2]|0;else D=v;C=D+239^B;A=A+1|0;if((A|0)>=(x|0)){E=C;break}else B=C}}else E=0;B=f[q>>2]|0;x=(B|0)==0;a:do if(!x){A=B+-1|0;C=(A&B|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(B>>>0)|0;else F=A&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&A|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(v<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=v;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(B>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(v<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=v;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(v<<2)>>2]=f[Q+12>>2];_=t}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){A=f[z+(I<<2)>>2]|0;if(!(b[A+84>>0]|0))aa=f[(f[A+68>>2]|0)+(v<<2)>>2]|0;else aa=v;A=aa+239^H;I=I+1|0;if((I|0)>=(J|0)){ba=A;break}else H=A}}else ba=0;e:do if(!x){H=B+-1|0;J=(H&B|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(B>>>0)|0;else ca=H&ba;I=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((I|0)!=0?(A=f[I>>2]|0,(A|0)!=0):0){I=f[s>>2]|0;C=I+8|0;G=I+12|0;if(J){J=A;while(1){I=f[J+4>>2]|0;if(!((I|0)==(ba|0)|(I&H|0)==(ca|0))){da=ca;M=76;break e}I=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=v;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(v<<2)>>2]|0;ga=f[P+(I<<2)>>2]|0}else{fa=v;ga=I}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=v;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=A;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(B>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;H=f[C>>2]|0;L=(f[G>>2]|0)-H|0;O=H;if((L|0)<=0){ea=v;break e}H=L>>>2;L=0;while(1){I=f[O+(L<<2)>>2]|0;if(!(b[I+84>>0]|0)){K=f[I+68>>2]|0;ja=f[K+(v<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=v;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(H|0)){ea=v;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=ln(16)|0;f[G+8>>2]=v;f[G+12>>2]=t;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(B>>>0);na=$(n[l>>2]);do if(x|$(na*ma)>>0<3|(B+-1&B|0)!=0)&1;A=~~$(W($(la/na)))>>>0;Ih(d,C>>>0>>0?A:C);C=f[q>>2]|0;A=C+-1|0;if(!(A&C)){oa=C;pa=A&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=B;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;A=f[C>>2]|0;if(!A){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){H=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(H>>>0>>0)qa=H;else qa=(H>>>0)%(oa>>>0)|0;else qa=H&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[A>>2];ra=A;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}A=t+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=t;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ri(g,h);_=A;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=A;break}}while(0);v=(f[h>>2]|0)+1|0;f[h>>2]=v;sa=f[j>>2]|0;if(v>>>0>=sa>>>0)break;else t=_}if((_|0)!=(sa|0)){Xa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);Oq(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);Oq(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;Oq(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}Oq(e);u=c;return}function tb(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,ea=0,fa=0,ga=0,ha=0,ia=0,ja=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)aq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)aq(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];vb(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];vb(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];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Xn(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=Xn(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=Xn(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=un(s|0,w|0,s|0,w|0)|0;M=I;N=un(D|0,C|0,D|0,C|0)|0;O=Vn(N|0,I|0,L|0,M|0)|0;M=I;L=un(H|0,G|0,H|0,G|0)|0;N=Vn(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Xn(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Xn(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Xn(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=un(O|0,B|0,s|0,w|0)|0;E=I;P=un(M|0,F|0,D|0,C|0)|0;Q=Vn(P|0,I|0,J|0,E|0)|0;E=I;J=un(x|0,K|0,H|0,G|0)|0;P=Vn(Q|0,E|0,J|0,I|0)|0;J=I;E=Xn(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=Xn(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=un(N|0,L|0,p|0,q|0)|0;q=I;p=un(N|0,L|0,n|0,o|0)|0;o=I;n=un(P|0,J|0,E|0,t|0)|0;S=I;T=un(P|0,J|0,Q|0,v|0)|0;U=I;V=Vn(n|0,S|0,R|0,q|0)|0;q=I;R=Vn(T|0,U|0,p|0,o|0)|0;o=I;p=un(P|0,J|0,s|0,w|0)|0;w=I;s=un(P|0,J|0,D|0,C|0)|0;C=I;D=un(P|0,J|0,H|0,G|0)|0;G=I;H=Ik(p|0,w|0,N|0,L|0)|0;w=I;p=Ik(s|0,C|0,N|0,L|0)|0;C=I;s=Ik(D|0,G|0,N|0,L|0)|0;G=I;D=Xn(O|0,B|0,H|0,w|0)|0;w=I;H=Xn(M|0,F|0,p|0,C|0)|0;C=I;p=Xn(x|0,K|0,s|0,G|0)|0;G=I;s=un(D|0,w|0,D|0,w|0)|0;w=I;D=un(H|0,C|0,H|0,C|0)|0;C=Vn(D|0,I|0,s|0,w|0)|0;w=I;s=un(p|0,G|0,p|0,G|0)|0;G=Vn(C|0,w|0,s|0,I|0)|0;s=I;w=Xn(0,0,E|0,t|0)|0;t=I;E=un(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=Tn(Y|0,Z|0,1)|0;C=I;p=_;_=Yn(_|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=jp(E|0,s|0,ba|0,ca|0)|0;G=Vn(C|0,I|0,ba|0,ca|0)|0;C=Yn(G|0,I|0,1)|0;G=I;p=un(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=un(W|0,X|0,Q|0,v|0)|0;s=I;G=un(W|0,X|0,w|0,t|0)|0;C=I;p=Vn(E|0,s|0,V|0,q|0)|0;D=I;H=Vn(G|0,C|0,R|0,o|0)|0;K=I;x=Ik(p|0,D|0,N|0,L|0)|0;D=I;p=Ik(H|0,K|0,N|0,L|0)|0;K=I;H=Xn(V|0,q|0,E|0,s|0)|0;s=I;E=Xn(R|0,o|0,G|0,C|0)|0;C=I;G=Ik(H|0,s|0,N|0,L|0)|0;s=I;H=Ik(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=Xn(F|0,M|0,x|0,D|0)|0;J=I;P=Xn(B|0,E|0,p|0,K|0)|0;U=I;T=un(O|0,J|0,O|0,J|0)|0;J=I;O=un(P|0,U|0,P|0,U|0)|0;U=Vn(O|0,I|0,T|0,J|0)|0;J=I;T=Xn(F|0,M|0,G|0,s|0)|0;M=I;F=Xn(B|0,E|0,H|0,C|0)|0;E=I;B=un(T|0,M|0,T|0,M|0)|0;M=I;T=un(F|0,E|0,F|0,E|0)|0;E=Vn(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)aq(B);else{E=O<<6;U=F+32&-32;vi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)aq(B);else{L=O<<6;N=F+32&-32;vi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return}function ub(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,ea=0,fa=0,ga=0,ha=0,ia=0,ja=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)aq(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)aq(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];vb(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];vb(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];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Xn(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=Xn(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=Xn(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=un(s|0,w|0,s|0,w|0)|0;M=I;N=un(D|0,C|0,D|0,C|0)|0;O=Vn(N|0,I|0,L|0,M|0)|0;M=I;L=un(H|0,G|0,H|0,G|0)|0;N=Vn(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Xn(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Xn(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Xn(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=un(O|0,B|0,s|0,w|0)|0;E=I;P=un(M|0,F|0,D|0,C|0)|0;Q=Vn(P|0,I|0,J|0,E|0)|0;E=I;J=un(x|0,K|0,H|0,G|0)|0;P=Vn(Q|0,E|0,J|0,I|0)|0;J=I;E=Xn(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=Xn(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=un(N|0,L|0,c|0,m|0)|0;m=I;c=un(N|0,L|0,r|0,o|0)|0;o=I;r=un(P|0,J|0,E|0,t|0)|0;S=I;T=un(P|0,J|0,Q|0,v|0)|0;U=I;V=Vn(r|0,S|0,R|0,m|0)|0;m=I;R=Vn(T|0,U|0,c|0,o|0)|0;o=I;c=un(P|0,J|0,s|0,w|0)|0;w=I;s=un(P|0,J|0,D|0,C|0)|0;C=I;D=un(P|0,J|0,H|0,G|0)|0;G=I;H=Ik(c|0,w|0,N|0,L|0)|0;w=I;c=Ik(s|0,C|0,N|0,L|0)|0;C=I;s=Ik(D|0,G|0,N|0,L|0)|0;G=I;D=Xn(O|0,B|0,H|0,w|0)|0;w=I;H=Xn(M|0,F|0,c|0,C|0)|0;C=I;c=Xn(x|0,K|0,s|0,G|0)|0;G=I;s=un(D|0,w|0,D|0,w|0)|0;w=I;D=un(H|0,C|0,H|0,C|0)|0;C=Vn(D|0,I|0,s|0,w|0)|0;w=I;s=un(c|0,G|0,c|0,G|0)|0;G=Vn(C|0,w|0,s|0,I|0)|0;s=I;w=Xn(0,0,E|0,t|0)|0;t=I;E=un(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=Tn(Y|0,Z|0,1)|0;C=I;c=_;_=Yn(_|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=jp(E|0,s|0,ba|0,ca|0)|0;G=Vn(C|0,I|0,ba|0,ca|0)|0;C=Yn(G|0,I|0,1)|0;G=I;c=un(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=un(W|0,X|0,Q|0,v|0)|0;s=I;G=un(W|0,X|0,w|0,t|0)|0;C=I;c=Vn(E|0,s|0,V|0,m|0)|0;D=I;H=Vn(G|0,C|0,R|0,o|0)|0;K=I;x=Ik(c|0,D|0,N|0,L|0)|0;D=I;c=Ik(H|0,K|0,N|0,L|0)|0;K=I;H=Xn(V|0,m|0,E|0,s|0)|0;s=I;E=Xn(R|0,o|0,G|0,C|0)|0;C=I;G=Ik(H|0,s|0,N|0,L|0)|0;s=I;H=Ik(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=Xn(F|0,M|0,x|0,D|0)|0;J=I;P=Xn(B|0,E|0,c|0,K|0)|0;U=I;T=un(O|0,J|0,O|0,J|0)|0;J=I;O=un(P|0,U|0,P|0,U|0)|0;U=Vn(O|0,I|0,T|0,J|0)|0;J=I;T=Xn(F|0,M|0,G|0,s|0)|0;M=I;F=Xn(B|0,E|0,H|0,C|0)|0;E=I;B=un(T|0,M|0,T|0,M|0)|0;M=I;T=un(F|0,E|0,F|0,E|0)|0;E=Vn(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)aq(B);else{E=O<<6;U=F+32&-32;vi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)aq(B);else{L=O<<6;N=F+32&-32;vi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return}while(0);do if(q)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return}function vb(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=Oa,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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(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}sj(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=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(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}sj(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=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(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}sj(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=un(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Vn(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}sj(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=un(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Vn(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}sj(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=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Vn(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}sj(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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(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}sj(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=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Vn(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}sj(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=un(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Vn(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}sj(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 wb(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)){Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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))Ri(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))Ri(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 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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}xb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;xb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84: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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}yb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;yb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84: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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}zb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;zb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Ab(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ab(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ab(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}} +function Bb(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Bb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Bb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Cb(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Cb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Cb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Db(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Db(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Db(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Eb(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Eb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Eb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Fb(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Fb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Fb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Gb(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Gb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Gb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Hb(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Hb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Hb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ib(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ib(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Jb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Jb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Kb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Kb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Lb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Lb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Mb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Mb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Nb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Nb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Ob(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,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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ob(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ob(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}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=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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(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}sj(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=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(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}sj(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=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(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}sj(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=un(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Vn(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}sj(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=un(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Vn(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}sj(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=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Vn(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}sj(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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(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}sj(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=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(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}sj(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=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(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}sj(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 Qb(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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(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}sj(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=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(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}sj(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=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(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}sj(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=un(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Vn(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}sj(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=un(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Vn(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}sj(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=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Vn(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}sj(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=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(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}sj(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=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(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}sj(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=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(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}sj(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=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(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}sj(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 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,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=Oa,J=0,K=0,L=0,M=0,N=Oa;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(xh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=ln(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14495;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[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Jh(o,g)|0)!=0):0)y=Hk(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Hk(c,g,-1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=ln(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14438;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Jh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=ln(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14458;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Jh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if(!C){Wd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)aq(i);else{D=B<<2;c=ln(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;sj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=ln(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14438;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Jh(o,j)|0)!=0):0){t=Rg(o,j)|0;if((t|0)!=(G+24|0)){pj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(bq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)Oq(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Rg(B,j)|0,(H|0)!=(B+4|0)):0){pj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(bq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)Oq(f[g>>2]|0)}if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=ln(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14458;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Jh(d,g)|0)!=0):0)N=$(sk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(sk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);Dl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);Oq(C)}k=1;u=e;return k|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,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;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;tk(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){fj(g,0);ua=k}else{fj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)aq(J);return 0}function Tb(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,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;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;tk(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];$b(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){fj(g,0);ua=k}else{fj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)aq(J);return 0}function Ub(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,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=Oa,V=Oa,Y=Oa,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=r-w|0;z=t+(w+4)|0;A=s}else{y=v;z=t;A=v}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=8;break}case 2:{B=A;C=8;break}case 1:{D=A;C=9;break}default:E=A}if((C|0)==8){C=0;D=h[z+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(D^h[z>>0],1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(Vk(K,t,v)|0))break b;else break;if((b[t>>0]|0)==(K&255)<<24>>24){K=G;P=O;Q=t;do{P=P+-1|0;K=K+1|0;if(!P)break b;Q=Q+1|0}while((b[K>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){O=f[F+4>>2]|0;if((O|0)!=(r|0)){if(O>>>0>>0)R=O;else R=(O>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}O=b[F+8+11>>0]|0;if(!((O<<24>>24<0?f[F+12>>2]|0:O&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;O=I<<24>>24<0;G=I&255;do if(((O?f[S+12>>2]|0:G)|0)==(v|0)){I=f[F>>2]|0;if(O)if(!(Vk(I,t,v)|0))break b;else break;if((b[t>>0]|0)==(I&255)<<24>>24){I=F;N=G;Q=t;do{N=N+-1|0;I=I+1|0;if(!N)break b;Q=Q+1|0}while((b[I>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Di(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|$(Y*V)>>0<3|(w+-1&w|0)!=0)&1;v=~~$(W($(U/Y)))>>>0;ei(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=ln(40)|0;Ub(c,f[e+20>>2]|0);aa=Ec(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;ri(c+8|0);Oq(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)Oq(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;Oq(Z)}if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);Oq(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)Oq(aa);Oq(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Vb(a,c,e){a=a|0;c=c|0;e=e|0;var 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,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,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=un(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=Vn(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=r;G=r&65535;F=r>>>16;H=F&65535;J=(r&65535^318)+239^F;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=ln(16)|0;G=H+8|0;d[G>>1]=r;d[G+2>>1]=r>>>16;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;Uh(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=un(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Ch(Z,la-Y|0,1220);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);Oq(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;Oq(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}Oq(ma);u=g;return pa|0}function Wb(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,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,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=0;z=0;A=q;B=q;C=q;q=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=un(f[D>>2]|0,f[D+4>>2]|0,x+y|0,0)|0;D=Vn(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(q|0)==0;a:do if(!G){H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(q>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(q>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[A+(y<<2)>>2]=f[R+16>>2];T=d;U=z;V=C;X=B;Y=A;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(q>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(q>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=ln(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=z;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(q>>>0);ea=$(n[k>>2]);do if(G|$(ea*da)>>0<3|(q+-1&q|0)!=0)&1;H=~~$(W($(ca/ea)))>>>0;Yh(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=q;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=un(D|0,f[G+4>>2]|0,z|0,0)|0;kh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(y<<2)>>2]=z;T=D;U=z+1|0;V=D;X=D;Y=D}D=y+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=D;z=U;A=Y;B=X;C=V;q=f[m>>2]|0}if((U|0)==(ja|0))ka=X;else{X=a+84|0;if(!(b[X>>0]|0)){m=f[a+72>>2]|0;q=f[a+68>>2]|0;C=q;if((m|0)==(q|0))la=T;else{B=m-q>>2;q=0;do{m=C+(q<<2)|0;f[m>>2]=f[V+(f[m>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[X>>0]=0;X=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[X>>2]|0;V=B-q>>2;C=q;q=B;if(ja>>>0<=V>>>0)if(ja>>>0>>0?(B=C+(ja<<2)|0,(B|0)!=(q|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{Ch(X,ja-V|0,1220);ma=f[l>>2]|0}V=f[j>>2]|0;if(!ma)la=V;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[V+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=V}}f[l>>2]=U;ka=la}if(!ka)na=U;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);Oq(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;Oq(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}Oq(ka);u=e;return na|0}function Xb(a,c,e){a=a|0;c=c|0;e=e|0;var 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,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,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=un(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=Vn(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=r&255;F=(r&65535)>>>8;H=F&255;J=((r&255^318)+239<<16>>16^F)&65535;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=K&J;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=ln(16)|0;G=H+8|0;b[G>>0]=r;b[G+1>>0]=r>>8;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;$h(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(G>>>0>J>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=un(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Ch(Z,la-Y|0,1220);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);Oq(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;Oq(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}Oq(ma);u=g;return pa|0}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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ri(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=0;L=K;b:while(1){K=J+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=L+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ri(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=V+2|0;Z=X;break}else{Y=V+-1|0;Z=X;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Z<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Y<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3724+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ri(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=R?-1:(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)xf(a,f[i>>2]|0,N,0,fa);nd(t,3);ga=f[e>>2]|0}else{if(!R){xf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}nd(t,5);ga=da}f[b>>2]=ga}if((K|0)>=(k|0))break a;J=K;L=f[n>>2]|0}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{xf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;nd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(L=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(L&31)&f[(f[G>>2]|0)+(L>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}L=f[i>>2]|0;f[d>>2]=N;J=je(H,d)|0;f[J>>2]=L;L=f[j>>2]|0;f[L+-4>>2]=da;if((L|0)==(f[m>>2]|0)){Ri(h,e);break}else{f[L>>2]=f[e>>2];f[j>>2]=L+4;break}}while(0);if((U|0)==54){U=0;nd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}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;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))Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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)){Ri(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 _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,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=Oa,K=Oa,L=Oa,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=Id(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];lf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Fi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;pj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Fi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=q-m|0;t=c+(m+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(m=f[r>>2]|0,(m|0)!=0):0){r=(o|0)==0;if(s){if(r){s=m;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=m;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(Vk(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=m;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=m;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(Vk(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){oi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;ei(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;Oq(O)}if((b[p>>0]|0)<0)Oq(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;Oq(i);u=e;return}function $b(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)aq(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];vb(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];vb(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];vb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Xn(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=Xn(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=Xn(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Xn(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Xn(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Xn(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=un($|0,ia|0,ca|0,ba|0)|0;da=I;la=un(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=un(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=un($|0,ia|0,Q|0,L|0)|0;ia=I;$=un(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=un(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Xn(C|0,D|0,la|0,ma|0)|0;ma=Vn(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Vn(na|0,fa|0,E|0,F|0)|0;fa=Xn(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Xn(G|0,H|0,Q|0,ba|0)|0;ba=Vn(ga|0,I|0,$|0,L|0)|0;L=I;Hh(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)aq(W);else if((V|0)==28)aq(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=Xn(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Xn(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Xn(0,0,ua|0,ta|0)|0;i=Vn((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Vn(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=Yn(v|0,V|0,29)|0;Z=oa&7;oa=Ik(qa|0,pa|0,Z|0,0)|0;a=Ik(sa|0,ra|0,Z|0,0)|0;i=Ik(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=Yn(v|0,V|0,29)|0;V=I;v=Ik(qa|0,pa|0,i|0,V|0)|0;pa=Ik(sa|0,ra|0,i|0,V|0)|0;ra=Ik(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 ac(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=0,L=Oa,M=Oa,N=Oa,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Id(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];lf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Fi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;kh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;pj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Fi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}kh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=w-s|0;z=c+(s+4)|0;A=x}else{y=d;z=c;A=d}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=12;break}case 2:{B=A;C=12;break}case 1:{D=A;C=13;break}default:E=A}if((C|0)==12){D=h[z+1>>0]<<8^B;C=13}if((C|0)==13)E=X(D^h[z>>0],1540483477)|0;z=X(E>>>13^E,1540483477)|0;E=z>>>15^z;z=a+4|0;D=f[z>>2]|0;B=(D|0)==0;a:do if(!B){A=D+-1|0;y=(A&D|0)==0;if(!y)if(E>>>0>>0)F=E;else F=(E>>>0)%(D>>>0)|0;else F=E&A;x=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((x|0)!=0?(s=f[x>>2]|0,(s|0)!=0):0){x=(d|0)==0;if(y){if(x){y=s;while(1){w=f[y+4>>2]|0;if(!((w|0)==(E|0)|(w&A|0)==(F|0))){G=F;C=54;break a}w=b[y+8+11>>0]|0;if(!((w<<24>>24<0?f[y+12>>2]|0:w&255)|0))break a;y=f[y>>2]|0;if(!y){G=F;C=54;break a}}}else H=s;while(1){y=f[H+4>>2]|0;if(!((y|0)==(E|0)|(y&A|0)==(F|0))){G=F;C=54;break a}y=H+8|0;w=b[y+11>>0]|0;o=w<<24>>24<0;t=w&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){w=f[y>>2]|0;if(o)if(!(Vk(w,c,d)|0))break a;else break;if((b[c>>0]|0)==(w&255)<<24>>24){w=y;l=t;q=c;do{l=l+-1|0;w=w+1|0;if(!l)break a;q=q+1|0}while((b[w>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(x){A=s;while(1){t=f[A+4>>2]|0;if((t|0)!=(E|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(D>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}t=b[A+8+11>>0]|0;if(!((t<<24>>24<0?f[A+12>>2]|0:t&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else J=s;while(1){A=f[J+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)K=A;else K=(A>>>0)%(D>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}A=J+8|0;x=b[A+11>>0]|0;t=x<<24>>24<0;y=x&255;do if(((t?f[J+12>>2]|0:y)|0)==(d|0)){x=f[A>>2]|0;if(t)if(!(Vk(x,c,d)|0))break a;else break;if((b[c>>0]|0)==(x&255)<<24>>24){x=A;o=y;q=c;do{o=o+-1|0;x=x+1|0;if(!o)break a;q=q+1|0}while((b[x>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){oi(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(D>>>0);N=$(n[a+16>>2]);do if(B|$(N*M)>>0<3|(D+-1&D|0)!=0)&1;J=~~$(W($(L/N)))>>>0;ei(a,F>>>0>>0?J:F);F=f[z>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=D;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){D=a+8|0;f[f[g>>2]>>2]=f[D>>2];f[D>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=D;D=f[g>>2]|0;P=f[D>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=D;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;Oq(Q)}if((b[v>>0]|0)<0)Oq(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;Oq(i);u=e;return}function bc(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,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=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ri(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Ch(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=ln(88)|0;r=f[a+8>>2]|0;t=B+(D*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3564;w=x+12|0;f[w>>2]=3588;q=x+64|0;f[q>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;o=x+16|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[x+76>>2]=r;f[x+80>>2]=t;s=x+84|0;f[s>>2]=0;f[h>>2]=3588;E=h+4|0;F=E+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;F=B+(D*136|0)+4|0;G=i+4|0;f[G>>2]=3588;H=i+56|0;f[H>>2]=0;I=i+60|0;f[I>>2]=0;f[i+64>>2]=0;o=i+8|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[E>>2]=F;o=f[B+(D*136|0)+68>>2]|0;z=((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,z,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Df(j,h);Df(e,j);f[i>>2]=f[e+4>>2];z=i+4|0;fg(z,e)|0;f[e>>2]=3588;o=f[e+20>>2]|0;if(o|0)Oq(o);o=f[e+8>>2]|0;if(o|0)Oq(o);f[i+36>>2]=F;f[i+40>>2]=t;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3588;o=f[j+20>>2]|0;if(o|0)Oq(o);o=f[j+8>>2]|0;if(o|0)Oq(o);f[s>>2]=a+72;f[x+8>>2]=f[i>>2];fg(w,z)|0;z=x+44|0;o=i+36|0;f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];f[z+12>>2]=f[o+12>>2];b[z+16>>0]=b[o+16>>0]|0;ng(q,f[H>>2]|0,f[I>>2]|0);o=x;z=f[H>>2]|0;if(z|0){J=f[I>>2]|0;if((J|0)!=(z|0))f[I>>2]=J+(~((J+-4-z|0)>>>2)<<2);Oq(z)}f[G>>2]=3588;z=f[i+24>>2]|0;if(z|0)Oq(z);z=f[i+12>>2]|0;if(z|0)Oq(z);f[h>>2]=3588;z=f[h+20>>2]|0;if(z|0)Oq(z);z=f[h+8>>2]|0;if(z|0)Oq(z);K=0;L=o;M=54;break b}while(0);if(!A){b[B+(D*136|0)+100>>0]=0;N=B+(D*136|0)+104|0;M=26}else M=24}else M=24;while(0);if((M|0)==24){N=a+40|0;M=26}if((M|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((mi(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){M=31;break}gf(e,a,N);O=1;P=f[e>>2]|0}else M=31;while(0);if((M|0)==31){Vd(e,a,N);O=0;P=f[e>>2]|0}if(!P)Q=0;else{K=O;L=P;M=54}}if((M|0)==54){M=f[g>>2]|0;if((M|0)==-1)R=a+68|0;else R=(f[n>>2]|0)+(M*136|0)+132|0;f[R>>2]=K;K=ln(76)|0;f[k>>2]=L;rl(K,k,c);c=K;K=f[k>>2]|0;f[k>>2]=0;if(K|0)Va[f[(f[K>>2]|0)+4>>2]&127](K);K=a+188|0;k=f[K>>2]|0;if((k|0)==(f[a+192>>2]|0))Ri(a+184|0,g);else{f[k>>2]=f[g>>2];f[K>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;K=f[a>>2]|0;if(K>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[K>>2]=c;f[a>>2]=K+4;S=l}else{Qg(k+8|0,l);S=l}l=f[S>>2]|0;f[S>>2]=0;if(!l)Q=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);Q=1}}C=Q;u=d;return C|0}function cc(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,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=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ri(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Ch(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=ln(88)|0;r=f[a+8>>2]|0;t=B+(D*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3564;w=x+12|0;f[w>>2]=3588;q=x+64|0;f[q>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;o=x+16|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[x+76>>2]=r;f[x+80>>2]=t;s=x+84|0;f[s>>2]=0;f[h>>2]=3588;E=h+4|0;F=E+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;F=B+(D*136|0)+4|0;G=i+4|0;f[G>>2]=3588;H=i+56|0;f[H>>2]=0;I=i+60|0;f[I>>2]=0;f[i+64>>2]=0;o=i+8|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[E>>2]=F;o=f[B+(D*136|0)+68>>2]|0;z=((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,z,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Df(j,h);Df(e,j);f[i>>2]=f[e+4>>2];z=i+4|0;fg(z,e)|0;f[e>>2]=3588;o=f[e+20>>2]|0;if(o|0)Oq(o);o=f[e+8>>2]|0;if(o|0)Oq(o);f[i+36>>2]=F;f[i+40>>2]=t;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3588;o=f[j+20>>2]|0;if(o|0)Oq(o);o=f[j+8>>2]|0;if(o|0)Oq(o);f[s>>2]=a+72;f[x+8>>2]=f[i>>2];fg(w,z)|0;z=x+44|0;o=i+36|0;f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];f[z+12>>2]=f[o+12>>2];b[z+16>>0]=b[o+16>>0]|0;ng(q,f[H>>2]|0,f[I>>2]|0);o=x;z=f[H>>2]|0;if(z|0){J=f[I>>2]|0;if((J|0)!=(z|0))f[I>>2]=J+(~((J+-4-z|0)>>>2)<<2);Oq(z)}f[G>>2]=3588;z=f[i+24>>2]|0;if(z|0)Oq(z);z=f[i+12>>2]|0;if(z|0)Oq(z);f[h>>2]=3588;z=f[h+20>>2]|0;if(z|0)Oq(z);z=f[h+8>>2]|0;if(z|0)Oq(z);K=0;L=o;M=54;break b}while(0);if(!A){b[B+(D*136|0)+100>>0]=0;N=B+(D*136|0)+104|0;M=26}else M=24}else M=24;while(0);if((M|0)==24){N=a+40|0;M=26}if((M|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((mi(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){M=31;break}gf(e,a,N);O=1;P=f[e>>2]|0}else M=31;while(0);if((M|0)==31){Vd(e,a,N);O=0;P=f[e>>2]|0}if(!P)Q=0;else{K=O;L=P;M=54}}if((M|0)==54){M=f[g>>2]|0;if((M|0)==-1)R=a+68|0;else R=(f[n>>2]|0)+(M*136|0)+132|0;f[R>>2]=K;K=ln(76)|0;f[k>>2]=L;rl(K,k,c);c=K;K=f[k>>2]|0;f[k>>2]=0;if(K|0)Va[f[(f[K>>2]|0)+4>>2]&127](K);K=a+188|0;k=f[K>>2]|0;if((k|0)==(f[a+192>>2]|0))Ri(a+184|0,g);else{f[k>>2]=f[g>>2];f[K>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;K=f[a>>2]|0;if(K>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[K>>2]=c;f[a>>2]=K+4;S=l}else{Qg(k+8|0,l);S=l}l=f[S>>2]|0;f[S>>2]=0;if(!l)Q=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);Q=1}}C=Q;u=d;return C|0}function dc(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))Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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))Ri(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)){Ri(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)){Ri(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 ec(a,c,e){a=a|0;c=c|0;e=e|0;var 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,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,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=0;B=0;C=r;D=r;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=un(f[r>>2]|0,f[r+4>>2]|0,y+A|0,0)|0;r=Vn(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=(r^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(e>>>0>G>>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==r<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==r<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[E+(A<<2)>>2]=f[Q+12>>2];S=z;T=B;U=D;V=C;X=E;break a}while(0);if(!H)if(e>>>0>G>>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=Y;_=e;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=Y;_=e;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=Y;_=e;aa=0;ba=40;break a}if((d[M+8>>1]|0)==r<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=Y;_=e;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=Y;_=e;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==r<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=ln(16)|0;d[L+8>>1]=r;f[L+12>>2]=B;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(_>>>0);ga=$(n[l>>2]);do if(aa|$(ga*fa)>>0<3|(_+-1&_|0)!=0)&1;F=~~$(W($(ea/ga)))>>>0;Vh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(M>>>0>G>>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=_;ia=Z}while(0);G=(f[i>>2]|0)+(ia<<2)|0;r=f[G>>2]|0;if(!r){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[r>>2];ka=r;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;r=w;G=f[r>>2]|0;M=un(G|0,f[r+4>>2]|0,B|0,0)|0;kh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=B;S=G;T=B+1|0;U=G;V=G;X=G}G=A+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=G;B=T;C=V;D=U;E=X}if((T|0)==(la|0))ma=V;else{V=a+84|0;if(!(b[V>>0]|0)){X=f[a+72>>2]|0;E=f[a+68>>2]|0;D=E;if((X|0)==(E|0))na=S;else{C=X-E>>2;E=0;do{X=D+(E<<2)|0;f[X>>2]=f[U+(f[X>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=S}}else{b[V>>0]=0;V=a+68|0;S=a+72|0;C=f[S>>2]|0;E=f[V>>2]|0;U=C-E>>2;D=E;E=C;if(la>>>0<=U>>>0)if(la>>>0>>0?(C=D+(la<<2)|0,(C|0)!=(E|0)):0){f[S>>2]=E+(~((E+-4-C|0)>>>2)<<2);oa=la}else oa=la;else{Ch(V,la-U|0,1220);oa=f[m>>2]|0}U=f[k>>2]|0;if(!oa)na=U;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[U+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=U}}f[m>>2]=T;ma=na}if(!ma)pa=T;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);Oq(ma);pa=T}}else pa=0;T=f[i+8>>2]|0;if(T|0){ma=T;do{T=ma;ma=f[ma>>2]|0;Oq(T)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}Oq(ma);u=g;return pa|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,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=Oa,K=Oa,L=Oa,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=Id(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];lf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Fi(j,4);l=f[j>>2]|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;pj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Fi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=q-l|0;t=c+(l+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(l=f[r>>2]|0,(l|0)!=0):0){r=(o|0)==0;if(s){if(r){s=l;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=l;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(Vk(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=l;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=l;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(Vk(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){oi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;ei(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>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;Oq(O)}if((b[p>>0]|0)<0)Oq(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;Oq(i);u=e;return}function gc(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,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,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)aq(i);o=l<<2;p=ln(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;sj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=0;z=0;A=p;B=p;C=p;while(1){p=q;D=f[p>>2]|0;E=f[p+4>>2]|0;p=o;F=un(f[p>>2]|0,f[p+4>>2]|0,w+y|0,0)|0;p=Vn(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+p>>0]|0;b[h>>0]=E;p=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(p>>>0>>0)G=p;else G=(p>>>0)%(d>>>0)|0;else G=D&p;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(p|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(p|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[C+(y<<2)>>2]=f[O+12>>2];Q=x;R=z;S=B;T=A;U=C;break a}while(0);if(!F)if(p>>>0>>0)V=p;else V=(p>>>0)%(d>>>0)|0;else V=D&p;J=f[H+(V<<2)>>2]|0;if(!J){X=V;Y=d;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=V;Y=d;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(p|0)|(L&D|0)==(V|0))){X=V;Y=d;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=V;Y=d;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(p|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=V;Y=d;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=ln(16)|0;b[J+8>>0]=E;f[J+12>>2]=z;f[J+4>>2]=p;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(Y>>>0);ea=$(n[j>>2]);do if(Z|$(ea*da)>>0<3|(Y+-1&Y|0)!=0)&1;D=~~$(W($(ca/ea)))>>>0;ai(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&p;break}if(p>>>0>>0){fa=K;ga=p}else{fa=K;ga=(p>>>0)%(K>>>0)|0}}else{fa=Y;ga=X}while(0);p=(f[g>>2]|0)+(ga<<2)|0;E=f[p>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[p>>2]=s;p=f[J>>2]|0;if(p|0){K=f[p+4>>2]|0;p=fa+-1|0;if(p&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&p;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;p=f[E>>2]|0;K=un(p|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[v>>2]>>2]|0)+K|0,h|0,p|0)|0;p=f[i>>2]|0;f[p+(y<<2)>>2]=z;Q=p;R=z+1|0;S=p;T=p;U=p}p=y+1|0;ja=f[k>>2]|0;if(p>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=p;z=R;A=T;B=S;C=U}if((R|0)==(ja|0))ka=T;else{T=a+84|0;if(!(b[T>>0]|0)){U=f[a+72>>2]|0;C=f[a+68>>2]|0;B=C;if((U|0)==(C|0))la=Q;else{A=U-C>>2;C=0;do{U=B+(C<<2)|0;f[U>>2]=f[S+(f[U>>2]<<2)>>2];C=C+1|0}while(C>>>0>>0);la=Q}}else{b[T>>0]=0;T=a+68|0;Q=a+72|0;A=f[Q>>2]|0;C=f[T>>2]|0;S=A-C>>2;B=C;C=A;if(ja>>>0<=S>>>0)if(ja>>>0>>0?(A=B+(ja<<2)|0,(A|0)!=(C|0)):0){f[Q>>2]=C+(~((C+-4-A|0)>>>2)<<2);ma=ja}else ma=ja;else{Ch(T,ja-S|0,1220);ma=f[k>>2]|0}S=f[i>>2]|0;if(!ma)la=S;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=S}}f[k>>2]=R;ka=la}if(!ka)na=R;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);Oq(ka);na=R}}else na=0;R=f[g+8>>2]|0;if(R|0){ka=R;do{R=ka;ka=f[ka>>2]|0;Oq(R)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}Oq(ka);u=e;return na|0}function hc(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,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,aa=0,ba=0,ca=0,da=Oa,ea=Oa,fa=Oa,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=0;A=0;B=q;C=q;D=q;while(1){q=r;E=f[q>>2]|0;F=f[q+4>>2]|0;q=p;G=un(f[q>>2]|0,f[q+4>>2]|0,x+z|0,0)|0;q=Vn(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+q|0;q=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=q;F=q^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(q|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(q|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[D+(z<<2)>>2]=f[P+12>>2];R=y;S=A;T=C;U=B;V=D;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=X;Z=d;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=X;Z=d;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=X;Z=d;_=0;aa=40;break a}if((f[L+8>>2]|0)==(q|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=X;Z=d;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=X;Z=d;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(q|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=ln(16)|0;f[K+8>>2]=q;f[K+12>>2]=A;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Z>>>0);fa=$(n[k>>2]);do if(_|$(fa*ea)>>0<3|(Z+-1&Z|0)!=0)&1;E=~~$(W($(da/fa)))>>>0;Hi(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Z;ha=Y}while(0);F=(f[g>>2]|0)+(ha<<2)|0;q=f[F>>2]|0;if(!q){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[q>>2];ja=q;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;q=v;F=f[q>>2]|0;L=un(F|0,f[q+4>>2]|0,A|0,0)|0;kh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(z<<2)>>2]=A;R=F;S=A+1|0;T=F;U=F;V=F}F=z+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=F;A=S;B=U;C=T;D=V}if((S|0)==(ka|0))la=U;else{U=a+84|0;if(!(b[U>>0]|0)){V=f[a+72>>2]|0;D=f[a+68>>2]|0;C=D;if((V|0)==(D|0))ma=R;else{B=V-D>>2;D=0;do{V=C+(D<<2)|0;f[V>>2]=f[T+(f[V>>2]<<2)>>2];D=D+1|0}while(D>>>0>>0);ma=R}}else{b[U>>0]=0;U=a+68|0;R=a+72|0;B=f[R>>2]|0;D=f[U>>2]|0;T=B-D>>2;C=D;D=B;if(ka>>>0<=T>>>0)if(ka>>>0>>0?(B=C+(ka<<2)|0,(B|0)!=(D|0)):0){f[R>>2]=D+(~((D+-4-B|0)>>>2)<<2);na=ka}else na=ka;else{Ch(U,ka-T|0,1220);na=f[l>>2]|0}T=f[j>>2]|0;if(!na)ma=T;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=T}}f[l>>2]=S;la=ma}if(!la)oa=S;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);Oq(la);oa=S}}else oa=0;S=f[g+8>>2]|0;if(S|0){la=S;do{S=la;la=f[la>>2]|0;Oq(S)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}Oq(la);u=e;return oa|0}function ic(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)aq(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];vb(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];vb(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];vb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Xn(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=Xn(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=Xn(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Xn(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Xn(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Xn(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=un(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=un(da|0,_|0,aa|0,$|0)|0;ga=I;ha=un(ea|0,W|0,aa|0,$|0)|0;$=I;aa=un(K|0,ca|0,S|0,L|0)|0;ca=I;K=un(da|0,_|0,S|0,L|0)|0;L=I;S=un(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Xn(B|0,C|0,fa|0,ga|0)|0;ga=Vn(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Vn(ha|0,$|0,D|0,E|0)|0;$=Xn(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Xn(F|0,G|0,S|0,X|0)|0;X=Vn(aa|0,I|0,K|0,L|0)|0;L=I;Pg(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)aq(Q);else if((R|0)==21)aq(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=Xn(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Xn(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Xn(0,0,oa|0,na|0)|0;i=Vn((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Vn(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=Yn(t|0,R|0,29)|0;U=ia&7;ia=Ik(ka|0,ja|0,U|0,0)|0;a=Ik(ma|0,la|0,U|0,0)|0;i=Ik(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=Yn(t|0,R|0,29)|0;R=I;t=Ik(ka|0,ja|0,i|0,R|0)|0;ja=Ik(ma|0,la|0,i|0,R|0)|0;la=Ik(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 jc(a,c,e){a=a|0;c=c|0;e=e|0;var 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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)aq(l);r=p<<2;s=ln(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;sj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=un(f[A>>2]|0,f[A+4>>2]|0,t+y|0,0)|0;A=Vn(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=yf(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=Yn(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=Yn(B|0,D|0,48)|0;J=H&65535;K=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H&65535;H=f[s>>2]|0;E=(H|0)==0;a:do if(!E){L=H+-1|0;M=(L&H|0)==0;if(!M)if(K>>>0>>0)N=K;else N=(K>>>0)%(H>>>0)|0;else N=K&L;O=f[(f[i>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(K|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[M+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==J<<16>>16:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(K|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(H>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((d[M>>1]|0)==A<<16>>16?(d[M+2>>1]|0)==F<<16>>16:0)?(d[S+12>>1]|0)==G<<16>>16:0)?(d[M+6>>1]|0)==J<<16>>16:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;J=ln(20)|0;G=J+8|0;F=G;d[F>>1]=B;d[F+2>>1]=B>>>16;F=G+4|0;d[F>>1]=D;d[F+2>>1]=D>>>16;f[J+16>>2]=z;f[J+4>>2]=K;f[J>>2]=0;U=$(((f[p>>2]|0)+1|0)>>>0);V=$(H>>>0);X=$(n[m>>2]);do if(E|$(X*V)>>0<3|(H+-1&H|0)!=0)&1;G=~~$(W($(U/X)))>>>0;Sh(i,F>>>0>>0?G:F);F=f[s>>2]|0;G=F+-1|0;if(!(G&F)){Y=F;Z=G&K;break}if(K>>>0>>0){Y=F;Z=K}else{Y=F;Z=(K>>>0)%(F>>>0)|0}}else{Y=H;Z=Q}while(0);H=(f[i>>2]|0)+(Z<<2)|0;K=f[H>>2]|0;if(!K){f[J>>2]=f[v>>2];f[v>>2]=J;f[H>>2]=v;H=f[J>>2]|0;if(H|0){E=f[H+4>>2]|0;H=Y+-1|0;if(H&Y)if(E>>>0>>0)_=E;else _=(E>>>0)%(Y>>>0)|0;else _=E&H;aa=(f[i>>2]|0)+(_<<2)|0;R=44}}else{f[J>>2]=f[K>>2];aa=K;R=44}if((R|0)==44){R=0;f[aa>>2]=J}f[p>>2]=(f[p>>2]|0)+1}K=w;H=f[K>>2]|0;E=un(H|0,f[K+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+E|0,j|0,H|0)|0;H=f[l>>2]|0;f[H+(y<<2)>>2]=z;ba=z+1|0;ca=H}else{H=f[l>>2]|0;f[H+(y<<2)>>2]=f[C+16>>2];ba=z;ca=H}y=y+1|0;da=f[o>>2]|0;if(y>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))fa=ca;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[ca+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;w=f[ca>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(da>>>0<=x>>>0)if(da>>>0>>0?(w=y+(da<<2)|0,(w|0)!=(j|0)):0){f[ca>>2]=j+(~((j+-4-w|0)>>>2)<<2);ga=da}else ga=da;else{Ch(z,da-x|0,1220);ga=f[o>>2]|0}x=f[l>>2]|0;if(!ga)fa=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=x}}f[o>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[q>>2]|0;if((fa|0)!=(ea|0))f[q>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);Oq(ea);ha=ba}}else ha=0;ba=f[i+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;Oq(ba)}while((ea|0)!=0)}ea=f[i>>2]|0;f[i>>2]=0;if(!ea){u=g;return ha|0}Oq(ea);u=g;return ha|0}function kc(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;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ri(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=0;F=E;b:while(1){E=D+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=F+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ri(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ri(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=L?-1:(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)xf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ri(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){xf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ri(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((E|0)>=(k|0))break a;D=E;F=f[n>>2]|0}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{xf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ri(y,d);else{f[F>>2]=1;f[w>>2]=F+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(F=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(F&31)&f[(f[A>>2]|0)+(F>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}F=f[i>>2]|0;f[d>>2]=H;D=je(B,d)|0;f[D>>2]=F;F=f[j>>2]|0;f[F+-4>>2]=U;if((F|0)==(f[m>>2]|0)){Ri(h,e);break}else{f[F>>2]=f[e>>2];f[j>>2]=F+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ri(y,d);else{f[F>>2]=7;f[w>>2]=F+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function lc(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,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=un(f[z>>2]|0,f[z+4>>2]|0,s+x|0,0)|0;z=Vn(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=Ef(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=C&255;C=E&255;E=(((B&255^318)+239^J)+239^C)+239^G;G=f[r>>2]|0;K=(G|0)==0;a:do if(!K){L=G+-1|0;M=(L&G|0)==0;if(!M)if(E>>>0>>0)N=E;else N=(E>>>0)%(G>>>0)|0;else N=E&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(E|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((b[O>>0]|0)==A<<24>>24?(b[O+1>>0]|0)==D<<24>>24:0)?(b[O+2>>0]|0)==F<<24>>24:0)?(b[O+3>>0]|0)==H<<24>>24:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(E|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(G>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((b[M>>0]|0)==A<<24>>24?(b[M+1>>0]|0)==D<<24>>24:0)?(b[M+2>>0]|0)==F<<24>>24:0)?(b[M+3>>0]|0)==H<<24>>24:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;H=ln(16)|0;F=H+8|0;D=B&-16776961|C<<16|J<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;U=$(((f[o>>2]|0)+1|0)>>>0);V=$(G>>>0);X=$(n[l>>2]);do if(K|$(X*V)>>0<3|(G+-1&G|0)!=0)&1;F=~~$(W($(U/X)))>>>0;Zh(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Y=D;Z=F&E;break}if(E>>>0>>0){Y=D;Z=E}else{Y=D;Z=(E>>>0)%(D>>>0)|0}}else{Y=G;Z=Q}while(0);G=(f[g>>2]|0)+(Z<<2)|0;E=f[G>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[G>>2]=t;G=f[H>>2]|0;if(G|0){K=f[G+4>>2]|0;G=Y+-1|0;if(G&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&G;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[H>>2]=f[E>>2];aa=E;R=44}if((R|0)==44){R=0;f[aa>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;G=f[E>>2]|0;K=un(G|0,f[E+4>>2]|0,y|0,0)|0;kh((f[f[w>>2]>>2]|0)+K|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(x<<2)>>2]=y;ba=y+1|0;ca=G}else{G=f[k>>2]|0;f[G+(x<<2)>>2]=f[z+12>>2];ba=y;ca=G}x=x+1|0;da=f[m>>2]|0;if(x>>>0>=da>>>0)break;else y=ba}if((ba|0)==(da|0))ea=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))fa=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);fa=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(da>>>0<=w>>>0)if(da>>>0>>0?(v=x+(da<<2)|0,(v|0)!=(i|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ga=da}else ga=da;else{Ch(y,da-w|0,1220);ga=f[m>>2]|0}w=f[k>>2]|0;if(!ga)fa=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=w}}f[m>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[p>>2]|0;if((fa|0)!=(ea|0))f[p>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);Oq(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;Oq(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}Oq(ea);u=e;return ha|0}function mc(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,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=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=un(f[B>>2]|0,f[B+4>>2]|0,r+A|0,0)|0;B=Vn(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));im(i|0,D|0,16)|0;C=Vf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=ln(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=z;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|$(X*V)>>0<3|(J+-1&J|0)!=0)&1;M=~~$(W($(U/X)))>>>0;Wh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

>>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=un(J|0,f[H+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(A<<2)>>2]=z;ba=z+1|0;ca=J}else{J=f[j>>2]|0;f[J+(A<<2)>>2]=f[C+24>>2];ba=z;ca=J}A=A+1|0;da=f[l>>2]|0;if(A>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((A|0)==(h|0))fa=ca;else{x=A-h>>2;h=0;do{A=y+(h<<2)|0;f[A>>2]=f[ca+(f[A>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;x=f[ca>>2]|0;h=f[z>>2]|0;y=x-h>>2;A=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=A+(da<<2)|0,(x|0)!=(h|0)):0){f[ca>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{Ch(z,da-y|0,1220);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);Oq(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;Oq(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}Oq(ea);u=e;return ha|0}function nc(a,c,e){a=a|0;c=c|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,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=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=un(f[B>>2]|0,f[B+4>>2]|0,s+A|0,0)|0;B=Vn(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;im(j|0,D|0,6)|0;D=dg(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=ln(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=z;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;J=~~$(W($(S/U)))>>>0;Th(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=un(G|0,f[F+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=z;_=z+1|0;aa=G}else{G=f[k>>2]|0;f[G+(A<<2)>>2]=f[D+16>>2];_=z;aa=G}A=A+1|0;ba=f[m>>2]|0;if(A>>>0>=ba>>>0)break;else z=_}if((_|0)==(ba|0))ca=aa;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((A|0)==(i|0))da=aa;else{x=A-i>>2;i=0;do{A=y+(i<<2)|0;f[A>>2]=f[aa+(f[A>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=aa}}else{b[z>>0]=0;z=a+68|0;aa=a+72|0;x=f[aa>>2]|0;i=f[z>>2]|0;y=x-i>>2;A=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=A+(ba<<2)|0,(x|0)!=(i|0)):0){f[aa>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{Ch(z,ba-y|0,1220);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=_;ca=da}if(!ca)fa=_;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);Oq(ca);fa=_}}else fa=0;_=f[h+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;Oq(_)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}Oq(ca);u=g;return fa|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,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,U=0,V=0,W=0,Y=0,Z=0,_=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=Lq(i)|0;sj(j|0,0,i|0)|0;k=Lq(i)|0;sj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=p;B=z;C=n}else aq(i);while(1){z=f[C+(B<<2)>>2]|0;if(q)sj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=0;E=z;while(1){F=f[p+(E<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(B|0)&(K|0)<(B|0)&(J|0)<(B|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=D+1|0}else N=D}else N=D;J=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);E=(O|0)==(z|0)?-1:O;if((E|0)==-1)break;else D=N}D=X(B,e)|0;if(N){if(q){E=0;do{z=j+(E<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(D<<2)|0;z=c+(D<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=0;H=j;I=p;while(1){if((I|0)>0){p=0;do{K=f[H+(p<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(p<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(p<<2)>>2]=(K|0)<(F|0)?F:K;P=G}p=p+1|0}while((p|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;p=(f[E+(J<<2)>>2]|0)-(f[Q+(J<<2)>>2]|0)|0;G=z+(J<<2)|0;f[G>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){R=p-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+p|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}J=J+1|0;I=f[g>>2]|0;if((J|0)>=(I|0))break;else H=Q}}}else{T=D;S=30}}else{T=X(B,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,I=c+(T<<2)|0,J=f[g>>2]|0,(J|0)>0):0){z=0;E=b+((X(A+-2|0,e)|0)<<2)|0;G=J;while(1){if((G|0)>0){J=0;do{p=f[E+(J<<2)>>2]|0;K=f[r>>2]|0;if((p|0)>(K|0)){F=f[s>>2]|0;f[F+(J<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(J<<2)>>2]=(p|0)<(F|0)?F:p;U=K}J=J+1|0}while((J|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;J=(f[H+(z<<2)>>2]|0)-(f[V+(z<<2)>>2]|0)|0;K=I+(z<<2)|0;f[K>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){W=J-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+J|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}z=z+1|0;G=f[g>>2]|0;if((z|0)>=(G|0))break;else E=V}}if((A|0)<=2)break a;C=f[i>>2]|0;E=B+-1|0;if((f[l>>2]|0)-C>>2>>>0<=E>>>0)break;else{G=B;B=E;A=G}}aq(i)}while(0);if((e|0)>0)sj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(k);Mq(j);return 1}i=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;l=a+20|0;V=a+24|0;a=0;W=j;U=e;while(1){if((U|0)>0){e=0;do{T=f[W+(e<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[A>>2]|0;f[R+(e<<2)>>2]=Q;Y=R}else{R=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(e<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}e=e+1|0}while((e|0)<(f[g>>2]|0));Z=Y}else Z=f[A>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Z+(a<<2)>>2]|0)|0;Q=c+(a<<2)|0;f[Q>>2]=e;if((e|0)>=(f[C>>2]|0)){if((e|0)>(f[V>>2]|0)){_=e-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+e|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}a=a+1|0;U=f[g>>2]|0;if((a|0)>=(U|0))break;else W=Z}Mq(k);Mq(j);return 1}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,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,U=0,V=0,W=0,Y=0,Z=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=Lq(i)|0;sj(j|0,0,i|0)|0;k=Lq(i)|0;sj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=p;C=A;D=n}else aq(i);while(1){A=f[D+(C<<2)>>2]|0;if(q)sj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=0;F=A;while(1){if(((f[p+(F>>>5<<2)>>2]&1<<(F&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(C|0)&(L|0)<(C|0)&(K|0)<(C|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=E+1|0}else M=E;K=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);F=(N|0)==(A|0)?-1:N;if((F|0)==-1)break;else E=M}E=X(C,e)|0;if(M){if(q){F=0;do{A=j+(F<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;F=F+1|0}while((F|0)!=(e|0))}F=b+(E<<2)|0;A=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=0;G=j;J=p;while(1){if((J|0)>0){p=0;do{L=f[G+(p<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(p<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(p<<2)>>2]=(L|0)<(I|0)?I:L;O=H}p=p+1|0}while((p|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;p=(f[F+(K<<2)>>2]|0)-(f[P+(K<<2)>>2]|0)|0;H=A+(K<<2)|0;f[H>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){Q=p-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+p|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}K=K+1|0;J=f[g>>2]|0;if((K|0)>=(J|0))break;else G=P}}}else{S=E;R=28}}else{S=X(C,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,J=c+(S<<2)|0,K=f[g>>2]|0,(K|0)>0):0){A=0;F=b+((X(B+-2|0,e)|0)<<2)|0;H=K;while(1){if((H|0)>0){K=0;do{p=f[F+(K<<2)>>2]|0;L=f[r>>2]|0;if((p|0)>(L|0)){I=f[s>>2]|0;f[I+(K<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(K<<2)>>2]=(p|0)<(I|0)?I:p;T=L}K=K+1|0}while((K|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;K=(f[G+(A<<2)>>2]|0)-(f[U+(A<<2)>>2]|0)|0;L=J+(A<<2)|0;f[L>>2]=K;if((K|0)>=(f[u>>2]|0)){if((K|0)>(f[w>>2]|0)){V=K-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+K|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}A=A+1|0;H=f[g>>2]|0;if((A|0)>=(H|0))break;else F=U}}if((B|0)<=2)break a;D=f[i>>2]|0;F=C+-1|0;if((f[l>>2]|0)-D>>2>>>0<=F>>>0)break;else{H=C;C=F;B=H}}aq(i)}while(0);if((e|0)>0)sj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(k);Mq(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;D=a+28|0;l=a+20|0;U=a+24|0;a=0;V=j;T=e;while(1){if((T|0)>0){e=0;do{S=f[V+(e<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[B>>2]|0;f[Q+(e<<2)>>2]=P;W=Q}else{Q=f[C>>2]|0;P=f[B>>2]|0;f[P+(e<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}e=e+1|0}while((e|0)<(f[g>>2]|0));Y=W}else Y=f[B>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Y+(a<<2)>>2]|0)|0;P=c+(a<<2)|0;f[P>>2]=e;if((e|0)>=(f[D>>2]|0)){if((e|0)>(f[U>>2]|0)){Z=e-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+e|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}a=a+1|0;T=f[g>>2]|0;if((a|0)>=(T|0))break;else V=Y}Mq(k);Mq(j);return 1}function qc(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,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;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;tk(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){fj(g,0);ja=k}else{fj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)aq(J);return 0}function rc(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=l;t=k}else{s=l;t=k}else{Ch(i,m-q|0,6140);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;gk(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;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=l;F=p;G=k}else{E=l;F=p;G=k}else{Ch(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=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)aq(e);t=ln(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)aq(g);else{A=ln(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;sj(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=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((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;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+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(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=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);Oq(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);Oq(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);Oq(ca)}h=1;u=c;return h|0}function sc(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,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=Oa,S=Oa,T=Oa,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=un(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=Vn(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;im(i|0,C|0,3)|0;C=jg(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=ln(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|$(T*S)>>0<3|(F+-1&F|0)!=0)&1;H=~~$(W($(R/T)))>>>0;_h(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=un(F|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=z+1|0;_=F}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=z;_=F}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=Z}if((Z|0)==(aa|0))ba=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(w|0)!=(h|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{Ch(z,aa-x|0,1220);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=Z;ba=ca}if(!ba)ea=Z;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);Oq(ba);ea=Z}}else ea=0;Z=f[g+8>>2]|0;if(Z|0){ba=Z;do{Z=ba;ba=f[ba>>2]|0;Oq(Z)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}Oq(ba);u=e;return ea|0}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,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;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;tk(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];$b(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){fj(g,0);ja=k}else{fj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)aq(J);return 0}function uc(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,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=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=un(f[A>>2]|0,f[A+4>>2]|0,r+z|0,0)|0;A=Vn(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));im(i|0,C|0,12)|0;B=qg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=ln(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=y;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;K=~~$(W($(S/U)))>>>0;Xh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=un(G|0,f[F+4>>2]|0,y|0,0)|0;kh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(z<<2)>>2]=y;_=y+1|0;aa=G}else{G=f[j>>2]|0;f[G+(z<<2)>>2]=f[B+20>>2];_=y;aa=G}z=z+1|0;ba=f[l>>2]|0;if(z>>>0>=ba>>>0)break;else y=_}if((_|0)==(ba|0))ca=aa;else{y=a+84|0;if(!(b[y>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((z|0)==(h|0))da=aa;else{w=z-h>>2;h=0;do{z=x+(h<<2)|0;f[z>>2]=f[aa+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=aa}}else{b[y>>0]=0;y=a+68|0;aa=a+72|0;w=f[aa>>2]|0;h=f[y>>2]|0;x=w-h>>2;z=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=z+(ba<<2)|0,(w|0)!=(h|0)):0){f[aa>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{Ch(y,ba-x|0,1220);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=_;ca=da}if(!ca)fa=_;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);Oq(ca);fa=_}}else fa=0;_=f[g+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;Oq(_)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}Oq(ca);u=e;return fa|0} +function di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Je(e,a+40|0,f[a+8>>2]|0,b,c);gj(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e)}Oq(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Oq(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){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Oq(c)}Oq(b)}Oq(a);u=d;return 1}function ei(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Bd(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;Bd(a,e);return}function fi(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+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Gn(g);if((dm(c,0)|0)!=-1?Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Va[f[(f[c>>2]|0)+20>>2]&127](c);ch(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;rg(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oq(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;Oq(c)}i=j;u=e;return i|0}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Fe(e,a+40|0,f[a+8>>2]|0,b,c);gj(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e)}Oq(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Oq(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){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Oq(c)}Oq(b)}Oq(a);u=d;return 1}function hi(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;Oq(d)}Oq(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);Oq(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;Oq(i)}Oq(j)}Oq(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}Oq(e);return}function ii(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+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Ie(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=0;p=a;do{a=f[p+(o<<2)>>2]|0;q=Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[h>>0]=q;q=l;a=f[q+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}o=o+1|0;p=f[j>>2]|0}while(o>>>0<(f[k>>2]|0)-p>>2>>>0);i=1;u=d;return i|0}function ji(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;lp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;lp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=ln(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14538;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=ln(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14559;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}Oq(f[d>>2]|0);u=c;return}function ki(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;Oq(d)}Oq(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);Oq(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;Oq(h)}Oq(i)}Oq(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;Oq(b);return}function li(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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function mi(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=u;u=u+16|0;d=c;e=ln(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14408;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Hk(a,d,-1)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);j=ln(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14423;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Hk(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}Oq(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function ni(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=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function oi(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=ln(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{Fi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(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 pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;ld(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(ld(d,b),(f[e>>2]|0)>1):0){d=1;do{ld((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=0;g=a;while(1){a=g;ci((f[a+(c*12|0)+4>>2]|0)-(f[a+(c*12|0)>>2]|0)>>2,b)|0;a=f[e>>2]|0;h=f[a+(c*12|0)>>2]|0;i=(f[a+(c*12|0)+4>>2]|0)-h>>2;if(!i)j=a;else{Mc(h,i,1,0,b)|0;j=f[e>>2]|0}c=c+1|0;if(c>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else g=j}return}function qi(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(!(vl(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=Sa[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=Sa[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);kh(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 ri(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;ri(c+8|0);Oq(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oq(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;Oq(h)}if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);Oq(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)Oq(e);Oq(d)}if((b[a+11>>0]|0)>=0)return;Oq(f[a>>2]|0);return}function si(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;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)An(h,14477)|0;il(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;lj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)Oq(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}am(Ai(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}Oq(f[h>>2]|0);u=g;return}function ti(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=u;u=u+16|0;d=c;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=dm(k,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ri(j,d);else{f[k>>2]=l;f[h>>2]=k+4}gl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0}function ui(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1292;hi(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);Oq(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;Va[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}Oq(g)}f[a>>2]=1232;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);Oq(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);Oq(g);return}function vi(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)aq(d);k=((b+-1|0)>>>5)+1|0;b=ln(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;zg(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)Oq(g);u=c;return}function wi(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+136|0;c=f[b>>2]|0;if(c|0){d=a+140|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);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);Oq(g)}g=f[a+92>>2]|0;if(!g){uj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);Oq(g);uj(a);return}function xi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3680;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|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;f[a+164>>2]=-1;d=a+168|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;f[d+24>>2]=0;wn(a+200|0);Gn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function yi(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)aq(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;Oo(k,16035);f[k>>2]=7256;va(k|0,1112,110)}else{m=ln(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)kh(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;Oq(d);return}function zi(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=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=Vn(c|0,d|0,7,0)|0;d=Ik(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=Vn(k|0,0,8,0)|0;m=e?l:k;l=Vn(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(k>>>0>=l>>>0)if(k>>>0>l>>>0?(g=h+l|0,(g|0)!=(i|0)):0){f[c>>2]=g;n=h}else n=h;else{Fi(a,l-k|0);n=f[a>>2]|0}k=ln(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}Oq(a);j=1;return j|0}function Ai(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=yg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=ln(40)|0;pj(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}Oe(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 Bi(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)aq(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=ln(p)|0;if(g|0)Fo(o,m,g)|0;if(i|0)Fo(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Fo(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Oq(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;up(o+p|0,l);u=k;return}function Ci(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){sj(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)aq(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;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{d=ln(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;sj(d|0,0,b<<2|0)|0;if((i|0)>0)kh(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;Oq(h);return}function Di(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=ln(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;pj(g+8|0,e);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{Fi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(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 Ei(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=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=+d;l=j;j=i;while(1){if(j<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Bn(m,l+1|0,18562,g)|0;if((n|0)>-1)if(n>>>0>l>>>0)o=n;else break;else o=l<<1|1;Hj(c,o,0);l=o;j=b[h>>0]|0}Hj(c,n,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 Fi(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)aq(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=ln(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)kh(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;Oq(e);return}function Gi(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)/136|0;h=d;if(g>>>0>>0){Ge(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);Oq(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);Oq(h)}Mi(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=Oa,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){Sd(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;Sd(a,e);return}function Ii(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);Oq(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;Oq(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);Oq(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);Oq(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);Oq(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);Oq(b);return}function Ji(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=Bn(l,k+1|0,18559,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Hj(c,n,0);k=n;j=b[h>>0]|0}Hj(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 Ki(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{Ci(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)aq(b);else if((m|0)==12)return d|0;return 0}function Li(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=ln(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14408;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;Xj(a,g,c);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);c=ln(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14423;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;Xj(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}Oq(f[g>>2]|0);u=e;return}function Mi(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);Oq(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;Oq(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);Oq(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);Oq(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);Oq(b)}b=f[a+12>>2]|0;if(b|0)Oq(b);b=f[a>>2]|0;if(!b)return;Oq(b);return}function Ni(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1352;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;Oq(b)}Oq(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Oq(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Oq(d)}Oq(e)}Oq(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);Oq(c);return}function Oi(){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=sn()|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]=18701;Hn(18651,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(Sa[f[(f[258]|0)+16>>2]&31](1032,k,g)|0){k=f[g>>2]|0;g=Qa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=18701;f[e+4>>2]=h;f[e+8>>2]=g;Hn(18565,e)}else{f[d>>2]=18701;f[d+4>>2]=h;Hn(18610,d)}}Hn(18689,b)}function Pi(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=(Jq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=Vq()|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=Vq()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Qi(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);Oq(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);Oq(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);Oq(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);Oq(b)}f[a+4>>2]=3636;b=f[a+24>>2]|0;if(b|0)Oq(b);b=f[a+12>>2]|0;if(!b)return;Oq(b);return}function Ri(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)aq(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;Oo(k,16035);f[k>>2]=7256;va(k|0,1112,110)}else{k=ln(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)kh(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;Oq(d);return}function Si(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=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=Wm(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=g-(f[a+108>>2]|0)|0;g=i;if((i-j|0)<(k|0)){l=g;m=g}else{l=j+(k+-1)|0;m=g}}else{g=f[c>>2]|0;l=g;m=g}f[a+100>>2]=l;l=a+4|0;if(!m)n=f[l>>2]|0;else{g=f[l>>2]|0;l=a+108|0;f[l>>2]=m+1-g+(f[l>>2]|0);n=g}g=n+-1|0;if((d|0)==(h[g>>0]|0|0))o=d;else{b[g>>0]=d;o=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;o=-1}return o|0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1544;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];fk(a+32|0,c+24|0);f[a>>2]=2384;c=a+44|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];f[a>>2]=2440;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));Zm(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1544;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];fk(a+32|0,c+24|0);f[a>>2]=1964;c=a+44|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];f[a>>2]=2020;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));Zm(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0)Oq(b);b=f[a+84>>2]|0;if(b|0)Oq(b);b=f[a+72>>2]|0;if(b|0)Oq(b);b=f[a+60>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;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);Oq(b);return}function Wi(a,c){a=a|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[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Dj(d+12|0,f[c+44>>2]|0,g)|0)){g=ln(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=15859;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;pj(a+4|0,e);if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((mi(f[c>>2]|0)|0)>9){d=0;return d|0}if((Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((mi(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=mi(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((mi(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function Yi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2020;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0)Oq(b);b=f[a+84>>2]|0;if(b|0)Oq(b);b=f[a+72>>2]|0;if(b|0)Oq(b);b=f[a+60>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;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);Oq(b);return}function Zi(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=6596;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=Vq()|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=Ah(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 _i(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3480;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|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;f[a+164>>2]=-1;d=a+168|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;f[d+24>>2]=0;wn(a+200|0);Gn(a+232|0);d=a+264|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;b[d+24>>0]=0;return}function $i(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Gj(d)|0;if(i>>>0>4294967279)aq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=ln(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;Zl(c,g,e);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);h=1;u=a;return h|0}function aj(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;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Gj(d)|0;if(i>>>0>4294967279)aq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=ln(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;$l(c,g,e);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);h=1;u=a;return h|0}function bj(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){bj(h);Oq(h)}if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);Oq(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oq(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;Oq(h)}if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);Oq(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;Oq(d);return}function cj(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=u;u=u+16|0;g=e;h=f[c+36>>2]|0;if(!h){i=ln(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=15706;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;pj(a+4|0,g);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);u=e;return}g=f[c+40>>2]|0;if(!g){Sc(a,c,h,d);u=e;return}else{bi(a,c,g,d);u=e;return}}function dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;tk(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=Lq(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{wn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Fj(g)}while((g|0)!=(a|0))}Mq(d)}if((f[b>>2]|0)>0)h=0;else return;do{tk((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function ej(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;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=ln(52)|0;Ub(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){bj(j);Oq(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}Oq(h)}bj(b);Oq(b);d=1;return d|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=Vn(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[e+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;g=e;h=f[e>>2]|0}e=h+1|0;f[g>>2]=e;if((e|0)!=32)return;e=a+24|0;h=a+16|0;d=f[h>>2]|0;if((d|0)==(f[a+20>>2]|0))Ri(a+12|0,e);else{f[d>>2]=f[e>>2];f[h>>2]=d+4}f[g>>2]=0;f[e>>2]=0;return}function gj(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|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;Oq(a)}Oq(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);Oq(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;Oq(c)}Oq(d)}Oq(b);return}function hj(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){xj(a,k,c-k+j|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;Qn(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;up(m+d|0,g)}u=e;return a|0}function ij(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;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));zh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);Oq(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function jj(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;Eo(l,c,d)|0;b[g>>0]=0;up(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;Bi(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function kj(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+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);Oq(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);Oq(d)}Mi(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}Oq(e);return}function lj(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+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Fo(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;up(m+j|0,g)}}else Bi(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function mj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3932;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(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{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Va[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}Oq(e);return}function nj(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;if((Qa[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=dm(e,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=fl(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ra[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function oj(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;if(!(ho(a,b,c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=0;i=g;while(1){g=f[(f[h>>2]|0)+(a<<2)>>2]|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,b,f[i+(a<<2)>>2]|0)|0)){d=0;j=7;break}a=a+1|0;i=f[c>>2]|0;if(a>>>0>=(f[e>>2]|0)-i>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function pj(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)aq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=ln(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Fo(i,g,h)|0;b[e>>0]=0;up(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 qj(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 rj(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+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=0;h=e;do{vg(h+(g*24|0)|0,b)|0;g=g+1|0;h=f[c>>2]|0}while(g>>>0<(((f[d>>2]|0)-h|0)/24|0)>>>0)}h=a+48|0;d=a+52|0;a=f[h>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{i=0;j=a}do{a=f[j+(i<<2)>>2]|0;ci(a<<1^a>>31,b)|0;i=i+1|0;j=f[h>>2]|0}while(i>>>0<(f[d>>2]|0)-j>>2>>>0);return 1}function sj(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 tj(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(!(fp(a,f[c+8>>2]|0,g)|0)){if(fp(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 Vm(0,c,d,e);while(0);return}function uj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|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<<5)|0;do{e=e+-32|0;Fj(e)}while((e|0)!=(c|0))}Mq(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);Oq(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)Oq(e);e=f[a+32>>2]|0;if(!e){Fj(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e);Fj(a);return}function vj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3092;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+76>>2]|0;if(b|0)Oq(b);b=f[a+64>>2]|0;if(b|0)Oq(b);b=f[a+52>>2]|0;if(b|0)Oq(b);b=f[a+40>>2]|0;if(!b)return;Oq(b);return}function wj(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){Fi(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Cg(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Vn(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 xj(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)aq(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=ln(m)|0;if(g|0)Fo(l,j,g)|0;k=e-h-g|0;if(k|0)Fo(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)Oq(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function yj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2728;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+76>>2]|0;if(b|0)Oq(b);b=f[a+64>>2]|0;if(b|0)Oq(b);b=f[a+52>>2]|0;if(b|0)Oq(b);b=f[a+40>>2]|0;if(!b)return;Oq(b);return}function zj(a,b){a=a|0;b=b|0;if(!b)return;else{zj(a,f[b>>2]|0);zj(a,f[b+4>>2]|0);Ej(b+20|0,f[b+24>>2]|0);Oq(b);return}}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Yf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function Bj(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=ln(32)|0,yn(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;Oq(e)}Oq(g)}g=Vl(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=un(e|0,g|0,c|0,0)|0;if(!(wj(h,0,i,I)|0)){j=0;return j|0}Kk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Cj(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(!(fp(a,b,0)|0))if((b|0)!=0?(g=Eh(b,1056,1040,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;Ya[f[(f[g>>2]|0)+28>>2]&3](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 Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;ci((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){ci(f[h+40>>2]|0,b)|0;lg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}lg(a,b,c)|0;d=1;return d|0}function Ej(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Ej(a,f[c>>2]|0);Ej(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);Oq(c);return}function Fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;qf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);Oq(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);Oq(c);u=b;return}function Gj(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 Hj(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;up(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;up(a+c|0,g);b[h>>0]=c;break}else hj(a,c-k|0,d)|0;while(0);u=e;return}function Ij(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;Oq(b)}Oq(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);Oq(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;Oq(c)}Oq(d)}Oq(a);return}function Jj(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 Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=ln(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=cg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ii(a);Oq(a);return}function Lj(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?(Tq(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=Nj(c,a)|0;Sq(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=Nj(c,a)|0}while(0);return j|0}function Mj(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+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Nj(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(!(vl(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((Sa[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 Oj(a,b){a=a|0;b=b|0;if(!b)return;else{Oj(a,f[b>>2]|0);Oj(a,f[b+4>>2]|0);Ej(b+20|0,f[b+24>>2]|0);Oq(b);return}}function Pj(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=e+4|0;f[g>>2]=c;c=ln(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=c;j=14495;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+17>>0]=0;Xj(Hd(a,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}Oq(f[h>>2]|0);u=e;return}function Qj(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}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)Ce(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}Bp(f[c+(e<<2)>>2]|0);d=1;return d|0}function Rj(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=hn(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=jp(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 Sj(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(!(eq(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(!(Aq(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(!(Aq(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function Tj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;il(g,d);h=Ai(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}gh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Me(g,c,e,e+4|0)|0;u=b;return 1}function Vj(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;ll(g,d&1);d=Ai(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}gh(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 Wj(a){a=a|0;if(!a)return;Ej(a+24|0,f[a+28>>2]|0);zj(a+12|0,f[a+16>>2]|0);Ej(a,f[a+4>>2]|0);Oq(a);return}function Xj(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;ll(g,d);d=Ai(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}gh(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 Yj(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=Rg(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=Sj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function Zj(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>>>0>10){g=0;u=d;return g|0}h=ln(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=15987;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;Xj(a,e,c);if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);g=1;u=d;return g|0}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function $j(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[16654+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=16742;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=16742;else{i=16742;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 jq(k,f[c+20>>2]|0)|0}function ak(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=Yn(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+ak(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 bk(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=Tn(h+1023|0,0,52)|0;h=I;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function ck(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=0;g=a}else{b=1;return b|0}while(1){a=f[g+(e<<2)>>2]|0;e=e+1|0;if(!(Gl(a,a)|0)){b=0;h=5;break}g=f[c>>2]|0;if((e|0)>=((f[d>>2]|0)-g>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function dk(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+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=0;i=e;while(1){e=f[i+(a<<2)>>2]|0;a=a+1|0;if(!(Sa[f[(f[e>>2]|0)+20>>2]&31](e,h,b)|0)){g=0;j=5;break}i=f[c>>2]|0;if(a>>>0>=(f[d>>2]|0)-i>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=0;h=a}while(1){a=f[h+(g<<2)>>2]|0;g=g+1|0;if(!(Ra[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}h=f[c>>2]|0;if(g>>>0>=(f[d>>2]|0)-h>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function fk(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)aq(a);h=ln(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;kh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function gk(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;Oo(g,16035);f[g>>2]=7256;va(g|0,1112,110)}g=(f[e>>2]|0)-d|0;h=ln(b<<2)|0;if((g|0)>0)kh(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;Oq(d);return}function hk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=0;h=d;while(1){d=f[h+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[d>>2]|0)+16>>2]&127](d,g)|0)){e=0;i=5;break}h=f[b>>2]|0;if(a>>>0>=(f[c>>2]|0)-h>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function ik(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function jk(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=ln(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14479;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;Xj(a,e,c);if((b[e+11>>0]|0)>=0){u=d;return}Oq(f[e>>2]|0);u=d;return}function kk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function lk(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)aq(a);e=ln(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{fk(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function mk(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{Ug(a+40|0,b);d=1;return d|0}return 0}function nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;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);Oq(b)}f[a+12>>2]=3588;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function ok(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3344;f[a+40>>2]=1196;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);Oq(b)}f[a>>2]=1476;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Ni(a);Oq(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Ni(a);Oq(a);return}function pk(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){Lk(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 qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3612;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);Oq(b)}f[a+12>>2]=3636;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){Oq(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);Oq(c);Oq(a);return}function sk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Oa,h=0;e=Rg(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+Iq(h));return $(g)}function tk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;qf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0)){g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}function uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;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);Oq(b)}f[a+12>>2]=3588;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b)return;Oq(b);return}function wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1768;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){Oq(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);Oq(c);Oq(a);return}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3344;f[a+40>>2]=1196;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);Oq(b)}f[a>>2]=1476;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Ni(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Ni(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Nc(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{im(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 zk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Ak(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3612;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);Oq(b)}f[a+12>>2]=3636;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b)return;Oq(b);return}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;Ym(e,0);i=+Rc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Ck(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 Dk(a){a=a|0;var b=0,c=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;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);Oq(c);return}function Ek(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=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Sa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Rg(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Sj(g)|0)+1|0)>>>0>1;return e|0}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6152;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);Oq(b)}b=f[a+84>>2]|0;if(!b){Og(a);Oq(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);Oq(b);Og(a);Oq(a);return}function Hk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Rg(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Sj(h)|0;return g|0}function Ik(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=Xn(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Xn((Ld(i,b,Xn(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 Jk(a){a=a|0;var b=0,c=0;f[a>>2]=1768;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;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);Oq(c);return}function Kk(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 Lk(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 Fi(a,b-g|0);g=a+24|0;a=g;b=Vn(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 Mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Rg(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Sj(g)|0;return e|0}function Nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6152;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);Oq(b)}b=f[a+84>>2]|0;if(!b){Og(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);Oq(b);Og(a);return}function Ok(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 Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(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);Oq(b);Oq(a);return}function Qk(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;sj(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Xo(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Xo(a,g,h)}u=f;return}function Rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(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);Oq(b);Oq(a);return}function Sk(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(fp(a,f[b+8>>2]|0,g)|0)qj(0,b,c,d,e);else{h=f[a+8>>2]|0;_a[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2300;Fj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(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);Oq(b);Oq(a);return}function Uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1880;Fj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(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);Oq(b);Oq(a);return}function Vk(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 Wk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Xk(a){a=a|0;var b=0,c=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;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);Oq(b);return}function Yk(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;Hj(a,d,0);return}function Zk(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=+Zg(e)*e;e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function _k(a){a=a|0;var b=0,c=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;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);Oq(b);return}function $k(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}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function al(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;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);Oq(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);Oq(b);return}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=2300;Fj(a+108|0);f[a>>2]=1544;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);Oq(b);return}function cl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>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 dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(fp(a,f[b+8>>2]|0,0)|0)Ck(0,b,c,d);else{e=f[a+8>>2]|0;Ya[f[(f[e>>2]|0)+28>>2]&3](e,b,c,d)}return}function el(a){a=a|0;var b=0,c=0;f[a>>2]=1880;Fj(a+108|0);f[a>>2]=1544;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);Oq(b);return}function fl(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=Ra[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function gl(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=Ra[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function hl(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 il(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Yk(d);Ei(a,d,b);Bo(d);u=c;return}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);Oq(b);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function ll(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Yk(d);Ji(a,d,b);Bo(d);u=c;return}function ml(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((to(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 nl(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 ol(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}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function pl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function ql(a){a=a|0;var 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}b=(f[a+36>>2]|0)!=0;return b|0}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;lh(a,c);f[a>>2]=1408;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function sl(a){a=a|0;var b=0,c=0;f[a>>2]=3148;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Oq(a);return}Mq(c);Oq(a);return}function tl(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 ul(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[16636+(c&15)>>0]|0|e;c=Yn(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 vl(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 wl(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 xl(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 yl(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 zl(a){a=a|0;vj(a);Oq(a);return}function Al(a){a=a|0;var b=0,c=0;f[a>>2]=2784;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Oq(a);return}Mq(c);Oq(a);return}function Bl(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 Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(g>>>0>>0){Fi(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+b|0;if((g|0)==(d|0))return;f[c>>2]=g;return}function Dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Zf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function El(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Fl(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+40>>2]=c;d=1;return d|0}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=vc(a,b,d)|0;u=c;return e|0}function Hl(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 Il(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 Jl(a){a=a|0;yj(a);Oq(a);return}function Kl(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Mq(a);return}function Ll(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Aq(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(!(Aq(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Ml(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 Nl(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 Ol(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=Yn(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 Pl(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+60>>2]=c;d=1;return d|0}function Ql(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(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);Oq(b);Oq(a);return}function Rl(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(fp(a,f[b+8>>2]|0,g)|0)qj(0,b,c,d,e);return}function Sl(a){a=a|0;var b=0;f[a>>2]=2784;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Mq(a);return}function Tl(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;qh(a+20|0,g,d);u=c;return}function Ul(a){a=a|0;Vi(a);Oq(a);return}function Vl(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 Wl(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;qh(a+20|0,g,d);u=c;return}function Xl(){var a=0,b=0;a=ln(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 Yl(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function Zl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;_b(a,b,e);u=d;return}function _l(a){a=a|0;f[a>>2]=3656;Qi(a+8|0);Oq(a);return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;fc(a,b,e);u=d;return}function am(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;jj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function bm(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 cm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Gj(b)|0;d=ln(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Fp(d)|0;kh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function dm(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 em(a){a=a|0;Yi(a);Oq(a);return}function fm(a){a=a|0;f[a>>2]=3656;Qi(a+8|0);return}function gm(a){a=a|0;var b=0,c=0;f[a>>2]=1544;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);Oq(b);return}function hm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(fp(a,f[b+8>>2]|0,0)|0)Ck(0,b,c,d);return}function im(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 kh(a,c,d)|0;return a|0}function jm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){Oq(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);Oq(b);Oq(a);return}function km(a){a=a|0;var b=0;f[a>>2]=3204;b=f[a+56>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function lm(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=Sa[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 mm(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 nm(a){a=a|0;var b=0,c=0;f[a>>2]=3408;b=a+56|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){mj(a);return}Va[f[(f[c>>2]|0)+4>>2]&127](c);mj(a);return}function om(){var a=0,b=0;a=sn()|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)Ho(f[b+12>>2]|0);Ho(Qp()|0)}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qf(a,b,c,d,e,f,6)|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Pf(a,b,c,d,e,f,4)|0}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wf(a,b,c,d,e,f,2)|0}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Pf(a,b,c,d,e,f,3)|0}function tm(a){a=a|0;var b=0;f[a>>2]=2840;b=f[a+56>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wf(a,b,c,d,e,f,1)|0}function vm(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 wm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+Zg(d);c=-(f+e*+Zg(e));return +c}function xm(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<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function ym(a){a=a|0;var b=0;zo(a);f[a>>2]=3344;f[a+40>>2]=1196;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function zm(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 Am(a){a=a|0;var b=0,c=0;if(pq(a)|0?(b=Mp(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)Oq(b);return}function Bm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=Vn(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Cm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qf(a,b,c,d,e,f,5)|0}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qf(a,b,c,d,e,f,9)|0}function Em(a){a=a|0;var b=0;f[a>>2]=3204;b=f[a+56>>2]|0;if(!b)return;Oq(b);return}function Fm(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Ni(a);Oq(a);return}function Gm(a){a=a|0;var b=0,c=0;f[a>>2]=1196;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);Oq(b);return}function Hm(a){a=a|0;var c=0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Im(a){a=a|0;var b=0;f[a>>2]=2840;b=f[a+56>>2]|0;if(!b)return;Oq(b);return}function Jm(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Ni(a);return}function Km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Fg(a,b,c,d,e,f);return}function Lm(a){a=a|0;var b=0,c=0;f[a>>2]=3408;b=a+56|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);mj(a);Oq(a);return}function Mm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|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);f[a+12>>2]=0;f[a+16>>2]=0;return}function Nm(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;kh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Om(a){a=a|0;var b=0;f[a>>2]=3588;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function Pm(a){a=a|0;var b=0,c=0;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+-8-b|0)>>>3)<<3);Oq(b);return}function Qm(a){a=a|0;var b=0,c=0;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);Oq(b);return}function Rm(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;return Sa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Tm(a){a=a|0;var c=0;Il(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 Um(a){a=a|0;f[a>>2]=3260;Fj(a+88|0);Oq(a);return}function Vm(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 Wm(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Ek(a)|0)==0?(Sa[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function Xm(a){a=a|0;var b=0;f[a>>2]=3636;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Zm(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;f[b+16>>2]=0;return}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);Km(a,b,c,d,e,f);return}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;return pm(a,b,c,d,e,f)|0}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qm(a,b,c,d,e,f)|0}function bn(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 cn(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;Oq(b)}Oq(a);return}function dn(a){a=a|0;f[a>>2]=2896;Fj(a+88|0);Oq(a);return}function en(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return rm(a,b,c,d,e,f)|0}function fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sm(a,b,c,d,e,f)|0}function gn(a){a=a|0;f[a>>2]=3260;Fj(a+88|0);return}function hn(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;Ld(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function jn(a){a=a|0;var b=0;eo(a);f[a>>2]=6152;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 kn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return um(a,b,c,d,e,f)|0}function ln(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=Op()|0;if(!a){c=0;break}Ua[a&3]()}return c|0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;ac(a,b,c);return}function nn(a){a=a|0;var b=0;f[a>>2]=3588;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b)return;Oq(b);return}function on(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Cm(a,b,c,d,e,f)|0}function pn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Dm(a,b,c,d,e,f)|0}function qn(a){a=a|0;f[a>>2]=2896;Fj(a+88|0);return}function rn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=Qq(f[a+60>>2]|0)|0;f[c>>2]=d;d=to(Ba(6,c|0)|0)|0;u=b;return d|0}function sn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ka(19700,3)|0)){b=Ia(f[4926]|0)|0;u=a;return b|0}else Hn(18840,a);return 0}function tn(a){a=a|0;var b=0;f[a>>2]=3636;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b)return;Oq(b);return}function un(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=bm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function vn(a,b){a=a|0;b=b|0;lh(a,b);f[a>>2]=1292;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function wn(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;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function xn(a){a=a|0;var b=0;b=u;u=u+16|0;yc(a);if(!(La(f[4926]|0,0)|0)){u=b;return}else Hn(18939,b)}function yn(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 zn(a,b){a=a|0;b=b|0;return vg(a+40|0,b)|0}function An(a,b){a=a|0;b=b|0;return lj(a,b,lq(b)|0)|0}function Bn(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=Zi(a,b,c,g)|0;u=e;return d|0}function Cn(a,b){a=a|0;b=b|0;return Mj(a+40|0,b)|0}function Dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qh(a,b,c,d)|0}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uh(a,b,c,d)|0}function Fn(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Gn(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;f[a+20>>2]=0;b[a+24>>0]=0;return}function Hn(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[1556]|0;Ah(b,a,d)|0;Lj(10,b)|0;Ca()}function In(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 Ta[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Jn(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Kn(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Ln(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Mn(){var a=0;a=u;u=u+16|0;if(!(Ja(19704,113)|0)){u=a;return}else Hn(18889,a)}function Nn(a,b,c){a=a|0;b=b|0;c=c|0;Pj(a,b,c);return}function On(a){a=a|0;cf(a);Oq(a);return}function Pn(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;_a[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)sj(a|0,(kq(c)|0)&255|0,b|0)|0;return a|0}function Rn(a){a=a|0;return 4}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;return ej(0,b,c)|0}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Dh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Xn(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 Yn(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 Zn(a){a=a|0;var b=0;f[a>>2]=3932;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function _n(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return De(a,b,c,d)|0}function $n(a){a=a|0;ff(a);Oq(a);return}function ao(a,b){a=a|0;b=b|0;ji(a);f[a+36>>2]=b;f[a+40>>2]=0;return}function bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return $i(a,b,c,d)|0}function co(a){a=a|0;return 5}function eo(a){a=a|0;var b=0;f[a>>2]=6192;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function fo(a){a=a|0;return 6}function go(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d)|0}function ho(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 io(a,b){a=a|0;b=b|0;ji(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function jo(a,b,c){a=a|0;b=b|0;c=c|0;Nn(a,b,c);return}function ko(a){a=a|0;var b=0;b=f[a+56>>2]|0;return Qa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,1);return}function mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,0);return}function no(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xg(a,b,c,d)|0}function oo(a,b,c){a=a|0;b=b|0;c=c|0;return fi(a,b,c)|0}function po(a){a=a|0;var b=0;b=f[a+56>>2]|0;return Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0}function qo(a,b,c){a=a|0;b=b|0;c=c|0;return ej(a,b,c)|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;return Sn(a,b,c)|0}function so(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Za[a&3](b|0,c|0,d|0,e|0,f|0)}function to(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=Vq()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function uo(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,b,c);return}function vo(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 wo(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function xo(a,b){a=a|0;b=b|0;f[a+52>>2]=b;ip(a,b);return}function yo(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 zo(a){a=a|0;Hm(a);f[a>>2]=1476;f[a+36>>2]=0;return}function Ao(a){a=a|0;var b=0;if(!a)b=0;else b=(Eh(a,1056,1144,0)|0)!=0&1;return b|0}function Bo(a){a=a|0;if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);return}function Co(a){a=a|0;if(!a)return;Va[f[(f[a>>2]|0)+4>>2]&127](a);return}function Do(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ya[a&3](b|0,c|0,d|0,e|0)}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)im(a|0,b|0,c|0)|0;return a|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)kh(a|0,b|0,c|0)|0;return a|0}function Go(a,b){a=a|0;b=b|0;return -1}function Ho(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();Hn(18992,b)}function Io(a){a=a|0;Lh(a);Oq(a);return}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;Ro(a,b,c);return}function Ko(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function Lo(a){a=a|0;To(a);f[a>>2]=3408;f[a+56>>2]=0;return}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sa[a&31](b|0,c|0,d|0)|0}function No(a,b){a=a|0;b=b|0;return (wp(a,b)|0)<<24>>24|0}function Oo(a,b){a=a|0;b=b|0;f[a>>2]=7236;cm(a+4|0,b);return}function Po(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Pi(a,b,0)|0;return c|0}function Qo(a){a=a|0;return f[a+12>>2]|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;uo(a,b,c);return}function So(){var a=0;a=ln(64)|0;Il(a);return a|0}function To(a){a=a|0;Zn(a);f[a>>2]=3764;f[a+52>>2]=0;return}function Uo(a){a=a|0;if(!a)return;bj(a);Oq(a);return}function Vo(a){a=a|0;return Qa[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Wo(a){a=a|0;return f[a+4>>2]|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))qi(b,c,a)|0;return}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function Zo(){var a=0;a=ln(96)|0;Tm(a);return a|0}function _o(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function $o(a){a=a|0;var b=0;b=(Jq()|0)+188|0;return $j(a,f[b>>2]|0)|0}function ap(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function bp(a,b){a=a|0;b=b|0;kp(a,b);return}function cp(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 dp(){var a=0;a=ln(12)|0;op(a);return a|0}function ep(a){a=a|0;Ni(a);Oq(a);return}function fp(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function gp(a,b){a=a|0;b=b|0;var c=0;c=sp(a|0)|0;return ((b|0)==0?a:c)|0}function hp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function ip(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function jp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ld(a,b,c,d,0)|0}function kp(a,b){a=a|0;b=b|0;jk(a,b);return}function lp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function mp(){var a=0;a=ln(84)|0;eo(a);return a|0}function np(a){a=a|0;ui(a);Oq(a);return}function op(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function pp(a){a=a|0;f[a>>2]=7236;Am(a+4|0);return}function qp(a,b,c){a=a|0;b=b|0;c=c|0;return Ra[a&127](b|0,c|0)|0}function rp(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 sp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function tp(a){a=a|0;To(a);f[a>>2]=3836;return}function up(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function vp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function wp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function xp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function yp(a){a=a|0;mj(a);Oq(a);return}function zp(a){a=a|0;if(!a)return;Oq(a);return}function Ap(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function Bp(a){a=a|0;b[a+28>>0]=1;return}function Cp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Dp(a){a=a|0;ji(a);return}function Ep(a,b){a=a|0;b=b|0;return 1}function Fp(a){a=a|0;return a+12|0}function Gp(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function Hp(a,b,c){a=a|0;b=b|0;c=c|0;Wa[a&7](b|0,c|0)}function Ip(){var a=0;a=ln(36)|0;qq(a);return a|0}function Jp(a){a=a|0;return gq(a+4|0)|0}function Kp(){var a=0;a=ln(108)|0;jn(a);return a|0}function Lp(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Mp(a){a=a|0;return a+-12|0}function Np(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function Op(){var a=0;a=f[4927]|0;f[4927]=a+0;return a|0}function Pp(a){a=a|0;return f[a+56>>2]|0}function Qp(){var a=0;a=f[1786]|0;f[1786]=a+0;return a|0}function Rp(a){a=a|0;Og(a);Oq(a);return}function Sp(a){a=a|0;Sq(a);Oq(a);return}function Tp(a){a=a|0;return b[a+24>>0]|0}function Up(a,b){a=a|0;b=b|0;return 0}function Vp(a){a=a|0;return f[a+40>>2]|0}function Wp(a){a=a|0;return f[a+48>>2]|0}function Xp(a,b){a=a|0;b=b|0;return Qa[a&127](b|0)|0}function Yp(a){a=a|0;return f[a+60>>2]|0}function Zp(a){a=a|0;return f[a+28>>2]|0}function _p(a){a=a|0;sa(a|0)|0;om()}function $p(a){a=a|0;pp(a);Oq(a);return}function aq(a){a=a|0;Ca()}function bq(a,b){a=a|0;b=b|0;return $(+Bk(a,b,0))}function cq(a){a=a|0;return 3}function dq(a,b){a=a|0;b=b|0;u=a;v=b}function eq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function fq(a){a=a|0;return f[a+80>>2]|0}function gq(a){a=a|0;return f[a>>2]|0}function hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function iq(a,b){a=a|0;b=b|0;Va[a&127](b|0)}function jq(a,b){a=a|0;b=b|0;return Wn(a,b)|0}function kq(a){a=a|0;return a&255|0}function lq(a){a=a|0;return Gj(a)|0}function mq(a,b){a=a|0;b=b|0;return +(+Bk(a,b,1))}function nq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function oq(a){a=a|0;return 2}function pq(a){a=a|0;return 1}function qq(a){a=a|0;Dp(a);return}function rq(a,b){a=+a;b=+b;return +(+Yl(a,b))}function sq(a,b){a=+a;b=b|0;return +(+bk(a,b))}function tq(a,b){a=+a;b=b|0;return +(+ak(a,b))}function uq(){return 3}function vq(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function wq(){return 0}function xq(){return -1}function yq(){return ln(1)|0}function zq(){return 4}function Aq(a){a=a|0;return (a+-48|0)>>>0<10|0}function Bq(){return 1}function Cq(){return 2}function Dq(a,b){a=+a;b=+b;return +(+xd(a,b))}function Eq(a,b){a=a|0;b=b|0;aa(1);return 0}function Fq(a){a=a|0;Ha()}function Gq(a){a=a|0;Ua[a&3]()}function Hq(){ua()}function Iq(a){a=a|0;return +(+mq(a,0))}function Jq(){return Yq()|0}function Kq(a,b){a=a|0;b=b|0;aa(6)}function Lq(a){a=a|0;return ln(a)|0}function Mq(a){a=a|0;Oq(a);return}function Nq(a){a=a|0;u=a}function Oq(a){a=a|0;yc(a);return}function Pq(a){a=a|0;I=a}function Qq(a){a=a|0;return a|0}function Rq(a){a=a|0;aa(0);return 0}function Sq(a){a=a|0;return}function Tq(a){a=a|0;return 0}function Uq(){return I|0}function Vq(){return 19632}function Wq(){return u|0}function Xq(a){a=a|0;aa(5)}function Yq(){return 6352}function Zq(){aa(4)} + +// EMSCRIPTEN_END_FUNCS +var Qa=[Rq,oq,pq,pq,oq,gb,Tq,Tq,Tq,hk,kg,pq,Wo,Tq,Tq,pq,Tq,pq,pq,yl,oq,yl,cq,wl,pq,co,wl,pq,fo,cl,pq,Zp,Rn,yl,pq,yl,oq,yl,cq,wl,pq,co,wl,pq,fo,cl,pq,Zp,Rn,yl,pq,cq,Tq,Wo,pq,Tq,pq,cq,pq,ql,oq,ql,Rn,ql,cq,pl,pq,co,pl,pq,fo,Wk,pq,Zp,pq,ql,oq,ql,Rn,ql,cq,pl,pq,co,pl,pq,fo,Wk,pq,Zp,pq,oq,pq,pq,Nd,pq,Vo,Xe,mh,zk,po,ko,pb,Qo,Wo,Mg,Wg,Lf,rb,Qo,Wo,pq,Tq,Tq,zc,Ki,Tq,pq,pq,Uj,Tq,Uj,ck,rn,Jp,Rq,Rq,Rq];var Ra=[Eq,xl,nh,Ie,El,Up,Up,Up,Ep,jb,rj,wo,Ep,Ep,ti,nj,ii,kk,ol,Qj,$k,dk,ek,Te,Go,Up,ni,Up,Pl,$d,Up,Pl,nf,Up,Ml,sh,mm,Ed,Up,Pl,$d,Up,Pl,nf,Up,Ml,sh,mm,Ed,Cn,Go,Up,li,Dd,Up,Fl,Zd,Up,Fl,hf,Up,Bl,rh,mm,Dd,Up,Fl,Zd,Up,Fl,hf,Up,Bl,rh,mm,zn,Kn,Fn,Ln,Jn,dh,ik,uk,cc,ye,Rm,og,vf,wf,ah,ik,uk,bc,ye,Rm,Ep,Up,Up,of,zm,mg,of,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq];var Sa=[nq,ho,vp,bn,Sm,wg,oj,kl,xh,wc,Kh,pg,gi,Rb,di,Ng,ml,Nm,Cj,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq];var Ta=[cp,Xd,Jc,oc,be,Ae,Tb,bb,Lc,pc,ae,ze,Sb,ab,eh,kd,Ic,fb,pf,If,tc,od,Kc,db,kf,Gf,qc,cp,cp,cp,cp,cp];var Ua=[Zq,Hq,Oi,Mn];var Va=[Xq,Sq,Mq,Gm,jm,al,Fq,ui,np,Ni,ep,Lh,Io,Jm,Fm,gm,Fq,Ql,Ql,Ql,Jk,wk,_k,Rk,el,Uk,Sq,Mq,Fq,Yi,em,Ql,Ql,Dk,rk,Xk,Pk,bl,Tk,Sq,Mq,Fq,Vi,Ul,Jm,Fm,Sq,Mq,Mq,Mq,yj,Jl,Sl,Al,Im,tm,qn,dn,Sq,Mq,Mq,Mq,vj,zl,Kl,sl,Em,km,gn,Um,Sq,Mq,xk,ok,nm,Lm,ff,$n,vk,nk,nn,Om,Tl,Ak,qk,tn,Xm,Wl,fm,_l,cf,On,mj,Fq,yp,Sq,Mq,Fq,yp,yp,Nk,Gk,sb,Og,Rp,Sq,Sp,Sq,Sq,Sp,pp,$p,$p,xn,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq];var Wa=[Kq,pk,gg,yk,Nc,Kq,Kq,Kq];var Xa=[vq,Ne,ij,$b,ic,yd,$b,ic,$g,Aj,Lg,Yf,vq,vq,vq,vq];var Ya=[hq,hm,dl,hq];var Za=[Np,tj,oh,Np];var _a=[rp,Rl,Sk,rp];return{___cxa_can_catch:lm,___cxa_is_pointer_type:Ao,___divdi3:Ik,___muldi3:un,___udivdi3:jp,___uremdi3:hn,_bitshift64Lshr:Yn,_bitshift64Shl:Tn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:dp,_emscripten_bind_DracoInt8Array_GetValue_1:No,_emscripten_bind_DracoInt8Array___destroy___0:cn,_emscripten_bind_DracoInt8Array_size_0:xp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:oo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:En,_emscripten_bind_Encoder_Encoder_0:Ip,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:_m,_emscripten_bind_Encoder_SetAttributeQuantization_2:jo,_emscripten_bind_Encoder_SetEncodingMethod_1:bp,_emscripten_bind_Encoder_SetSpeedOptions_2:Jo,_emscripten_bind_Encoder___destroy___0:Wj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:So,_emscripten_bind_GeometryAttribute___destroy___0:zp,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:no,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:pn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:pn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:fn,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:on,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:on,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:kn,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:ro,_emscripten_bind_MeshBuilder_AddMetadata_2:qo,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:an,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:$m,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:en,_emscripten_bind_MeshBuilder_MeshBuilder_0:yq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Dn,_emscripten_bind_MeshBuilder___destroy___0:zp,_emscripten_bind_Mesh_Mesh_0:Kp,_emscripten_bind_Mesh___destroy___0:Co,_emscripten_bind_Mesh_num_attributes_0:hp,_emscripten_bind_Mesh_num_faces_0:ap,_emscripten_bind_Mesh_num_points_0:fq,_emscripten_bind_Mesh_set_num_points_1:Gp,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:bo,_emscripten_bind_MetadataBuilder_AddIntEntry_3:go,_emscripten_bind_MetadataBuilder_AddStringEntry_3:_n,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:yq,_emscripten_bind_MetadataBuilder___destroy___0:zp,_emscripten_bind_Metadata_Metadata_0:Xl,_emscripten_bind_Metadata___destroy___0:Uo,_emscripten_bind_PointAttribute_PointAttribute_0:Zo,_emscripten_bind_PointAttribute___destroy___0:Ij,_emscripten_bind_PointAttribute_attribute_type_0:Pp,_emscripten_bind_PointAttribute_byte_offset_0:Wp,_emscripten_bind_PointAttribute_byte_stride_0:Vp,_emscripten_bind_PointAttribute_data_type_0:Zp,_emscripten_bind_PointAttribute_normalized_0:Lp,_emscripten_bind_PointAttribute_num_components_0:Tp,_emscripten_bind_PointAttribute_size_0:fq,_emscripten_bind_PointAttribute_unique_id_0:Yp,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:pn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:fn,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:on,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:kn,_emscripten_bind_PointCloudBuilder_AddMetadata_2:qo,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:an,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:$m,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:en,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:yq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Dn,_emscripten_bind_PointCloudBuilder___destroy___0:zp,_emscripten_bind_PointCloud_PointCloud_0:mp,_emscripten_bind_PointCloud___destroy___0:Co,_emscripten_bind_PointCloud_num_attributes_0:hp,_emscripten_bind_PointCloud_num_points_0:fq,_emscripten_bind_VoidPtr___destroy___0:zp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:xq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:wq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Bq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Cq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:zq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:xq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Bq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:wq,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:uq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:Bq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:wq,_emscripten_replace_memory:Pa,_free:yc,_i64Add:Vn,_i64Subtract:Xn,_llvm_bswap_i32:sp,_malloc:$a,_memcpy:kh,_memmove:im,_memset:sj,_sbrk:Nl,dynCall_ii:Xp,dynCall_iii:qp,dynCall_iiii:Mo,dynCall_iiiiiii:In,dynCall_v:Gq,dynCall_vi:iq,dynCall_vii:Hp,dynCall_viii:Yo,dynCall_viiii:Do,dynCall_viiiii:so,dynCall_viiiiii:Pn,establishStackSpace:dq,getTempRet0:Uq,runPostSets:Un,setTempRet0:Pq,setThrew:Cp,stackAlloc:_o,stackRestore:Nq,stackSave:Wq}}) + + +// 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_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_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=asm["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___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_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"];var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadata_2"];var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___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_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___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_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_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=asm["_emscripten_bind_PointCloudBuilder_AddMetadata_2"];var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=asm["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"];var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=asm["_emscripten_bind_PointCloudBuilder___destroy___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_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];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_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];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;i>>0,$jscomp.propertyToPolyfillSymbol[l]=$jscomp.IS_SYMBOL_NATIVE? +$jscomp.global.Symbol(l):$jscomp.POLYFILL_PREFIX+k+"$"+l),$jscomp.defineProperty(p,$jscomp.propertyToPolyfillSymbol[l],{configurable:!0,writable:!0,value:n})))}; +$jscomp.polyfill("Promise",function(h){function n(){this.batch_=null}function k(f){return f instanceof l?f:new l(function(q,u){q(f)})}if(h&&(!($jscomp.FORCE_POLYFILL_PROMISE||$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&"undefined"===typeof $jscomp.global.PromiseRejectionEvent)||!$jscomp.global.Promise||-1===$jscomp.global.Promise.toString().indexOf("[native code]")))return h;n.prototype.asyncExecute=function(f){if(null==this.batch_){this.batch_=[];var q=this;this.asyncExecuteFunction(function(){q.executeBatch_()})}this.batch_.push(f)}; +var p=$jscomp.global.setTimeout;n.prototype.asyncExecuteFunction=function(f){p(f,0)};n.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var f=this.batch_;this.batch_=[];for(var q=0;q=y}},"es6","es3"); +$jscomp.polyfill("Array.prototype.copyWithin",function(h){function n(k){k=Number(k);return Infinity===k||-Infinity===k?k:k|0}return h?h:function(k,p,l){var y=this.length;k=n(k);p=n(p);l=void 0===l?y:n(l);k=0>k?Math.max(y+k,0):Math.min(k,y);p=0>p?Math.max(y+p,0):Math.min(p,y);l=0>l?Math.max(y+l,0):Math.min(l,y);if(kp;)--l in this?this[--k]=this[l]:delete this[--k];return this}},"es6","es3"); +$jscomp.typedArrayCopyWithin=function(h){return h?h:Array.prototype.copyWithin};$jscomp.polyfill("Int8Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint8Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint8ClampedArray.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Int16Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5"); +$jscomp.polyfill("Uint16Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Int32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Float32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Float64Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5"); +var DracoDecoderModule=function(){var h="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;"undefined"!==typeof __filename&&(h=h||__filename);return function(n){function k(e){return a.locateFile?a.locateFile(e,U):U+e}function p(e,b){if(e){var c=ia;var d=e+b;for(b=e;c[b]&&!(b>=d);)++b;if(16g?d+=String.fromCharCode(g):(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else d+=String.fromCharCode(g)}c=d}}else c="";return c}function l(){var e=ja.buffer;a.HEAP8=W=new Int8Array(e);a.HEAP16=new Int16Array(e);a.HEAP32=ca=new Int32Array(e);a.HEAPU8=ia=new Uint8Array(e);a.HEAPU16=new Uint16Array(e);a.HEAPU32=Y=new Uint32Array(e);a.HEAPF32=new Float32Array(e);a.HEAPF64=new Float64Array(e)}function y(e){if(a.onAbort)a.onAbort(e); +e="Aborted("+e+")";da(e);sa=!0;e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.");ka(e);throw e;}function f(e){try{if(e==P&&ea)return new Uint8Array(ea);if(ma)return ma(e);throw"both async and sync fetching of the wasm failed";}catch(b){y(b)}}function q(){if(!ea&&(ta||fa)){if("function"==typeof fetch&&!P.startsWith("file://"))return fetch(P,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+P+"'";return e.arrayBuffer()}).catch(function(){return f(P)}); +if(na)return new Promise(function(e,b){na(P,function(c){e(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return f(P)})}function u(e){for(;0>2]=b};this.get_type=function(){return Y[this.ptr+4>>2]};this.set_destructor=function(b){Y[this.ptr+8>>2]=b};this.get_destructor=function(){return Y[this.ptr+8>>2]};this.set_refcount=function(b){ca[this.ptr>>2]=b};this.set_caught=function(b){W[this.ptr+ +12>>0]=b?1:0};this.get_caught=function(){return 0!=W[this.ptr+12>>0]};this.set_rethrown=function(b){W[this.ptr+13>>0]=b?1:0};this.get_rethrown=function(){return 0!=W[this.ptr+13>>0]};this.init=function(b,c){this.set_adjusted_ptr(0);this.set_type(b);this.set_destructor(c);this.set_refcount(0);this.set_caught(!1);this.set_rethrown(!1)};this.add_ref=function(){ca[this.ptr>>2]+=1};this.release_ref=function(){var b=ca[this.ptr>>2];ca[this.ptr>>2]=b-1;return 1===b};this.set_adjusted_ptr=function(b){Y[this.ptr+ +16>>2]=b};this.get_adjusted_ptr=function(){return Y[this.ptr+16>>2]};this.get_exception_ptr=function(){if(ua(this.get_type()))return Y[this.excPtr>>2];var b=this.get_adjusted_ptr();return 0!==b?b:this.excPtr}}function F(){function e(){if(!la&&(la=!0,a.calledRun=!0,!sa)){va=!0;u(oa);wa(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)xa.unshift(a.postRun.shift());u(xa)}}if(!(0=d?b++:2047>=d?b+=2:55296<=d&&57343>= +d?(b+=4,++c):b+=3}b=Array(b+1);c=0;d=b.length;if(0=t){var aa=e.charCodeAt(++g);t=65536+((t&1023)<<10)|aa&1023}if(127>=t){if(c>=d)break;b[c++]=t}else{if(2047>=t){if(c+1>=d)break;b[c++]=192|t>>6}else{if(65535>=t){if(c+2>=d)break;b[c++]=224|t>>12}else{if(c+3>=d)break;b[c++]=240|t>>18;b[c++]=128|t>>12&63}b[c++]=128|t>>6&63}b[c++]=128|t&63}}b[c]=0}e=r.alloc(b,W);r.copy(b,W,e);return e}return e}function Z(e){if("object"=== +typeof e){var b=r.alloc(e,W);r.copy(e,W,b);return b}return e}function X(){throw"cannot construct a VoidPtr, no constructor in IDL";}function S(){this.ptr=za();w(S)[this.ptr]=this}function Q(){this.ptr=Aa();w(Q)[this.ptr]=this}function V(){this.ptr=Ba();w(V)[this.ptr]=this}function x(){this.ptr=Ca();w(x)[this.ptr]=this}function D(){this.ptr=Da();w(D)[this.ptr]=this}function G(){this.ptr=Ea();w(G)[this.ptr]=this}function H(){this.ptr=Fa();w(H)[this.ptr]=this}function E(){this.ptr=Ga();w(E)[this.ptr]= +this}function T(){this.ptr=Ha();w(T)[this.ptr]=this}function C(){throw"cannot construct a Status, no constructor in IDL";}function I(){this.ptr=Ia();w(I)[this.ptr]=this}function J(){this.ptr=Ja();w(J)[this.ptr]=this}function K(){this.ptr=Ka();w(K)[this.ptr]=this}function L(){this.ptr=La();w(L)[this.ptr]=this}function M(){this.ptr=Ma();w(M)[this.ptr]=this}function N(){this.ptr=Na();w(N)[this.ptr]=this}function O(){this.ptr=Oa();w(O)[this.ptr]=this}function z(){this.ptr=Pa();w(z)[this.ptr]=this}function m(){this.ptr= +Qa();w(m)[this.ptr]=this}n=void 0===n?{}:n;var a="undefined"!=typeof n?n:{},wa,ka;a.ready=new Promise(function(e,b){wa=e;ka=b});var Ra=!1,Sa=!1;a.onRuntimeInitialized=function(){Ra=!0;if(Sa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Sa=!0;if(Ra&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(e){if("string"!==typeof e)return!1;e=e.split(".");return 2>e.length||3=e[1]?!0:0!=e[0]||10< +e[1]?!1:!0};var Ta=Object.assign({},a),ta="object"==typeof window,fa="function"==typeof importScripts,Ua="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,U="";if(Ua){var Va=require("fs"),pa=require("path");U=fa?pa.dirname(U)+"/":__dirname+"/";var Wa=function(e,b){e=e.startsWith("file://")?new URL(e):pa.normalize(e);return Va.readFileSync(e,b?void 0:"utf8")};var ma=function(e){e=Wa(e,!0);e.buffer||(e=new Uint8Array(e));return e};var na=function(e, +b,c){e=e.startsWith("file://")?new URL(e):pa.normalize(e);Va.readFile(e,function(d,g){d?c(d):b(g.buffer)})};1>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,e+100663296);var g=Math;d=Math.max(e,d);g=g.min.call(g,2147483648,d+(65536-d%65536)%65536);a:{d=ja.buffer;try{ja.grow(g-d.byteLength+65535>>>16);l();var t=1;break a}catch(aa){}t=void 0}if(t)return!0}return!1}};(function(){function e(g,t){a.asm=g.exports;ja=a.asm.e;l();oa.unshift(a.asm.f);ba--;a.monitorRunDependencies&&a.monitorRunDependencies(ba);0==ba&&(null!==qa&&(clearInterval(qa),qa=null),ha&&(g=ha,ha=null,g()))}function b(g){e(g.instance)} +function c(g){return q().then(function(t){return WebAssembly.instantiate(t,d)}).then(function(t){return t}).then(g,function(t){da("failed to asynchronously prepare wasm: "+t);y(t)})}var d={a:qd};ba++;a.monitorRunDependencies&&a.monitorRunDependencies(ba);if(a.instantiateWasm)try{return a.instantiateWasm(d,e)}catch(g){da("Module.instantiateWasm callback failed with error: "+g),ka(g)}(function(){return ea||"function"!=typeof WebAssembly.instantiateStreaming||P.startsWith("data:application/octet-stream;base64,")|| +P.startsWith("file://")||Ua||"function"!=typeof fetch?c(b):fetch(P,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(b,function(t){da("wasm streaming compile failed: "+t);da("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ka);return{}})();var Xa=a._emscripten_bind_VoidPtr___destroy___0=function(){return(Xa=a._emscripten_bind_VoidPtr___destroy___0=a.asm.h).apply(null,arguments)},za=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0= +function(){return(za=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=a.asm.i).apply(null,arguments)},Ya=a._emscripten_bind_DecoderBuffer_Init_2=function(){return(Ya=a._emscripten_bind_DecoderBuffer_Init_2=a.asm.j).apply(null,arguments)},Za=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return(Za=a._emscripten_bind_DecoderBuffer___destroy___0=a.asm.k).apply(null,arguments)},Aa=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(Aa=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0= +a.asm.l).apply(null,arguments)},$a=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return($a=a._emscripten_bind_AttributeTransformData_transform_type_0=a.asm.m).apply(null,arguments)},ab=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return(ab=a._emscripten_bind_AttributeTransformData___destroy___0=a.asm.n).apply(null,arguments)},Ba=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(Ba=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0= +a.asm.o).apply(null,arguments)},bb=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return(bb=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.p).apply(null,arguments)},Ca=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(Ca=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.q).apply(null,arguments)},cb=a._emscripten_bind_PointAttribute_size_0=function(){return(cb=a._emscripten_bind_PointAttribute_size_0=a.asm.r).apply(null,arguments)},db=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0= +function(){return(db=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=a.asm.s).apply(null,arguments)},eb=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(eb=a._emscripten_bind_PointAttribute_attribute_type_0=a.asm.t).apply(null,arguments)},fb=a._emscripten_bind_PointAttribute_data_type_0=function(){return(fb=a._emscripten_bind_PointAttribute_data_type_0=a.asm.u).apply(null,arguments)},gb=a._emscripten_bind_PointAttribute_num_components_0=function(){return(gb=a._emscripten_bind_PointAttribute_num_components_0= +a.asm.v).apply(null,arguments)},hb=a._emscripten_bind_PointAttribute_normalized_0=function(){return(hb=a._emscripten_bind_PointAttribute_normalized_0=a.asm.w).apply(null,arguments)},ib=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return(ib=a._emscripten_bind_PointAttribute_byte_stride_0=a.asm.x).apply(null,arguments)},jb=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return(jb=a._emscripten_bind_PointAttribute_byte_offset_0=a.asm.y).apply(null,arguments)},kb=a._emscripten_bind_PointAttribute_unique_id_0= +function(){return(kb=a._emscripten_bind_PointAttribute_unique_id_0=a.asm.z).apply(null,arguments)},lb=a._emscripten_bind_PointAttribute___destroy___0=function(){return(lb=a._emscripten_bind_PointAttribute___destroy___0=a.asm.A).apply(null,arguments)},Da=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Da=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=a.asm.B).apply(null,arguments)},mb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1= +function(){return(mb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=a.asm.C).apply(null,arguments)},nb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(nb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=a.asm.D).apply(null,arguments)},ob=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(ob=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=a.asm.E).apply(null,arguments)},pb= +a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(pb=a._emscripten_bind_AttributeQuantizationTransform_range_0=a.asm.F).apply(null,arguments)},qb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(qb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=a.asm.G).apply(null,arguments)},Ea=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(Ea=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0= +a.asm.H).apply(null,arguments)},rb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(rb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=a.asm.I).apply(null,arguments)},sb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(sb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=a.asm.J).apply(null,arguments)},tb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(tb= +a._emscripten_bind_AttributeOctahedronTransform___destroy___0=a.asm.K).apply(null,arguments)},Fa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return(Fa=a._emscripten_bind_PointCloud_PointCloud_0=a.asm.L).apply(null,arguments)},ub=a._emscripten_bind_PointCloud_num_attributes_0=function(){return(ub=a._emscripten_bind_PointCloud_num_attributes_0=a.asm.M).apply(null,arguments)},vb=a._emscripten_bind_PointCloud_num_points_0=function(){return(vb=a._emscripten_bind_PointCloud_num_points_0=a.asm.N).apply(null, +arguments)},wb=a._emscripten_bind_PointCloud___destroy___0=function(){return(wb=a._emscripten_bind_PointCloud___destroy___0=a.asm.O).apply(null,arguments)},Ga=a._emscripten_bind_Mesh_Mesh_0=function(){return(Ga=a._emscripten_bind_Mesh_Mesh_0=a.asm.P).apply(null,arguments)},xb=a._emscripten_bind_Mesh_num_faces_0=function(){return(xb=a._emscripten_bind_Mesh_num_faces_0=a.asm.Q).apply(null,arguments)},yb=a._emscripten_bind_Mesh_num_attributes_0=function(){return(yb=a._emscripten_bind_Mesh_num_attributes_0= +a.asm.R).apply(null,arguments)},zb=a._emscripten_bind_Mesh_num_points_0=function(){return(zb=a._emscripten_bind_Mesh_num_points_0=a.asm.S).apply(null,arguments)},Ab=a._emscripten_bind_Mesh___destroy___0=function(){return(Ab=a._emscripten_bind_Mesh___destroy___0=a.asm.T).apply(null,arguments)},Ha=a._emscripten_bind_Metadata_Metadata_0=function(){return(Ha=a._emscripten_bind_Metadata_Metadata_0=a.asm.U).apply(null,arguments)},Bb=a._emscripten_bind_Metadata___destroy___0=function(){return(Bb=a._emscripten_bind_Metadata___destroy___0= +a.asm.V).apply(null,arguments)},Cb=a._emscripten_bind_Status_code_0=function(){return(Cb=a._emscripten_bind_Status_code_0=a.asm.W).apply(null,arguments)},Db=a._emscripten_bind_Status_ok_0=function(){return(Db=a._emscripten_bind_Status_ok_0=a.asm.X).apply(null,arguments)},Eb=a._emscripten_bind_Status_error_msg_0=function(){return(Eb=a._emscripten_bind_Status_error_msg_0=a.asm.Y).apply(null,arguments)},Fb=a._emscripten_bind_Status___destroy___0=function(){return(Fb=a._emscripten_bind_Status___destroy___0= +a.asm.Z).apply(null,arguments)},Ia=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(Ia=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=a.asm._).apply(null,arguments)},Gb=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(Gb=a._emscripten_bind_DracoFloat32Array_GetValue_1=a.asm.$).apply(null,arguments)},Hb=a._emscripten_bind_DracoFloat32Array_size_0=function(){return(Hb=a._emscripten_bind_DracoFloat32Array_size_0=a.asm.aa).apply(null,arguments)},Ib= +a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(Ib=a._emscripten_bind_DracoFloat32Array___destroy___0=a.asm.ba).apply(null,arguments)},Ja=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(Ja=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=a.asm.ca).apply(null,arguments)},Jb=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(Jb=a._emscripten_bind_DracoInt8Array_GetValue_1=a.asm.da).apply(null,arguments)},Kb=a._emscripten_bind_DracoInt8Array_size_0= +function(){return(Kb=a._emscripten_bind_DracoInt8Array_size_0=a.asm.ea).apply(null,arguments)},Lb=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return(Lb=a._emscripten_bind_DracoInt8Array___destroy___0=a.asm.fa).apply(null,arguments)},Ka=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(Ka=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=a.asm.ga).apply(null,arguments)},Mb=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(Mb=a._emscripten_bind_DracoUInt8Array_GetValue_1= +a.asm.ha).apply(null,arguments)},Nb=a._emscripten_bind_DracoUInt8Array_size_0=function(){return(Nb=a._emscripten_bind_DracoUInt8Array_size_0=a.asm.ia).apply(null,arguments)},Ob=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(Ob=a._emscripten_bind_DracoUInt8Array___destroy___0=a.asm.ja).apply(null,arguments)},La=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(La=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=a.asm.ka).apply(null,arguments)},Pb=a._emscripten_bind_DracoInt16Array_GetValue_1= +function(){return(Pb=a._emscripten_bind_DracoInt16Array_GetValue_1=a.asm.la).apply(null,arguments)},Qb=a._emscripten_bind_DracoInt16Array_size_0=function(){return(Qb=a._emscripten_bind_DracoInt16Array_size_0=a.asm.ma).apply(null,arguments)},Rb=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return(Rb=a._emscripten_bind_DracoInt16Array___destroy___0=a.asm.na).apply(null,arguments)},Ma=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(Ma=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0= +a.asm.oa).apply(null,arguments)},Sb=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(Sb=a._emscripten_bind_DracoUInt16Array_GetValue_1=a.asm.pa).apply(null,arguments)},Tb=a._emscripten_bind_DracoUInt16Array_size_0=function(){return(Tb=a._emscripten_bind_DracoUInt16Array_size_0=a.asm.qa).apply(null,arguments)},Ub=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(Ub=a._emscripten_bind_DracoUInt16Array___destroy___0=a.asm.ra).apply(null,arguments)},Na=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0= +function(){return(Na=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=a.asm.sa).apply(null,arguments)},Vb=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(Vb=a._emscripten_bind_DracoInt32Array_GetValue_1=a.asm.ta).apply(null,arguments)},Wb=a._emscripten_bind_DracoInt32Array_size_0=function(){return(Wb=a._emscripten_bind_DracoInt32Array_size_0=a.asm.ua).apply(null,arguments)},Xb=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return(Xb=a._emscripten_bind_DracoInt32Array___destroy___0= +a.asm.va).apply(null,arguments)},Oa=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(Oa=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=a.asm.wa).apply(null,arguments)},Yb=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(Yb=a._emscripten_bind_DracoUInt32Array_GetValue_1=a.asm.xa).apply(null,arguments)},Zb=a._emscripten_bind_DracoUInt32Array_size_0=function(){return(Zb=a._emscripten_bind_DracoUInt32Array_size_0=a.asm.ya).apply(null,arguments)},$b=a._emscripten_bind_DracoUInt32Array___destroy___0= +function(){return($b=a._emscripten_bind_DracoUInt32Array___destroy___0=a.asm.za).apply(null,arguments)},Pa=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Pa=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=a.asm.Aa).apply(null,arguments)},ac=a._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(ac=a._emscripten_bind_MetadataQuerier_HasEntry_2=a.asm.Ba).apply(null,arguments)},bc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(bc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2= +a.asm.Ca).apply(null,arguments)},cc=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(cc=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=a.asm.Da).apply(null,arguments)},dc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(dc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=a.asm.Ea).apply(null,arguments)},ec=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(ec=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=a.asm.Fa).apply(null, +arguments)},fc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(fc=a._emscripten_bind_MetadataQuerier_NumEntries_1=a.asm.Ga).apply(null,arguments)},gc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(gc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=a.asm.Ha).apply(null,arguments)},hc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return(hc=a._emscripten_bind_MetadataQuerier___destroy___0=a.asm.Ia).apply(null,arguments)},Qa=a._emscripten_bind_Decoder_Decoder_0= +function(){return(Qa=a._emscripten_bind_Decoder_Decoder_0=a.asm.Ja).apply(null,arguments)},ic=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(ic=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=a.asm.Ka).apply(null,arguments)},jc=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(jc=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=a.asm.La).apply(null,arguments)},kc=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return(kc=a._emscripten_bind_Decoder_GetAttributeId_2= +a.asm.Ma).apply(null,arguments)},lc=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(lc=a._emscripten_bind_Decoder_GetAttributeIdByName_2=a.asm.Na).apply(null,arguments)},mc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(mc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=a.asm.Oa).apply(null,arguments)},nc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return(nc=a._emscripten_bind_Decoder_GetAttribute_2=a.asm.Pa).apply(null,arguments)}, +oc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(oc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=a.asm.Qa).apply(null,arguments)},pc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return(pc=a._emscripten_bind_Decoder_GetMetadata_1=a.asm.Ra).apply(null,arguments)},qc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(qc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=a.asm.Sa).apply(null,arguments)},rc=a._emscripten_bind_Decoder_GetFaceFromMesh_3= +function(){return(rc=a._emscripten_bind_Decoder_GetFaceFromMesh_3=a.asm.Ta).apply(null,arguments)},sc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(sc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=a.asm.Ua).apply(null,arguments)},tc=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(tc=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=a.asm.Va).apply(null,arguments)},uc=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(uc= +a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=a.asm.Wa).apply(null,arguments)},vc=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(vc=a._emscripten_bind_Decoder_GetAttributeFloat_3=a.asm.Xa).apply(null,arguments)},wc=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(wc=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=a.asm.Ya).apply(null,arguments)},xc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(xc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3= +a.asm.Za).apply(null,arguments)},yc=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(yc=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=a.asm._a).apply(null,arguments)},zc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(zc=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=a.asm.$a).apply(null,arguments)},Ac=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(Ac=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3= +a.asm.ab).apply(null,arguments)},Bc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(Bc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=a.asm.bb).apply(null,arguments)},Cc=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(Cc=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=a.asm.cb).apply(null,arguments)},Dc=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(Dc=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3= +a.asm.db).apply(null,arguments)},Ec=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(Ec=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=a.asm.eb).apply(null,arguments)},Fc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(Fc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=a.asm.fb).apply(null,arguments)},Gc=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(Gc=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1= +a.asm.gb).apply(null,arguments)},Hc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(Hc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=a.asm.hb).apply(null,arguments)},Ic=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(Ic=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=a.asm.ib).apply(null,arguments)},Jc=a._emscripten_bind_Decoder___destroy___0=function(){return(Jc=a._emscripten_bind_Decoder___destroy___0=a.asm.jb).apply(null,arguments)},Kc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM= +function(){return(Kc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=a.asm.kb).apply(null,arguments)},Lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(Lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=a.asm.lb).apply(null,arguments)},Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM= +a.asm.mb).apply(null,arguments)},Nc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Nc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=a.asm.nb).apply(null,arguments)},Oc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(Oc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.ob).apply(null,arguments)},Pc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(Pc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION= +a.asm.pb).apply(null,arguments)},Qc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(Qc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=a.asm.qb).apply(null,arguments)},Rc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(Rc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.rb).apply(null,arguments)},Sc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(Sc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD= +a.asm.sb).apply(null,arguments)},Tc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(Tc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=a.asm.tb).apply(null,arguments)},Uc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(Uc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.ub).apply(null,arguments)},Vc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(Vc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD= +a.asm.vb).apply(null,arguments)},Wc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(Wc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=a.asm.wb).apply(null,arguments)},Xc=a._emscripten_enum_draco_DataType_DT_INVALID=function(){return(Xc=a._emscripten_enum_draco_DataType_DT_INVALID=a.asm.xb).apply(null,arguments)},Yc=a._emscripten_enum_draco_DataType_DT_INT8=function(){return(Yc=a._emscripten_enum_draco_DataType_DT_INT8=a.asm.yb).apply(null,arguments)},Zc= +a._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Zc=a._emscripten_enum_draco_DataType_DT_UINT8=a.asm.zb).apply(null,arguments)},$c=a._emscripten_enum_draco_DataType_DT_INT16=function(){return($c=a._emscripten_enum_draco_DataType_DT_INT16=a.asm.Ab).apply(null,arguments)},ad=a._emscripten_enum_draco_DataType_DT_UINT16=function(){return(ad=a._emscripten_enum_draco_DataType_DT_UINT16=a.asm.Bb).apply(null,arguments)},bd=a._emscripten_enum_draco_DataType_DT_INT32=function(){return(bd=a._emscripten_enum_draco_DataType_DT_INT32= +a.asm.Cb).apply(null,arguments)},cd=a._emscripten_enum_draco_DataType_DT_UINT32=function(){return(cd=a._emscripten_enum_draco_DataType_DT_UINT32=a.asm.Db).apply(null,arguments)},dd=a._emscripten_enum_draco_DataType_DT_INT64=function(){return(dd=a._emscripten_enum_draco_DataType_DT_INT64=a.asm.Eb).apply(null,arguments)},ed=a._emscripten_enum_draco_DataType_DT_UINT64=function(){return(ed=a._emscripten_enum_draco_DataType_DT_UINT64=a.asm.Fb).apply(null,arguments)},fd=a._emscripten_enum_draco_DataType_DT_FLOAT32= +function(){return(fd=a._emscripten_enum_draco_DataType_DT_FLOAT32=a.asm.Gb).apply(null,arguments)},gd=a._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(gd=a._emscripten_enum_draco_DataType_DT_FLOAT64=a.asm.Hb).apply(null,arguments)},hd=a._emscripten_enum_draco_DataType_DT_BOOL=function(){return(hd=a._emscripten_enum_draco_DataType_DT_BOOL=a.asm.Ib).apply(null,arguments)},id=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(id=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT= +a.asm.Jb).apply(null,arguments)},jd=a._emscripten_enum_draco_StatusCode_OK=function(){return(jd=a._emscripten_enum_draco_StatusCode_OK=a.asm.Kb).apply(null,arguments)},kd=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(kd=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=a.asm.Lb).apply(null,arguments)},ld=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(ld=a._emscripten_enum_draco_StatusCode_IO_ERROR=a.asm.Mb).apply(null,arguments)},md=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER= +function(){return(md=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=a.asm.Nb).apply(null,arguments)},nd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(nd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=a.asm.Ob).apply(null,arguments)},od=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(od=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=a.asm.Pb).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Qb).apply(null,arguments)}; +a._free=function(){return(a._free=a.asm.Rb).apply(null,arguments)};var ua=function(){return(ua=a.asm.Sb).apply(null,arguments)};a.___start_em_js=11660;a.___stop_em_js=11758;var la;ha=function b(){la||F();la||(ha=b)};if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=r.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var g=0;gb.byteLength)return a.INVALID_GEOMETRY_TYPE;switch(b[7]){case 0:return a.POINT_CLOUD;case 1:return a.TRIANGULAR_MESH;default:return a.INVALID_GEOMETRY_TYPE}};return n.ready}}();"object"===typeof exports&&"object"===typeof module?module.exports=DracoDecoderModule:"function"===typeof define&&define.amd?define([],function(){return DracoDecoderModule}):"object"===typeof exports&&(exports.DracoDecoderModule=DracoDecoderModule); diff --git a/src/assets/model/gltf/BoomBox.glb b/src/assets/model/gltf/BoomBox.glb new file mode 100644 index 0000000..7ecef5b Binary files /dev/null and b/src/assets/model/gltf/BoomBox.glb differ diff --git a/src/assets/model/gltf/Flamingo.glb b/src/assets/model/gltf/Flamingo.glb new file mode 100644 index 0000000..bf002f9 Binary files /dev/null and b/src/assets/model/gltf/Flamingo.glb differ diff --git a/src/assets/model/gltf/Horse.glb b/src/assets/model/gltf/Horse.glb new file mode 100644 index 0000000..66fb302 Binary files /dev/null and b/src/assets/model/gltf/Horse.glb differ diff --git a/src/assets/model/gltf/Parrot.glb b/src/assets/model/gltf/Parrot.glb new file mode 100644 index 0000000..09263c8 Binary files /dev/null and b/src/assets/model/gltf/Parrot.glb differ diff --git a/src/assets/model/gltf/Stork.glb b/src/assets/model/gltf/Stork.glb new file mode 100644 index 0000000..59855b0 Binary files /dev/null and b/src/assets/model/gltf/Stork.glb differ diff --git a/src/assets/model/gltf/collision-world.glb b/src/assets/model/gltf/collision-world.glb new file mode 100644 index 0000000..4335cbf Binary files /dev/null and b/src/assets/model/gltf/collision-world.glb differ diff --git a/src/assets/model/gltf/fox.glb b/src/assets/model/gltf/fox.glb new file mode 100644 index 0000000..1ef5c0d Binary files /dev/null and b/src/assets/model/gltf/fox.glb differ diff --git a/src/assets/model/gltf/littlest-tokyo.glb b/src/assets/model/gltf/littlest-tokyo.glb new file mode 100644 index 0000000..f2c7e04 Binary files /dev/null and b/src/assets/model/gltf/littlest-tokyo.glb differ diff --git a/src/assets/model/gltf/plane.gltf b/src/assets/model/gltf/plane.gltf new file mode 100644 index 0000000..78179c4 --- /dev/null +++ b/src/assets/model/gltf/plane.gltf @@ -0,0 +1,909 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v1.8.19", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "\u98de\u673a01" + } + ], + "materials" : [ + { + "doubleSided" : true, + "name" : "\u98de\u673a\u8d34\u56fe", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 0 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "Material #52", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 1 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "\u98de\u673a\u8d34\u56fe.001", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 2 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "\u8f6e\u5b50", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 3 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "\u8d77\u843d\u67b62*", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 4 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "Material #22", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.36078399419784546, + 0.36078399419784546, + 0.36078399419784546, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "lunzi cm", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 5 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "\u8d77\u843d\u67b61", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 6 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "\u8d77\u843d\u67b62", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 7 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "456465465", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 8 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + } + ], + "meshes" : [ + { + "name" : "Obj3d66-596845-9-344", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + }, + "indices" : 3, + "material" : 0 + }, + { + "attributes" : { + "POSITION" : 4, + "NORMAL" : 5, + "TEXCOORD_0" : 6 + }, + "indices" : 7, + "material" : 1 + }, + { + "attributes" : { + "POSITION" : 8, + "NORMAL" : 9, + "TEXCOORD_0" : 10 + }, + "indices" : 11, + "material" : 2 + }, + { + "attributes" : { + "POSITION" : 12, + "NORMAL" : 13, + "TEXCOORD_0" : 14 + }, + "indices" : 15, + "material" : 3 + }, + { + "attributes" : { + "POSITION" : 16, + "NORMAL" : 17, + "TEXCOORD_0" : 18 + }, + "indices" : 19, + "material" : 4 + }, + { + "attributes" : { + "POSITION" : 20, + "NORMAL" : 21, + "TEXCOORD_0" : 22 + }, + "indices" : 23, + "material" : 5 + }, + { + "attributes" : { + "POSITION" : 24, + "NORMAL" : 25, + "TEXCOORD_0" : 26 + }, + "indices" : 27, + "material" : 6 + }, + { + "attributes" : { + "POSITION" : 28, + "NORMAL" : 29, + "TEXCOORD_0" : 30 + }, + "indices" : 31, + "material" : 7 + }, + { + "attributes" : { + "POSITION" : 32, + "NORMAL" : 33, + "TEXCOORD_0" : 34 + }, + "indices" : 35, + "material" : 8 + }, + { + "attributes" : { + "POSITION" : 36, + "NORMAL" : 37, + "TEXCOORD_0" : 38 + }, + "indices" : 39, + "material" : 9 + } + ] + } + ], + "textures" : [ + { + "sampler" : 0, + "source" : 0 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 2 + }, + { + "sampler" : 0, + "source" : 3 + }, + { + "sampler" : 0, + "source" : 4 + }, + { + "sampler" : 0, + "source" : 5 + }, + { + "sampler" : 0, + "source" : 6 + }, + { + "sampler" : 0, + "source" : 4 + }, + { + "sampler" : 0, + "source" : 7 + } + ], + "images" : [ + { + "bufferView" : 4, + "mimeType" : "image/png", + "name" : "3d66Model-596845-files-11" + }, + { + "bufferView" : 9, + "mimeType" : "image/png", + "name" : "3d66Model-596845-files-12" + }, + { + "bufferView" : 14, + "mimeType" : "image/jpeg", + "name" : "3d66Model-596845-files-10" + }, + { + "bufferView" : 19, + "mimeType" : "image/jpeg", + "name" : "3d66Model-596845-files-7" + }, + { + "bufferView" : 24, + "mimeType" : "image/png", + "name" : "3d66Model-596845-files-6" + }, + { + "bufferView" : 33, + "mimeType" : "image/jpeg", + "name" : "3d66Model-596845-files-8" + }, + { + "bufferView" : 38, + "mimeType" : "image/png", + "name" : "3d66Model-596845-files-5" + }, + { + "bufferView" : 47, + "mimeType" : "image/png", + "name" : "3d66Model-596845-files-4" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 2243, + "max" : [ + 9.427823066711426, + 8.708730697631836, + 9.578198432922363 + ], + "min" : [ + -9.325088500976562, + 0.25436779856681824, + -6.658185005187988 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 2243, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 2243, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5123, + "count" : 6435, + "type" : "SCALAR" + }, + { + "bufferView" : 5, + "componentType" : 5126, + "count" : 2225, + "max" : [ + 6.437728404998779, + 8.708728790283203, + 9.485076904296875 + ], + "min" : [ + -9.427841186523438, + 0.25438305735588074, + -9.578198432922363 + ], + "type" : "VEC3" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 2225, + "type" : "VEC3" + }, + { + "bufferView" : 7, + "componentType" : 5126, + "count" : 2225, + "type" : "VEC2" + }, + { + "bufferView" : 8, + "componentType" : 5123, + "count" : 6477, + "type" : "SCALAR" + }, + { + "bufferView" : 10, + "componentType" : 5126, + "count" : 12, + "max" : [ + 9.427841186523438, + 3.6332404613494873, + -3.8292131423950195 + ], + "min" : [ + 8.336657524108887, + 3.422403335571289, + -4.279285430908203 + ], + "type" : "VEC3" + }, + { + "bufferView" : 11, + "componentType" : 5126, + "count" : 12, + "type" : "VEC3" + }, + { + "bufferView" : 12, + "componentType" : 5126, + "count" : 12, + "type" : "VEC2" + }, + { + "bufferView" : 13, + "componentType" : 5123, + "count" : 12, + "type" : "SCALAR" + }, + { + "bufferView" : 15, + "componentType" : 5126, + "count" : 1440, + "max" : [ + -0.06569647789001465, + 0.6957132816314697, + 7.306835174560547 + ], + "min" : [ + -7.239410400390625, + -2.9802322387695312e-08, + 0.056478142738342285 + ], + "type" : "VEC3" + }, + { + "bufferView" : 16, + "componentType" : 5126, + "count" : 1440, + "type" : "VEC3" + }, + { + "bufferView" : 17, + "componentType" : 5126, + "count" : 1440, + "type" : "VEC2" + }, + { + "bufferView" : 18, + "componentType" : 5123, + "count" : 7200, + "type" : "SCALAR" + }, + { + "bufferView" : 20, + "componentType" : 5126, + "count" : 243, + "max" : [ + -6.688429355621338, + 1.394129991531372, + 7.1318817138671875 + ], + "min" : [ + -7.058710098266602, + 0.17940184473991394, + 6.7551727294921875 + ], + "type" : "VEC3" + }, + { + "bufferView" : 21, + "componentType" : 5126, + "count" : 243, + "type" : "VEC3" + }, + { + "bufferView" : 22, + "componentType" : 5126, + "count" : 243, + "type" : "VEC2" + }, + { + "bufferView" : 23, + "componentType" : 5123, + "count" : 318, + "type" : "SCALAR" + }, + { + "bufferView" : 25, + "componentType" : 5126, + "count" : 192, + "max" : [ + -0.4305363893508911, + 1.5952918529510498, + 3.516502857208252 + ], + "min" : [ + -3.594353675842285, + 0.3091067969799042, + 0.4220224618911743 + ], + "type" : "VEC3" + }, + { + "bufferView" : 26, + "componentType" : 5126, + "count" : 192, + "type" : "VEC3" + }, + { + "bufferView" : 27, + "componentType" : 5126, + "count" : 192, + "type" : "VEC2" + }, + { + "bufferView" : 28, + "componentType" : 5123, + "count" : 552, + "type" : "SCALAR" + }, + { + "bufferView" : 29, + "componentType" : 5126, + "count" : 216, + "max" : [ + -0.13752317428588867, + 0.5929114818572998, + 7.254251956939697 + ], + "min" : [ + -7.187936782836914, + 0.07463595271110535, + 0.1305985450744629 + ], + "type" : "VEC3" + }, + { + "bufferView" : 30, + "componentType" : 5126, + "count" : 216, + "type" : "VEC3" + }, + { + "bufferView" : 31, + "componentType" : 5126, + "count" : 216, + "type" : "VEC2" + }, + { + "bufferView" : 32, + "componentType" : 5123, + "count" : 612, + "type" : "SCALAR" + }, + { + "bufferView" : 34, + "componentType" : 5126, + "count" : 16, + "max" : [ + -6.920812606811523, + 1.488168716430664, + 7.308709621429443 + ], + "min" : [ + -7.231223106384277, + 0.952643871307373, + 6.992623805999756 + ], + "type" : "VEC3" + }, + { + "bufferView" : 35, + "componentType" : 5126, + "count" : 16, + "type" : "VEC3" + }, + { + "bufferView" : 36, + "componentType" : 5126, + "count" : 16, + "type" : "VEC2" + }, + { + "bufferView" : 37, + "componentType" : 5123, + "count" : 24, + "type" : "SCALAR" + }, + { + "bufferView" : 39, + "componentType" : 5126, + "count" : 40, + "max" : [ + -6.712923526763916, + 0.9526433944702148, + 7.111184597015381 + ], + "min" : [ + -7.041311264038086, + 0.7149901390075684, + 6.7830610275268555 + ], + "type" : "VEC3" + }, + { + "bufferView" : 40, + "componentType" : 5126, + "count" : 40, + "type" : "VEC3" + }, + { + "bufferView" : 41, + "componentType" : 5126, + "count" : 40, + "type" : "VEC2" + }, + { + "bufferView" : 42, + "componentType" : 5123, + "count" : 60, + "type" : "SCALAR" + }, + { + "bufferView" : 43, + "componentType" : 5126, + "count" : 52, + "max" : [ + -0.4280937910079956, + 1.6965186595916748, + 7.199470520019531 + ], + "min" : [ + -7.128675937652588, + 0.7388160228729248, + 0.4176276922225952 + ], + "type" : "VEC3" + }, + { + "bufferView" : 44, + "componentType" : 5126, + "count" : 52, + "type" : "VEC3" + }, + { + "bufferView" : 45, + "componentType" : 5126, + "count" : 52, + "type" : "VEC2" + }, + { + "bufferView" : 46, + "componentType" : 5123, + "count" : 132, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 26916, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 26916, + "byteOffset" : 26916 + }, + { + "buffer" : 0, + "byteLength" : 17944, + "byteOffset" : 53832 + }, + { + "buffer" : 0, + "byteLength" : 12870, + "byteOffset" : 71776 + }, + { + "buffer" : 0, + "byteLength" : 65377, + "byteOffset" : 84648 + }, + { + "buffer" : 0, + "byteLength" : 26700, + "byteOffset" : 150028 + }, + { + "buffer" : 0, + "byteLength" : 26700, + "byteOffset" : 176728 + }, + { + "buffer" : 0, + "byteLength" : 17800, + "byteOffset" : 203428 + }, + { + "buffer" : 0, + "byteLength" : 12954, + "byteOffset" : 221228 + }, + { + "buffer" : 0, + "byteLength" : 65367, + "byteOffset" : 234184 + }, + { + "buffer" : 0, + "byteLength" : 144, + "byteOffset" : 299552 + }, + { + "buffer" : 0, + "byteLength" : 144, + "byteOffset" : 299696 + }, + { + "buffer" : 0, + "byteLength" : 96, + "byteOffset" : 299840 + }, + { + "buffer" : 0, + "byteLength" : 24, + "byteOffset" : 299936 + }, + { + "buffer" : 0, + "byteLength" : 47631, + "byteOffset" : 299960 + }, + { + "buffer" : 0, + "byteLength" : 17280, + "byteOffset" : 347592 + }, + { + "buffer" : 0, + "byteLength" : 17280, + "byteOffset" : 364872 + }, + { + "buffer" : 0, + "byteLength" : 11520, + "byteOffset" : 382152 + }, + { + "buffer" : 0, + "byteLength" : 14400, + "byteOffset" : 393672 + }, + { + "buffer" : 0, + "byteLength" : 39894, + "byteOffset" : 408072 + }, + { + "buffer" : 0, + "byteLength" : 2916, + "byteOffset" : 447968 + }, + { + "buffer" : 0, + "byteLength" : 2916, + "byteOffset" : 450884 + }, + { + "buffer" : 0, + "byteLength" : 1944, + "byteOffset" : 453800 + }, + { + "buffer" : 0, + "byteLength" : 636, + "byteOffset" : 455744 + }, + { + "buffer" : 0, + "byteLength" : 16566, + "byteOffset" : 456380 + }, + { + "buffer" : 0, + "byteLength" : 2304, + "byteOffset" : 472948 + }, + { + "buffer" : 0, + "byteLength" : 2304, + "byteOffset" : 475252 + }, + { + "buffer" : 0, + "byteLength" : 1536, + "byteOffset" : 477556 + }, + { + "buffer" : 0, + "byteLength" : 1104, + "byteOffset" : 479092 + }, + { + "buffer" : 0, + "byteLength" : 2592, + "byteOffset" : 480196 + }, + { + "buffer" : 0, + "byteLength" : 2592, + "byteOffset" : 482788 + }, + { + "buffer" : 0, + "byteLength" : 1728, + "byteOffset" : 485380 + }, + { + "buffer" : 0, + "byteLength" : 1224, + "byteOffset" : 487108 + }, + { + "buffer" : 0, + "byteLength" : 27121, + "byteOffset" : 488332 + }, + { + "buffer" : 0, + "byteLength" : 192, + "byteOffset" : 515456 + }, + { + "buffer" : 0, + "byteLength" : 192, + "byteOffset" : 515648 + }, + { + "buffer" : 0, + "byteLength" : 128, + "byteOffset" : 515840 + }, + { + "buffer" : 0, + "byteLength" : 48, + "byteOffset" : 515968 + }, + { + "buffer" : 0, + "byteLength" : 1199, + "byteOffset" : 516016 + }, + { + "buffer" : 0, + "byteLength" : 480, + "byteOffset" : 517216 + }, + { + "buffer" : 0, + "byteLength" : 480, + "byteOffset" : 517696 + }, + { + "buffer" : 0, + "byteLength" : 320, + "byteOffset" : 518176 + }, + { + "buffer" : 0, + "byteLength" : 120, + "byteOffset" : 518496 + }, + { + "buffer" : 0, + "byteLength" : 624, + "byteOffset" : 518616 + }, + { + "buffer" : 0, + "byteLength" : 624, + "byteOffset" : 519240 + }, + { + "buffer" : 0, + "byteLength" : 416, + "byteOffset" : 519864 + }, + { + "buffer" : 0, + "byteLength" : 264, + "byteOffset" : 520280 + }, + { + "buffer" : 0, + "byteLength" : 82585, + "byteOffset" : 520544 + } + ], + "samplers" : [ + { + "magFilter" : 9729, + "minFilter" : 9987 + } + ], + "buffers" : [ + { + "byteLength" : 603132, + "uri" : "data:application/octet-stream;base64,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IwAoADMALwAcABwAIAAzAA4AOQA7ADoABgAMAEIASABEAEMAPQBBAEoATgBGAEcAQABLAFAAUgBNAEwASQBPAFYAWABUAFMAUQBVAFsAXgBZAFoAVwBcAGEAZABfAGAAXQBiAGkAbABmAGUAYwBoAG8AcgBrAGoAZwBuAD8ARQBxAHAAbQA+AHYAfAB4AHgAdAB2AIIAdgB0AHQAgACCAIYAggCAAIAAhACGAIoAhgCEAIQAhwCKAI4AigCHAIcAiwCPAJAAkQB7AHsAdQCQAJQAkAB1AHUAgQCUAJUAlACBAIEAhQCVAJYAlQCFAIUAiQCWAJcAlgCJAIkAjQCXAJgAmgCRAJEAkACYAJ4AmACQAJAAlACeAKAAngCUAJQAlQCgAKIAoACVAJUAlgCiAKUAogCWAJYAlwCmAKgAqgCbAJsAmQCoAK4AqACZAJkAnwCuALAArgCfAJ8AoQCwALIAsAChAKEApACyALQAsgCkAKMApwC1ALcAuwCrAKsAqQC3AL0AtwCpAKkArwC9AL8AvQCvAK8AsQC/AMEAvwCxALEAswDBAMMAwQCzALMAtgDDAMUAyQC8ALwAuADFAMsAxQC4ALgAvgDLAM0AywC+AL4AwADNAM8AzQDAAMAAwgDPANMAzwDCAMIAxADSANYA2gDKAMoAxgDWANwA1gDGAMYAzADcAN4A3ADMAMwAzgDeAOEA3gDOAM4A0ADhAOQA4QDQANEA1ADjAOYA6gDZANkA1QDmANsA5gDVAOYA2wDsAO4A7ADbANsA3QDuAPAA7gDdAN0A4ADwAPIA8ADgAN8A4gDzAHMAdwDoAOgA5QBzAOUA6wB/AH8AcwDlAIMAfwDrAOsA7QCDAIgAgwDtAO0A7wCIAIwAiADvAO8A8QCMAPgAeQB9AH0A9QD4APkA/ADpAOkAegD5AP4A9gB+AH4AkgD+AP8AkwCdAJ0AAgH/AAUBAQGcAJwArQAFAQQBrAC5ALkABwEEAQsBCAG6ALoAyAALAQkBxwDXANcADAEJAfsADQHYANgA5wD7APQA/QAAAfQAAAEDAfQAAwEGAfQABgEKAfQACgEOAfQADgH6APQA+gD3ABABFQERAREBFAEQARYBGQEXARcBEgEWARoBHgEcARwBGAEaAR0BIgEgASABGwEdASEBJgEkASQBHwEhASUBKgEoASgBIwElASkBLQErASsBJwEpAS4BMQEvAS8BLAEuATIBDwETARMBMAEyATwBCgI0ATQBOAE8AT8BQAFBAUYB9wFCAUIBQwFGAeMBwAG/AeMBvwEuAkwB4wEuAkwBLgJOAUwBTgFQAVcBlAFRAVEBVAFXAWUBowFfAV8BYwFlAW0BvAFnAWcBagFtAXIBzgFuAW4BcQFyAYUBMAKAAYABggGFAYkBigGLAWgBZgGMAYoBjgGQAY8BjQGRAVgB+QGSAZIBkwFYAZwBLAKVAZUBmAGcAZ8BtAGgAaABngGfAXcBxAGhAaEBogF3AaMBZQGmAacBqQGrAUUBIgKtAa0BsQFFAboBngGoAbwBxwGkAaQBZwG8AcABoAG0AbQBvwHAAcEBuAGiAaIBoQHBAcMBxAF2AcgB0gFiAWIBpQHIAXEBbgHJAckBywFxAUEBzAE/Ac4BKALNAc0BbgHOAdEBPQE6AToBYQHRAT4BOQE1AT4BNQHTAYsBPgHTAVoBTAH0AVwBWgH0AVwB9AH1AVwB9QEWAtMBXAEWAosB0wEWAnsBAQLYAdgBzAF7AeEB5wHKAcoB3QHhAdQBNgHfAcAB4wHkAcAB5AHbAdsBqgGgAcAB2wGgAecBGAJvAW8BygHnAe0BtAGfAacBqwG1AfABJwLuAe4B7wHwAZ4BugHCAcIBnwGeAfIBbAFpAWkBdAHyAdYBzQHXAdUB1gHXAdUB1wH2AegB1QH2AegB9gHpAekB+AG2AegB6QG2AZMBkgH3AfcBRgGTAbcBhgGDAYMB+wG3AQECZAH/Af8B2AEBAqEB6gHBAcIB7QGfAaoBqAGeAZ4BoAGqAZQBRwEDAgMCUQGUAZABOQE+AT4BigGQAY8BkQH/Af8BNwGPAQYCeAFCAQcC9wGSAe8BBwKSAe8BkgHwAQkC4gHeAd4BMwEJAloB5AHjAeMBTAFaAfgBLQKdAZ0BtgH4AUIBeAELAj8BHAINAg0CDwI/AckB3wHLAQ4CigGJARECDgKJARECiQETAkABEgJJAacBMQKIAYgBqQGnARMC9QEUAhYCEwKJAYkBiwEWAg0CkQGNARkC8wF1AXUBcAEZAncBogEMAncBDAJ5AX0BewHMAX0BzAFBAdoBfQFBAdoBQQFLAdoBSwF2AXkB2gF2AXcBeQF2AX4BJQLuAQICfgHuAQIC7gGmAQICpgFlARoCFQJPAU8BTQEaAt8ByQHWAV4B3wHWARsCXgHWARsC1gHVAdgB/wGRAZEBHALYAaEBHQLqAUMBQgELAgsCHwJDAT8BDwIjAg4CjgGKAVAB9QH0AfQBTAFQASYC7wHuAe4BJQImAicCNAIpAowBJwIpAowBKQLPAc8BcwFoAYwBzwFoAfYBMwIrAukB9gErAukBKwL6AekB+gH4ARQC9QFQAT4BiwGKAT8BEgJAAfoBWQEtAi0C+AH6ARQCEQITAvUBEwIWAgYCQgH3AQYC9wEHAiYCBgIHAiYCBwLvASwCVgFTAVMBlQEsAhwCkQENAiECuQH8AfwBrAEhArYBnQExAjECpwG2AScCjAGmAaYB7gEnAmYBpgGMAWQBYAE3ATcB/wFkAS8CmwGXAZcBfwEvAl0B1AHfAV0B3wFeASQC3AHlARsCJALlARsC5QFbAV4BGwJbAV0BXgFbAXgBBgImAtkBeAEmAtkBJgIlAtkBJQJ+AXwB2QF+ATICNAInAicC8AEyAiACDAKiAaIBuAEgAtcBzQE1AiQCGwLVASQC1QHoAbUBJALoAbUB6AG2AbUBtgGnAUoBwwF2AUoBdgFLAUEBQAFJAUsBQQFJAUoBSwFJAWYBowGmAcwB2AEcAhwCPwHMAcQBdwF2AW4BzQHWAdYByQFuAUgBRAGwAbABBAJIAagBhwG6ATUCMwL2AfYB1wE1AnoBfAF+AXoBfgECAgACegECApIB+QEqAvABkgEqAvABKgIyAgICZQFjAWMBAAICAiMCSQESAhICPwEjAiQCtQGrAasB3AEkAkoBSQEjAusBHgLFAb8BEQIuAv4BgQGaAfEBFwLmARECTgEuAq4B/QGZAf4BhAGBAcMBSgEPAhUCGgJNAb4BswHsAWsB8QHmAdABxgG7ATsB0AG7AQgCOwG7AeABCAK7AeYB4AG7AWsB5gG7ARECFAJOAUoBIwIPAr0BxQEQAr0B6wHFAcMBDwLEASgCNQLNAR0CoQHEAa8BmgGWAa8BlgFVAa8BVQFSAa8BUgEFAq8BBQKyATgCOQI6AjoCQwJBAjoCQQI8AjgCOgI8AjsCSwJHAkcCNwI7AjsCPgJPAk8CSwI7AlICVQJGAk0CUQJJAkoCTQJJAkUCSgJJAkUCSQJEAlMCRQJEAlgCYgJbAlsCOQI4AlgCWwI4AlUCUgJcAloCYAJeAl0CVAJZAl8CYQJXAlcCNgJIAlcCSAJWAl8CVwJWAmUCaQJAAj8CQgJkAmgCbAJOAk4CPQJoAmYCYwJuAm8CawJnAkwCagJtAm0CUAJMAnICcwJ0AnQCfQJ7AnQCewJ2AnICdAJ2AnUChQKBAoECcQJ1AnUCeAKJAokChQJ1Ao0CjwKAAocCiwKDAoQChwKDAn8ChAKDAn8CgwJ+AowCfwJ+ApICnAKVApUCcwJyApIClQJyAo8CjQKWApQCmgKYApcCjgKTApkCmwKRApECcAKCApECggKQApkCkQKQAp4CowJ5AnoCfAKfAqICpgKIAogCdwKiAqACnQKoAqkCpQKhAoYCpAKnAqcCigKGAqwCrQKuAq4CtwK1Aq4CtQKwAqwCrgKwAq8CvwK7ArsCqwKvAq8CsgLDAsMCvwKvAsYCyQK6AsECxQK9Ar4CwQK9ArkCvgK9ArkCvQK4AscCuQK4AswC1gLPAs8CrQKsAswCzwKsAskCxgLQAs4C1ALSAtECyALNAtMC1QLLAssCqgK8AssCvALKAtMCywLKAtkC3QK0ArMCtgLYAtwC4ALCAsICsQLcAtoC1wLiAuMC3wLbAsAC3gLhAuECxALAAuYC5wLoAugC8QLvAugC7wLqAuYC6ALqAukC+QL1AvUC5QLpAukC7AL9Av0C+QLpAgEDAwP0AvsC/wL3AvgC+wL3AvMC+AL3AvMC9wLyAgAD8wLyAgYDEAMJAwkD5wLmAgYDCQPmAgMDAQMKAwgDDgMMAwsDAgMHAw0DDwMFAwUD5AL2AgUD9gIEAw0DBQMEAxIDFwPtAu4C8AITAxYDGgP8AvwC6wIWAxUDEQMdAxwDGQMUA/oCGAMbAxsD/gL6AiwDJQMhAyEDKAMsAyYDWgMjAyIDJgMjAyIDIwMeAyIDHgMfA0MDIgMfA0MDHwNUA08DRANVA08DVQNKA08DSgNIA08DSAM2AzwDTwM2AzwDNgM0Az8DOwMzAzMDOQM/AzcDMAM9A04DUgMoA0IDTgMoAyADQgMoA0YDTANHA0cDSQNGAzEDOAMyAzEDMgM1AzEDNQNHA0wDMQNHAy8DVgMpAy8DKQMnAy4DLwMnAy0DLgMnA0ADLQMnA0UDQAMnA0UDJwNQA0sDRQNQAzADSwNQAzADUAM9A0YDSQNTA1MDQQNGA1EDTQM6AzoDPgNRAyoDVwNZA1gDJAMrA2ADZgNiA2EDWwNfA2gDbANkA2UDXgNpA20DcANqA2sDZwNuA3QDdgNyA3EDbwNzA3kDfAN3A3gDdQN6A38DggN9A34DewOAA4cDigOEA4MDgQOGA4wDkAOIA4kDhQONA10DYwOPA44DiwNcA5QDmgOWA5YDkgOUA6ADlAOSA5IDngOgA6QDoAOeA54DogOkA6gDpAOiA6IDpQOoA6wDqAOlA6UDqQOtA64DrwOZA5kDkwOuA7IDrgOTA5MDnwOyA7MDsgOfA58DowOzA7QDswOjA6MDpwO0A7UDtAOnA6cDqwO1A7YDuAOvA68DrgO2A7wDtgOuA64DsgO8A74DvAOyA7IDswO+A8ADvgOzA7MDtAPAA8MDwAO0A7QDtQPEA8YDyAO5A7kDtwPGA8wDxgO3A7cDvQPMA84DzAO9A70DvwPOA9ADzgO/A78DwQPQA9ID0APBA8IDxQPTA9UD2QPJA8kDxwPVA9sD1QPHA8cDzQPbA90D2wPNA80DzwPdA98D3QPPA88D0QPfA+ED3wPRA9ED1APhA+MD5wPaA9oD1gPjA+kD4wPWA9YD3APpA+sD6QPcA9wD3gPrA+0D6wPeA94D4APtA/ED7QPgA+AD4gPwA/QD+APoA+gD5AP0A/oD9APkA+QD6gP6A/wD+gPqA+oD7AP8A/8D/APsA+wD7wP/AwIE/wPvA+4D8gMBBAQECAT3A/cD8wMEBPkDBATzAwQE+QMKBAwECgT5A/kD+wMMBA4EDAT7A/sD/gMOBBAEDgT+A/0DAAQRBJEDlQMGBAYEAwSRAwMECQSdA50DkQMDBKEDnQMJBAkECwShA6YDoQMLBAsEDQSmA6oDpgMNBA0EDwSqAxYElwObA5sDEwQWBBcEGgQHBAcEmAMXBBwEFAScA5wDsAMcBB0EsQO7A7sDIAQdBCMEHwS6A7oDywMjBCIEygPXA9cDJQQiBCkEJgTYA9gD5gMpBCcE5QP1A/UDKgQnBBkEKwT2A/YDBQQZBBIEGwQeBBIEHgQhBBIEIQQkBBIEJAQoBBIEKAQsBBIELAQYBBIEGAQVBC4EMwQvBC8EMgQuBDQENwQ1BDUEMAQ0BDgEPAQ6BDoENgQ4BDsEQAQ+BD4EOQQ7BD8ERARCBEIEPQQ/BEMESARGBEYEQQRDBEcESwRJBEkERQRHBEwETwRNBE0ESgRMBFAELQQxBDEETgRQBFoEKAVSBFIEVgRaBF0EXgRfBGQEFQVgBGAEYQRkBAEF3gTdBAEF3QRMBWoEAQVMBWoETAVsBGoEbARuBHUEsgRvBG8EcgR1BIMEwQR9BH0EgQSDBIsE2gSFBIUEiASLBJAE7ASMBIwEjwSQBKMETgWeBJ4EoASjBKcEqASpBIYEhASqBKgErASuBK0EqwSvBHYEFwWwBLAEsQR2BLoESgWzBLMEtgS6BL0E0gS+BL4EvAS9BJUE4gS/BL8EwASVBMEEgwTEBMUExwTJBGMEQAXLBMsEzwRjBNgEvATGBNoE5QTCBMIEhQTaBN4EvgTSBNIE3QTeBN8E1gTABMAEvwTfBOEE4gSUBOYE8ASABIAEwwTmBI8EjATnBOcE6QSPBF8E6gRdBOwERgXrBOsEjATsBO8EWwRYBFgEfwTvBFwEVwRTBFwEUwTxBKkEXATxBHgEagQSBXoEeAQSBXoEEgUTBXoEEwU0BfEEegQ0BakE8QQ0BZkEHwX2BPYE6gSZBP8EBQXoBOgE+wT/BPIEVAT9BN4EAQUCBd4EAgX5BPkEyAS+BN4E+QS+BAUFNgWNBI0E6AQFBQsF0gS9BMUEyQTTBA4FRQUMBQwFDQUOBbwE2ATgBOAEvQS8BBAFigSHBIcEkgQQBfQE6wT1BPME9AT1BPME9QQUBQYF8wQUBQYFFAUHBQcFFgXUBAYFBwXUBLEEsAQVBRUFZASxBNUEpAShBKEEGQXVBB8FggQdBR0F9gQfBb8ECAXfBOAECwW9BMgExgS8BLwEvgTIBLIEZQQhBSEFbwSyBK4EVwRcBFwEqASuBK0ErwQdBR0FVQStBCQFlgRgBCUFFQWwBA0FJQWwBA0FsAQOBScFAAX8BPwEUQQnBXgEAgUBBQEFagR4BBYFSwW7BLsE1AQWBWAElgQpBV0EOgUrBSsFLQVdBOcE/QTpBCwFqASnBC8FLAWnBC8FpwQxBV4EMAVnBMUETwWmBKYExwTFBDEFEwUyBTQFMQWnBKcEqQQ0BSsFrwSrBDcFEQWTBJMEjgQ3BZUEwAQqBZUEKgWXBJsEmQTqBJsE6gRfBPgEmwRfBPgEXwRpBPgEaQSUBJcE+ASUBJUElwSUBJwEQwUMBSAFnAQMBSAFDAXEBCAFxASDBDgFMwVtBG0EawQ4Bf0E5wT0BHwE/QT0BDkFfAT0BDkF9ATzBPYEHQWvBK8EOgX2BL8EOwUIBWEEYAQpBSkFPQVhBF0ELQVBBSwFrASoBG4EEwUSBRIFagRuBEQFDQUMBQwFQwVEBUUFUgVHBaoERQVHBaoERwXtBO0EkQSGBKoE7QSGBBQFUQVJBQcFFAVJBQcFSQUYBQcFGAUWBTIFEwVuBFwEqQSoBF0EMAVeBBgFdwRLBUsFFgUYBTIFLwUxBRMFMQU0BSQFYAQVBSQFFQUlBUQFJAUlBUQFJQUNBUoFdARxBHEEswRKBToFrwQrBT8F1wQaBRoFygQ/BdQEuwRPBU8FxQTUBEUFqgTEBMQEDAVFBYQExASqBIIEfgRVBFUEHQWCBE0FuQS1BLUEnQRNBXsE8gT9BHsE/QR8BEIF+gQDBTkFQgUDBTkFAwV5BHwEOQV5BHsEfAR5BJYEJAVEBfcElgREBfcERAVDBfcEQwWcBJoE9wScBFAFUgVFBUUFDgVQBT4FKgXABMAE1gQ+BfUE6wRTBUIFOQXzBEIF8wQGBdMEQgUGBdMEBgXUBNME1ATFBGgE4QSUBGgElARpBF8EXgRnBGkEXwRnBGgEaQRnBIQEwQTEBOoE9gQ6BToFXQTqBOIElQSUBIwE6wT0BPQE5wSMBGYEYgTOBM4EIgVmBMYEpQTYBFMFUQUUBRQF9QRTBZgEmgScBJgEnAQgBR4FmAQgBbAEFwVIBQ4FsARIBQ4FSAVQBSAFgwSBBIEEHgUgBUEFZwQwBTAFXQRBBUIF0wTJBMkE+gRCBWgEZwRBBQkFPAXjBN0ELwVMBRwFnwS4BA8FNQUEBS8FbARMBcwEGwW3BBwFogSfBOEEaAQtBTMFOAVrBNwE0QQKBYkEDwUEBe4E5ATZBFkE7gTZBCYFWQTZBP4EJgXZBAQF/gTZBIkEBAXZBC8FMgVsBGgEQQUtBdsE4wQuBdsECQXjBOEELQXiBEYFUwXrBDsFvwTiBM0EuAS0BM0EtARzBM0EcwRwBM0EcAQjBc0EIwXQBFQFVQVWBVgFWgVZBVkFVwVYBV4FeAVfBVwFXgVfBVwFXwWJBWEFbAViBWAFYQViBWAFYgXRBWAF0QXEBWUFdAVnBWcFYwVkBWkFeQW3BWkFtwXqBWkF6gVqBWgFaQVqBWgFagXjBWsFbAVtBW4FbwVwBXcFqgV1BXUFdgV3BWcFgQWCBXoFjQWOBXoFjgXnBXoF5wV7BXoFewV5BY8FbwVuBZAF1QWmBaYFogWKBXoFeQVpBagFegVpBagFaQWnBYoFqAWnBYoFpwXFBYoFxQWYBaYFigWYBZAFpgWYBZAFmAWRBZAFkQWSBZAFkgWIBZMFlAWVBXMFcQVyBZcFjwVuBXIFlwVuBXMFcgVuBXMFbgWdBZ4FnwWgBaEFowWkBaMFoQWlBYYFkgWRBV0FWwWpBXgFjwWXBV8FeAWXBV8FlwVyBXIFcQWJBV8FcgWJBYgFhgWHBZYFiAWHBa4FlgWHBa0FrgWHBa8FaAWwBWcFggWxBbEFYwVnBbMFtAW1BXkFtgW3BbgFuQWeBbsFjgWNBY0FmgW7BYYFkQXPBYYFzwWZBYcFhgWZBYcFmQW8BbwFwQWtBYcFvAWtBZ4FzQW9Bb0FuAWeBcAFtQW+Bb4FvwXABcMFnwWeBZ4FwgXDBXQFhQVnBcQFzwWRBZEFYAXEBaIFdQWqBYoFogWqBYoFqgWLBYoFiwWMBagFigWMBagFjAWaBagFmgWNBagFjQV6BYgFkgWGBbIFgwWFBbIFhQWhBaQFsgWhBacFaQVoBcUFpwVoBcUFaAXYBcUF2AVhBZMFxgWUBb4FxwW/BZYFrgV/BXsFyAV5BcoFlAW1BbUFwAXKBaAFbgVwBXAFzQWgBXUFZgV2Bb4FtAXOBZ0F0AVzBXkFyAW2BWIFbAVrBdEFYgVrBdEFawXkBdEF5AXSBcQF0QXSBcQF0gXhBcsFzAWCBcsFggXCBbkFywXCBaoFdwWrBaoFqwWsBYsFqgWsBYsFrAW6BYsFugXfBYsF3wXXBYsF1wXJBZsFnAWaBZsFmgWMBckFmwWMBYsFyQWMBdYFwwWEBdYFhAWDBdkF1gWDBdkFgwWyBZ8F3gXQBdAFoAWfBcMFwgWCBb4FzgXHBaAF0AWdBdsF6QXBBcEFvAXbBZ4FuQXCBbQFvgW1BaAFzQWeBdoFowWlBdoFpQXUBX4FfAV9BdQFfgV9BdQFfQXTBdoF1AXTBYgFlgXVBdUFkAWIBd0FlQWUBZQFygXdBYQFgQVnBYQFZwWFBYQFhQWDBdgFaAWvBdgFrwXgBWwF2AXgBWwF4AVtBc8FxAXhBc8F4QXcBdwF4gWZBc8F3AWZBZ0FbgWgBWwFYQXYBZgFxQVhBZgFYQVgBZgFYAWRBcMFggWBBeIF2wW8BbwFmQXiBb0FzQVwBdAF5QXmBZYFgAXVBdAF5gVzBcMF1gXoBcMF6AXeBcMF3gWfBeMFsAVoBYEFhAXDBXQFoQWFBe0FJwbrBesF7AXtBWoGaQaIBmoGiAbDBmoGwwbEBsYGagbEBsYGxAbdBvcFxgbdBvcF3QbYBvcF2Ab4BfcF+AX5BQEG9wX5BfkFAAYBBgUG6wUGBgYGBwYFBggGbAYJBgkGCgYIBg0GCQYLBgsGDAYNBvUF9AURBhEGEgb1BRUGfQYTBhMGFAYVBhcGdwb9Bf0FFgYXBh0GdQYbBhsGHAYdBgIGHgYDBhEGJQYSBhEGJgYlBgcGJwYoBioGPQYrBikGKgYrBisGQwZzBikGKwZzBi8GZgYwBvAFLwYwBvAFMAZxBvAFcQbuBfAF7gXvBfEFpwYxBjEG8gXxBTcG6AY1BjUGNgY3Bj4GPwZABpsGPgZABpsGQAY5BvwFmwY5BjgG/AU5BgMGOAY5BgMGOQYEBgQGpAYkBiMGHgYCBiQGIwYCBgQGJAYCBgMGBAYCBgcGBgYnBj0GKgY7BjsGPAY9BjwGOwZBBkEGQgY8BkMGKwZEBkUGRAYIBkwGTQZOBlUG3AZWBlQGVQZWBlQGVgZTBlIGVAZTBlEGUgZTBlEGUwYZBlEGGQYYBk0GTAYjBiMGLgZNBmUGegZjBmMGZAZlBisGbAYIBiMGTAZtBnAGTgZNBk0GbwZwBv8FGgYZBhkGWgb/BQoGgAZFBkUGCAYKBkUGcgZzBnUGqgZ0BnQGGwZ1BnYGnwb3BfcFAQZ2BkMGRAZFBngGQQZ3BncGFwZ4BpEGygZgBl8GkgZgBl4GXwZgBl4GYAZ5BkcGXgZ5BkcGeQZIBvwFOAb6BfwF+gX7BUgG/AX7BUcGSAb7BX0GpQZ8BnwGEwZ9BncGQQY7Bv0FdwY7Bv0FOwb+BYIG2wZGBkYGgQaCBkUGgwZZBi0GhwZoBjMGiQaKBjMGigY0BjQG7wWMBjQGjAYyBjMGNAYyBowGSwZKBkoGiwaMBkkGSgZLBkkGSwbVBkkG1QaVBrcGSQaVBpQGtwaVBmEGlAaVBmEGlQZiBmIGAQYABmEGYgYABpoG7gVxBigG7QWcBnMGcgadBp0GKQZzBisGPQZsBgYG6wUnBiIGIwYkBiIGJAakBn4GIgakBn4GpAZ/Bn8GFwYWBn4GfwYWBqUGcAZvBm8GfAalBqYGMQanBpoGcQY/BqoGdQZYBlkGgwZXBlgGWQZXBqoGWAZXBjEGogZ7BnsGrQYxBq4GrwYDBhwGGwYaBhoG/wUcBkUG4Qa0BrQGgwZFBi0GaAa4Bi0GuAYuBlAGTwYsBi4GUAYsBi0GLgYsBlwGhAZdBp8GdgagBp8GoAa7BroGnwa7BqIGMQamBm4GogamBm4Gpgb1BW4G9QUSBjgGAwavBjgGrwa8BjgGvAb6BX8GpAaPBn8GjwZ4Bn8GeAYXBv4FOwYqBioGKQYdBv4FKgYdBlkGcgZFBgMGHgZtBgMGbQa/BgMGvwauBi0GwAaHBooGmQaYBjQGigaYBjQGmAZmBjQGZgYvBi8G8AXvBTQGLwbvBU0GLga4BrgGbwZNBnkGPgabBkgGeQabBkgGmwb8BR4GIwZtBmsGTwZQBlsGXAZdBlsGXQaoBg8GWwaoBg8GqAYQBnUGHQadBp0GWQZYBnUGnQZYBsgGtgaNBo0GuQaQBsgGjQaQBj4GeQZgBmAGygY+Bs0G8gUxBjEGrQbNBs4GYgbKBo4GjQa2BrYGsAaOBqwGBQYHBgcGQgasBhgGGQYaBrUGGAYaBrUGGgYbBtAGtQYbBnQG0AYbBqEGewaiBqEGogZuBiUGoQZuBiUGbgYSBnsGegZlBmUGwQbCBnsGZQbCBnsGwgbTBnsG0wbWBnsG1gatBrIG9gXMBrIGzAazBrEGsgazBrEGswbsBrEG7AbtBrEG7Qa+Br0GsQa+Br0GvgbqBr0G6gbrBr0G6wbvBr0G7wbeBoUGvQbeBoUG3gbjBoUG4wbkBoUG5AaGBoQGhQaGBoQGhgbuBoQG7gbUBl0GhAbUBl0G1Ab0Bv8F/QX+BRwG/wX+BRwG/gUdBgUGNQbrBccGjgawBrAGJgbHBssGkwbPBpUG1QaaBpUGmgajBqMGygZiBpUGowZiBp0GcgZZBjwGIQYgBiAGPQY8Bl0G9AbJBqgGXQbJBqgGyQbxBqgG8QbwBqgG8AapBhAGqAapBhAGqQbnBhAG5wbmBhAG5gbXBg4GEAbXBg4G1wY6BukGNwY2BjoG6QY2Bg4GOgY2BlAGIgZ+BtEGUAZ+BtEGfgYWBv0F/wVaBhYG/QVaBtEGFgZaBvQFsgaxBtIG9AWxBtIGsQa9BoUGhAaeBr0GhQaeBtIGvQaeBvEF8gXzBfEF8wXZBqcG8QXZBqcG2QbyBpkG2gaWBpYGlwZkBpYGZAZjBpkGlgZjBpkGYwZnBmcGZgaYBpkGZwaYBsoGowY+BlYGawZQBlYGUAbRBlMGVgbRBlMG0QZaBlMGWgYZBs4GAQZiBkUGcwZDBqsGkAa5BqsGuQasBqsGrAZCBjIGjAaLBosG3wYyBjAGZgZnBmcGYwZ6BjAGZwZ6BnoGewahBnoGoQYlBjAGegYlBrAGtgbIBsgGkAarBrAGyAarBqsGQgZBBkEGeAaPBqsGQQaPBrAGqwaPBiYGsAaPBiUGJgaPBo8GpAYEBiUGjwYEBjAGJQYEBgQGOQZABjAGBAZABjAGQAZxBj8GPgajBqMGmgY/BigGJwbtBVcG9QbgBuAGqgZXBj0GIAZsBvcFnwa6BsYG9wW6BsYGugYUBmoGxgYUBmoGFAYTBvUFpganBvUFpwb2BfYFsgb0BfUF9gX0BSEG5QYfBiAGIQYfBiAGHwYLBmwGIAYLBmwGCwYJBo0GjgZbBo0GWwYPBrkGjQYPBg8GEAYOBrkGDwYOBjUGBQasBjYGNQasBg4GNgasBrkGDgasBscGEQb0BccG9AXSBscG0gaeBoQGXAaOBp4GhAaOBscGngaOBiMGUAYuBhQGugbiBuIGFQYUBhEGxwYmBnwGuAZoBmgGagYTBnwGaAYTBggGRAYrBikGnQYdBu4FmgbVBksGjAbvBdUGSwbvBe4F1QbvBXwGbwa4BiMGIgZQBnEGQAY/BlwGWwaOBs4GdgYBBsUGzAb2BcUG9gWnBvMGxQanBvIG8wanBjwGQgYHBvgGDwf2BvYG9wb4BgcHaAcFBwUHBgcHBwgHNAcJBwgHCQcLBwgHCwd5BwwHDQcOBw8HEAcRBxIHEwcUB/wGPwcDB/wGAwebB/wGmwcWBxUH/AYWBxUHFgefByAHIQf/BvYGEQclByUHJgf2BigHDgcNBw0HJwcoByoHoAcfBx8HKQcqBzMHNAcIBwYHOQc6Bw4HPQcMBzYHQQcKB0cHSgdMBzkHBgcFB4wHOQcFB4kHjAcFB4gHiQcFB4gHBQdnB5IHiAdnB5IHZwf+BlMHkgf+BlIHUwf+Bv0GIQd0B/0GdAdeB/0GXgdfB/4G/QZfB1IH/gZfBwYHDAcHBzEHFwc7BzEHOweYBzEHmAcyBzAHMQcyBwIHMAcyBwIHMgdiBwIHYgdLBwIHSwdIB4MHEgdyB40HgwdyB40HcgdlB2QHjQdlB2MHZAdlB2MHZQeRBxsHnQdaB2YHGwdaB2YHWgdZB3YHFwcxB0UHdgcxB0QHRQcxB0QHMQcwB10HRAcwB10HMAcCB2cHBQdoB/4GZwdoB/4GaAf/Bv8GIQf9Bv4G/wb9BiwHgwctBy4HLActBy4HLQdXB1gHLgdXB2kHWAdXB2kHVwdZB1kHWwdcB1kHXAdqB2kHWQdqBx4HawdsB3AHNwdxB3MHowdyB3IHEgdzB3UHBwcMBwwHPQd1ByQHdwdrByQHawceBwMHPwcjBwQHAwcjBx4HBAcjByQHHgcjB3oHpAd4B3gHeQd6B3wHnAenB6cHmwcDB3wHpwcDBwMHBAceBx4HbAcpBwMHHgcpB3wHAwcpB3wHKQcfB3wHHwd9B3wHfQelBzoHJwcNBzoHDQcMBzoHDAcGBxQHcwcSBxEH9gYPB34HNAczBzMHNwdwB34HMwdwB34HcAcABwEHXQcCBwAHAQcCBwAHAgdIB34HAAdIB4EHIQcgB0MHgQcgB0MHIAcrBxkHOwcXBxkHFwcYBxkHGAcvBysHGQcvBysHLwc4BysHOAdCB0MHKwdCB4IHHQccBxwHUQeCBxMHEgeDB4MHLAcTB4UHogeEB4QHVAeFB3kHeAczBzMHCAd5B4oHogeFB4oHhQdtByYHJQeHB20HJgeHB4oHbQeHB08HUAdRB4YHTwdRB4YHUQccB4sHhgccBx0HngcbBxwHHQcbB4sHHAcbB0YHmQd+B34HSQdGB1QHVQdWB4UHVAdWB4UHVgePB5EHZQeTB5EHkweXB5EHlwdhB5AHkQdhB3sHVQdUB2EHewdUB1QHhAdgB2EHVAdgB5AHYQdgB5QHegd5B3kHCweUB00HTgcnB00HJwc6BzkHTQc6BysHIAf/BisH/waVBxoHKweVBxoHlQeWBzwHGgeWB4UHjwduB28HJgdtB24HbwdtB4UHbgdtB0AHNQd+B34HmQdAB3IHoweaB2UHcgeaB2UHmgemB58HjgcVB6EHggdRB/sGPwf8BvkG+wb8BoAH+Qb8BoAH/AYVB38HgAcVB1AHfwcVB1EHUAcVB1EHFQeOB6EHUQeOByIHPgf6Bq4HswevB68HqweuB6sHrwesB60HqwesB60HrAewB60HsAexB7EHsAeyB6kHqgeoB7IHqQeoB7EHsgeoB7YHtAe/B78Hwge2B78HxAfCB8wHzgfPB9AHzQfLB7wHEAjRB7wH0QfSB7wH0gfxB/EH8gfwB7wH8QfwB9MH1AfWB98H0AfgB+AH3QffB+QHzwfiB+IH4wfkB+kH2AfAB8AHtQfpB+MH/QfsB+wH1AfTB+MH7AfTB+MH0wfkB9AH7QfNB9gH6QfaB9gH2gfcB/4H2AfcB/4H3Af4BwAI/gf4B/YHAAj4B/YH+Af5B/YH+QcTCPUHEQgVCM8HzgfuB+4H4gfPBwYIEgj5BwIIBgj5B/gHAgj5B+QH0wfeB+EHzwfkB+QH3gfhBxAI5gfzB9EHEAjzB9IH0QfzB9IH8wfHB9IHxwcECPEH0gcECPEHBAjtB/EH7QfyBwkI3gfTB9MH1wcJCLcHCwgNCLcHDQj7B/sH/Qe5B7cH+we5B+cHvgfoB/QH5wfoB/QH6AfJB8gH9AfJB8gHyQfKBwUIyAfKBwUIygcOCAUIDgjuB9kHCgjFB8UHwQfZBwsItwfDB8MHxgcLCMwHzwfhB9AH3wfwB/AH8gfQB90HCAgHCAcI3wfdB/oH2Qf/B/oH/wcBCOsH+gcBCOsHAQj3B7UHuwfpB+4HDgjiB+gHvge5B8kH6Ae5B8oHyQe5B8oHuQf9Bw4Iygf9B+IHDgj9B+IH/QfjBwgI1QcUCBQIBwgICNAH8gftB98HBwgDCAMI8AffB8sH4AfQB70H5QcPCL0HDwi6B7QHtge4B7oHtAe4B70Huge4B9kH+gcMCAwICgjZBwII+AfcB/oH6wf8B7sH7wcCCLsHAgjcB7sH3AfaB7wH2wfqBx4IGAgbCBsIHQgeCCMIHggkCCMIJAglCCMIJQh5CJ0IIQg+CJ0IPgh4CHoInQh4CHoIeAh3CHoIdwg7CHkIegg7CCMIeQg7CCwIqwgqCCoIKwgsCC8IMQgyCDkIUQg1CDkINQg6CDkIOghnCDcIgQhACDcIQAgrCDcIKwgqCDcIKgg2CEYIRwhICEYISAiqCEYIqgivCCQIHggdCB0IVwgkCBYIFwgaCFwIFggaCFwIGgheCFwIXghHCE8IUgg4CGMITwg4CGMIOAhmCGMIZgiWCG8IcAhxCHYIYgg9CHYIPQggCKcIbwhxCCAIpwhxCCAIcQjACHYIIAjACFQIoghWCFMIVAhWCFMIVgh/CH4IUwh/CDQIfgh/CDQIfwg1CDQINQgzCHQIcwhoCGgIOgh0CCIIIQiBCIEINwgiCIIIgwiECIoIjAgpCI0IjwhJCIIIKwhACEAIawiCCEcIXghgCGIIdgiqCGIIqghICGAIYghICEcIYAhICI4IVgiiCKIIkAiOCKMIpAilCGkIqAhsCJEILAgrCCsIggiRCC0IkggyCC0IMgiUCKwILQiUCFUIjQhGCK4IVQhGCK4IRgivCK4IrwhNCE4IMQhMCE0ITghMCK4ITQhMCJgIlwifCHoImAifCJ0IegifCLIInQifCLIInwhqCGoIPwiACLIIagiACLMIvgi1CLUIhgizCIQIkQiCCHAIvAisCKwIlAhwCFcIowilCKUIJQgkCFcIpQgkCDYIIgg3CK8Iqgi3CE0Irwi3CE0Itwi4CE0IuAiwCE0IsAiTCE0IkwhOCJkIJgibCJkImwiECIMImQiECFgIWghLCH0IWAhLCLkIfQhLCLkISwgwCDAILgiLCLkIMAiLCLkIiwiICEkISggWCLoISQgWCLoIFghcCHIIewieCJ4IZQhyCKsIuwg2CDYIKgirCCcItAiHCCcIhwgoCCgImwgmCCcIKAgmCHAIbwi8CLoIRgiNCI0ISQi6CL0IwQhFCEUIQwi9CL8ItAgnCG0IvwgnCG0IJwgmCCYImghrCG0IJghrCCUIpQikCKQIQQhCCCUIpAhCCEQIwgigCKAIoQhQCEQIoAhQCGQIlwiYCFAIZAiYCEQIUAiYCEIIRAiYCCUIQgiYCCUImAh6CCUIegh5CJkIgwhrCBgIHggjCBkIGAgjCBkIIwg7CF0IGQg7CF0IOwh3CDYIbgimCCIINgimCCIIpggfCCEIIggfCCEIHwg8CD4IIQg8CD4IPAhhCHgIPghhCHgIYQhfCHcIeAhfCF0IdwhfCC8IMgiSCC8IkgiFCIwILwiFCIwIhQicCBcIFghKCEoIHAgXCCEIsQiBCHMIdAhYCHwIcwhYCHwIWAh9CKkIfAh9CKkIfQi5CLkIiQi2CKkIuQi2CLcIqgh2CLgItwh2CLgIdgjACLAIuAjACLAIwAhxCDIIMQhOCJQIMghOCJQITgiTCHAIlAiTCHEIcAiTCLAIcQiTCLsIbgg2CDUIUQgzCEcIRgi6CLoIXAhHCGUIngiVCJwIKQiMCL4IbAioCKgIaQh7CK0ISwh0CK0IdAg6CFYIrQg6CH8IVgg6CH8IOgg1CLUIvgioCEsIWgh0CLEIIQidCHsIaQieCFsIWQh1CIMIgghrCAAAiVBORw0KGgoAAAANSUhEUgAAB9AAAAIHCAIAAABIWVAeAAAACXBIWXMAABcSAAAXEgFnn9JSAAAgAElEQVR4AezdB5hc130f7OmzDYtFJQqJQgAsYgMJgk2USLFIFiXKkmxJlmRJtpzYcpIvxbEd218UKYmVfE5c5DhxLMmyJFu990JKIimCBawAOwiC6L1tm52der8zWBYQbWZ3ZoEF8M6zAmbvPefcc997/Tz07x78bzyKopgPAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0JxAornuehMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1AYG7+4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAQODeAkRDECBAgAABAgQIECBAgAABAgQIECBAgAABgbt7gAABAgQIECBAgAABAgQIECBAgAABAgQItEBA4N4CREMQIECAAAECBAgQIECAAAECBAgQIECAAAGBu3uAAAECBAgQIECAAAECBAgQIECAAAECBAi0QEDg3gJEQxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYG7e4AAAQIECBAgQIAAAQIECBAgQIAAAQIECLRAINWCMQxBgAABAgQIECBAgAABAgQIECBAgAABAhNNoFKtFguVaqXa31/ZvaeycXP1ueerGzZV9u6t9vVHff3V3FBUKMSiaph4PJGMt7fFOzsT3ZMSPZMTM2fEF5+dWjAvOX9ecvq0RFdXMjRIp2Px+EQ7ywk1n3gURRNqQiZDgAABAgQIECBAgAABAgQIECBAgAABAmMUqFarQ0PlwcHSjh3ltevKDz5SeWR1ZcvWkLnHEslYIh5LNFz1pFqNhZ9YLDV1anLh/OTyZclll6QWn52ZMSPR1p5oaxvjDE/pbgL3U/ryOjkCBAgQIECAAAECBAgQIECAAAECBE4Pgcq+faU9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CBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAECBAgQIECAAAECBAgQIECAQAMCAvcGkDQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BATu9YTsJ0CAAAECBAgQIECAAAECBAgQIECAAAECDQgI3BtA0oQAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTELjXE7KfAAECBAgQIECAAAECBAgQIECAAAECBAg0ICBwbwBJEwIECBAgQIAAAQIECBAgQIAAAQIECBAgUE9A4F5PyH4CBAgQIECAAAECBAgQIECAAAECBAgQINCAgMC9ASRNCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPQGBez0h+wkQIECAAAEC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OymCzN///vcXXnhh1qxZ559/PmUdlprgYk5OVhO8Cdo8jYBGYF9BYPjbgn2lJdrOsUXA5Nn1NWlsgdXaNAIagb2OwJic1nhu+f73vw+vsXDhwne/+9081Rdr13hIUhdV/+xnP0P5ueeeCz9S4mHVueT69et/9KMf8fi3bNmyj3zkIzxvv8qNojl33HEHD5MnnnjimECK/TTqX//6F/hceumlJVqEZCaToXY4l9mzZ5911lnF2q50OgSqhJL8Q7/85S//9re/hcPht771raUNGI8+dd77WD7mpo5T7WNuJ22HyvzOd77z4osvHnzwwVdffTUkYH5Xqhx+Sscee+zAwADkGmzFXXfdVUwyFot94xvfgENB4I1vfOOnPvUphkExYcQYqBxlSCNcTIx856Y6l8RUBj+/KX4mDNSjjz66hAFQhL/5zW8gTE8//fSrrrqqRKOcSzo3tYRhDg+ZN8MO5YcVG5OrT4laXn755W9961sPPPDA7t27Z86cCRn3nve8B6q6RBHYdji1D37wg5RloDJKGV0//OEPIRlLlGpra/vFL35x5513UgrW78orr3zd615Xmo975JFHPvzhD69Zs4YzLTwptdx8880lzvPUDpv/pz/9iQHP+WHx4sXvete7uN5BiJcwjEMQ+h/72MegI6PRKCZR0Ve+8hWmBEqU4kf60EMPMVb5zR566KGMVX65w3LNtP3aa6+lXZ2dnRCmF154IfVOmzatREVc3aAvOS/xzawDFdGuEvLqEGh/73vf++tf/6qYfX71/+///T8nNOuOHTtolKrriiuuwMjSdcGz/+53v/vjH/8Io71gwQK6lZOMk3kRTgt/+MMfOCvSoa9//euHLQLg8Ob0LEVAgFHKdEUwGCxt3rZt2z7/+c/TU1ymGdVcJT/96U/PnTu3dKkRHGVm6Nvf/vY999wD4JMmTXrta1/7vve9D+a9hCp+RzDav/rVr5599tmlS5fSQZwhS8hzqL+//6c//SkjfMOGDQwbupU+Gnaui655//vf/+STTzKW+B2BIdeOE044oURd/BD4XdOzzJBhFbXQraV/rWhjGuATn/gEp3puzKqqqrDzi1/84iGHHFKiorE9NH5nyzE/sY9tw7U2jYBGYL9CgDOO3jQCNgTw73j88cdvueWWn//858899xx3xjaBEe+iihsFnGh+8pOf8DyAi8eIVemC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LgAuADAAMwA0ADIAFwAYABoANQA/AEMAOQA7AD8AOQA2ADsAOQA2ADkAOgBGAEgAPAA8ADgARgBMAEEAPQA9AEkATABFAFEATwBFAE8ASgBFAEoARwBEAEUARwBTAEQARwBTAEcAVQA2ADoAWABWADcAWQBWAFkAXgBVAF0AUwBbAF8AWgBaAFIAWwBGADgAVwBUAEYAVwBcAFQAVwBcAFcAYAA+AGMAYQBhAEIAPgBLAGcAZQBlAEAASwBpAGIAZABkAGYAaQBrAGgATgBNAFAAagBvAHQAeQB5AHUAbwCIAIIAgABxAKcAcgBxAHIAbQBsAHEAbQBwAGwAbQBwAG0AkQCiAHAAkQCiAJEAngCXAKIAngCaAJcAngCAAJoAngCIAIAAngCEAIoAjACMAIYAhACHAI0AfwB1AKAAnwB1AJ8AkgBuAHUAkgCbAJwAkwCTAJgAmwCDAIUAfgCBAIMAfgCbAIEAfgCcAJsAfgB/AI0AoQB6AKYAfQB2AHoAfQB2AH0AewB2AHsAfAB2AHwAjwB3AJAAlgChAHcAlgChAJYAnQB/AKEAnQCjAJkAlACVAI4ApACJAJ8AoACgAIsAiQCoAKUAeAB4AHMAqACsAK8ArQCtAKoArACwALMAsQCxAK4AsAC0ALgAtgC2ALIAtAC3ALwAugC6ALUAtwC7AMAAvgC+ALkAuwC/AMQAwgDCAL0AvwDDAMcAxQDFAMEAwwDIAMsAyQDJAMYAyADMAKsAqQCpAMoAzADQANYA0wDTAM4A0ADOANMA2wDbANoAzgDaANsA3wDfAN4A2gDeAN8A4wDjAOEA3gDhAOMA5wDnAOUA4QDYAOwA6QDpANQA2ADUAOkA7QDtANwA1ADcAO0A7gDuAOAA3ADgAO4A7wDvAOQA4ADkAO8A8ADwAOgA5ADsAPYA8gDyAOkA7ADpAPIA+AD4AO0A6QDtAPgA+gD6AO4A7QDuAPoA/AD8AO8A7gDvAPwA/gD+APAA7wD1AAQBAAEAAfEA9QDxAAABBgEGAfcA8QD3AAYBCQEJAfkA9wD5AAkBCwELAfsA+QD7AAsBDQENAf0A+wACAQ8BDgEOAf8AAgH/AA4BEgESAQUB/wAFARIBEwETAQcBBQEIARQBFQEVAQoBCAEKARUBFwEXAQwBCgEPARwBGgEaAQ4BDwEOARoBIAEgARIBDgESASABIgEiARMBEgETASIBJAEkARYBEwEWASQBJgEmARgBFgEbASkBJwEnARkBGwEZAScBLQEtAR8BGQEfAS0BLwEvASEBHwEhAS8BMQExASMBIQEjATEBMwEzASUBIwEqATcBNQE1ASgBKgEuASgBNQE1ATsBLgEuATsBPQE9ATABLgEwAT0BPwE/ATIBMAEyAT8BQQFBATQBMgE4Ac8AzQDNADYBOAHZADwBNgE2Ac0A2QA8AdkA3QDdAD4BPAE+Ad0A4gDiAEABPgFAAeIA5gDmAEIBQAHXANEARwFHAUUB1wA5AUoBSAFIAdIAOQHVAEMBTQFNAesA1QDzAOoATAFMAU8B8wD0AFEBUwFTAQEB9AAQAQMBVAFUAVYBEAERAVcBWQFZAR0BEQEsAR4BWgFaAV0BLAErAVwBSwFLAToBKwFEAUYBSQFEAUkBWwFEAVsBWAFEAVgBVQFEAVUBUgFEAVIBUAFEAVABTgFlAWkBXgFfAWEBZgFrAW8BZwFoAWQBbAFxAXMBbgFtAWoBcAF3AXkBdQF0AXIBdgF9AX8BewF6AXgBfAGCAYUBgAGBAX4BgwGKAY0BhwGGAYQBiQGQAZMBjAGLAYgBjwFjAWABkgGRAY4BYgGWAWwCmgGaAZ4BlgGgAaEBogGjAVoCpgGmAakBowGtAa4BsQGtAbEBkQIfAh4CRgKRAh8CRgKtAZECRgKyAfQBtQG1AbkBsgHDAQYCxAHEAcYBwwHHAR0CygHKAcwBxwHPAS8C0AHQAdQBzwHhAZMC5gHmAekB4QHqAesB7AHOAe0ByAHsAe4B8AHvAfIB8QHzAVwCtgG2AfUB8wH2AZAC+QH5AfsB9gEAAhQCAQIBAv8BAAICAiYC2gHaAQMCAgIGAgcCxAEIAgkCCwINAoICpwGnARECDQIZAgwC/wEEAicCHQIdAscBBAIUAgACHgIeAh8CFAIDAhsCIwIjAgICAwIkAtcBJgLAATECKAIoAgUCwAEqAs8B1AHUASsCKgKhAaABLQIuAooCLwIvAs8BLgKcAZkBMwIzAsEBnAFXAq0BvAFXArwBvwFYAlcCvwF5AlgCvwF5Ar8BNQLrAXkCNQKVAZsBnwE1ApUBnwHrATUCnwE5AmMC2wHbAS0COQIsAkkCQAJAAkMCLAI0AkEClAEAAgoCPQIeAgACPQIeAj0CRQIeAkUCRgLWAXwCSQJJAiwC1gFMAgECFAIIAhcCCQJQAowCUQJRAlICUAIiAhkC/wH/AQECIgLNAcsBVQJVAtIBzQEWAlsCSgJLAhYCSgJLAkoCWQI3Ai4COAI3AjgCNgJZAjcCNgJLAlkCNgJaAvMB9QH1AaYBWgLnAeUBGgIaAl8C5wFiAsUBYwJjAjkCYgICAiMCTwIiAgECTAL/AQwCCgIKAgAC/wFnAqUB9AH0AbIBZwKfAZsB7gHuAewBnwFiAvIB7wHvAZ0BYgJpAqMB2QFSAlEC8wHzAVoCagJSAvMBagJCAj8CbQJtApcBQgJGAkUCvAG8Aa0BRgL4AY8CWwJbAhYC+AGjAW8C2QFxAn8CoAGgAXQCcQIqAisCQQJyAnYC6gHqAewBcAJyAuoBcAKiAaoBdQLjAZICCAIIAgsC4wF2AngCWALqAXYCeQJ5AusB6gFxAvEB8gHTAVYCewJ7AtUB0wEtAtsB3gGhAS0C3gGhAd4BOgKrAaEBOgLXAasBOgLXAToC2AHaAdcB2AHaAdgBbgLaAW4CAwJlAsQBBwJlAgcCUAJQAogC3QFlAlAC3QGvAXcCfQJ9ArABrwF+AjYCOAI4AioCQQI4AkECvQF+AjgCvQHyAWICOQI5An8C8gECAk8CgQJvAqMBqQGpAYUCbwKgAYYCdAJwAuwB8AFXAlgCrgGuAa0BVwJQAlICiQKJAogCUALOAdEBMALtAc4BMALtATACiwKLApcCjALtAYsCjAJKAlsCXQJKAl0CjgKOApYCWQJKAo4CWQJ4Aq4BWAKfAewB6wGgAaIBdQKPArcBXQJdAlsCjwJ4AnYCcgJYAnkCdgKJAlICagJaAqMBaQJqAloCaQKJAmoCaQK4AbQBkAKQAvYBuAF/AnEC8gFeAhgCgwKDAg4CXgKSAvgBFgIWAggCkgIHAu0BjAKMAlACBwLIAe0BBwKdAcIBxQHFAWICnQH+AfoBlAKUAuIB/gFEAjwChwJEAocCfgK7AUQCfgK7AX4CvQG+AbsBvQG+Ab0BQQK+AUECNAKJAmkC2QGJAtkBOwKIAokCOwLdAYgCOwLfAd0BOwKMApcClQKVAlECjAIDAm4ChAKEAhsCAwI3ApgCLgIXAggCFgIXAhYCSwI2An4ChwJLAjYChwIXAksChwKqAaIBoQGqAaEBqwGsAaoBqwGsAasB1wGsAdcBJALIAQcCBgJ/AjkCLQItAqABfwImAtcB2gE4Ai4CzwHPASoCOAISAqgBpAGkAWYCEgIMAhkC5AFZApYCmAKYAjcCWQLdAd8B3AFlAt0B3AFkAmUC3AFRApUCjQKNAlwC8wFRAo0C8wHGAcQBZQJlAmQCxgF1AqoBhgKGAqABdQIJAhcChwKHAjwCCQKsAYYCqgFNAiUCgAIfApECcgJhAv0B4AFTAkcCegJyApECsQEPAvwBYAJhAuAB6AEkAnQCrAF3ArABfQIhAk4CFQIcAikCMgIcAjICmAEcApgBawIcAmsCPgIcAj4CSALJARwCSALJAUgCVAJyArEBeAKsAXQChgIgAnMCJQIgAiUCTQIkAiYCdAKKAi4CmAKBAiYCAgIQAhMCaAIQAmgCswEQArMBugEQAroB9wEQAvcB/QGiAqYCnAKeAqICnAKZAp4CnAKZApwCnQKpAqsCnwKfApsCqQKvAqQCoAKgAqwCrwKoArQCsgKoArICrQKoAq0CqgKnAqgCqgK2AqcCqgK2AqoCuAKZAp0CvAK5ApoCuwK5ArsCwQK4AsACtgK+AsICvQK9ArUCvgKpApsCugK3AqkCugK/ArcCugK/AroCwwKhAsYCxALEAqUCoQKuAsoCyALIAqMCrgLMAsUCxwLHAskCzALNAssCsAKxArMCzgLYAtwC0gLUAtgC0gLQAtQC0gLQAtIC0wLfAuEC1QLVAtEC3wLlAtoC1gLWAuIC5QLeAuoC6ALeAugC4wLeAuMC4ALdAt4C4ALsAt0C4ALsAuAC7gLQAtMC8gLvAs8C8QLvAvEC9wLuAvYC7AL0AvgC8wLzAusC9ALfAtEC8ALtAt8C8AL1Au0C8AL1AvAC+QLXAvwC+gL6AtsC1wLkAgAD/gL+AtkC5AICA/sC/QL9Av8CAgMDAwED5gLnAukCBAMHA90DCwMLAw8DBwMRAxIDEwMUA8sDFwMXAxoDFAMeAx8DIgMeAyIDAgSQA48DtwMCBJADtwMeAwIEtwMjA2UDJgMmAyoDIwM0A3cDNQM1AzcDNAM4A44DOwM7Az0DOANAA6ADQQNBA0UDQANSAwQEVwNXA1oDUgNbA1wDXQM/A14DOQNdA18DYQNgA2MDYgNkA80DJwMnA2YDZANnAwEEagNqA2wDZwNxA4UDcgNyA3ADcQNzA5cDSwNLA3QDcwN3A3gDNQN5A3oDfAN+A/MDGAMYA4IDfgOKA30DcAN1A5gDjgOOAzgDdQOFA3EDjwOPA5ADhQN0A4wDlAOUA3MDdAOVA0gDlwMxA6IDmQOZA3YDMQObA0ADRQNFA5wDmwMSAxEDngOfA/sDoAOgA0ADnwMNAwoDpAOkAzIDDQPIAx4DLQPIAy0DMAPJA8gDMAPqA8kDMAPqAzADpgNcA+oDpgMGAwwDEAOmAwYDEANcA6YDEAOqA9QDTANMA54DqgOdA7oDsQOxA7QDnQOlA7IDBQNxA3sDrgOPA3EDrgOPA64DtgOPA7YDtwNHA+0DugO6A50DRwO9A3IDhQN5A4gDegPBA/0DwgPCA8MDwQOTA4oDcANwA3IDkwM+AzwDxgPGA0MDPgOHA8wDuwO8A4cDuwO8A7sDygOoA58DqQOoA6kDpwPKA6gDpwO8A8oDpwPLA2QDZgNmAxcDywNYA1YDiwOLA9ADWAPTAzYD1APUA6oD0wNzA5QDwAOTA3IDvQNwA30DewN7A3EDcAPYAxYDZQNlAyMD2AMQAwwDXwNfA10DEAPTA2MDYANgAw4D0wPaAxQDSgPDA8IDZANkA8sD2wPDA2QD2wOzA7AD3gPeAwgDswO3A7YDLQMtAx4DtwNpAwAEzAPMA4cDaQMUA+ADSgPiA/ADEQMRA+UD4gObA5wDsgPjA+cDWwNbA10D4QPjA1sD4QMTAxsD5gNUAwMEeQN5A3wDVAPnA+kDyQNbA+cD6gPqA1wDWwPiA2IDYwNEA8cD7APsA0YDRAOeA0wDTwMSA54DTwMSA08DqwMcAxIDqwNIAxwDqwNIA6sDSQNLA0gDSQNLA0kD3wNLA98DdAPWAzUDeAPWA3gDwQPBA/kDTgPWA8EDTgMgA+gD7gPuAyEDIAPvA6cDqQOpA5sDsgOpA7IDLgPvA6kDLgNjA9MDqgOqA/ADYwNzA8AD8gPgAxQDGgMaA/YD4AMRA/cD5QPhA10DYQPIA8kDHwMfAx4DyAPBA8MD+gP6A/kDwQM/A0IDoQNeAz8DoQNeA6ED/AP8AwgE/QNeA/wD/QO7A8wDzgO7A84D/wP/AwcEygO7A/8DygPpAx8DyQMQA10DXAMRAxMD5gMABCgDzgPOA8wDAATpA+cD4wPJA+oD5wP6A8MD2wPLAxQD2gPbA8sD2gP6A9sD2gMpAyUDAQQBBGcDKQPwA+IDYwPPA4kD9AP0A38DzwMDBGkDhwOHA3kDAwR4A14D/QP9A8EDeAM5A14DeAMOAzMDNgM2A9MDDgNvA2sDBQQFBFMDbwO1A60D+AO1A/gD7wMsA7UD7wMsA+8DLgMvAywDLgMvAy4DsgMvA7IDpQP6A9oDSgP6A0oDrAP5A/oDrANOA/kDrANQA04DrAP9AwgEBgQGBMID/QN0A98D9QP1A4wDdAOoAwkEnwOIA3kDhwOIA4cDvAOnA+8D+AO8A6cD+AOIA7wD+AMbAxMDEgMbAxIDHAMdAxsDHAMdAxwDSAMdA0gDlQM5A3gDdwPwA6oDngOeAxED8AOXA0gDSwOpA58DQANAA5sDqQODAxkDFQMVA9cDgwN9A4oDVQPKAwcECQQJBKgDygNOA1ADTQPWA04DTQPVA9YDTQPCAwYE/gP+A80DZAPCA/4DZAM3AzUD1gPWA9UDNwPmAxsD9wP3AxED5gN6A4gD+AP4A60DegMdA/cDGwO+A5YD8QOQAwIE4wPSA24DUQPEA7gD6wPjAwIEIgOAA20D0QPSA1EDWQOVA+UDHQPoAyED7gOSA78DhgONA5oDowONA6MDCQONAwkD3AONA9wDrwONA68DuQM6A40DuQM6A7kDxQPjAyID6QMdA+UD9wORA+QDlgORA5YDvgOVA5cD5QP7A58DCQTyA5cDcwOBA4QD2QOBA9kDJAOBAyQDKwOBAysDaAOBA2gDbgMNBBIEFwQXBBMEDQQmBCAEHgQPBEUEEAQPBBAECwQKBA8ECwQOBAoECwQOBAsELwRABA4ELwRABC8EPAQ1BEAEPAQ4BDUEPAQeBDgEPAQmBB4EPAQiBCgEKgQqBCQEIgQlBCsEHQQTBD4EPQQTBD0EMAQMBBMEMAQ5BDoEMQQxBDYEOQQhBCMEHAQfBCEEHAQ5BB8EHAQ6BDkEHAQdBCsEPwQYBEQEGwQVBBgEGwQVBBsEGQQVBBkEGgQVBBoELgQUBC0ENAQ/BBQENAQ/BDQEOwQdBD8EOwRBBDcEMgQzBCwEQgQnBD0EPgQ+BCkEJwRGBEMEFgQWBBEERgRKBE0ESwRLBEgESgROBFEETwRPBEwETgRSBFYEVARUBFAEUgRVBFoEWARYBFMEVQRZBF4EXARcBFcEWQRdBGIEYARgBFsEXQRhBGUEYwRjBF8EYQRmBGkEZwRnBGQEZgRqBEkERwRHBGgEagRuBHQEcQRxBGwEbgRsBHEEeQR5BHgEbAR4BHkEfQR9BHwEeAR8BH0EgQSBBH8EfAR/BIEEhQSFBIMEfwR2BIoEhwSHBHIEdgRyBIcEiwSLBHoEcgR6BIsEjASMBH4EegR+BIwEjQSNBIIEfgSCBI0EjgSOBIYEggSKBJQEkASQBIcEigSHBJAElgSWBIsEhwSLBJYEmASYBIwEiwSMBJgEmgSaBI0EjASNBJoEnAScBI4EjQSTBKIEngSeBI8EkwSPBJ4EpASkBJUEjwSVBKQEpwSnBJcElQSXBKcEqQSpBJkElwSZBKkEqwSrBJsEmQSgBK0ErASsBJ0EoASdBKwEsASwBKMEnQSjBLAEsQSxBKUEowSmBLIEswSzBKgEpgSoBLMEtQS1BKoEqAStBLoEuAS4BKwErQSsBLgEvgS+BLAErASwBL4EwATABLEEsASxBMAEwgTCBLQEsQS0BMIExATEBLYEtAS5BMcExQTFBLcEuQS3BMUEywTLBL0EtwS9BMsEzQTNBL8EvQS/BM0EzwTPBMEEvwTBBM8E0QTRBMMEwQTIBNUE0wTTBMYEyATMBMYE0wTTBNkEzATMBNkE2wTbBM4EzATOBNsE3QTdBNAEzgTQBN0E3wTfBNIE0ATWBG0EawRrBNQE1gR3BNoE1ATUBGsEdwTaBHcEewR7BNwE2gTcBHsEgASABN4E3ATeBIAEhASEBOAE3gR1BG8E5QTlBOMEdQTXBOgE5gTmBHAE1wRzBOEE6wTrBIkEcwSRBIgE6gTqBO0EkQSSBO8E8QTxBJ8EkgSuBKEE8gTyBPQErgSvBPUE9wT3BLsErwTKBLwE+AT4BPsEygTJBPoE6QTpBNgEyQTiBOQE5wTiBOcE+QTiBPkE9gTiBPYE8wTiBPME8ATiBPAE7gTiBO4E7AQDBQcF/AT9BP8EBAUJBQ0FBQUGBQIFCgUPBREFDAULBQgFDgUVBRcFEwUSBRAFFAUbBR0FGQUYBRYFGgUgBSMFHgUfBRwFIQUoBSsFJQUkBSIFJwUuBTEFKgUpBSYFLQUABf4ELwUwBSwFAQUzBVoFNAU0BU4FNgUzBTQFNgU3BZcFpAU3BaQFOAU4BUMFOQU3BTgFOQU7BUsFPQU9BToFOwU+BbMFPwWKBU8FQAW6BYoFQAU/BboFQAU+BT8FQAVBBUIFQwVEBUUFRgVKBYAFTAVMBU0FSgU7BVIFUwVbBVwFXQVRBU8FUAVRBVAFtwVRBbcFYQVRBWEFYgVjBUQFRgVnBWgFaQVZBbEFbQWhBWYFVwVtBaEFVwVZBW0FVwVIBXMFRAVEBWMFawVIBUQFawVIBWsFSQVIBUkFRwV0BXUFdgV4BXkFegV6BXIFfAV8BXgFegVXBWYFZQU1BX8FMgVaBUcFSQU0BVoFSQU0BUkFawVrBWMFTgU0BWsFTgWDBYQFPgWFBVIFOwU7BToFhQWHBYgFiQVPBYoFiwWMBXQFjQViBWEFWwVbBV0FYgVABU8FUQVABVEFfgV9BUAFfgV9BX4FXgWQBX0FXgWQBV4FcAVwBXcFewVwBXsFcQVwBXEFbwVwBW8FrAVwBawFbAWQBXAFbAWRBZ8FdAV0BYwFkQWSBYgFkwWTBZQFkgV0BXYFlQWVBZYFdAVLBTsFVQVmBaEFlwWXBTcFZgV+BVEFYgV+BWIFXQV+BV0FXwVYBVcFZQVVBVQFhgV4BVUFhgV5BXgFhgWQBTkFpgWQBaYFPgU+BUAFfQWQBT4FfQVnBWkFmAWSBZQFmQVQBU8FmgVdBVwFbgVfBV0FbgVfBW4FmwVfBZsFYAWIBWkFnAWcBZMFiAVFBUQFdQV1BZ8FRQVKBU0FPAWSBaAFiQVzBUgFogVPBYsFmgWXBbAFowVBBUMFOAVBBTgFpAW0BUEFpAWjBbQFpAWXBaMFpAVSBZ4FnQWWBVIFnQWNBZYFnQVFBZEFpwWoBYYFVAVWBZUFpQVUBVYFpQWoBVQFpQWiBa0FdgV2BXUFogWVBVIFlgWSBZkFoAV1BXMFogV0BZYFjQVeBX4FXwVeBV8FYAVwBV4FYAVwBWAFjgVwBY4FgAWABUoFdwVwBYAFdwWJBYgFkgV1BXQFnwVqBbgFWQVZBVcFWAVqBVkFWAWqBWoFWAWqBVgFZAVpBWgFqwWrBZwFaQWsBaoFZAVkBVgFZQVkBWUFZgVkBWYFbAWsBWQFbAVWBVQFVQVWBVUFOwVWBTsFUwWnBUYFRQWOBWAFrgWOBa4FjwWOBY8FgQWCBUwFgAWBBYIFgAWOBYEFgAVDBUIFrwWDBT4FpgWvBYMFpgVDBa8FpgVtBbIFqQWhBW0FqQWhBakFsAWhBbAFlwWFBZ4FUgVzBXUFRAVDBaYFOQVsBWYFNwVsBTcFOQVsBTkFkAWVBVMFUgWxBbsFsgWyBW0FsQWRBUUFnwWiBbUFtgWiBUgFtQWVBXYFrQWVBa0FuQWVBbkFpQWzBT4FhAVTBZUFVgVLBVUFeAW8BfoFvQW9Bb4FvAXFBccFyQXFBckFqgbFBaoGrgZXBjwGPgaTBlcGPgaUBpMGPgaUBj4GlwauBpQGlwbFBa4GlwbIBcYF0wXTBdQFyAXaBbwF2AXYBdkF2gXdBUAG2wXbBdwF3QXeBd0F3wXfBeAF3gXkBcIFxAXEBeUF5AXmBU8G5wXnBegF5gXQBUoG6QXpBeoF0AXuBUgG7wXvBfAF7gXVBdcF8QXkBeUF+AXkBfgFzgXZBfkF+gVFBhkG/AX7BUUG/AX8BRMG/QX7BfwF/QXVBfEF9wXVBfcF9gX2BXMG1gXVBfYF1gXXBdUF1gXXBdYFDgYPBtcFDgbLBQ8GDgYcBssFDgYcBg4GzQUJBhwGzQUVBgkGzQUVBs0FzwUWBhUGzwUQBhYGzwUQBs8FAgYBBhAGAgYBBgIGAwYEBnYGvwW/BcEFBAYLBrkGDAYMBg0GCwbZBfoF2gUSBv0FEwYTBhQGEgYXBhIGFAYUBhgGFwYZBhoG/AUbBtsFGgYhBiIGIwYmBusF7QUmBu0FJwYqBq0GKwYqBisGKQYnBioGKQYnBikGKAYmBicGKAb3BSEGIwYjBv8F9wU3BkwGOAY4BjkGNwb8BdsFQAb3BUEGIQYjBiIGQwZDBkQGIwbtBewF0QXRBS8G7QUbBowG3AXcBdsFGwYbBkUGRgZHBnkGSAZIBu4FRwbGBW0GSQZJBtMFxgUZBhsGGgZKBhcGSwZLBukFSgbKBQ8GywXMBcoFywXMBcsFHAYdBswFHAYdBhwGCAYKBpsGYQYKBmEGNAYKBjQGMwYIBgoGMwYdBggGMwZOBnQGTwZPBuYFTgbQBdIFEgYSBhcGSgbQBRIGSgYbBi0GUgYABjsGVgZaBmkGBgYFBloGBgYHBgUGBgYHBgYGWAYHBlgGWQYgBh8GWgZaBlsGIAbUBdMFNQY2BtQFNQY2BjUGYgYfBiAGHganBh8GHgZiBqcGHgZiBh4GhgZiBoYGYwY2BmIGYwZoBhYGEAYQBmkGaAb5BWoGvQVrBkYGRQZFBvsFawb8BUAGEwbaBfoFvAXqBekFUAZRBuoFUAZRBlAGcwb2BfcF9QVzBvYF9QVRBnMG9QVEBkMGdAZ0Bk4GRAZ1BnYGBAYsBlIGLQYsBi0GLgZ5BiwGLgZ5Bi4GSAZ9BtcFfgbsBe4F8AXwBdEF7AWDBrIGGwYbBlIGgwb+BSQGJQb+BSUG/wUABv4F/wUABv8FhwYABocGOwYyBjEGUwZuBkkGbQaKBm4GbQaJBooGbQZCBuUFxAVCBsQFdQZ1BgQGcAZCBnUGcAYPBsoFiwYPBosGfgYPBn4G1wVQBukFSwZQBksGXwZQBl8GcwYtBhsGRgbXBX0GjwbXBY8GQQbXBUEG8QUABlYGkAZMBnEGTQY4BkwGTQY4Bk0GkQY4BpEGkgZpBhAGAQYGBmkGAQYGBgEGAwYGBgMGZgZmBmcGWAYGBmYGWAaHBv8FIwYjBkQGhwbxBUEG9wU/BiUGJAbjBeIFeAYxBjIGMAZ4BjEGMAbjBXgGMAYuBi0GawZIBi4GawZIBmsG7wVeBogGXAaZBl4GXAaZBlwGhQYEBsEFngaeBnwGBAahBpsGNQaFBlwGXQZdBn8GhQbZBdgFegZ6BhgG2QXsBe0F6wXsBesFhAbuBewFhAbuBYQGogZHBu4Fogb4BeUFQgZwBk0GcQZwBnEGbwZCBnAGbwb4BUIGbwZwBgQGfAZNBnAGfAZNBnwGqAZNBqgGpQZNBqUGkQYxBsUGpgadBsMFggaBBp0GggaBBoIGgAa9BoEGgAa+Br0GgAaOBr4GgAaOBoAGjQa7Bo4GjQa8BrsGjQbABrwGjQavBsAGjQavBo0GVQa0Bq8GVQa1BrQGVQZUBrUGVQZUBlUGUwa/BlQGUwamBr8GUwYxBqYGUwbwBe8F0gXSBdAF0QXwBdIF0QXYBbwFCwZ/Bl0GmAaYBs4FfwacBp8GYAY1BpsGcgZiBjUGcgZiBnIGaAZiBmgGpwanBmgGaQYfBqcGaQYfBmkGWgZrBi0GRgb0BfMFFAYUBhMG9AUNBgwGugYNBroGEQbhBQ0GEQbhBREGqQaaBsUGMQaaBjEGeAbCBpoGeAbBBsIGeAZ3BsEGeAZ3BngG4gW4BncG4gW3BrgG4gWpBrcG4gXhBakG4gUvBtEF0AUvBtAF6gWjBi8G6gWjBuoFUQZRBvUFJQajBlEGJQZsBlMGVQZsBlUGjQakBmwGjQakBo0GgAaABoIGwgWkBoAGwgV2BsMGqwbABcEFvwWrBsAFvwV2BqsGvwVmBgMGOgZnBmYGOgZnBjoGNwY5BmUGZAY3BjkGZAZnBjcGZAZnBmQGrAYIBhwGCQYKBggGCQabBgoGCQabBgkGFQabBhUGcgYnBu0FLwYnBi8GowYlBj8GKgajBiUGKgYnBqMGKgahBjUG0wUbBhkGRQZ7BhgGegZ7BnoGiAZ7BogGXgZbBloGBQYFBrAGWwYCBs8FzgVvBnEGTAb4BW8GTAbOBfgFTAZMBjcGOgbOBUwGOgYCBs4FOgYCBjoGAwZyBhUGFgYWBmgGcgb5Bb0F+gWxBsYGLAYsBnkGsQYTBkAG9AU9BuYF6AWJBm0GxgWJBsYFlgboBYkGlgY9BugFlgbCBYIGwwXEBcIFwwXEBcMFdgbEBXYGdQYXBhgGewZLBhcGewZLBnsGXgZfBksGXgZfBl4GmQbOBc8FzQV/Bs4FzQV/Bs0FDgaFBn8GDgaFBg4G1gWFBtYFcwaZBoUGcwZfBpkGcwbvBfsF/QXSBe8F/QXSBf0FEgZABt0F3gXyBbYG8wXyBfMF9AXeBfIF9AVABt4F9AV6BtgFCwZ6BgsGDQZ6Bg0G4QWIBnoG4QXhBeIF4wWIBuEF4wUwBl0GXAbjBTAGXAaIBuMFXAZdBjIGUwZdBlMGbAaYBl0GbAaYBmwGpAaYBqQGwgWYBsIF5AX3Bf8FJQazBokG6AXoBecFswbkBc4FmAbmBT0GOwZOBuYFOwZOBjsGhwbbBfwFGgb7Be8FawZOBocGRAb3BSUG9QUyBl0GMAagBtMFSQbDBZ0GlQZ2BsMFlQZ2BpUGxAbDBnYGxAYUBtkFGAbHBsgGyQbKBssGzAbLBsoGzQbOBs8G0AbRBtIG0wbUBu4G1QbVBtYG1AbkBkwH5QblBuYG5AbnBl8H6AbnBugG6QbnBukGFQfrBuwG7QbuBu8G8AbxBvIG8wb2BowH9wbhBiEH2AaIB+EG2Ab3BogH2Ab2BvcG2AYEB9wGBQcGB+8G1AbUBgcHBgcCB44HCAcIBwkHAgdCB4oH/QZCB/0GQAdBB0IHQAdPB0EHQAdOB08HQAdOB0AHPgc9B04HPgcLBz0HPgcLBz4HhAcLB4QHDAcKBwsHDAcKBwwHaQcPBxAH4wYUB+cGFQfmBhoHGwfsBusGHwcXB+oGJQfsBigHKQcuBzAHMwdaBwUH2wZEB1oH2wZFB0QH2wZFB9sG3QY4B0UH3QbkBuYGGwfkBhsHdgfkBnYHcwfkBnMHcgdNB+QGcgdNB3IHewfdBk0HewfdBnsHOQc4B90GOQfsBh8HPwc/BygH7AbmBuUG6wYRB+0GEgcRBxIHEwdKBxEHEwdKBxMHSwfbBgUH3AbdBtsG3AbdBtwGTAdMB+QGTQfdBkwHTQfjBgMHUAdQB1IH4wZWB1cHGAdYB5EHWQdZB/EGWAfrBuUGWwdbBx8H6wbrBu0GGgcaB+YG6wZDB98GKwcqB0MHKwcsByoHKwcsBysHHAccB/gGXAcsBxwHXAcSB+0GKQfiBlEHDgddB5IHXgdeB18HXQdiB5MHYwdiB2MHAgcCBwkHUAcCB1AHAwdiBwIHAwcDB+MG4QbhBogHlQcDB+EGlQdiBwMHlQdiB5UHiQfyBvEGWQfvBu4G1AbfBkMH4AbfBuAG3gYxB98G3gZkBzEH3gZkB94GVgdWBxgHFAdkB1YHFAdkBxQHFQf4Bh0H+Qb7BvgG+QYNB/sG+QYNB/kG/AYZBw0H/AYmBxkH/AYnByYH/AYnB/wGBAcEBwUHZwcnBwQHZwcBB/8GaAdoBzYHAQdpB/EG8wbzBgoHaQdqB5AHawdrBzoHagcUB10HXwdfB+cGFAduBwYHBwduBwcHUwd0B24HUwd0B1MHawd0B2sHkAf+BosHAAf+BgAHAQd1B/4GAQc2BzcHNQc2BzUHbQcBBzYHbQd1BwEHbQdkB4YHLQctBzIHZAdrB3kHOwc7BzwHOgdrBzsHOgcfB1sHegd6Bz8HHwdfB14HgAeAB+gGXwd+B38HeAdKB34HeAdKB3gHbAcRB0oHbAcRB2wH9QbtBhEH9QbtBvUG9AbtBvQGNAcaB+0GNAcbBxoHNAcEB/wG+gbcBgQH+gaBB9wG+gaCB4EH+gYeB4IH+gZTBwcHVAdTB1QHVQdrB1MHVQdrB1UHeQeNB2oHOgdHB40HOgc6BzwHYAc6B2AHRgdHBzoHRgdhB0cHRgdhB0YHgwdYB/EGaQdYB2kHcQdwB1gHcQdwB3EHbwd9B3AHbwd9B28HfAeDB30HfAdhB4MHfAcdB/gGHAeFBx0HHAdJB4UHHAdJBxwHKwdJBysH3wbfBjEHLwffBi8HSAdJB98GSAdkBxYHJAckB4YHZAdwB5QHhweHB5EHWAdwB4cHWAeMB/YGdwcpB+0G7AbYBiEH2gbYBtoG1wbYBtcGZgf2BtgGZgf2BmYHZQf2BmUHNwf2BjcHNgd3B/YGNgePB3cHNgePBzYHaAcjByEH4QYjB+EG4wYjB+MGEAciB9kGIAeWB5wHlweXB5gHlgeYB5cHmQeZB5oHmAebB54HnAecB5YHmwedB58HngeeB5sHnQemB6MHqAeoB6kHpQfJB60HKAgDCMkHKAgDCCgIBQgECAMIBQjGBwQIBQjGBwUIBgiuB8YHBgiuBwYIrweuB68HsAeuB7AHqAe1BzcItge2B7gHtQe6B7sHvQfEB/MHxQfEB8UHvwfEB78H3gfCB8EHtQfCB7UHuAfCB7gHywfCB8sHDQjRBzoINQjRBzUI0gfRB9IH0wepB6gHsAewB+MHqQfoB9MH6gfoB+oHogeiB6QHoAfoB6IHoAfwByMI8gfwB/IHwwfDB9wH2wfwB8MH2wf7B/wH/Qf8B/sHMgj8BzIIqwdLCPwHqwcCCEsIqwcCCKsHyAcCCMgH7AfAB74HvwfAB78HCgjhBy0I4gfhB+IH3wcKCOEH3wcKCN8HCwjABwoICwj0B/8HAAgACMUH9AcNCK0HrAesB8IHDQgOCA8IEQgWCLMHGAgZCNQHGwjLB7gHDggOCPcHywc1CAII7AfSBzUI7AfSB+wH7gfTB9IH7gfTB+4H6gctCOEHGggaCBwILQguCC8IMAj1B/gHMwi4B7YHHQgdCA4IuAe7Bx4ItwcfCLsHtwc2CB8ItwfXB70H2AfXB9gH2Qc5CNcH2Qc5CNkHOgg5CDoI0QfRBxkI4Ac5CNEH4AcMCMoH9gc9CAwI9gc9CPYHKggqCCMIIQgqCCEIBQgqCAUIKAg9CCoIKAhACEkIPgg+CBIIQAgPCA4IHQg2CEcI/Qf9Bx8INgiwB68HLwjjB7AHLwjjBy8ILgjBB8IHrAfZB9gHIAjZByAIOwjZBzsIQwjZB0MIQghCCDUIOgjZB0IIOggmCLEHJAgPCCYIJAgRCA8IJAhECBQIFwgXCLkHvAdECBcIvAdECLwH1gfWB+YH5AfWB+QHCQhECNYHCQhFCOgHoAegB9UH1AdFCKAH1AcpCAcI/gf+B/EHKQjBB0YINwg3CLUHwQexByYIsge0B7EHsge0B7IHEwi0BxMIPwj9B0cI+wcZCNEHRQhFCNQHGQjOB0wISAhICNAHzgf3ByUIsQf5B/cHsQf5B7EHtAe0Bz8ISgj5B7QHSgivBwYIBQivBwUIIQghCCMI7wfvB9oHLAghCO8HLAivByEILAgrCE0IzQcsCCsIzQevBywIzQfNB88HzAevB80HzAevB8wHMAivBzAILwgkCPcHEQgxCPoHwQcxCMEHrAeqBzEIrAeqB6wHrQfHB6oHrQfHB60HyQfrB8cHyQfrB8kHAwjtB+sHAwjtBwMIBAjpB+0HBAjpBwQIxgeuB6gHoweuB6MHoQfGB64HoQfpB8YHoQcYCCcIEAgeCLsHugcQCB4IugcYCBAIugfVB6AHpAekB6cH1QetBw0IPAhBCBUIRAg0CEEIRAg0CEQICQjkBwAI/wfkB/8HCAgJCOQHCAg0CAkICAjYB70HuwfYB7sHHwggCNgHHwggCB8I/QcgCP0H/Ac7CCAI/Ac7CPwHSwgCCDUIQggCCEIIQwhLCAIIQwg7CEsIQwhGCMEH+ge/B74H3QdFCNEH0wfTB+gHRQjxByIIKQgnCBgIswdJCDMI+AczCAcI9QcKCL8HxQcACNYHOAjFBwAIOAjFBzgI4QcKCMUH4QdACDMISQjWBwAI5gc8CCgIrQcHCCkI9QfnBwEI5QcRCPcHDghbCE8IUwhTCF0IWwhbCF0IYAhlCGcIaAhqCGYIaQiLCIwIjQhVCIsIjQhVCI0IawhVCGsIbAhVCGwIrwhtCHAIcgh7CGoIfAh8CHkIewh9CGcIfgh+CH8IfQhaCHQIhAiECE4IWgh/CH4IbQhtCHIIhwh/CG0Ihwh/CIcImwhqCGkIiAiPCJMIbgiXCJMIjwiXCI8ImAiXCJgImQh2CIQIdAh1CHYIdAh1CHQInwiZCHUInwiZCJ8IoQiXCJkIoQiJCGgIZwhnCH0IiQiYCI4IpgiYCKYIogiZCJgIogiGCHEIkQiRCJYIhgh+CHgIbQh+CGcIegh6CHgIfgiNCIwIiAiNCIgIpQiVCIEIrwiVCK8IbAiVCGwIawhiCJUIawilCGIIawiNCKUIawhtCHgIqAioCHAIbQhQCJsInQhSCFAInQhSCJ0IqwhSCKsIrQikCIkIrgikCK4IYwiDCFcIgAiDCIAIlAhkCIMIlAhkCJQIYQhjCGQIYQikCGMIYQheCKwIcwhzCFkIXghyCHAIkghcCFIIrQitCF8IXAhlCHoIZwiLCHwIaghqCIwIiwinCKkIeQh5CHwIpwiGCJYIoAieCHMInAigCJ4InAiGCKAInAhOCIQIVAiJCH0Irgh9CH8ImwhQCFcIgwhQCIMIZAhQCGQIYwibCFAIYwibCGMIrgh9CJsIrgiQCG8IqQipCKcIkAhqCIgIjAijCKcIfAh8CIsIowhmCGoIewhRCFMITwhRCE8IVghYCFEIVghYCFYIsAhYCLAIggiqCJwIcwhzCKwIqgiiCHUImQicCJoIhghUCHYIdQhUCHUIoghUCKIIighVCIUIdwgAAIlQTkcNChoKAAAADUlIRFIAAAfQAAACBwgCAAAASFlQHgAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAAIABJREFUeAHs3QecHOd9H/ztew2HDgIg0QEWsYEEwS6RYpEsSlQk2epWsZzYTnkTpziJ7SiS39jO61juiWNZliXZVq9UpURRJMUKNhHsIAGi93Z9b9vM+yyOpEAQwO7dLg4H4LuGwbudZ5555jvjz4f+zZ//ScZxnPAhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmhNINbe7vQkQIECAAAECBAgQIECAAAECBAgQIECAAIGagMDdfUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogIHBvAaIpCBAgQIAAAQIECBAgQIAAAQIECBAgQICAwN09QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWiAgcG8BoikIECBAgAABAgQIECBAgAABAgQIECBAgIDA3T1AgAABAgQIECBAgAABAgQIECBAgAABAgRaICBwbwGiKQgQIECAAAECBAgQIECAAAECBAgQIECAgMDdPUCAAAECBAgQIECAAAECBAgQIECAAAECBFogkGnBHKYgQIAAAQIECBAgQIAAAQIECBAgQIAAgYkmUI2iUrEaVaO+vuruPdWNm6O1L0QbNlX37o16++LevmhwKC4WE3EUFp5MpZPtbcnOzlT3pNSUyalZM5NLF2cWzk8vmJ+eMT3V1ZUOA7LZRDI50c5yQq0nGcfxhFqQxRAg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CBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAAAQIECBAgQIAAAQIECBAgQIAAgQYEBO4NIBlCgAABAgQIECBAgAABAgQIECBAgAABAgTqCQjc6wnZToAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhAQuDeAZAgBAgQIECBAgAABAgQIECBAgAABAgQIEKgnIHCvJ2Q7AQIECBAgQIAAAQIECBAgQIAAAQIECBBoQEDg3gCSIQQIECBAgAABAgQIECBAgAABAgQIECBAoJ6AwL2ekO0ECBAgQIAAAQIECBAgQIAAAQIECBAgQKABAYF7A0iGECBAgAABAgQIECBAgAABAgQIECBAgACBegIC93pCthMgQIAA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jTv66KN9vt7frKkokUig34mw2ezXX39969atdOucOXMc4mAu7jy9du3a5ubm8vLysWPH9tVI57UgWV9fH4vFQLu4uNh5i5588snVq1eDw/HHH++kZ/tkkln4tdde27hx4+jRozmPAoGA+dAAppctW0a3VlVVzZgxw2EtDO977733jTfemDp16nnnnVdZWenEHtrS0tIC1KNGjfL7/U6KIPPEE0+8++67EyZMOO200yjrsNQQF3NysRriTdDmaQQ0AnsKAr0/FuwpLdF2DiwCBs+u70kDC6zWphHQCOx2BAbkssZ7y2233QavMX369C984Qu81du1azAkqYuq//CHP6D85JNPhh/J87LqXPKDDz74zW9+w+vfggUL/ud//of37V3cKJrz4IMP8jJ5+OGHDwik2E+j/vWvf4HPWWedladFSKZSKWqHc5k4ceIJJ5xg13al0yFQeZRkH7rrrrsef/zxcDj86U9/Or8Bg9Gnznsfywfc1EGqfcDtpO1QmTfffPN77723zz77XHHFFZCA2V2pcjiVDj744Pb2dsg12IqHH37YTrKrq+snP/kJHAoC55577je/+U2GgZ0wYgxUjjKkEbYTI9+5qc4lMZXBzznFacJAPfDAA/MYAEX45z//GcL02GOPveyyy/I0yrmkc1PzGObwkPEw7FC+V7EBufvkqWX9+vW/+MUvnnnmmW3bto0fPx4y7r/+67+gqvMUgW2HU/vyl79MWQYqo5TR9etf/xqSMU+purq6O++886GHHqIUrN/FF1/88Y9/PD8ft3jx4iuvvHLlypVcaeFJqeWmm27Kc52ndtj8//u//2PAc32YOXPmpZdeyv0OQjyPYRyC0L/66quhIzs7OzGJin74wx8yJZCnFCfpc889x1jlnJ03bx5jlTO3V66Ztn//+9+nXdu3b4cwPeOMM6h3zJgxeSri7gZ9yXWJX2YdqIh25ZFXh0D71ltvfeSRRxSzz1n/+c9/3gnNumXLFhql6rroooswMn9d8Ox//etf77//fhjtadOm0a1cZJzMi3BZuO+++7gq0qGf+MQnei0C4PDm9CxFQIBRynRFMBjMb96mTZu+853v0FPcphnV3CW/9a1vTZ48OX+pfhxlZuiXv/zlY489BuAjRow4++yzv/SlL8G851HFeQSjfffdd7/11luzZ8+mg7hC5pHnUFtb2+9//3tG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CwAvADMAMwANAAsADAA0ADAAMAAKAAwADQAzADcANwAPAA0ADgA4ADQANAAMAA4ADwA3ADsAOwARAA8AEAA8ADgAOAAOABAAEQA7AD8APwATABEAEgBAADwAPAAQABIAEwA/AEMAQwAVABMAFABEAEAAQAASABQAFQBDAEcARwAXABUAFgBIAEQARAAUABYAFwBHAEsASwAZABcAGABMAEgASAAWABgAGQBLABwAHAACABkAAQAfAEwATAAYAAEAHQBPAE4ATgAaAB0AIQBRAFAAUAAeACEAGgBOAFMAUwAjABoAKQBVAFEAUQAhACkAIgBSAFYAVgAqACIALQBYAFQAVAAoAC0AKgBWAFkAWQAuACoAMQBaAFgAWAAtADEALgBZAFsAWwAyAC4ANQBcAFoAWgAxADUAMgBbAF0AXQA2ADIAOQBeAFwAXAA1ADkANgBdAF8AXwA6ADYAPQBgAF4AXgA5AD0AOgBfAGEAYQA+ADoAQQBiAGAAYAA9AEEAPgBhAGMAYwBCAD4ARQBkAGIAYgBBAEUAQgBjAGUAZQBGAEIASQBmAGQAZABFAEkARgBlAGcAZwBKAEYATQBoAGYAZgBJAE0ASgBnAE8ATwAdAEoAHgBQAGgAaABNAB4AZQBjAGkAaQBqAGUAYwBhAGsAawBpAGMAYQBfAGwAbABrAGEAXwBdAG0AbQBsAF8AXQBbAG4AbgBtAF0AWwBZAG8AbwBuAFsAWQBWAHAAcABvAFkAVwBTAHIAcgBxAFcAUwBOAHMAcwByAFMATgBPAHQAdABzAE4AZwBlAGoAagB1AGcATwBnAHUAdQB0AE8AUQBVAHcAdwB4AFEAVABYAHkAeQB2AFQAWABaAHoAegB5AFgAWgBcAHsAewB6AFoAXABeAHwAfAB7AFwAXgBgAH0AfQB8AF4AYABiAH4AfgB9AGAAYgBkAH8AfwB+AGIAZABmAIAAgAB/AGQAZgBoAIEAgQCAAGYAUABRAHgAeACCAFAAaABQAIIAggCBAGgAeAB3AIQAhACFAHgAdgB5AIYAhgCDAHYAeQB6AIcAhwCGAHkAegB7AIgAiACHAHoAewB8AIkAiQCIAHsAfAB9AIoAigCJAHwAfQB+AIsAiwCKAH0AfgB/AIwAjACLAH4AfwCAAI0AjQCMAH8AgACBAI4AjgCNAIAAggB4AIUAhQCPAIIAgQCCAI8AjwCOAIEAkACTAJEAkQCSAJAAlQCXAJMAkwCQAJUAmACZAJYAlgCUAJgAmgCbAJkAmQCYAJoAnACdAJsAmwCaAJwAngCfAJ0AnQCcAJ4AoAChAJ8AnwCeAKAAogCjAKEAoQCgAKIApAClAKMAowCiAKQApgCnAKUApQCkAKYAqACpAKcApwCmAKgAkgCRAKkAqQCoAJIAqgCtAKsAqwCsAKoArgCxAK8ArwCwAK4AswCqAKwArAC1ALMAsQC5ALcAtwCvALEAugCyALQAtAC7ALoAuAC9ALwAvAC2ALgAvgC6ALsAuwC/AL4AvQDBAMAAwAC8AL0AwgC+AL8AvwDDAMIAwQDFAMQAxADAAMEAxgDCAMMAwwDHAMYAxQDJAMgAyADEAMUAygDGAMcAxwDLAMoAyQDNAMwAzADIAMkAzgDKAMsAywDPAM4AzQDRANAA0ADMAM0A0gDOAM8AzwDTANIA0QDVANQA1ADQANEA1gDSANMA0wDXANYA1QDZANgA2ADUANUA2gDWANcA1wDbANoA2QDdANwA3ADYANkArQDaANsA2wCrAK0A3QCuALAAsADcAN0ArACrAJEAkQCTAKwAsACvAJAAkACSALAAtQCsAJMAkwCXALUArwC3AJUAlQCQAK8AuwC0AJYAlgCZALsAtgC8AJgAmACUALYAvwC7AJkAmQCbAL8AvADAAJoAmgCYALwAwwC/AJsAmwCdAMMAwADEAJwAnACaAMAAxwDDAJ0AnQCfAMcAxADIAJ4AngCcAMQAywDHAJ8AnwChAMsAyADMAKAAoACeAMgAzwDLAKEAoQCjAM8AzADQAKIAogCgAMwA0wDPAKMAowClANMA0ADUAKQApACiANAA1wDTAKUApQCnANcA1ADYAKYApgCkANQA2wDXAKcApwCpANsA2ADcAKgAqACmANgAqwDbAKkAqQCRAKsA3ACwAJIAkgCoANwA3gDfAK0ArQCqAN4A4ADhALEAsQCuAOAA4wDeAKoAqgCzAOMA4QDlALkAuQCxAOEA5gDiALIAsgC6AOYA5ADoAL0AvQC4AOQA6QDmALoAugC+AOkA6ADqAMEAwQC9AOgA6wDpAL4AvgDCAOsA6gDsAMUAxQDBAOoA7QDrAMIAwgDGAO0A7ADuAMkAyQDFAOwA7wDtAMYAxgDKAO8A7gDwAM0AzQDJAO4A8QDvAMoAygDOAPEA8ADyANEA0QDNAPAA8wDxAM4AzgDSAPMA8gD0ANUA1QDRAPIA9QDzANIA0gDWAPUA9AD2ANkA2QDVAPQA9wD1ANYA1gDaAPcA9gD4AN0A3QDZAPYA3wD3ANoA2gCtAN8A+ADgAK4ArgDdAPgA+QDzAPUA9QD6APkA+wDxAPMA8wD5APsA/ADvAPEA8QD7APwA/QDtAO8A7wD8AP0A/gDrAO0A7QD9AP4A/wDpAOsA6wD+AP8AAAHmAOkA6QD/AAABAgHjAOcA5wABAQIBAwHeAOMA4wACAQMBBAHfAN4A3gADAQQB+gD1APcA9wAFAfoABQH3AN8A3wAEAQUBBwHlAOEA4QAIAQcBCQHoAOQA5AAGAQkBCgHqAOgA6AAJAQoBCwHsAOoA6gAKAQsBDAHuAOwA7AALAQwBDQHwAO4A7gAMAQ0BDgHyAPAA8AANAQ4BDwH0APIA8gAOAQ8BEAH2APQA9AAPARABEQH4APYA9gAQAREBCAHhAOAA4AASAQgBEgHgAPgA+AARARIBFAEHAQgBCAEVARQBFgEJAQYBBgETARYBFwEKAQkBCQEWARcBGAELAQoBCgEXARgBGQEMAQsBCwEYARkBGgENAQwBDAEZARoBGwEOAQ0BDQEaARsBHAEPAQ4BDgEbARwBHQEQAQ8BDwEcAR0BHgERARABEAEdAR4BFQEIARIBEgEfARUBHwESAREBEQEeAR8BIAEjASEBIQEiASABJQEnASMBIwEgASUBKAEpASYBJgEkASgBKgErASkBKQEoASoBLAEtASsBKwEqASwBLgEvAS0BLQEsAS4BMAExAS8BLwEuATABMgEzATEBMQEwATIBNAE1ATMBMwEyATQBNgE3ATUBNQE0ATYBOAE5ATcBNwE2ATgBIgEhATkBOQE4ASIBOgE9ATsBOwE8AToBPgFBAT8BPwFAAT4BQwE6ATwBPAFFAUMBQQFJAUcBRwE/AUEBSgFCAUQBRAFLAUoBSAFNAUwBTAFGAUgBTgFKAUsBSwFPAU4BTQFRAVABUAFMAU0BUgFOAU8BTwFTAVIBUQFVAVQBVAFQAVEBVgFSAVMBUwFXAVYBVQFZAVgBWAFUAVUBWgFWAVcBVwFbAVoBWQFdAVwBXAFYAVkBXgFaAVsBWwFfAV4BXQFhAWABYAFcAV0BYgFeAV8BXwFjAWIBYQFlAWQBZAFgAWEBZgFiAWMBYwFnAWYBZQFpAWgBaAFkAWUBagFmAWcBZwFrAWoBaQFtAWwBbAFoAWkBPQFqAWsBawE7AT0BbQE+AUABQAFsAW0BPAE7ASEBIQEjATwBQAE/ASABIAEiAUABRQE8ASMBIwEnAUUBPwFHASUBJQEgAT8BSwFEASYBJgEpAUsBRgFMASgBKAEkAUYBTwFLASkBKQErAU8BTAFQASoBKgEoAUwBUwFPASsBKwEtAVMBUAFUASwBLAEqAVABVwFTAS0BLQEvAVcBVAFYAS4BLgEsAVQBWwFXAS8BLwExAVsBWAFcATABMAEuAVgBXwFbATEBMQEzAV8BXAFgATIBMgEwAVwBYwFfATMBMwE1AWMBYAFkATQBNAEyAWABZwFjATUBNQE3AWcBZAFoATYBNgE0AWQBawFnATcBNwE5AWsBaAFsATgBOAE2AWgBOwFrATkBOQEhATsBbAFAASIBIgE4AWwBbgFvAT0BPQE6AW4BcAFxAUEBQQE+AXABcwFuAToBOgFDAXMBcQF1AUkBSQFBAXEBdgFyAUIBQgFKAXYBdAF4AU0BTQFIAXQBeQF2AUoBSgFOAXkBeAF6AVEBUQFNAXgBewF5AU4BTgFSAXsBegF8AVUBVQFRAXoBfQF7AVIBUgFWAX0BfAF+AVkBWQFVAXwBfwF9AVYBVgFaAX8BfgGAAV0BXQFZAX4BgQF/AVoBWgFeAYEBgAGCAWEBYQFdAYABgwGBAV4BXgFiAYMBggGEAWUBZQFhAYIBhQGDAWIBYgFmAYUBhAGGAWkBaQFlAYQBhwGFAWYBZgFqAYcBhgGIAW0BbQFpAYYBbwGHAWoBagE9AW8BiAFwAT4BPgFtAYgBiQGDAYUBhQGKAYkBiwGBAYMBgwGJAYsBjAF/AYEBgQGLAYwBjQF9AX8BfwGMAY0BjgF7AX0BfQGNAY4BjwF5AXsBewGOAY8BkAF2AXkBeQGPAZABkgFzAXcBdwGRAZIBkwFuAXMBcwGSAZMBlAFvAW4BbgGTAZQBigGFAYcBhwGVAYoBlQGHAW8BbwGUAZUBlwF1AXEBcQGYAZcBmQF4AXQBdAGWAZkBmgF6AXgBeAGZAZoBmwF8AXoBegGaAZsBnAF+AXwBfAGbAZwBnQGAAX4BfgGcAZ0BngGCAYABgAGdAZ4BnwGEAYIBggGeAZ8BoAGGAYQBhAGfAaABoQGIAYYBhgGgAaEBmAFxAXABcAGiAZgBogFwAYgBiAGhAaIBpAGXAZgBmAGlAaQBpgGZAZYBlgGjAaYBpwGaAZkBmQGmAacBqAGbAZoBmgGnAagBqQGcAZsBmwGoAakBqgGdAZwBnAGpAaoBqwGeAZ0BnQGqAasBrAGfAZ4BngGrAawBrQGgAZ8BnwGsAa0BrgGhAaABoAGtAa4BpQGYAaIBogGvAaUBrwGiAaEBoQGuAa8BsAGzAbEBsQGyAbABtQG3AbMBswGwAbUBuAG5AbYBtgG0AbgBugG7AbkBuQG4AboBvAG9AbsBuwG6AbwBvgG/Ab0BvQG8Ab4BwAHBAb8BvwG+AcABwgHDAcEBwQHAAcIBxAHFAcMBwwHCAcQBxgHHAcUBxQHEAcYByAHJAccBxwHGAcgBsgGxAckByQHIAbIBygHNAcsBywHMAcoBzgHRAc8BzwHQAc4B0wHKAcwBzAHVAdMB0QHZAdcB1wHPAdEB2gHSAdQB1AHbAdoB2AHdAdwB3AHWAdgB3gHaAdsB2wHfAd4B3QHhAeAB4AHcAd0B4gHeAd8B3wHjAeIB4QHlAeQB5AHgAeEB5gHiAeMB4wHnAeYB5QHpAegB6AHkAeUB6gHmAecB5wHrAeoB6QHtAewB7AHoAekB7gHqAesB6wHvAe4B7QHxAfAB8AHsAe0B8gHuAe8B7wHzAfIB8QH1AfQB9AHwAfEB9gHyAfMB8wH3AfYB9QH5AfgB+AH0AfUB+gH2AfcB9wH7AfoB+QH9AfwB/AH4AfkBzQH6AfsB+wHLAc0B/QHOAdAB0AH8Af0BzAHLAbEBsQGzAcwB0AHPAbABsAGyAdAB1QHMAbMBswG3AdUBzwHXAbUBtQGwAc8B2wHUAbYBtgG5AdsB1gHcAbgBuAG0AdYB3wHbAbkBuQG7Ad8B3AHgAboBugG4AdwB4wHfAbsBuwG9AeMB4AHkAbwBvAG6AeAB5wHjAb0BvQG/AecB5AHoAb4BvgG8AeQB6wHnAb8BvwHBAesB6AHsAcABwAG+AegB7wHrAcEBwQHDAe8B7AHwAcIBwgHAAewB8wHvAcMBwwHFAfMB8AH0AcQBxAHCAfAB9wHzAcUBxQHHAfcB9AH4AcYBxgHEAfQB+wH3AccBxwHJAfsB+AH8AcgByAHGAfgBywH7AckByQGxAcsB/AHQAbIBsgHIAfwB/gH/Ac0BzQHKAf4BAAIBAtEB0QHOAQACAwL+AcoBygHTAQMCAQIFAtkB2QHRAQECBgICAtIB0gHaAQYCBAIIAt0B3QHYAQQCCQIGAtoB2gHeAQkCCAIKAuEB4QHdAQgCCwIJAt4B3gHiAQsCCgIMAuUB5QHhAQoCDQILAuIB4gHmAQ0CDAIOAukB6QHlAQwCDwINAuYB5gHqAQ8CDgIQAu0B7QHpAQ4CEQIPAuoB6gHuARECEAISAvEB8QHtARACEwIRAu4B7gHyARMCEgIUAvUB9QHxARICFQITAvIB8gH2ARUCFAIWAvkB+QH1ARQCFwIVAvYB9gH6ARcCFgIYAv0B/QH5ARYC/wEXAvoB+gHNAf8BGAIAAs4BzgH9ARgCGQITAhUCFQIaAhkCGwIRAhMCEwIZAhsCHAIPAhECEQIbAhwCHQINAg8CDwIcAh0CHgILAg0CDQIdAh4CHwIJAgsCCwIeAh8CIAIGAgkCCQIfAiACIgIDAgcCBwIhAiICIwL+AQMCAwIiAiMCJAL/Af4B/gEjAiQCGgIVAhcCFwIlAhoCJQIXAv8B/wEkAiUCJwIFAgECAQIoAicCKQIIAgQCBAImAikCKgIKAggCCAIpAioCKwIMAgoCCgIqAisCLAIOAgwCDAIrAiwCLQIQAg4CDgIsAi0CLgISAhACEAItAi4CLwIUAhICEgIuAi8CMAIWAhQCFAIvAjACMQIYAhYCFgIwAjECKAIBAgACAAIyAigCMgIAAhgCGAIxAjICNAInAigCKAI1AjQCNgIpAiYCJgIzAjYCNwIqAikCKQI2AjcCOAIrAioCKgI3AjgCOQIsAisCKwI4AjkCOgItAiwCLAI5AjoCOwIuAi0CLQI6AjsCPAIvAi4CLgI7AjwCPQIwAi8CLwI8Aj0CPgIxAjACMAI9Aj4CNQIoAjICMgI/AjUCPwIyAjECMQI+Aj8CQAJDAkECQQJCAkACRQJHAkMCQwJAAkUCSAJJAkYCRgJEAkgCSgJLAkkCSQJIAkoCTAJNAksCSwJKAkwCTgJPAk0CTQJMAk4CUAJRAk8CTwJOAlACUgJTAlECUQJQAlICVAJVAlMCUwJSAlQCVgJXAlUCVQJUAlYCWAJZAlcCVwJWAlgCQgJBAlkCWQJYAkICWgJdAlsCWwJcAloCXgJhAl8CXwJgAl4CYwJaAlwCXAJlAmMCYQJpAmcCZwJfAmECagJiAmQCZAJrAmoCaAJtAmwCbAJmAmgCbgJqAmsCawJvAm4CbQJxAnACcAJsAm0CcgJuAm8CbwJzAnICcQJ1AnQCdAJwAnECdgJyAnMCcwJ3AnYCdQJ5AngCeAJ0AnUCegJ2AncCdwJ7AnoCeQJ9AnwCfAJ4AnkCfgJ6AnsCewJ/An4CfQKBAoACgAJ8An0CggJ+An8CfwKDAoICgQKFAoQChAKAAoEChgKCAoMCgwKHAoYChQKJAogCiAKEAoUCigKGAocChwKLAooCiQKNAowCjAKIAokCXQKKAosCiwJbAl0CjQJeAmACYAKMAo0CXAJbAkECQQJDAlwCYAJfAkACQAJCAmACZQJcAkMCQwJHAmUCXwJnAkUCRQJAAl8CawJkAkYCRgJJAmsCZgJsAkgCSAJEAmYCbwJrAkkCSQJLAm8CbAJwAkoCSgJIAmwCcwJvAksCSwJNAnMCcAJ0AkwCTAJKAnACdwJzAk0CTQJPAncCdAJ4Ak4CTgJMAnQCewJ3Ak8CTwJRAnsCeAJ8AlACUAJOAngCfwJ7AlECUQJTAn8CfAKAAlICUgJQAnwCgwJ/AlMCUwJVAoMCgAKEAlQCVAJSAoAChwKDAlUCVQJXAocChAKIAlYCVgJUAoQCiwKHAlcCVwJZAosCiAKMAlgCWAJWAogCWwKLAlkCWQJBAlsCjAJgAkICQgJYAowCjgKPAl0CXQJaAo4CkAKRAmECYQJeApACkwKOAloCWgJjApMCkQKVAmkCaQJhApEClgKSAmICYgJqApYClAKYAm0CbQJoApQCmQKWAmoCagJuApkCmAKaAnECcQJtApgCmwKZAm4CbgJyApsCmgKcAnUCdQJxApoCnQKbAnICcgJ2Ap0CnAKeAnkCeQJ1ApwCnwKdAnYCdgJ6Ap8CngKgAn0CfQJ5Ap4CoQKfAnoCegJ+AqECoAKiAoECgQJ9AqACowKhAn4CfgKCAqMCogKkAoUChQKBAqICpQKjAoICggKGAqUCpAKmAokCiQKFAqQCpwKlAoYChgKKAqcCpgKoAo0CjQKJAqYCjwKnAooCigJdAo8CqAKQAl4CXgKNAqgCqQKjAqUCpQKqAqkCqwKhAqMCowKpAqsCrAKfAqECoQKrAqwCrQKdAp8CnwKsAq0CrgKbAp0CnQKtAq4CrwKZApsCmwKuAq8CsAKWApkCmQKvArACsgKTApcClwKxArICswKOApMCkwKyArMCtAKPAo4CjgKzArQCqgKlAqcCpwK1AqoCtQKnAo8CjwK0ArUCtwKVApECkQK4ArcCuQKYApQClAK2ArkCugKaApgCmAK5AroCuwKcApoCmgK6ArsCvAKeApwCnAK7ArwCvQKgAp4CngK8Ar0CvgKiAqACoAK9Ar4CvwKkAqICogK+Ar8CwAKmAqQCpAK/AsACwQKoAqYCpgLAAsECuAKRApACkALCArgCwgKQAqgCqALBAsICxAK3ArgCuALFAsQCxgK5ArYCtgLDAsYCxwK6ArkCuQLGAscCyAK7AroCugLHAsgCyQK8ArsCuwLIAskCygK9ArwCvALJAsoCywK+Ar0CvQLKAssCzAK/Ar4CvgLLAswCzQLAAr8CvwLMAs0CzgLBAsACwALNAs4CxQK4AsICwgLPAsUCzwLCAsECwQLOAs8C0ALTAtEC0QLSAtAC1QLXAtMC0wLQAtUC2ALZAtYC1gLUAtgC2gLbAtkC2QLYAtoC3ALdAtsC2wLaAtwC3gLfAt0C3QLcAt4C4ALhAt8C3wLeAuAC4gLjAuEC4QLgAuIC5ALlAuMC4wLiAuQC5gLnAuUC5QLkAuYC6ALpAucC5wLmAugC0gLRAukC6QLoAtIC6gLtAusC6wLsAuoC7gLxAu8C7wLwAu4C8wLqAuwC7AL1AvMC8QL5AvcC9wLvAvEC+gLyAvQC9AL7AvoC+AL9AvwC/AL2AvgC/gL6AvsC+wL/Av4C/QIBAwADAAP8Av0CAgP+Av8C/wIDAwIDAQMFAwQDBAMAAwEDBgMCAwMDAwMHAwYDBQMJAwgDCAMEAwUDCgMGAwcDBwMLAwoDCQMNAwwDDAMIAwkDDgMKAwsDCwMPAw4DDQMRAxADEAMMAw0DEgMOAw8DDwMTAxIDEQMVAxQDFAMQAxEDFgMSAxMDEwMXAxYDFQMZAxgDGAMUAxUDGgMWAxcDFwMbAxoDGQMdAxwDHAMYAxkD7QIaAxsDGwPrAu0CHQPuAvAC8AIcAx0D7ALrAtEC0QLTAuwC8ALvAtAC0ALSAvAC9QLsAtMC0wLXAvUC7wL3AtUC1QLQAu8C+wL0AtYC1gLZAvsC9gL8AtgC2ALUAvYC/wL7AtkC2QLbAv8C/AIAA9oC2gLYAvwCAwP/AtsC2wLdAgMDAAMEA9wC3ALaAgADBwMDA90C3QLfAgcDBAMIA94C3gLcAgQDCwMHA98C3wLhAgsDCAMMA+AC4ALeAggDDwMLA+EC4QLjAg8DDAMQA+IC4gLgAgwDEwMPA+MC4wLlAhMDEAMUA+QC5ALiAhADFwMTA+UC5QLnAhcDFAMYA+YC5gLkAhQDGwMXA+cC5wLpAhsDGAMcA+gC6ALmAhgD6wIbA+kC6QLRAusCHAPwAtIC0gLoAhwDHgMfA+0C7QLqAh4DIAMhA/EC8QLuAiADIwMeA+oC6gLzAiMDIQMlA/kC+QLxAiEDJgMiA/IC8gL6AiYDJAMoA/0C/QL4AiQDKQMmA/oC+gL+AikDKAMqAwEDAQP9AigDKwMpA/4C/gICAysDKgMsAwUDBQMBAyoDLQMrAwIDAgMGAy0DLAMuAwkDCQMFAywDLwMtAwYDBgMKAy8DLgMwAw0DDQMJAy4DMQMvAwoDCgMOAzEDMAMyAxEDEQMNAzADMwMxAw4DDgMSAzMDMgM0AxUDFQMRAzIDNQMzAxIDEgMWAzUDNAM2AxkDGQMVAzQDNwM1AxYDFgMaAzcDNgM4Ax0DHQMZAzYDHwM3AxoDGgPtAh8DOAMgA+4C7gIdAzgDOQMzAzUDNQM6AzkDOwMxAzMDMwM5AzsDPAMvAzEDMQM7AzwDPQMtAy8DLwM8Az0DPgMrAy0DLQM9Az4DPwMpAysDKwM+Az8DQAMmAykDKQM/A0ADQgMjAycDJwNBA0IDQwMeAyMDIwNCA0MDRAMfAx4DHgNDA0QDOgM1AzcDNwNFAzoDRQM3Ax8DHwNEA0UDRwMlAyEDIQNIA0cDSQMoAyQDJANGA0kDSgMqAygDKANJA0oDSwMsAyoDKgNKA0sDTAMuAywDLANLA0wDTQMwAy4DLgNMA00DTgMyAzADMANNA04DTwM0AzIDMgNOA08DUAM2AzQDNANPA1ADUQM4AzYDNgNQA1EDSAMhAyADIANSA0gDUgMgAzgDOANRA1IDVANHA0gDSANVA1QDVgNJA0YDRgNTA1YDVwNKA0kDSQNWA1cDWANLA0oDSgNXA1gDWQNMA0sDSwNYA1kDWgNNA0wDTANZA1oDWwNOA00DTQNaA1sDXANPA04DTgNbA1wDXQNQA08DTwNcA10DXgNRA1ADUANdA14DVQNIA1IDUgNfA1UDXwNSA1EDUQNeA18DYgNjA2ADYANhA2IDYwNnA2UDZQNgA2MDZgNpA2gDaANkA2YDaQNrA2oDagNoA2kDawNtA2wDbANqA2sDbQNvA24DbgNsA20DbwNxA3ADcANuA28DcQNzA3IDcgNwA3EDcwN1A3QDdANyA3MDdQN3A3YDdgN0A3UDdwN5A3gDeAN2A3cDeQNiA2EDYQN4A3kDfAN9A3oDegN7A3wDgAOBA34DfgN/A4ADewN6A4MDgwOFA3sDhwOJA4EDgQOAA4cDhAOCA4oDigOLA4QDjAONA4gDiAOGA4wDiwOKA44DjgOPA4sDkAORA40DjQOMA5ADjwOOA5IDkgOTA48DlAOVA5EDkQOQA5QDkwOSA5YDlgOXA5MDmAOZA5UDlQOUA5gDlwOWA5oDmgObA5cDnAOdA5kDmQOYA5wDmwOaA54DngOfA5sDoAOhA50DnQOcA6ADnwOeA6IDogOjA58DpAOlA6EDoQOgA6QDowOiA6YDpgOnA6MDqAOpA6UDpQOkA6gDpwOmA6oDqgOrA6cDrAOtA6kDqQOoA6wDqwOqA30DfQN8A6sDfwN+A60DrQOsA38DYgN8A3sDewNjA2IDYAOAA38DfwNhA2ADYwN7A4UDhQNnA2MDZQOHA4ADgANgA2UDZgOEA4sDiwNpA2YDaAOMA4YDhgNkA2gDaQOLA48DjwNrA2kDagOQA4wDjANoA2oDawOPA5MDkwNtA2sDbAOUA5ADkANqA2wDbQOTA5cDlwNvA20DbgOYA5QDlANsA24DbwOXA5sDmwNxA28DcAOcA5gDmANuA3ADcQObA58DnwNzA3EDcgOgA5wDnANwA3IDcwOfA6MDowN1A3MDdAOkA6ADoANyA3QDdQOjA6cDpwN3A3UDdgOoA6QDpAN0A3YDdwOnA6sDqwN5A3cDeAOsA6gDqAN2A3gDeQOrA3wDfANiA3kDYQN/A6wDrAN4A2EDfQOvA64DrgN6A30DgQOxA7ADsAN+A4EDegOuA7MDswODA3oDiQO1A7EDsQOBA4kDggOyA7YDtgOKA4IDjQO4A7QDtAOIA40DigO2A7kDuQOOA4oDkQO6A7gDuAONA5EDjgO5A7sDuwOSA44DlQO8A7oDugORA5UDkgO7A70DvQOWA5IDmQO+A7wDvAOVA5kDlgO9A78DvwOaA5YDnQPAA74DvgOZA50DmgO/A8EDwQOeA5oDoQPCA8ADwAOdA6EDngPBA8MDwwOiA54DpQPEA8IDwgOhA6UDogPDA8UDxQOmA6IDqQPGA8QDxAOlA6kDpgPFA8cDxwOqA6YDrQPIA8YDxgOpA60DqgPHA68DrwN9A6oDfgOwA8gDyAOtA34DxQPDA8kDyQPKA8UDwwPBA8sDywPJA8MDwQO/A8wDzAPLA8EDvwO9A80DzQPMA78DvQO7A84DzgPNA70DuwO5A88DzwPOA7sDuQO2A9AD0APPA7kDtwOzA9ID0gPRA7cDswOuA9MD0wPSA7MDrgOvA9QD1APTA64DxwPFA8oDygPVA8cDrwPHA9UD1QPUA68DsQO1A9cD1wPYA7EDtAO4A9kD2QPWA7QDuAO6A9oD2gPZA7gDugO8A9sD2wPaA7oDvAO+A9wD3APbA7wDvgPAA90D3QPcA74DwAPCA94D3gPdA8ADwgPEA98D3wPeA8IDxAPGA+AD4APfA8QDxgPIA+ED4QPgA8YDsAOxA9gD2APiA7ADyAOwA+ID4gPhA8gD2APXA+QD5APlA9gD1gPZA+YD5gPjA9YD2QPaA+cD5wPmA9kD2gPbA+gD6APnA9oD2wPcA+kD6QPoA9sD3APdA+oD6gPpA9wD3QPeA+sD6wPqA90D3gPfA+wD7APrA94D3wPgA+0D7QPsA98D4APhA+4D7gPtA+AD4gPYA+UD5QPvA+ID4QPiA+8D7wPuA+ED8gPzA/AD8APxA/ID8wP3A/UD9QPwA/MD9gP5A/gD+AP0A/YD+QP7A/oD+gP4A/kD+wP9A/wD/AP6A/sD/QP/A/4D/gP8A/0D/wMBBAAEAAT+A/8DAQQDBAIEAgQABAEEAwQFBAQEBAQCBAMEBQQHBAYEBgQEBAUEBwQJBAgECAQGBAcECQTyA/ED8QMIBAkEDAQNBAoECgQLBAwEEAQRBA4EDgQPBBAECwQKBBMEEwQVBAsEFwQZBBEEEQQQBBcEFAQSBBoEGgQbBBQEHAQdBBgEGAQWBBwEGwQaBB4EHgQfBBsEIAQhBB0EHQQcBCAEHwQeBCIEIgQjBB8EJAQlBCEEIQQgBCQEIwQiBCYEJgQnBCMEKAQpBCUEJQQkBCgEJwQmBCoEKgQrBCcELAQtBCkEKQQoBCwEKwQqBC4ELgQvBCsEMAQxBC0ELQQsBDAELwQuBDIEMgQzBC8ENAQ1BDEEMQQwBDQEMwQyBDYENgQ3BDMEOAQ5BDUENQQ0BDgENwQ2BDoEOgQ7BDcEPAQ9BDkEOQQ4BDwEOwQ6BA0EDQQMBDsEDwQOBD0EPQQ8BA8E8gMMBAsECwTzA/ID8AMQBA8EDwTxA/AD8wMLBBUEFQT3A/MD9QMXBBAEEATwA/UD9gMUBBsEGwT5A/YD+AMcBBYEFgT0A/gD+QMbBB8EHwT7A/kD+gMgBBwEHAT4A/oD+wMfBCMEIwT9A/sD/AMkBCAEIAT6A/wD/QMjBCcEJwT/A/0D/gMoBCQEJAT8A/4D/wMnBCsEKwQBBP8DAAQsBCgEKAT+AwAEAQQrBC8ELwQDBAEEAgQwBCwELAQABAIEAwQvBDMEMwQFBAMEBAQ0BDAEMAQCBAQEBQQzBDcENwQHBAUEBgQ4BDQENAQEBAYEBwQ3BDsEOwQJBAcECAQ8BDgEOAQGBAgECQQ7BAwEDATyAwkE8QMPBDwEPAQIBPEDDQQ/BD4EPgQKBA0EEQRBBEAEQAQOBBEECgQ+BEMEQwQTBAoEGQRFBEEEQQQRBBkEEgRCBEYERgQaBBIEHQRIBEQERAQYBB0EGgRGBEkESQQeBBoEIQRKBEgESAQdBCEEHgRJBEsESwQiBB4EJQRMBEoESgQhBCUEIgRLBE0ETQQmBCIEKQROBEwETAQlBCkEJgRNBE8ETwQqBCYELQRQBE4ETgQpBC0EKgRPBFEEUQQuBCoEMQRSBFAEUAQtBDEELgRRBFMEUwQyBC4ENQRUBFIEUgQxBDUEMgRTBFUEVQQ2BDIEOQRWBFQEVAQ1BDkENgRVBFcEVwQ6BDYEPQRYBFYEVgQ5BD0EOgRXBD8EPwQNBDoEDgRABFgEWAQ9BA4EVQRTBFkEWQRaBFUEUwRRBFsEWwRZBFMEUQRPBFwEXARbBFEETwRNBF0EXQRcBE8ETQRLBF4EXgRdBE0ESwRJBF8EXwReBEsESQRGBGAEYARfBEkERwRDBGIEYgRhBEcEQwQ+BGMEYwRiBEMEPgQ/BGQEZARjBD4EVwRVBFoEWgRlBFcEPwRXBGUEZQRkBD8EQQRFBGcEZwRoBEEERARIBGkEaQRmBEQESARKBGoEagRpBEgESgRMBGsEawRqBEoETAROBGwEbARrBEwETgRQBG0EbQRsBE4EUARSBG4EbgRtBFAEUgRUBG8EbwRuBFIEVARWBHAEcARvBFQEVgRYBHEEcQRwBFYEQARBBGgEaARyBEAEWARABHIEcgRxBFgEaARnBHQEdAR1BGgEZgRpBHYEdgRzBGYEaQRqBHcEdwR2BGkEagRrBHgEeAR3BGoEawRsBHkEeQR4BGsEbARtBHoEegR5BGwEbQRuBHsEewR6BG0EbgRvBHwEfAR7BG4EbwRwBH0EfQR8BG8EcARxBH4EfgR9BHAEcgRoBHUEdQR/BHIEcQRyBH8EfwR+BHEEggSDBIAEgASBBIIEgwSHBIUEhQSABIMEhgSJBIgEiASEBIYEiQSLBIoEigSIBIkEiwSNBIwEjASKBIsEjQSPBI4EjgSMBI0EjwSRBJAEkASOBI8EkQSTBJIEkgSQBJEEkwSVBJQElASSBJMElQSXBJYElgSUBJUElwSZBJgEmASWBJcEmQSCBIEEgQSYBJkEnASdBJoEmgSbBJwEoAShBJ4EngSfBKAEmwSaBKMEowSlBJsEpwSpBKEEoQSgBKcEpASiBKoEqgSrBKQErAStBKgEqASmBKwEqwSqBK4ErgSvBKsEsASxBK0ErQSsBLAErwSuBLIEsgSzBK8EtAS1BLEEsQSwBLQEswSyBLYEtgS3BLMEuAS5BLUEtQS0BLgEtwS2BLoEugS7BLcEvAS9BLkEuQS4BLwEuwS6BL4EvgS/BLsEwATBBL0EvQS8BMAEvwS+BMIEwgTDBL8ExATFBMEEwQTABMQEwwTCBMYExgTHBMMEyATJBMUExQTEBMgExwTGBMoEygTLBMcEzATNBMkEyQTIBMwEywTKBJ0EnQScBMsEnwSeBM0EzQTMBJ8EggScBJsEmwSDBIIEgASgBJ8EnwSBBIAEgwSbBKUEpQSHBIMEhQSnBKAEoASABIUEhgSkBKsEqwSJBIYEiASsBKYEpgSEBIgEiQSrBK8ErwSLBIkEigSwBKwErASIBIoEiwSvBLMEswSNBIsEjAS0BLAEsASKBIwEjQSzBLcEtwSPBI0EjgS4BLQEtASMBI4EjwS3BLsEuwSRBI8EkAS8BLgEuASOBJAEkQS7BL8EvwSTBJEEkgTABLwEvASQBJIEkwS/BMMEwwSVBJMElATEBMAEwASSBJQElQTDBMcExwSXBJUElgTIBMQExASUBJYElwTHBMsEywSZBJcEmATMBMgEyASWBJgEmQTLBJwEnASCBJkEgQSfBMwEzASYBIEEnQTPBM4EzgSaBJ0EoQTRBNAE0ASeBKEEmgTOBNME0wSjBJoEqQTVBNEE0QShBKkEogTSBNYE1gSqBKIErQTYBNQE1ASoBK0EqgTWBNkE2QSuBKoEsQTaBNgE2AStBLEErgTZBNsE2wSyBK4EtQTcBNoE2gSxBLUEsgTbBN0E3QS2BLIEuQTeBNwE3AS1BLkEtgTdBN8E3wS6BLYEvQTgBN4E3gS5BL0EugTfBOEE4QS+BLoEwQTiBOAE4AS9BMEEvgThBOME4wTCBL4ExQTkBOIE4gTBBMUEwgTjBOUE5QTGBMIEyQTmBOQE5ATFBMkExgTlBOcE5wTKBMYEzQToBOYE5gTJBM0EygTnBM8EzwSdBMoEngTQBOgE6ATNBJ4E5QTjBOkE6QTqBOUE4wThBOsE6wTpBOME4QTfBOwE7ATrBOEE3wTdBO0E7QTsBN8E3QTbBO4E7gTtBN0E2wTZBO8E7wTuBNsE2QTWBPAE8ATvBNkE1wTTBPIE8gTxBNcE0wTOBPME8wTyBNMEzgTPBPQE9ATzBM4E5wTlBOoE6gT1BOcEzwTnBPUE9QT0BM8E0QTVBPcE9wT4BNEE1ATYBPkE+QT2BNQE2ATaBPoE+gT5BNgE2gTcBPsE+wT6BNoE3ATeBPwE/AT7BNwE3gTgBP0E/QT8BN4E4ATiBP4E/gT9BOAE4gTkBP8E/wT+BOIE5ATmBAAFAAX/BOQE5gToBAEFAQUABeYE0ATRBPgE+AQCBdAE6ATQBAIFAgUBBegE+AT3BAQFBAUFBfgE9gT5BAYFBgUDBfYE+QT6BAcFBwUGBfkE+gT7BAgFCAUHBfoE+wT8BAkFCQUIBfsE/AT9BAoFCgUJBfwE/QT+BAsFCwUKBf0E/gT/BAwFDAULBf4E/wQABQ0FDQUMBf8EAAUBBQ4FDgUNBQAFAgX4BAUFBQUPBQIFAQUCBQ8FDwUOBQEFEgUTBRAFEAURBRIFEwUXBRUFFQUQBRMFFgUZBRgFGAUUBRYFGQUbBRoFGgUYBRkFGwUdBRwFHAUaBRsFHQUfBR4FHgUcBR0FHwUhBSAFIAUeBR8FIQUjBSIFIgUgBSEFIwUlBSQFJAUiBSMFJQUnBSYFJgUkBSUFJwUpBSgFKAUmBScFKQUSBREFEQUoBSkFLAUtBSoFKgUrBSwFMAUxBS4FLgUvBTAFKwUqBTMFMwU1BSsFNwU5BTEFMQUwBTcFNAUyBToFOgU7BTQFPAU9BTgFOAU2BTwFOwU6BT4FPgU/BTsFQAVBBT0FPQU8BUAFPwU+BUIFQgVDBT8FRAVFBUEFQQVABUQFQwVCBUYFRgVHBUMFSAVJBUUFRQVEBUgFRwVGBUoFSgVLBUcFTAVNBUkFSQVIBUwFSwVKBU4FTgVPBUsFUAVRBU0FTQVMBVAFTwVOBVIFUgVTBU8FVAVVBVEFUQVQBVQFUwVSBVYFVgVXBVMFWAVZBVUFVQVUBVgFVwVWBVoFWgVbBVcFXAVdBVkFWQVYBVwFWwVaBS0FLQUsBVsFLwUuBV0FXQVcBS8FEgUsBSsFKwUTBRIFEAUwBS8FLwURBRAFEwUrBTUFNQUXBRMFFQU3BTAFMAUQBRUFFgU0BTsFOwUZBRYFGAU8BTYFNgUUBRgFGQU7BT8FPwUbBRkFGgVABTwFPAUYBRoFGwU/BUMFQwUdBRsFHAVEBUAFQAUaBRwFHQVDBUcFRwUfBR0FHgVIBUQFRAUcBR4FHwVHBUsFSwUhBR8FIAVMBUgFSAUeBSAFIQVLBU8FTwUjBSEFIgVQBUwFTAUgBSIFIwVPBVMFUwUlBSMFJAVUBVAFUAUiBSQFJQVTBVcFVwUnBSUFJgVYBVQFVAUkBSYFJwVXBVsFWwUpBScFKAVcBVgFWAUmBSgFKQVbBSwFLAUSBSkFEQUvBVwFXAUoBREFLQVfBV4FXgUqBS0FMQVhBWAFYAUuBTEFKgVeBWMFYwUzBSoFOQVlBWEFYQUxBTkFMgViBWYFZgU6BTIFPQVoBWQFZAU4BT0FOgVmBWkFaQU+BToFQQVqBWgFaAU9BUEFPgVpBWsFawVCBT4FRQVsBWoFagVBBUUFQgVrBW0FbQVGBUIFSQVuBWwFbAVFBUkFRgVtBW8FbwVKBUYFTQVwBW4FbgVJBU0FSgVvBXEFcQVOBUoFUQVyBXAFcAVNBVEFTgVxBXMFcwVSBU4FVQV0BXIFcgVRBVUFUgVzBXUFdQVWBVIFWQV2BXQFdAVVBVkFVgV1BXcFdwVaBVYFXQV4BXYFdgVZBV0FWgV3BV8FXwUtBVoFLgVgBXgFeAVdBS4FdQVzBXkFeQV6BXUFcwVxBXsFewV5BXMFcQVvBXwFfAV7BXEFbwVtBX0FfQV8BW8FbQVrBX4FfgV9BW0F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qHMFPgDQAjpvEgM6AAAAPw6FLz8AAAA/sqB4PwAAAD87338/ABQDOihicT87338/vXMsP57vPz9rYik/O99/P3ZQIT/4pVY/g9wFPfK4PD8BAAMAAgACAAAAAQAEAAcABQAFAAYABAAIAAsACQAJAAoACAAMABAADwAMAA8ADgAMAA4ACwAMAAsACAAMAAgADQARABMAEgARABIADgARAA4ADwALAA4AEgALABIAFAALABQACQAKABUADQANAAgACgAUABIAEwAWABkAFwAXABgAFgAbAB0AHAAcABoAGwAfACEAIAAgAB4AHwAkACUAIgAiACMAJAAoACkAJgAmACcAKAAqACsAJgAqACYAKQAqACkALAAqACwALQAqAC0ALgAvAC0ALAAvACwAMAAvADAAMQApACgAMgApADIAMAApADAALAArADMAJwAnACYAKwAyADEAMACJUE5HDQoaCgAAAA1JSERSAAABoAAAAlgIBgAAACQfMrAAAAAJcEhZcwAACxMAAAsTAQCanBgAACAASURBVHgB7L1bzG1Jdd879+7d3fQduumGphvYjcAcG7DBiWkwvt8iH3JkWzqJrCiSHeXJwg95sPJiW8qLH5JnK4kiRVEky3nxkaPEfrARhGCDsa1wMXewuTRgmr7T9266e5/xG1X/mmPWrLlu37ebb61VtfdcVTVuVTVmzfFfNWd9c537sZ/8mecvnTt3bqjSpUvDANGy/DEpUJknF56TV1Eu0ZClqHrOapmcVM9ZPZX8c8LLHNkZLqWhRI1zUtAoTcb5GK2GfuHCFcNtt902XHPttd7W1+75yvD4Y0+Y/HPDFeevHM5dcWG46sKVwxVXXDFcefXVsjg8/zxuxNw5P0J3vdhwsdm4YORzw3PPfceH98ILLwzPPPud4f/9xf9n+JEfvnt47LHHm7Zq271+Oh548MEHh09/+tPDj/3Yj52OwWzlM5/5jJ3Lx4a77777VO0enLF8LZaLqh4g11ZFm15XXHtRYF7HwCiSSyFTnBllor3l8pe+9KXhvvvus3P8DhNS/CJPFpdyLLqEYtRyE2eOw5ieffbZ4ZFHHhnuv//+4YEHHhi+7y1vP/fotx8d7v3Wt9wfDz/80PD8cy8M111//fDKV7xiuOOO24ebbrrp0i033zw8azHzwhVXXn1+Gv6zS8KZwDejf8TYwR8N1XJi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" + } + ] +} diff --git a/src/assets/model/mmd/LICENSE b/src/assets/model/mmd/LICENSE new file mode 100644 index 0000000..f2be4d5 --- /dev/null +++ b/src/assets/model/mmd/LICENSE @@ -0,0 +1,3 @@ +The files under this directory are NOT under MIT license, but other licenses. + +See Readme.txt for the summary, see each file's readme for the detail. diff --git a/src/assets/model/mmd/Readme.txt b/src/assets/model/mmd/Readme.txt new file mode 100644 index 0000000..d78752f --- /dev/null +++ b/src/assets/model/mmd/Readme.txt @@ -0,0 +1,36 @@ +The files under this directory are NOT under MIT license, but other licenses. +If you want to use them in your work, get original archive file, read readme, +and follow their licenses. + + +1. Vocaloid stuffs + +You are allowed to use Crypton's Vocaloid(Hatsune Miku, Kagamine Rin, and so on) +stuffs (MMD models, songs, and so on) only if you follow the guideline set by +Crypton Future Media, INC. for the usage of its characters. + +For detail, see http://piapro.net/en_for_creators.html + + +2. MMD stuffs + +In MMD, there is no unified license. If you want to use MMD assets (models, +songs, dances, and so on), read readme included in the original archive file +and follow the license the author set. + +If the assets are fan works, you must follow the original work's license. (For +example, you also need to follow the license set by Crypton, not only the +license the author set, to use a fan Miku MMD model) + +For your information, generally MMD assets are very restricted to use. + +Most MMD assets are NOT allowed for +- redistribution +- porn use +- commercial use +- etc. + +Think that what is not written in readme is not allowed. + + +Takahiro https://github.com/takahirox diff --git a/src/assets/model/mmd/roles/firefly/mc1.png b/src/assets/model/mmd/roles/firefly/mc1.png new file mode 100644 index 0000000..a5490cf Binary files /dev/null and b/src/assets/model/mmd/roles/firefly/mc1.png differ diff --git a/src/assets/model/mmd/roles/firefly/mc3.png b/src/assets/model/mmd/roles/firefly/mc3.png new file mode 100644 index 0000000..11d0e15 Binary files /dev/null and b/src/assets/model/mmd/roles/firefly/mc3.png differ diff --git a/src/assets/model/mmd/roles/firefly/toon2.png b/src/assets/model/mmd/roles/firefly/toon2.png new file mode 100644 index 0000000..712250a Binary files /dev/null and b/src/assets/model/mmd/roles/firefly/toon2.png differ diff --git a/src/assets/model/mmd/roles/firefly/toon3.png b/src/assets/model/mmd/roles/firefly/toon3.png new file mode 100644 index 0000000..e524d50 Binary files /dev/null and b/src/assets/model/mmd/roles/firefly/toon3.png differ diff --git "a/src/assets/model/mmd/roles/firefly/\344\275\277\347\224\250\350\247\204\345\210\231.txt" "b/src/assets/model/mmd/roles/firefly/\344\275\277\347\224\250\350\247\204\345\210\231.txt" new file mode 100644 index 0000000..3573013 --- /dev/null +++ "b/src/assets/model/mmd/roles/firefly/\344\275\277\347\224\250\350\247\204\345\210\231.txt" @@ -0,0 +1,15 @@ + +允许改造,优化骨骼和刚体,重制UV + +=================== +请勿二次配布 + +请勿用于18禁作品,极端宗教宣传,血腥恐怖猎奇作品,人身攻击等 + +请勿用于商业用途 + +他人使用本模型所造成的一切不良后果,不由模型改造者与miHoYo承担,请向使用者追究全部责任 + +模型编辑:神帝宇 + +模型版权所属miHoYo \ No newline at end of file diff --git "a/src/assets/model/mmd/roles/firefly/\345\244\264\345\217\221.png" "b/src/assets/model/mmd/roles/firefly/\345\244\264\345\217\221.png" new file mode 100644 index 0000000..668283d Binary files /dev/null and "b/src/assets/model/mmd/roles/firefly/\345\244\264\345\217\221.png" differ diff --git "a/src/assets/model/mmd/roles/firefly/\346\265\201\350\220\2443.0.pmx" "b/src/assets/model/mmd/roles/firefly/\346\265\201\350\220\2443.0.pmx" new file mode 100644 index 0000000..f634709 Binary files /dev/null and "b/src/assets/model/mmd/roles/firefly/\346\265\201\350\220\2443.0.pmx" differ diff --git "a/src/assets/model/mmd/roles/firefly/\350\204\270.png" "b/src/assets/model/mmd/roles/firefly/\350\204\270.png" new file mode 100644 index 0000000..ac1a54d Binary files /dev/null and "b/src/assets/model/mmd/roles/firefly/\350\204\270.png" differ diff --git "a/src/assets/model/mmd/roles/firefly/\350\241\243\346\234\215.png" "b/src/assets/model/mmd/roles/firefly/\350\241\243\346\234\215.png" new file mode 100644 index 0000000..a8e331c Binary files /dev/null and "b/src/assets/model/mmd/roles/firefly/\350\241\243\346\234\215.png" differ diff --git "a/src/assets/model/mmd/roles/firefly/\350\241\250\346\203\205.png" "b/src/assets/model/mmd/roles/firefly/\350\241\250\346\203\205.png" new file mode 100644 index 0000000..e3b76c4 Binary files /dev/null and "b/src/assets/model/mmd/roles/firefly/\350\241\250\346\203\205.png" differ diff --git a/src/assets/model/mmd/roles/gaming/hair.bmp b/src/assets/model/mmd/roles/gaming/hair.bmp new file mode 100644 index 0000000..209b33a Binary files /dev/null and b/src/assets/model/mmd/roles/gaming/hair.bmp differ diff --git "a/src/assets/model/mmd/roles/gaming/readme\343\200\220\344\270\200\345\256\232\350\246\201\347\234\213\343\200\221.txt" "b/src/assets/model/mmd/roles/gaming/readme\343\200\220\344\270\200\345\256\232\350\246\201\347\234\213\343\200\221.txt" new file mode 100644 index 0000000..c42ab16 --- /dev/null +++ "b/src/assets/model/mmd/roles/gaming/readme\343\200\220\344\270\200\345\256\232\350\246\201\347\234\213\343\200\221.txt" @@ -0,0 +1,23 @@ +感谢下载本模型 + +◆允许完善物理,修正模型权重、表情等bug + + 允许改色,适度更改衣装,添加spa、toon等 + +◆请勿二次配布,以及拆取部件以用于改造其他模型 + + 请勿用于18禁作品,极端宗教宣传,血腥恐怖猎奇作品,人身攻击等 + + 请勿用于商业用途 + +◆他人使用本模型所造成的一切不良后果,不由模型改造者与miHoYo承担,请向使用者追究全部责任 + +◆模型提供:miHoYo + +◆模型改造:观海 + + 联系我【BiliBili:观海子】 + +◆最终解释权归属:miHoYo + +请遵守本规则使用 \ No newline at end of file diff --git a/src/assets/model/mmd/roles/gaming/skin.bmp b/src/assets/model/mmd/roles/gaming/skin.bmp new file mode 100644 index 0000000..1c20bf6 Binary files /dev/null and b/src/assets/model/mmd/roles/gaming/skin.bmp differ diff --git a/src/assets/model/mmd/roles/gaming/sph/hair_s.bmp b/src/assets/model/mmd/roles/gaming/sph/hair_s.bmp new file mode 100644 index 0000000..aa70953 Binary files /dev/null and b/src/assets/model/mmd/roles/gaming/sph/hair_s.bmp differ diff --git a/src/assets/model/mmd/roles/gaming/tex/spa_h.tga b/src/assets/model/mmd/roles/gaming/tex/spa_h.tga new file mode 100644 index 0000000..580ad8b Binary files /dev/null and b/src/assets/model/mmd/roles/gaming/tex/spa_h.tga differ diff --git "a/src/assets/model/mmd/roles/gaming/tex/\344\275\223.tga" "b/src/assets/model/mmd/roles/gaming/tex/\344\275\223.tga" new file mode 100644 index 0000000..669b768 Binary files /dev/null and "b/src/assets/model/mmd/roles/gaming/tex/\344\275\223.tga" differ diff --git "a/src/assets/model/mmd/roles/gaming/tex/\347\211\271\346\225\210.tga" "b/src/assets/model/mmd/roles/gaming/tex/\347\211\271\346\225\210.tga" new file mode 100644 index 0000000..49c8cfc Binary files /dev/null and "b/src/assets/model/mmd/roles/gaming/tex/\347\211\271\346\225\210.tga" differ diff --git "a/src/assets/model/mmd/roles/gaming/tex/\351\242\234.tga" "b/src/assets/model/mmd/roles/gaming/tex/\351\242\234.tga" new file mode 100644 index 0000000..a8a2294 Binary files /dev/null and "b/src/assets/model/mmd/roles/gaming/tex/\351\242\234.tga" differ diff --git "a/src/assets/model/mmd/roles/gaming/tex/\351\242\234\350\265\244.tga" "b/src/assets/model/mmd/roles/gaming/tex/\351\242\234\350\265\244.tga" new file mode 100644 index 0000000..09a6a5b Binary files /dev/null and "b/src/assets/model/mmd/roles/gaming/tex/\351\242\234\350\265\244.tga" differ diff --git "a/src/assets/model/mmd/roles/gaming/tex/\351\253\256.tga" "b/src/assets/model/mmd/roles/gaming/tex/\351\253\256.tga" new file mode 100644 index 0000000..aece688 Binary files /dev/null and "b/src/assets/model/mmd/roles/gaming/tex/\351\253\256.tga" differ diff --git a/src/assets/model/mmd/roles/gaming/toon_defo.bmp b/src/assets/model/mmd/roles/gaming/toon_defo.bmp new file mode 100644 index 0000000..f6dadc1 Binary files /dev/null and b/src/assets/model/mmd/roles/gaming/toon_defo.bmp differ diff --git "a/src/assets/model/mmd/roles/gaming/\345\230\211\346\230\216.pmx" "b/src/assets/model/mmd/roles/gaming/\345\230\211\346\230\216.pmx" new file mode 100644 index 0000000..f22860b Binary files /dev/null and "b/src/assets/model/mmd/roles/gaming/\345\230\211\346\230\216.pmx" differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/1.png b/src/assets/model/mmd/roles/marth7th(hunt)/1.png new file mode 100644 index 0000000..49de87b Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/1.png differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/2.bmp b/src/assets/model/mmd/roles/marth7th(hunt)/2.bmp new file mode 100644 index 0000000..710371d Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/2.bmp differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/234.jpg b/src/assets/model/mmd/roles/marth7th(hunt)/234.jpg new file mode 100644 index 0000000..52481d8 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/234.jpg differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/31.bmp b/src/assets/model/mmd/roles/marth7th(hunt)/31.bmp new file mode 100644 index 0000000..d0928c3 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/31.bmp differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/SP0d_20190820_005614.bmp b/src/assets/model/mmd/roles/marth7th(hunt)/SP0d_20190820_005614.bmp new file mode 100644 index 0000000..d1d009f Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/SP0d_20190820_005614.bmp differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/a4.bmp b/src/assets/model/mmd/roles/marth7th(hunt)/a4.bmp new file mode 100644 index 0000000..a193c50 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/a4.bmp differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/ah1.bmp b/src/assets/model/mmd/roles/marth7th(hunt)/ah1.bmp new file mode 100644 index 0000000..3c5a3c9 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/ah1.bmp differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/bq.png b/src/assets/model/mmd/roles/marth7th(hunt)/bq.png new file mode 100644 index 0000000..72619ce Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/bq.png differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/hair.bmp b/src/assets/model/mmd/roles/marth7th(hunt)/hair.bmp new file mode 100644 index 0000000..65d0604 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/hair.bmp differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/mc1.png b/src/assets/model/mmd/roles/marth7th(hunt)/mc1.png new file mode 100644 index 0000000..a5490cf Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/mc1.png differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/mc3.png b/src/assets/model/mmd/roles/marth7th(hunt)/mc3.png new file mode 100644 index 0000000..6b47ba5 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/mc3.png differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/toon3.png b/src/assets/model/mmd/roles/marth7th(hunt)/toon3.png new file mode 100644 index 0000000..e4b259e Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/toon3.png differ diff --git a/src/assets/model/mmd/roles/marth7th(hunt)/toon4.png b/src/assets/model/mmd/roles/marth7th(hunt)/toon4.png new file mode 100644 index 0000000..3c6893c Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(hunt)/toon4.png differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\344\270\211\346\234\210\344\270\2033.pmx" "b/src/assets/model/mmd/roles/marth7th(hunt)/\344\270\211\346\234\210\344\270\2033.pmx" new file mode 100644 index 0000000..3265f4f Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\344\270\211\346\234\210\344\270\2033.pmx" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\344\270\211\346\234\210\344\270\203\345\217\214\345\211\221.pmx" "b/src/assets/model/mmd/roles/marth7th(hunt)/\344\270\211\346\234\210\344\270\203\345\217\214\345\211\221.pmx" new file mode 100644 index 0000000..23044ec Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\344\270\211\346\234\210\344\270\203\345\217\214\345\211\221.pmx" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" "b/src/assets/model/mmd/roles/marth7th(hunt)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" new file mode 100644 index 0000000..1c639a1 --- /dev/null +++ "b/src/assets/model/mmd/roles/marth7th(hunt)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" @@ -0,0 +1,15 @@ + +允许改造,优化骨骼和刚体,重制UV + +=================== +请勿二次配布 + +请勿用于18禁作品,极端宗教宣传,血腥恐怖猎奇作品,人身攻击等 + +请勿用于商业用途 + +他人使用本模型所造成的一切不良后果,不由模型改造者与miHoYo承担,请向使用者追究全部责任 + +模型编辑:流云景 + +模型版权所属miHoYo \ No newline at end of file diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\345\217\221.png" "b/src/assets/model/mmd/roles/marth7th(hunt)/\345\217\221.png" new file mode 100644 index 0000000..fa663e2 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\345\217\221.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\346\255\246\345\231\250.png" "b/src/assets/model/mmd/roles/marth7th(hunt)/\346\255\246\345\231\250.png" new file mode 100644 index 0000000..ef61c65 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\346\255\246\345\231\250.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\350\204\270.png" "b/src/assets/model/mmd/roles/marth7th(hunt)/\350\204\270.png" new file mode 100644 index 0000000..72f9824 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\350\204\270.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\350\241\243.png" "b/src/assets/model/mmd/roles/marth7th(hunt)/\350\241\243.png" new file mode 100644 index 0000000..cec701d Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\350\241\243.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\350\241\2432.png" "b/src/assets/model/mmd/roles/marth7th(hunt)/\350\241\2432.png" new file mode 100644 index 0000000..f388301 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\350\241\2432.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\351\242\234\350\265\244.tga" "b/src/assets/model/mmd/roles/marth7th(hunt)/\351\242\234\350\265\244.tga" new file mode 100644 index 0000000..a294007 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\351\242\234\350\265\244.tga" differ diff --git "a/src/assets/model/mmd/roles/marth7th(hunt)/\351\273\221.jpg" "b/src/assets/model/mmd/roles/marth7th(hunt)/\351\273\221.jpg" new file mode 100644 index 0000000..649c4de Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(hunt)/\351\273\221.jpg" differ diff --git a/src/assets/model/mmd/roles/marth7th(preserve)/mc1.png b/src/assets/model/mmd/roles/marth7th(preserve)/mc1.png new file mode 100644 index 0000000..a5490cf Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(preserve)/mc1.png differ diff --git a/src/assets/model/mmd/roles/marth7th(preserve)/mc3.png b/src/assets/model/mmd/roles/marth7th(preserve)/mc3.png new file mode 100644 index 0000000..11d0e15 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(preserve)/mc3.png differ diff --git a/src/assets/model/mmd/roles/marth7th(preserve)/toon2.png b/src/assets/model/mmd/roles/marth7th(preserve)/toon2.png new file mode 100644 index 0000000..712250a Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(preserve)/toon2.png differ diff --git a/src/assets/model/mmd/roles/marth7th(preserve)/toon3.png b/src/assets/model/mmd/roles/marth7th(preserve)/toon3.png new file mode 100644 index 0000000..e524d50 Binary files /dev/null and b/src/assets/model/mmd/roles/marth7th(preserve)/toon3.png differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\344\270\211\346\234\210\344\270\203 1.0.pmx" "b/src/assets/model/mmd/roles/marth7th(preserve)/\344\270\211\346\234\210\344\270\203 1.0.pmx" new file mode 100644 index 0000000..00e35fb Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\344\270\211\346\234\210\344\270\203 1.0.pmx" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" "b/src/assets/model/mmd/roles/marth7th(preserve)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" new file mode 100644 index 0000000..3573013 --- /dev/null +++ "b/src/assets/model/mmd/roles/marth7th(preserve)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" @@ -0,0 +1,15 @@ + +允许改造,优化骨骼和刚体,重制UV + +=================== +请勿二次配布 + +请勿用于18禁作品,极端宗教宣传,血腥恐怖猎奇作品,人身攻击等 + +请勿用于商业用途 + +他人使用本模型所造成的一切不良后果,不由模型改造者与miHoYo承担,请向使用者追究全部责任 + +模型编辑:神帝宇 + +模型版权所属miHoYo \ No newline at end of file diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\345\244\264\345\217\221.png" "b/src/assets/model/mmd/roles/marth7th(preserve)/\345\244\264\345\217\221.png" new file mode 100644 index 0000000..59d7c80 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\345\244\264\345\217\221.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\345\274\2231.0.pmx" "b/src/assets/model/mmd/roles/marth7th(preserve)/\345\274\2231.0.pmx" new file mode 100644 index 0000000..e28d9d5 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\345\274\2231.0.pmx" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\346\255\246\345\231\250.png" "b/src/assets/model/mmd/roles/marth7th(preserve)/\346\255\246\345\231\250.png" new file mode 100644 index 0000000..e2849df Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\346\255\246\345\231\250.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\347\256\2551.0.pmx" "b/src/assets/model/mmd/roles/marth7th(preserve)/\347\256\2551.0.pmx" new file mode 100644 index 0000000..2d0f049 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\347\256\2551.0.pmx" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\350\204\270.png" "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\204\270.png" new file mode 100644 index 0000000..d5de8cd Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\204\270.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\243\346\234\215.png" "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\243\346\234\215.png" new file mode 100644 index 0000000..f37d451 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\243\346\234\215.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\243\346\234\2151.png" "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\243\346\234\2151.png" new file mode 100644 index 0000000..a50216b Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\243\346\234\2151.png" differ diff --git "a/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\250\346\203\205.png" "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\250\346\203\205.png" new file mode 100644 index 0000000..e3b76c4 Binary files /dev/null and "b/src/assets/model/mmd/roles/marth7th(preserve)/\350\241\250\346\203\205.png" differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/1.png b/src/assets/model/mmd/roles/qiong(harmony)/1.png new file mode 100644 index 0000000..7455048 Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/1.png differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/2.bmp b/src/assets/model/mmd/roles/qiong(harmony)/2.bmp new file mode 100644 index 0000000..710371d Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/2.bmp differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/SP0d_20190820_005614.bmp b/src/assets/model/mmd/roles/qiong(harmony)/SP0d_20190820_005614.bmp new file mode 100644 index 0000000..d1d009f Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/SP0d_20190820_005614.bmp differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/ah.bmp b/src/assets/model/mmd/roles/qiong(harmony)/ah.bmp new file mode 100644 index 0000000..3c5a3c9 Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/ah.bmp differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/bq.png b/src/assets/model/mmd/roles/qiong(harmony)/bq.png new file mode 100644 index 0000000..72619ce Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/bq.png differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/toon3.png b/src/assets/model/mmd/roles/qiong(harmony)/toon3.png new file mode 100644 index 0000000..e4b259e Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/toon3.png differ diff --git a/src/assets/model/mmd/roles/qiong(harmony)/toon4.png b/src/assets/model/mmd/roles/qiong(harmony)/toon4.png new file mode 100644 index 0000000..2bf2de4 Binary files /dev/null and b/src/assets/model/mmd/roles/qiong(harmony)/toon4.png differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" "b/src/assets/model/mmd/roles/qiong(harmony)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" new file mode 100644 index 0000000..1c639a1 --- /dev/null +++ "b/src/assets/model/mmd/roles/qiong(harmony)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" @@ -0,0 +1,15 @@ + +允许改造,优化骨骼和刚体,重制UV + +=================== +请勿二次配布 + +请勿用于18禁作品,极端宗教宣传,血腥恐怖猎奇作品,人身攻击等 + +请勿用于商业用途 + +他人使用本模型所造成的一切不良后果,不由模型改造者与miHoYo承担,请向使用者追究全部责任 + +模型编辑:流云景 + +模型版权所属miHoYo \ No newline at end of file diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\345\270\275.png" "b/src/assets/model/mmd/roles/qiong(harmony)/\345\270\275.png" new file mode 100644 index 0000000..b80fc81 Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\345\270\275.png" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\347\251\271\357\274\211.pmx" "b/src/assets/model/mmd/roles/qiong(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\347\251\271\357\274\211.pmx" new file mode 100644 index 0000000..0b189d9 Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\347\251\271\357\274\211.pmx" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\347\251\271\357\274\211\345\270\275.pmx" "b/src/assets/model/mmd/roles/qiong(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\347\251\271\357\274\211\345\270\275.pmx" new file mode 100644 index 0000000..0d3bae0 Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\347\251\271\357\274\211\345\270\275.pmx" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\350\241\243.png" "b/src/assets/model/mmd/roles/qiong(harmony)/\350\241\243.png" new file mode 100644 index 0000000..26fd18c Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\350\241\243.png" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\350\241\2432.png" "b/src/assets/model/mmd/roles/qiong(harmony)/\350\241\2432.png" new file mode 100644 index 0000000..1e61f2c Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\350\241\2432.png" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\351\242\234.png" "b/src/assets/model/mmd/roles/qiong(harmony)/\351\242\234.png" new file mode 100644 index 0000000..ab5f32e Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\351\242\234.png" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\351\242\234\350\265\244.tga" "b/src/assets/model/mmd/roles/qiong(harmony)/\351\242\234\350\265\244.tga" new file mode 100644 index 0000000..75997e4 Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\351\242\234\350\265\244.tga" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\351\253\252.png" "b/src/assets/model/mmd/roles/qiong(harmony)/\351\253\252.png" new file mode 100644 index 0000000..aea46c9 Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\351\253\252.png" differ diff --git "a/src/assets/model/mmd/roles/qiong(harmony)/\351\273\221.jpg" "b/src/assets/model/mmd/roles/qiong(harmony)/\351\273\221.jpg" new file mode 100644 index 0000000..649c4de Binary files /dev/null and "b/src/assets/model/mmd/roles/qiong(harmony)/\351\273\221.jpg" differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/1.png b/src/assets/model/mmd/roles/xing(harmony)/1.png new file mode 100644 index 0000000..7455048 Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/1.png differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/2.bmp b/src/assets/model/mmd/roles/xing(harmony)/2.bmp new file mode 100644 index 0000000..710371d Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/2.bmp differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/SP0d_20190820_005614.bmp b/src/assets/model/mmd/roles/xing(harmony)/SP0d_20190820_005614.bmp new file mode 100644 index 0000000..d1d009f Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/SP0d_20190820_005614.bmp differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/ah.bmp b/src/assets/model/mmd/roles/xing(harmony)/ah.bmp new file mode 100644 index 0000000..3c5a3c9 Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/ah.bmp differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/bq.png b/src/assets/model/mmd/roles/xing(harmony)/bq.png new file mode 100644 index 0000000..72619ce Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/bq.png differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/toon3.png b/src/assets/model/mmd/roles/xing(harmony)/toon3.png new file mode 100644 index 0000000..e4b259e Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/toon3.png differ diff --git a/src/assets/model/mmd/roles/xing(harmony)/toon4.png b/src/assets/model/mmd/roles/xing(harmony)/toon4.png new file mode 100644 index 0000000..2bf2de4 Binary files /dev/null and b/src/assets/model/mmd/roles/xing(harmony)/toon4.png differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" "b/src/assets/model/mmd/roles/xing(harmony)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" new file mode 100644 index 0000000..1c639a1 --- /dev/null +++ "b/src/assets/model/mmd/roles/xing(harmony)/\344\275\277\347\224\250\350\247\204\345\210\231.txt" @@ -0,0 +1,15 @@ + +允许改造,优化骨骼和刚体,重制UV + +=================== +请勿二次配布 + +请勿用于18禁作品,极端宗教宣传,血腥恐怖猎奇作品,人身攻击等 + +请勿用于商业用途 + +他人使用本模型所造成的一切不良后果,不由模型改造者与miHoYo承担,请向使用者追究全部责任 + +模型编辑:流云景 + +模型版权所属miHoYo \ No newline at end of file diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\345\217\221.png" "b/src/assets/model/mmd/roles/xing(harmony)/\345\217\221.png" new file mode 100644 index 0000000..dedd21d Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\345\217\221.png" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\345\270\275.png" "b/src/assets/model/mmd/roles/xing(harmony)/\345\270\275.png" new file mode 100644 index 0000000..b80fc81 Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\345\270\275.png" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\346\230\237\357\274\211.pmx" "b/src/assets/model/mmd/roles/xing(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\346\230\237\357\274\211.pmx" new file mode 100644 index 0000000..59d8591 Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\346\230\237\357\274\211.pmx" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\346\230\237\357\274\211\345\270\275.pmx" "b/src/assets/model/mmd/roles/xing(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\346\230\237\357\274\211\345\270\275.pmx" new file mode 100644 index 0000000..75c1483 Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\346\230\237\347\251\271\351\223\201\351\201\223\342\200\224\345\274\200\346\213\223\350\200\205\357\274\210\346\230\237\357\274\211\345\270\275.pmx" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\350\241\243.png" "b/src/assets/model/mmd/roles/xing(harmony)/\350\241\243.png" new file mode 100644 index 0000000..d11855f Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\350\241\243.png" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\350\241\2432.png" "b/src/assets/model/mmd/roles/xing(harmony)/\350\241\2432.png" new file mode 100644 index 0000000..bdeeb99 Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\350\241\2432.png" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\351\242\234.png" "b/src/assets/model/mmd/roles/xing(harmony)/\351\242\234.png" new file mode 100644 index 0000000..9c2ceb2 Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\351\242\234.png" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\351\242\234\350\265\244.tga" "b/src/assets/model/mmd/roles/xing(harmony)/\351\242\234\350\265\244.tga" new file mode 100644 index 0000000..90de90f Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\351\242\234\350\265\244.tga" differ diff --git "a/src/assets/model/mmd/roles/xing(harmony)/\351\273\221.jpg" "b/src/assets/model/mmd/roles/xing(harmony)/\351\273\221.jpg" new file mode 100644 index 0000000..649c4de Binary files /dev/null and "b/src/assets/model/mmd/roles/xing(harmony)/\351\273\221.jpg" differ diff --git a/src/assets/model/mmd/vmds/default/readme.txt b/src/assets/model/mmd/vmds/default/readme.txt new file mode 100644 index 0000000..a4ef99c --- /dev/null +++ b/src/assets/model/mmd/vmds/default/readme.txt @@ -0,0 +1,16 @@ +readme_wavefile.txt: readme of wavefile dance motion data +readme_wavefile_camera: readme of the original wavefile camera motion data + +wavefile_camera.vmd is camera motion data I've customized from this data + +http://www.nicovideo.jp/watch/sm19168559 + +Note that the original author allows customized data file redistribution +but doesn't allow the original file redistribution. + +And wavefile_camera.vmd inherits the policy of the original file. +- You must not use the file for porn. +- You must not cause any troubles to anyone especially other copyright holders, + (WAVEFILE music composer, WAVEFILE dance motion author, and so on) + + by Takahiro diff --git a/src/assets/model/mmd/vmds/default/readme_wavefile.txt b/src/assets/model/mmd/vmds/default/readme_wavefile.txt new file mode 100644 index 0000000..a6324f7 --- /dev/null +++ b/src/assets/model/mmd/vmds/default/readme_wavefile.txt @@ -0,0 +1,43 @@ +MikuMikuDance用モーションデータ +WAVEFILE + +○配布元動画 +【MMD-DMC2】 WAVEFILE 【モーション配布】 +http://www.nicovideo.jp/watch/sm13147122 + +○トレース元動画:かんな@むーみんさん +【ピピピ♪】 WAVEFILE 【踊ってみた】 +http://www.nicovideo.jp/watch/sm12016176 + +○オリジナル曲:ラマーズP +WAVEFILE/初音ミク +http://www.nicovideo.jp/watch/sm11938255 + +■使用条件 + +改変、再配布はご自由にどうぞ。 +ご利用は自己責任で権利者の方々の迷惑にならないよう常識の範囲内でお願いします。 +営利目的の利用はご一報ください。無断での商用利用は禁止します。 + +■説明・注意点 + +Lat式ミクVer2.3 Whiteを利用して作成しております。 + +手を合わせるモーションがあるため、モデルの誤差による修正はかなり困難になると思います。 +そのため、Lat式、レア様、標準ミクVer2に調整した3種類のモーションを同梱しました。 +ターンが多いため、ツインテールが荒ぶるのでLat式以外のミクモデルは辛いものがありますがなんとか使ってやってくだちい + +標準ミクVer2変更点 +・241フレーム + 右腕をめいいっぱいあげると顔に腕がめり込むため低めに調整しています +・2675-2680フレーム + 右腕でツインテールを抱え込んでしまうため、右腕のモーションを下からくぐり抜けるように大幅に変更しています。 + 違和感がある場合はLat式のモーションからコピーして調整してください。 +・表情 + Lat式の「あ」x0.4 「い」「う」「お」x0.6 で調整してます。 + 小さすぎると感じた場合はLat式の表情からコピーして調整してください。 + + +mail:hino.mmd39@gmail.com + +hino diff --git a/src/assets/model/mmd/vmds/default/readme_wavefile_camera.txt b/src/assets/model/mmd/vmds/default/readme_wavefile_camera.txt new file mode 100644 index 0000000..31ec379 --- /dev/null +++ b/src/assets/model/mmd/vmds/default/readme_wavefile_camera.txt @@ -0,0 +1,41 @@ +MikuMikuDance用カメラモーションデータ+おまけピンナップ + +この度はDLしていただきありがとうございます(´∀`) + +ula式ミクさん かっつりトゥーン WAVEFILE 【MMD】 +http://www.nicovideo.jp/watch/sm19168559 + + +モデル:ula様 http://www.nicovideo.jp/user/3385769 + +曲:sm11938255:ラマーズP様 + +モーション:sm13147122:hino様 + +ステージ:NBBCM風ステージsm12424615:k9様/psg_stage + +エフェクト + +Diffusion・XDOF・AutoLuminous:そぼろ様 +かっつりトゥーン:Less様 +SSAO_Toon:ビームマンP様 + + +こちらを使用したデータとなります。 + +注意点は特に無いです。フルVerではないのでご了承下さい。 + + +動画に関わる方々、権利者の迷惑にならないようお願いします。 + +(R-18タグの動画には使用は禁止です。) + +改変・改変後の再配布は可。好きにいじってくださいませ。 + + +では、よきMMDライフを! + + +2012/11/08 + +doramata diff --git a/src/assets/model/mmd/vmds/default/wavefile_camera.vmd b/src/assets/model/mmd/vmds/default/wavefile_camera.vmd new file mode 100644 index 0000000..47b2d2b Binary files /dev/null and b/src/assets/model/mmd/vmds/default/wavefile_camera.vmd differ diff --git a/src/assets/model/mmd/vmds/default/wavefile_v2.vmd b/src/assets/model/mmd/vmds/default/wavefile_v2.vmd new file mode 100644 index 0000000..268cec8 Binary files /dev/null and b/src/assets/model/mmd/vmds/default/wavefile_v2.vmd differ diff --git "a/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/cam.vmd" "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/cam.vmd" new file mode 100644 index 0000000..eed6029 Binary files /dev/null and "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/cam.vmd" differ diff --git "a/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/redme.txt" "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/redme.txt" new file mode 100644 index 0000000..3baf355 --- /dev/null +++ "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/redme.txt" @@ -0,0 +1,2 @@ +建议使用辅助骨骼,有少许少许穿模,新人K帧,请多多指点 +by:忠实小栗子 \ No newline at end of file diff --git "a/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/\345\205\263\345\261\261\351\205\222DJ.wav" "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/\345\205\263\345\261\261\351\205\222DJ.wav" new file mode 100644 index 0000000..b318caf Binary files /dev/null and "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/\345\205\263\345\261\261\351\205\222DJ.wav" differ diff --git "a/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/\345\244\252\346\236\201\344\277\256\345\244\215\347\211\210.vmd" "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/\345\244\252\346\236\201\344\277\256\345\244\215\347\211\210.vmd" new file mode 100644 index 0000000..6c25f3f Binary files /dev/null and "b/src/assets/model/mmd/vmds/\346\211\223\345\244\252\346\236\201_by_\345\277\240\345\256\236\345\260\217\346\240\227\345\255\220_05a8212856e03a4d8396be144ead29ea/\345\244\252\346\236\201\344\277\256\345\244\215\347\211\210.vmd" differ diff --git a/src/assets/model/mmd/vpds/01.vpd b/src/assets/model/mmd/vpds/01.vpd new file mode 100644 index 0000000..fb48bfd --- /dev/null +++ b/src/assets/model/mmd/vpds/01.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + -1.994186,-0.241098,0.050083; // trans x,y,z + -0.008508,0.417201,0.003480,0.908765; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.010000,0.000000,0.999950; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.059671,-0.020844,-0.137914,0.988424; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.105690,-0.195021,-0.117377,0.967996; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.128932,0.149530,0.118547,0.973121; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.101819,-0.123631,-0.100062,0.982006; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + -0.014637,-0.086429,-0.016842,0.996008; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.119712,0.992808; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000001,0.000000,-0.000004,1.000000; // Quaternion x,y,z,w +} + +Bone11{P + -0.411193,-0.085255,-0.020730; // trans x,y,z + -0.141385,-0.139213,-0.035362,0.979480; // Quaternion x,y,z,w +} + +Bone12{Q + -0.035930,-0.056137,-0.048719; // trans x,y,z + -0.019856,0.003108,0.008549,0.999762; // Quaternion x,y,z,w +} + +Bone13{R + 0.030077,-0.004477,-0.060761; // trans x,y,z + 0.071185,0.048630,0.057587,0.994611; // Quaternion x,y,z,w +} + +Bone14{S + 0.030964,-0.015428,-0.035141; // trans x,y,z + 0.103543,-0.036752,0.102269,0.988670; // Quaternion x,y,z,w +} + +Bone15{T + 0.000700,0.000184,-0.000108; // trans x,y,z + 0.048700,0.004063,0.093851,0.994386; // Quaternion x,y,z,w +} + +Bone16{U + 0.001655,-0.011049,-0.000326; // trans x,y,z + -0.044553,0.002348,0.044513,0.998012; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.144492,0.989506; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.434258,0.070982,-0.155688,0.884388; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.272038,-0.200928,0.000000,0.941075; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.124262,0.443016,-0.365080,-0.809327; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.156937,0.129655,0.000000,0.979061; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.137932,0.181517,0.000000,0.973666; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.026328,0.042482,0.000000,0.998750; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.054414,-0.065167,0.000000,0.996389; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.106422,-0.156019,0.014730,0.981893; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.108702,0.003196,0.043606,0.993113; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.031608,0.000565,-0.009141,0.999459; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.019599,0.213412,0.083914,0.973154; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + 0.031457,-0.022440,-0.019064; // trans x,y,z + -0.052190,0.080134,0.055656,0.993860; // Quaternion x,y,z,w +} + +Bone44{EQ + -0.020636,0.005676,-0.002946; // trans x,y,z + -0.091550,0.028185,0.002646,0.995398; // Quaternion x,y,z,w +} + +Bone45{ER + 0.038839,-0.034651,-0.027884; // trans x,y,z + 0.067379,-0.042276,0.078273,0.993754; // Quaternion x,y,z,w +} + +Bone46{ES + -0.005352,0.001595,0.000632; // trans x,y,z + 0.091892,-0.044829,0.091331,0.990558; // Quaternion x,y,z,w +} + +Bone47{ET + 0.002437,-0.019661,0.000929; // trans x,y,z + -0.040835,-0.021274,-0.003316,0.998934; // Quaternion x,y,z,w +} + +Bone48{EU + 0.002594,-0.000369,-0.000039; // trans x,y,z + -0.042199,-0.005887,-0.043903,0.998127; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.314347,-0.059472,-0.184239,0.929356; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.148917,-0.324401,0.181002,0.916420; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.509512,-0.792894,0.021710,0.333532; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.315405,0.109868,-0.398256,0.854306; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,0.539167,0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,0.316493,-0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.081360,-0.073701,0.182835,0.976996; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.049979,0.998750; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.050546,0.061899,0.129220,0.988390; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.044985,0.998987; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.064954,0.997889; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.034892,0.001044,0.018763,0.999215; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.022186,0.003034,0.029414,0.999317; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000156,-0.124623,0.002593,0.992201; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.106710,0.014601,0.058062,0.992487; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000744,-0.000072,0.101567,0.994829; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.076416,0.039423,-0.008418,0.996261; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.235746,0.002891,-0.003549,0.971803; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + -1.975501,1.000014,-0.157219; // trans x,y,z + -0.378374,0.288495,0.125389,0.870563; // Quaternion x,y,z,w +} + +Bone90{Ehj + -1.871634,0.000013,0.332146; // trans x,y,z + 0.000000,0.305058,0.000000,0.952333; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/02.vpd b/src/assets/model/mmd/vpds/02.vpd new file mode 100644 index 0000000..942879d --- /dev/null +++ b/src/assets/model/mmd/vpds/02.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + 2.764069,-1.300000,0.132707; // trans x,y,z + 0.000000,-0.309816,0.000000,0.950796; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.237703,0.971338; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.020773,0.039901,0.000000,0.998987; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.120376,0.156313,0.132850,0.971302; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.098052,-0.130431,-0.101522,0.981360; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027005,-0.086756,0.013188,0.995776; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone11{P + -0.032540,-0.023417,-0.014825; // trans x,y,z + -0.062282,-0.084453,-0.055396,0.992935; // Quaternion x,y,z,w +} + +Bone12{Q + 0.063383,0.015114,0.009096; // trans x,y,z + -0.083422,-0.021550,-0.029391,0.995848; // Quaternion x,y,z,w +} + +Bone13{R + 0.012526,0.010828,0.002483; // trans x,y,z + 0.052028,0.043367,-0.045825,0.996651; // Quaternion x,y,z,w +} + +Bone14{S + -0.019721,-0.028530,-0.009645; // trans x,y,z + 0.075386,0.014514,-0.093846,0.992622; // Quaternion x,y,z,w +} + +Bone15{T + 0.000082,-0.005265,-0.000251; // trans x,y,z + -0.044427,0.001453,0.002431,0.999009; // Quaternion x,y,z,w +} + +Bone16{U + -0.002440,-0.000172,0.000089; // trans x,y,z + -0.043776,0.002074,0.044063,0.998067; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.504884,0.272427,0.433548,0.694917; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.229035,-0.079988,0.183968,0.952523; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000283,-0.000198,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.301249,0.876155,-0.113000,0.358929; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000262,-0.000225,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.040464,-0.038137,0.153367,0.986602; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.156937,0.129655,0.000000,0.979061; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.137932,0.181517,0.000000,0.973666; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.026328,0.042482,0.000000,0.998750; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.054414,-0.065167,0.000000,0.996389; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.106422,-0.156019,0.014730,0.981893; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.130980,0.004929,0.037980,0.990645; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.028005,-0.001122,-0.040011,0.998806; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000694,-0.021159,-0.013292,0.999687; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + 0.206327,-0.828066,-0.228734; // trans x,y,z + -0.205960,0.009531,-0.178599,0.962077; // Quaternion x,y,z,w +} + +Bone44{EQ + 0.076432,0.070538,0.017379; // trans x,y,z + 0.030819,-0.075221,0.142393,0.986467; // Quaternion x,y,z,w +} + +Bone45{ER + -0.033356,0.003292,0.000650; // trans x,y,z + 0.003775,-0.046812,-0.038634,0.998149; // Quaternion x,y,z,w +} + +Bone46{ES + -0.059995,-0.073017,0.005962; // trans x,y,z + -0.093809,-0.090366,-0.102355,0.986183; // Quaternion x,y,z,w +} + +Bone47{ET + -0.012936,-0.001193,0.000630; // trans x,y,z + -0.088419,-0.081169,-0.077111,0.989771; // Quaternion x,y,z,w +} + +Bone48{EU + 0.011616,-0.036572,-0.006426; // trans x,y,z + -0.008743,-0.046497,0.042118,0.997992; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.029995,0.999550; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.505151,-0.161643,0.086889,0.843292; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000283,-0.000198,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.264458,0.195323,0.000000,0.944410; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000262,-0.000225,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.417015,0.326708,-0.039501,0.847230; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,0.000000,0.069943,0.997551; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,0.000000,-0.044984,0.998987; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,0.000000,-0.005000,0.999987; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.261910,0.965093; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.560508,0.828148; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.846832,0.531861; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.300293,0.953846; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.171370,-0.006898,-0.043850,0.984206; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.024529,-0.000688,0.022099,0.999455; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.005024,-0.106238,0.044357,0.993337; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.114747,0.000000,0.993394; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.037233,-0.018442,-0.048556,0.997956; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.043459,0.003910,-0.113974,0.992525; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.116474,0.002160,-0.092523,0.988872; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 2.272156,0.000005,0.373947; // trans x,y,z + 0.000000,-0.309816,0.000000,0.950796; // Quaternion x,y,z,w +} + +Bone90{Ehj + 3.314301,0.000005,-1.097728; // trans x,y,z + 0.000000,-0.394018,0.000000,0.919102; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/03.vpd b/src/assets/model/mmd/vpds/03.vpd new file mode 100644 index 0000000..c33ce59 --- /dev/null +++ b/src/assets/model/mmd/vpds/03.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + -4.111428,-0.150000,0.797528; // trans x,y,z + 0.000000,0.183946,0.000000,0.982936; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.051299,-0.186013,-0.050515,0.979905; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.247404,0.000000,0.968912; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.099813,0.001997,0.019899,0.994805; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.073866,-0.066951,-0.109878,0.988933; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.160672,-0.189727,-0.121060,0.961006; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.328384,0.053001,-0.027668,0.942650; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.144274,-0.007943,-0.054395,0.988008; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.004106,-0.000000,0.999992; // Quaternion x,y,z,w +} + +Bone11{P + 0.001230,-0.024893,-0.018814; // trans x,y,z + -0.044102,-0.027570,-0.013410,0.998557; // Quaternion x,y,z,w +} + +Bone12{Q + 0.018523,0.003813,-0.000220; // trans x,y,z + -0.084528,-0.006915,-0.000587,0.996397; // Quaternion x,y,z,w +} + +Bone13{R + 0.002284,-0.035860,-0.033173; // trans x,y,z + 0.060336,0.000095,-0.048592,0.996995; // Quaternion x,y,z,w +} + +Bone14{S + 0.008785,-0.010949,-0.002062; // trans x,y,z + 0.057920,-0.086536,0.038420,0.993821; // Quaternion x,y,z,w +} + +Bone15{T + 0.002397,-0.006867,0.006657; // trans x,y,z + 0.040145,-0.084471,0.083836,0.992081; // Quaternion x,y,z,w +} + +Bone16{U + -0.002356,0.000698,-0.002632; // trans x,y,z + 0.003823,-0.043595,0.043861,0.998079; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.007916,0.058976,0.204147,0.977129; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.185786,0.218048,-0.442273,0.849900; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.187354,0.880283,0.057082,0.432129; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,0.000000,-0.232843,0.972514; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027178,-0.203991,-0.100714,0.973399; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,-0.117068,0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.246207,0.969217; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.295802,0.955249; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.209878,0.977727; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.251370,0.967891; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.247928,0.968778; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.001696,0.000064,0.043666,0.999045; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + -0.013931,0.000746,-0.021606,0.999669; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.146562,-0.124518,-0.023699,0.981046; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + 0.007006,-0.022676,-0.028087; // trans x,y,z + -0.018172,0.034269,0.024338,0.998951; // Quaternion x,y,z,w +} + +Bone44{EQ + -0.037362,0.015114,0.039904; // trans x,y,z + -0.054150,0.012820,0.010417,0.998396; // Quaternion x,y,z,w +} + +Bone45{ER + -0.008622,0.008793,0.003937; // trans x,y,z + 0.049976,-0.046279,0.045861,0.996623; // Quaternion x,y,z,w +} + +Bone46{ES + -0.003324,-0.026139,-0.026227; // trans x,y,z + 0.093567,-0.026212,-0.002785,0.995264; // Quaternion x,y,z,w +} + +Bone47{ET + -0.001088,-0.005227,-0.001258; // trans x,y,z + 0.012920,0.004344,-0.040762,0.999076; // Quaternion x,y,z,w +} + +Bone48{EU + 0.002434,-0.000228,0.000259; // trans x,y,z + -0.043467,0.004757,-0.043477,0.998097; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.084898,0.000000,0.996390; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.468947,-0.299128,0.346326,0.755425; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.551237,-0.803749,0.007834,0.223745; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.073970,0.074407,-0.478954,0.871543; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.198176,0.324656,0.511255,0.770673; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.105078,-0.160877,-0.272193,0.942860; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.257081,0.966390; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.079915,0.996801; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.169182,0.985584; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.198670,0.980066; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.232842,0.972513; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.169182,0.985585; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.203567,0.979061; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.266731,0.963771; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.169183,0.985584; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.031979,0.067810,0.391343,0.917184; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000001,0.000000,0.466208,0.884675; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,0.000000,0.514135,0.857708; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.006942,-0.000361,0.012898,0.999893; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.024286,-0.000423,0.013963,0.999608; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.005032,-0.209403,-0.026736,0.977451; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.109778,-0.000000,0.993956; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.103323,-0.012150,0.033669,0.994004; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.004454,-0.005741,0.019483,0.999784; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.121140,0.036956,-0.057654,0.990270; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + -1.472330,-0.000006,-0.629730; // trans x,y,z + -0.073628,0.372412,-0.088541,0.920895; // Quaternion x,y,z,w +} + +Bone90{Ehj + -4.282195,-0.000006,1.650304; // trans x,y,z + 0.000000,0.099833,0.000000,0.995003; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/04.vpd b/src/assets/model/mmd/vpds/04.vpd new file mode 100644 index 0000000..fb442b8 --- /dev/null +++ b/src/assets/model/mmd/vpds/04.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + 2.799953,-0.550000,1.100003; // trans x,y,z + 0.000000,0.099833,0.000000,0.995004; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.640385,0.000000,0.000000,0.768054; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.338197,0.000000,0.000000,0.941076; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.227978,0.000000,0.000000,0.973666; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.173357,0.013271,0.025761,0.984433; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.364547,0.017611,0.025354,0.930673; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.159033,0.090173,0.010494,0.983091; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.144492,0.000000,0.000000,0.989506; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.005721,-0.003472,-0.010687,0.999920; // Quaternion x,y,z,w +} + +Bone11{P + 0.009198,-0.014471,-0.005284; // trans x,y,z + -0.059246,-0.005480,-0.000850,0.998228; // Quaternion x,y,z,w +} + +Bone12{Q + 0.013803,-0.002743,0.022053; // trans x,y,z + -0.072012,-0.001949,0.000131,0.997402; // Quaternion x,y,z,w +} + +Bone13{R + 0.006872,0.002340,0.002986; // trans x,y,z + 0.043553,0.044026,0.002881,0.998076; // Quaternion x,y,z,w +} + +Bone14{S + 0.005200,-0.017694,-0.015447; // trans x,y,z + 0.092831,0.045606,-0.025176,0.994318; // Quaternion x,y,z,w +} + +Bone15{T + 0.000120,-0.004937,-0.001255; // trans x,y,z + 0.074275,0.006032,-0.001520,0.997218; // Quaternion x,y,z,w +} + +Bone16{U + -0.004539,-0.003652,-0.001431; // trans x,y,z + 0.033703,0.005489,-0.011442,0.999351; // Quaternion x,y,z,w +} + +Bone17{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.452249,0.155351,0.063431,0.875964; // Quaternion x,y,z,w +} + +Bone18{r + -0.000000,0.000000,0.000000; // trans x,y,z + 0.053563,0.209486,0.225559,0.949930; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000400,-0.000280,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.152993,0.679989,0.269687,0.664437; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000371,-0.000318,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.205588,-0.093466,-0.314429,0.922026; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,-0.539167,-0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,-0.316493,0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.644218,0.764842; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.717356,0.696706; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.747971,0.663731; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.560508,0.828148; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.846832,0.531861; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.215022,0.009848,0.039729,0.975751; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.059635,-0.001666,-0.036473,0.997552; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.071801,0.021426,0.997189; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + -0.010130,-0.011528,-0.015233; // trans x,y,z + -0.050364,-0.025884,-0.002748,0.998392; // Quaternion x,y,z,w +} + +Bone44{EQ + 0.002318,-0.001001,0.024282; // trans x,y,z + -0.064031,-0.010972,-0.002288,0.997885; // Quaternion x,y,z,w +} + +Bone45{ER + -0.003844,0.002464,0.002051; // trans x,y,z + 0.042893,-0.046583,-0.043355,0.997051; // Quaternion x,y,z,w +} + +Bone46{ES + -0.016446,-0.011908,-0.012559; // trans x,y,z + 0.080655,-0.097290,-0.071277,0.989419; // Quaternion x,y,z,w +} + +Bone47{ET + 0.002620,-0.005016,0.000693; // trans x,y,z + -0.086080,-0.087803,0.001073,0.992411; // Quaternion x,y,z,w +} + +Bone48{EU + 0.004413,-0.003883,-0.000959; // trans x,y,z + -0.041690,-0.045344,0.041680,0.997231; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.452249,-0.155351,-0.063431,0.875964; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.075738,-0.191819,-0.236235,0.949557; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000400,-0.000280,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.152993,-0.679989,-0.269687,0.664437; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000371,-0.000318,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.205588,0.093466,0.314429,0.922026; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,0.539167,0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,0.316493,-0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.644218,0.764842; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.717356,0.696706; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.747971,0.663731; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.560508,0.828148; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.846832,0.531861; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.218193,-0.010323,-0.042261,0.974936; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.055231,-0.000887,0.013740,0.998379; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.076578,-0.022852,0.996802; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.049979,0.000000,0.998750; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.096666,-0.011722,0.021404,0.995018; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.010795,-0.000001,0.000061,0.999942; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.117973,0.035714,-0.069732,0.989921; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 2.760365,0.000004,-0.093145; // trans x,y,z + 0.000000,0.188859,0.000000,0.982004; // Quaternion x,y,z,w +} + +Bone90{Ehj + 2.769862,0.000004,0.096637; // trans x,y,z + 0.000000,0.005000,0.000000,0.999987; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/05.vpd b/src/assets/model/mmd/vpds/05.vpd new file mode 100644 index 0000000..364aa68 --- /dev/null +++ b/src/assets/model/mmd/vpds/05.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + -4.784175,-0.600000,-0.099221; // trans x,y,z + 0.000000,-0.309816,0.000000,0.950795; // Quaternion x,y,z,w +} + +Bone1{㔼g + -0.000000,0.000000,0.000000; // trans x,y,z + -0.200338,-0.005978,-0.145091,0.968904; // Quaternion x,y,z,w +} + +Bone2{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.114170,-0.134388,-0.025439,0.984000; // Quaternion x,y,z,w +} + +Bone3{ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.078572,0.246756,0.052834,0.964440; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.134701,-0.093957,0.093927,0.981940; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.015615,0.113084,0.040682,0.992629; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.064705,-0.001473,-0.000096,0.997903; // Quaternion x,y,z,w +} + +Bone9{g + -0.000000,0.000000,0.000000; // trans x,y,z + -0.129634,0.000000,0.000000,0.991562; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000276,0.000523,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone11{P + 0.044734,-0.035267,-0.137655; // trans x,y,z + -0.066242,0.007056,0.000472,0.997779; // Quaternion x,y,z,w +} + +Bone12{Q + 0.039326,-0.016649,-0.106857; // trans x,y,z + -0.013569,0.032764,0.015741,0.999247; // Quaternion x,y,z,w +} + +Bone13{R + 0.033436,-0.025518,-0.050652; // trans x,y,z + 0.076140,0.052904,0.052210,0.994323; // Quaternion x,y,z,w +} + +Bone14{S + 0.007772,0.000487,0.003231; // trans x,y,z + 0.088952,0.013898,0.088227,0.992023; // Quaternion x,y,z,w +} + +Bone15{T + 0.007489,-0.014606,-0.003932; // trans x,y,z + 0.023681,-0.008335,0.072216,0.997073; // Quaternion x,y,z,w +} + +Bone16{U + -0.000897,-0.011129,0.000034; // trans x,y,z + -0.044215,-0.006788,0.043861,0.998036; // Quaternion x,y,z,w +} + +Bone17{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.118732,-0.302678,-0.038033,0.944903; // Quaternion x,y,z,w +} + +Bone18{r + -0.000000,0.000000,0.000000; // trans x,y,z + 0.012624,0.008100,-0.366231,0.930402; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.486696,0.658940,-0.000000,0.573520; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.004411,0.008974,-0.198659,0.980018; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,-0.539167,-0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,-0.316493,0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.644218,0.764842; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.717356,0.696706; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.747971,0.663731; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.560508,0.828148; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.846832,0.531861; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.114412,-0.001464,-0.014644,0.993325; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.064391,-0.002530,-0.039207,0.997151; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.007996,-0.080639,-0.038855,0.995953; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + 0.110817,-0.080059,-0.143625; // trans x,y,z + -0.089857,0.039426,0.003561,0.995168; // Quaternion x,y,z,w +} + +Bone44{EQ + 0.075671,-0.037308,-0.107349; // trans x,y,z + -0.004074,0.054526,0.055760,0.996946; // Quaternion x,y,z,w +} + +Bone45{ER + 0.035996,-0.034300,-0.047387; // trans x,y,z + 0.089613,-0.050381,0.072888,0.992028; // Quaternion x,y,z,w +} + +Bone46{ES + -0.004057,0.001264,0.003125; // trans x,y,z + 0.090609,-0.033441,0.090379,0.991213; // Quaternion x,y,z,w +} + +Bone47{ET + -0.002881,-0.014973,-0.005628; // trans x,y,z + 0.032205,0.002533,-0.018727,0.999303; // Quaternion x,y,z,w +} + +Bone48{EU + 0.000904,-0.011202,0.000089; // trans x,y,z + -0.043728,0.005147,-0.043949,0.998063; // Quaternion x,y,z,w +} + +Bone49{E + -0.000000,0.000000,0.000000; // trans x,y,z + -0.174827,-0.242999,0.018337,0.953966; // Quaternion x,y,z,w +} + +Bone50{Er + -0.000000,0.000000,0.000000; // trans x,y,z + 0.583633,-0.223313,0.245584,0.741074; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.404966,-0.548301,0.000000,0.731689; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + -0.000000,0.000000,0.000000; // trans x,y,z + 0.419764,0.006693,0.033763,0.906980; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,0.539167,0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,0.316493,-0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.091878,-0.111519,-0.000000,0.989506; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.073474,0.088138,0.000000,0.993395; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.112531,0.000775,0.007705,0.993618; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.056795,-0.001184,0.020193,0.998181; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.080843,-0.199380,-0.017618,0.976422; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.014945,0.084888,-0.001273,0.996277; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.133543,-0.019193,0.075299,0.987992; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.023979,0.001993,0.082815,0.996275; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.137928,0.041437,-0.018781,0.989397; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + -7.066986,0.356119,1.432202; // trans x,y,z + -0.138792,-0.151267,0.273639,0.939667; // Quaternion x,y,z,w +} + +Bone90{Ehj + -8.276029,5.241710,1.410848; // trans x,y,z + -0.682814,-0.092479,-0.370941,0.622587; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/06.vpd b/src/assets/model/mmd/vpds/06.vpd new file mode 100644 index 0000000..d4101d2 --- /dev/null +++ b/src/assets/model/mmd/vpds/06.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + 6.044695,-1.000000,-0.864376; // trans x,y,z + 0.000000,0.169182,0.000000,0.985585; // Quaternion x,y,z,w +} + +Bone1{㔼g + -0.000000,0.000000,0.000000; // trans x,y,z + -0.179438,0.096443,0.274774,0.939679; // Quaternion x,y,z,w +} + +Bone2{ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.094857,0.000000,0.000000,0.995491; // Quaternion x,y,z,w +} + +Bone3{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000513,-0.095055,-0.188324,0.977495; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.143450,0.156967,-0.191428,0.958196; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.049068,0.003301,-0.013760,0.998695; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.092164,-0.088295,-0.005325,0.991807; // Quaternion x,y,z,w +} + +Bone9{g + -0.000000,0.000000,0.000000; // trans x,y,z + -0.083989,-0.004002,0.070534,0.993959; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone11{P + -0.069552,-0.057243,-0.105616; // trans x,y,z + -0.085483,-0.025997,-0.002232,0.995998; // Quaternion x,y,z,w +} + +Bone12{Q + -0.041665,-0.037653,-0.078290; // trans x,y,z + -0.025639,-0.034512,-0.035223,0.998454; // Quaternion x,y,z,w +} + +Bone13{R + -0.017508,-0.036749,-0.039345; // trans x,y,z + 0.074528,0.045125,-0.059877,0.994396; // Quaternion x,y,z,w +} + +Bone14{S + 0.005882,0.000240,0.001595; // trans x,y,z + 0.090541,0.014709,-0.026040,0.995444; // Quaternion x,y,z,w +} + +Bone15{T + 0.005191,-0.014821,-0.000029; // trans x,y,z + -0.012366,-0.000444,0.034423,0.999331; // Quaternion x,y,z,w +} + +Bone16{U + -0.000927,-0.011096,0.000091; // trans x,y,z + -0.043683,-0.002470,0.044012,0.998072; // Quaternion x,y,z,w +} + +Bone17{ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.188859,0.982004; // Quaternion x,y,z,w +} + +Bone18{r + -0.000000,0.000000,0.000000; // trans x,y,z + -0.066629,-0.033544,-0.152078,0.985549; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.265631,-0.185590,0.000000,0.946042; // Quaternion x,y,z,w +} + +Bone20{Ђ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.566207,0.679266,-0.000000,0.466913; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000371,0.000318,0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.219048,0.279322,0.356549,0.864216; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,-0.539167,-0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,-0.316493,0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.165350,0.149786,-0.179310,0.958161; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.049979,0.998750; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.028453,-0.034844,-0.129503,0.990557; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.044985,0.998987; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.064954,0.997889; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.097217,-0.000845,0.000772,0.995263; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.017472,0.000049,0.002790,0.999843; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.026386,0.010853,-0.019162,0.999409; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + 0.001385,-0.035202,-0.093102; // trans x,y,z + -0.076838,0.004543,0.000350,0.997033; // Quaternion x,y,z,w +} + +Bone44{EQ + -0.007957,-0.025806,-0.070749; // trans x,y,z + -0.033159,-0.002378,0.004496,0.999437; // Quaternion x,y,z,w +} + +Bone45{ER + -0.013974,-0.029263,-0.035459; // trans x,y,z + 0.067180,-0.046853,-0.007513,0.996612; // Quaternion x,y,z,w +} + +Bone46{ES + -0.007628,0.000272,0.001854; // trans x,y,z + 0.086265,-0.020259,-0.046796,0.994966; // Quaternion x,y,z,w +} + +Bone47{ET + -0.004501,-0.013558,-0.001198; // trans x,y,z + 0.013948,-0.000272,-0.018024,0.999740; // Quaternion x,y,z,w +} + +Bone48{EU + 0.004453,-0.017690,-0.002359; // trans x,y,z + 0.005604,0.000555,-0.021563,0.999752; // Quaternion x,y,z,w +} + +Bone49{E + -0.000000,0.000000,0.000000; // trans x,y,z + 0.004363,0.124598,0.034720,0.991590; // Quaternion x,y,z,w +} + +Bone50{Er + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.118447,0.082756,-0.000000,0.989506; // Quaternion x,y,z,w +} + +Bone52{EЂ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.143568,-0.157781,-0.053841,0.975497; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000371,0.000318,0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + -0.000000,0.000000,0.000000; // trans x,y,z + -0.342847,0.123017,-0.508434,0.780267; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.156937,-0.129655,-0.000000,0.979061; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.137932,-0.181517,-0.000000,0.973666; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.026328,-0.042482,-0.000000,0.998750; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.054414,0.065167,-0.000000,0.996389; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.106422,0.156019,-0.014730,0.981893; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.200689,-0.010983,-0.043502,0.978627; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.050876,-0.001961,0.015389,0.998584; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.016125,-0.074877,-0.047008,0.995954; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.026755,-0.087873,-0.000724,0.995771; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.080749,-0.012059,-0.004218,0.996653; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.021489,0.000935,-0.040611,0.998944; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.107430,0.021253,-0.090321,0.989874; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 12.087521,2.875344,0.234539; // trans x,y,z + -0.246639,0.078375,0.154511,0.953492; // Quaternion x,y,z,w +} + +Bone90{Ehj + 5.974961,0.000003,-0.444818; // trans x,y,z + 0.000000,0.039989,0.000000,0.999200; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/07.vpd b/src/assets/model/mmd/vpds/07.vpd new file mode 100644 index 0000000..8e65ebb --- /dev/null +++ b/src/assets/model/mmd/vpds/07.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + -2.650023,0.000000,-0.000010; // trans x,y,z + 0.000000,-0.389418,0.000000,0.921060; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.178085,0.142619,0.109326,0.967466; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000324,0.086983,-0.055148,0.994681; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.119911,0.016550,-0.070643,0.990130; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.021507,-0.088437,-0.022799,0.995589; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.086462,0.023146,0.003897,0.995979; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.059964,0.998199; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000018,-0.000022,-0.003170,0.999995; // Quaternion x,y,z,w +} + +Bone11{P + -0.035747,-0.063019,-0.153373; // trans x,y,z + -0.078264,-0.013234,-0.001230,0.996844; // Quaternion x,y,z,w +} + +Bone12{Q + -0.003666,-0.038082,-0.067287; // trans x,y,z + 0.034980,-0.034492,-0.023081,0.998526; // Quaternion x,y,z,w +} + +Bone13{R + 0.011789,-0.002747,0.018204; // trans x,y,z + 0.057351,0.078026,-0.048134,0.994136; // Quaternion x,y,z,w +} + +Bone14{S + 0.007770,-0.008975,0.002952; // trans x,y,z + 0.086984,0.019743,0.039775,0.995220; // Quaternion x,y,z,w +} + +Bone15{T + 0.002535,-0.000221,0.000009; // trans x,y,z + 0.039672,-0.004387,0.048495,0.998026; // Quaternion x,y,z,w +} + +Bone16{U + -0.000871,-0.010668,0.000084; // trans x,y,z + -0.043614,-0.007839,0.043749,0.998059; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.079915,-0.000000,0.996801; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + -0.402253,0.168613,-0.415402,0.798246; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000283,-0.000198,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.289079,0.603583,-0.112823,0.734433; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000262,-0.000225,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.062081,0.291566,-0.002349,0.954530; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027178,-0.203991,-0.100714,0.973399; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,-0.117068,0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.246207,0.969217; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.295802,0.955249; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.209878,0.977727; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.251370,0.967891; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.247928,0.968778; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.024331,-0.001149,-0.039371,0.998928; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.029839,-0.001692,-0.056587,0.997950; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + 0.032102,-0.061964,-0.149713; // trans x,y,z + -0.077268,0.012907,0.001007,0.996927; // Quaternion x,y,z,w +} + +Bone44{EQ + 0.012957,-0.030512,-0.114711; // trans x,y,z + 0.001556,0.022913,0.018730,0.999561; // Quaternion x,y,z,w +} + +Bone45{ER + 0.003489,-0.032110,-0.054439; // trans x,y,z + 0.090460,-0.047500,0.051287,0.993444; // Quaternion x,y,z,w +} + +Bone46{ES + -0.007473,-0.008861,0.002712; // trans x,y,z + 0.087012,-0.032495,-0.023395,0.995402; // Quaternion x,y,z,w +} + +Bone47{ET + -0.002610,-0.000232,-0.000001; // trans x,y,z + 0.039762,0.000433,-0.054225,0.997737; // Quaternion x,y,z,w +} + +Bone48{EU + 0.000879,-0.010717,0.000093; // trans x,y,z + -0.043609,0.008385,-0.043774,0.998054; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.084898,0.000000,0.996389; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.063556,0.040007,0.414178,0.907090; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000283,-0.000198,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000262,-0.000225,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,0.539167,0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,0.316493,-0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.644218,0.764842; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.717356,0.696706; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.747971,0.663731; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.560508,0.828148; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.846832,0.531861; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.098168,-0.004650,-0.043319,0.994216; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.030223,-0.000927,0.018367,0.999374; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.002717,-0.141079,-0.062341,0.988030; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.200000,0.000000,0.000000; // trans x,y,z + 0.030429,0.045967,-0.007192,0.998452; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.131867,-0.018335,0.022794,0.990836; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.021362,0.000028,0.001519,0.999771; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.142446,0.044211,-0.068757,0.986422; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + -3.826135,0.000007,1.003354; // trans x,y,z + 0.000000,-0.352274,0.000000,0.935896; // Quaternion x,y,z,w +} + +Bone90{Ehj + -2.588499,0.860598,-0.227916; // trans x,y,z + -0.274705,-0.277960,-0.054310,0.918871; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/08.vpd b/src/assets/model/mmd/vpds/08.vpd new file mode 100644 index 0000000..e3fe902 --- /dev/null +++ b/src/assets/model/mmd/vpds/08.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + 3.649999,-0.000000,0.000000; // trans x,y,z + 0.000000,0.945784,0.000000,0.324797; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.151222,-0.201533,-0.116601,0.960688; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.118560,-0.214354,-0.087090,0.965614; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.025153,-0.499040,0.007205,0.866184; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.119689,-0.025359,0.058427,0.990766; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.006831,0.114091,0.035263,0.992821; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.060483,0.060032,0.000850,0.996362; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.059964,0.000000,0.000000,0.998201; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.000005,1.000000; // Quaternion x,y,z,w +} + +Bone11{P + -0.054138,-0.063959,-0.138623; // trans x,y,z + -0.082407,-0.019116,-0.001582,0.996414; // Quaternion x,y,z,w +} + +Bone12{Q + -0.027475,-0.034706,-0.104309; // trans x,y,z + -0.006249,-0.038331,-0.026902,0.998883; // Quaternion x,y,z,w +} + +Bone13{R + -0.010507,-0.035200,-0.049211; // trans x,y,z + 0.086092,0.067137,-0.057015,0.992386; // Quaternion x,y,z,w +} + +Bone14{S + 0.006390,0.000414,0.003440; // trans x,y,z + 0.087435,0.015148,-0.000831,0.996055; // Quaternion x,y,z,w +} + +Bone15{T + 0.005658,-0.014803,-0.004799; // trans x,y,z + 0.024618,-0.004609,0.040766,0.998855; // Quaternion x,y,z,w +} + +Bone16{U + -0.000929,-0.011227,0.000085; // trans x,y,z + -0.043763,-0.005599,0.043886,0.998062; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.079915,0.000000,0.996802; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + -0.125065,-0.152542,-0.440377,0.875875; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.048446,0.057161,-0.000000,0.997189; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027178,-0.203991,-0.100714,0.973399; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,-0.117068,0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.246207,0.969217; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.295802,0.955249; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.209878,0.977727; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.251370,0.967891; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.247928,0.968778; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.059941,-0.000256,0.000392,0.998202; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.034604,0.000514,-0.022721,0.999143; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000331,0.048057,0.013721,0.998750; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + -0.003045,-0.021494,-0.031046; // trans x,y,z + -0.009905,0.009930,0.008663,0.999864; // Quaternion x,y,z,w +} + +Bone44{EQ + -0.019691,0.011425,0.048420; // trans x,y,z + -0.046722,0.004020,0.001181,0.998899; // Quaternion x,y,z,w +} + +Bone45{ER + -0.007269,0.006413,0.005088; // trans x,y,z + 0.047637,-0.042250,0.030083,0.997517; // Quaternion x,y,z,w +} + +Bone46{ES + -0.014683,-0.024475,-0.028685; // trans x,y,z + 0.092895,-0.028962,-0.054003,0.993788; // Quaternion x,y,z,w +} + +Bone47{ET + -0.001267,-0.005345,-0.001412; // trans x,y,z + 0.023808,0.005917,-0.050820,0.998406; // Quaternion x,y,z,w +} + +Bone48{EU + 0.002414,-0.000238,0.000275; // trans x,y,z + -0.043516,0.003641,-0.043502,0.998099; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.065092,0.055933,-0.003496,0.996304; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.046330,0.086839,0.517381,0.850076; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.115987,-0.094227,-0.079017,0.985608; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,0.539167,0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,0.316493,-0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.644218,0.764842; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.717356,0.696706; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.747971,0.663731; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.560508,0.828148; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.846832,0.531861; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.057361,0.000347,0.002657,0.998350; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.046153,-0.000989,0.034129,0.998351; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.003773,-0.136411,-0.028965,0.990222; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.104807,0.000000,0.994493; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.114289,-0.015617,0.007668,0.993295; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.008537,0.000354,-0.021595,0.999730; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.135567,0.033388,-0.080766,0.986906; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 3.777401,5.600004,-5.115785; // trans x,y,z + -0.147301,0.564172,0.805840,0.103127; // Quaternion x,y,z,w +} + +Bone90{Ehj + 5.340622,0.000003,-0.630037; // trans x,y,z + 0.000000,0.935616,0.000000,0.353020; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/09.vpd b/src/assets/model/mmd/vpds/09.vpd new file mode 100644 index 0000000..fc571ea --- /dev/null +++ b/src/assets/model/mmd/vpds/09.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + 1.940141,-7.240369,-0.173488; // trans x,y,z + 0.454959,-0.499020,0.540608,0.501729; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.412320,0.000001,-0.000001,0.911038; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.004991,0.023075,0.055346,0.998187; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.141561,0.456307,0.143209,0.866738; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.100699,-0.147968,0.195939,0.964145; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.138779,-0.029275,-0.037861,0.989166; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.218539,-0.172139,-0.065927,0.958260; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + -0.010000,0.000000,-0.000000,0.999950; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.008475,-0.019288,0.178013,0.983804; // Quaternion x,y,z,w +} + +Bone11{P + -0.034183,-0.007925,0.005016; // trans x,y,z + -0.092197,-0.086403,-0.017204,0.991837; // Quaternion x,y,z,w +} + +Bone12{Q + 0.017336,0.001354,-0.000895; // trans x,y,z + -0.097496,-0.024540,-0.002480,0.994930; // Quaternion x,y,z,w +} + +Bone13{R + -0.010167,-0.002737,0.004987; // trans x,y,z + 0.041940,-0.052055,-0.033817,0.997190; // Quaternion x,y,z,w +} + +Bone14{S + -0.005808,0.000030,0.004673; // trans x,y,z + 0.095230,-0.080325,0.094290,0.987719; // Quaternion x,y,z,w +} + +Bone15{T + 0.005454,0.000985,-0.004590; // trans x,y,z + 0.100229,-0.081376,0.099481,0.986628; // Quaternion x,y,z,w +} + +Bone16{U + 0.005063,-0.000420,-0.005930; // trans x,y,z + 0.043478,0.008208,0.043141,0.998089; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.029995,0.000000,0.999549; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + -0.595373,-0.221604,-0.215225,0.741687; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000283,-0.000198,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.547959,0.727101,-0.011650,0.413436; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000262,-0.000225,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027178,-0.203991,-0.100714,0.973399; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,-0.117068,0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.246207,0.969217; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.295802,0.955249; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.209878,0.977727; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.251370,0.967891; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.247928,0.968778; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + -0.094274,0.077642,0.018505,0.992343; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.174093,-0.142045,0.120414,0.966963; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.014582,0.003862,-0.074995,0.997069; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.188859,0.000001,-0.000000,0.982004; // Quaternion x,y,z,w +} + +Bone43{EP + -0.099742,-0.010754,-0.107566; // trans x,y,z + 0.133647,0.127106,0.071154,0.980266; // Quaternion x,y,z,w +} + +Bone44{EQ + -0.034294,0.024782,-0.019091; // trans x,y,z + -0.098911,0.040075,0.001877,0.994287; // Quaternion x,y,z,w +} + +Bone45{ER + -0.086952,-0.036850,-0.189773; // trans x,y,z + -0.056973,0.077570,0.174528,0.979937; // Quaternion x,y,z,w +} + +Bone46{ES + 0.260449,-0.035773,0.094236; // trans x,y,z + -0.114918,0.128582,0.079929,0.981770; // Quaternion x,y,z,w +} + +Bone47{ET + 0.007479,0.041478,-0.014392; // trans x,y,z + 0.082510,0.091188,-0.094108,0.987937; // Quaternion x,y,z,w +} + +Bone48{EU + 0.000151,-0.001976,0.000748; // trans x,y,z + 0.007204,0.044163,-0.036140,0.998344; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.171085,-0.030824,-0.060007,0.982943; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.421081,0.301613,0.258188,0.815508; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000283,-0.000198,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.506103,-0.768492,-0.030239,0.390335; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000262,-0.000225,-0.000001,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.116235,0.105734,0.113016,0.981089; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.128920,0.316544,0.132124,0.930442; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,0.117068,-0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.044459,0.032332,0.245835,0.967752; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.295802,0.955249; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.209878,0.977728; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.251370,0.967891; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.247928,0.968778; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.511944,-0.028012,-0.042122,0.857529; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.227366,-0.027872,-0.096606,0.968606; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.632474,0.008689,-0.023436,0.774176; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.937369,0.000003,-0.000002,0.348337; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.019999,-0.000000,0.000000,0.999799; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,0.079915,-0.000000,0.996802; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.049423,-0.037653,-0.128977,0.989700; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.042351,0.010446,-0.239245,0.969980; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.069280,-0.033158,-0.049572,0.995814; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 7.744065,-0.175429,0.659689; // trans x,y,z + 0.454959,-0.499020,0.540608,0.501729; // Quaternion x,y,z,w +} + +Bone90{Ehj + 9.449584,-0.314716,-0.904193; // trans x,y,z + 0.454959,-0.499020,0.540608,0.501729; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/10.vpd b/src/assets/model/mmd/vpds/10.vpd new file mode 100644 index 0000000..108b70f --- /dev/null +++ b/src/assets/model/mmd/vpds/10.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + -0.016793,-7.011534,0.591861; // trans x,y,z + -0.027047,-0.724976,0.688111,-0.013317; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.004989,-0.000325,-0.064953,0.997876; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.060857,0.396591,-0.114267,0.908821; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.227542,-0.043186,-0.180681,0.955884; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.130664,0.312302,-0.291922,0.894528; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.096643,0.101172,-0.077773,0.987105; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + -0.106082,-0.077185,-0.104239,0.985862; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.218230,-0.000000,0.000000,0.975897; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000001,-0.000000,0.173649,0.984810; // Quaternion x,y,z,w +} + +Bone11{P + 0.211092,0.097212,0.084799; // trans x,y,z + -0.115004,0.091414,0.002390,0.989149; // Quaternion x,y,z,w +} + +Bone12{Q + 0.156630,0.114231,0.077961; // trans x,y,z + -0.185510,0.090863,0.078985,0.975239; // Quaternion x,y,z,w +} + +Bone13{R + 0.066586,0.015816,0.079353; // trans x,y,z + -0.063163,-0.050500,-0.022139,0.996479; // Quaternion x,y,z,w +} + +Bone14{S + 0.004553,0.001743,0.002252; // trans x,y,z + 0.088407,-0.020059,0.094469,0.991392; // Quaternion x,y,z,w +} + +Bone15{T + -0.004623,-0.000108,0.000142; // trans x,y,z + -0.003393,0.087282,0.054435,0.994689; // Quaternion x,y,z,w +} + +Bone16{U + -0.000417,-0.000431,-0.000143; // trans x,y,z + -0.015465,-0.032663,-0.000166,0.999347; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.151043,0.181281,0.251768,0.938582; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.545241,-0.064415,0.079108,0.832049; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.469058,0.635060,0.000000,0.613746; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.295520,0.955337; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027178,-0.203991,-0.100714,0.973399; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,-0.117068,0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.063722,0.997967; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.164543,0.986369; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.209878,0.977727; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.332634,0.943056; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000001,-0.380689,0.924703; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.154229,0.004889,0.032891,0.987477; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + -0.144022,-0.009275,0.023832,0.989246; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.286585,0.109487,-0.122241,0.943895; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.953608,-0.000000,-0.000000,0.301053; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.064525,0.007453,-0.114504,0.991297; // Quaternion x,y,z,w +} + +Bone43{EP + 0.502610,0.046999,-0.588389; // trans x,y,z + -0.408504,0.447103,0.200149,0.770174; // Quaternion x,y,z,w +} + +Bone44{EQ + 0.654711,-0.597717,0.276908; // trans x,y,z + 0.125253,-0.180801,0.104566,0.969891; // Quaternion x,y,z,w +} + +Bone45{ER + 0.032758,-0.303965,-0.142821; // trans x,y,z + 0.013091,-0.230179,-0.054211,0.971549; // Quaternion x,y,z,w +} + +Bone46{ES + 0.045097,-0.079780,-0.022619; // trans x,y,z + 0.028877,-0.105588,-0.114954,0.987321; // Quaternion x,y,z,w +} + +Bone47{ET + 0.173733,-0.133848,-0.155488; // trans x,y,z + 0.114406,-0.104983,0.116899,0.980930; // Quaternion x,y,z,w +} + +Bone48{EU + 0.007882,-0.011396,0.014978; // trans x,y,z + -0.031501,-0.051633,-0.052613,0.996782; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.258406,-0.080179,-0.502344,0.821248; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.121531,0.000791,-0.288422,0.949758; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.123305,-0.054506,-0.055585,0.989310; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.180075,0.161711,-0.353770,0.903476; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.156937,-0.129655,-0.000000,0.979061; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.137932,-0.181517,-0.000000,0.973666; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.026328,-0.042482,-0.000000,0.998750; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.054414,0.065167,-0.000000,0.996389; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.126574,0.177750,-0.029056,0.975468; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.183946,0.982936; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.283384,0.025844,0.083746,0.954995; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.136597,0.008301,-0.019744,0.990397; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.287823,-0.171651,-0.303324,0.892014; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.935616,0.000000,-0.000000,0.353019; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.079240,-0.021932,-0.127766,0.988391; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.026273,0.080658,0.006587,0.996374; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + -0.032178,0.024784,-0.015231,0.999061; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.042177,0.011195,-0.254793,0.966013; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.008072,-0.013813,0.004368,0.999864; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone90{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.200000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/11.vpd b/src/assets/model/mmd/vpds/11.vpd new file mode 100644 index 0000000..9a459f1 --- /dev/null +++ b/src/assets/model/mmd/vpds/11.vpd @@ -0,0 +1,470 @@ +Vocaloid Pose Data file + +~N.osm; // et@C +93; // |[Y{[ + +Bone0{Z^[ + -1.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.064954,0.000000,0.997888; // Quaternion x,y,z,w +} + +Bone1{㔼g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.119712,0.992808; // Quaternion x,y,z,w +} + +Bone2{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.049777,0.089766,0.004492,0.994708; // Quaternion x,y,z,w +} + +Bone3{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone4{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone5{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone6{ȸP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.135863,0.083997,-0.033364,0.986597; // Quaternion x,y,z,w +} + +Bone7{ȸQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.101563,-0.213890,-0.086639,0.967693; // Quaternion x,y,z,w +} + +Bone8{ȸR + 0.000000,0.000000,0.000000; // trans x,y,z + -0.029215,0.071890,0.020613,0.996772; // Quaternion x,y,z,w +} + +Bone9{g + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone10{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000699,1.000000; // Quaternion x,y,z,w +} + +Bone11{P + -0.016858,-0.023582,-0.015618; // trans x,y,z + -0.045981,-0.057222,-0.034148,0.996717; // Quaternion x,y,z,w +} + +Bone12{Q + 0.046291,0.009794,0.023002; // trans x,y,z + -0.071028,-0.017293,-0.016160,0.997193; // Quaternion x,y,z,w +} + +Bone13{R + 0.009778,0.008064,0.001697; // trans x,y,z + 0.049948,0.044374,-0.045838,0.996712; // Quaternion x,y,z,w +} + +Bone14{S + -0.004633,-0.026133,-0.012235; // trans x,y,z + 0.091599,0.019753,-0.048591,0.994413; // Quaternion x,y,z,w +} + +Bone15{T + 0.000916,-0.004869,-0.000833; // trans x,y,z + -0.004329,-0.002247,0.031460,0.999493; // Quaternion x,y,z,w +} + +Bone16{U + -0.002327,-0.000191,0.000170; // trans x,y,z + -0.043545,-0.002948,0.043707,0.998091; // Quaternion x,y,z,w +} + +Bone17{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.213347,0.000000,0.976976; // Quaternion x,y,z,w +} + +Bone18{r + 0.000000,0.000000,0.000000; // trans x,y,z + -0.113959,-0.104146,-0.201127,0.967324; // Quaternion x,y,z,w +} + +Bone19{r + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone20{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.545112,0.437070,0.454252,0.552701; // Quaternion x,y,z,w +} + +Bone21{蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone22{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.407760,0.913089; // Quaternion x,y,z,w +} + +Bone23{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone24{ewP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.027178,-0.203991,-0.100714,0.973399; // Quaternion x,y,z,w +} + +Bone25{ewQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.048807,-0.117068,0.133707,0.982871; // Quaternion x,y,z,w +} + +Bone26{lwP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.246207,0.969217; // Quaternion x,y,z,w +} + +Bone27{lwQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.280488,0.959857; // Quaternion x,y,z,w +} + +Bone28{lwR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone29{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.295802,0.955249; // Quaternion x,y,z,w +} + +Bone30{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.209878,0.977727; // Quaternion x,y,z,w +} + +Bone31{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.351275,0.936273; // Quaternion x,y,z,w +} + +Bone32{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.251370,0.967891; // Quaternion x,y,z,w +} + +Bone33{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.227217,0.973844; // Quaternion x,y,z,w +} + +Bone34{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.309350,0.950948; // Quaternion x,y,z,w +} + +Bone35{wP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.247928,0.968778; // Quaternion x,y,z,w +} + +Bone36{wQ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.285601,0.958349; // Quaternion x,y,z,w +} + +Bone37{wR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.287303,0.957840; // Quaternion x,y,z,w +} + +Bone38{đO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.182578,-0.003028,-0.019625,0.982991; // Quaternion x,y,z,w +} + +Bone39{Č + 0.000000,0.000000,0.000000; // trans x,y,z + 0.030140,0.000484,-0.040598,0.998721; // Quaternion x,y,z,w +} + +Bone40{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone41{Ђ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone42{ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone43{EP + -0.013454,-0.020987,-0.021410; // trans x,y,z + -0.033071,-0.010069,0.003195,0.999397; // Quaternion x,y,z,w +} + +Bone44{EQ + -0.015103,-0.000301,0.035070; // trans x,y,z + -0.057242,-0.004219,0.000937,0.998351; // Quaternion x,y,z,w +} + +Bone45{ER + -0.010516,0.004194,0.004377; // trans x,y,z + 0.043155,-0.045281,-0.036699,0.997367; // Quaternion x,y,z,w +} + +Bone46{ES + -0.014239,-0.025257,-0.018237; // trans x,y,z + 0.090605,-0.009404,-0.058106,0.994146; // Quaternion x,y,z,w +} + +Bone47{ET + -0.001177,-0.005218,-0.000784; // trans x,y,z + -0.021889,0.000540,-0.047073,0.998652; // Quaternion x,y,z,w +} + +Bone48{EU + 0.002401,-0.000205,0.000214; // trans x,y,z + -0.043768,-0.001954,-0.043843,0.998077; // Quaternion x,y,z,w +} + +Bone49{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,-0.242556,0.970137; // Quaternion x,y,z,w +} + +Bone50{Er + 0.000000,0.000000,0.000000; // trans x,y,z + 0.192251,0.123107,-0.096405,0.968808; // Quaternion x,y,z,w +} + +Bone51{Er + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone52{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.510520,-0.737457,-0.226316,0.379877; // Quaternion x,y,z,w +} + +Bone53{E蝀 + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.000000,-0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone54{E + 0.000000,0.000000,0.000000; // trans x,y,z + -0.063915,-0.225058,-0.209918,0.949313; // Quaternion x,y,z,w +} + +Bone55{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone56{EewP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.071834,0.539167,0.266196,0.795784; // Quaternion x,y,z,w +} + +Bone57{EewQ + -0.000000,0.000000,0.000000; // trans x,y,z + -0.131950,0.316493,-0.361478,0.867037; // Quaternion x,y,z,w +} + +Bone58{ElwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.160812,-0.140139,0.180158,0.960231; // Quaternion x,y,z,w +} + +Bone59{ElwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone60{ElwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.049979,0.998750; // Quaternion x,y,z,w +} + +Bone61{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + -0.050546,0.061899,0.129220,0.988390; // Quaternion x,y,z,w +} + +Bone62{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,-0.044985,0.998987; // Quaternion x,y,z,w +} + +Bone63{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.064954,0.997889; // Quaternion x,y,z,w +} + +Bone64{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.655617,0.755093; // Quaternion x,y,z,w +} + +Bone65{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.601198,0.799100; // Quaternion x,y,z,w +} + +Bone66{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.773915,0.633289; // Quaternion x,y,z,w +} + +Bone67{EwP + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.648033,0.761611; // Quaternion x,y,z,w +} + +Bone68{EwQ + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.727725,0.685868; // Quaternion x,y,z,w +} + +Bone69{EwR + -0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,-0.000000,0.731145,0.682221; // Quaternion x,y,z,w +} + +Bone70{EđO + 0.000000,0.000000,0.000000; // trans x,y,z + 0.031039,0.000291,0.001310,0.999517; // Quaternion x,y,z,w +} + +Bone71{EČ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.030714,-0.000948,0.034224,0.998942; // Quaternion x,y,z,w +} + +Bone72{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone73{EЂ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone74{E + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone75{ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.000000,-0.029995,-0.000000,0.999550; // Quaternion x,y,z,w +} + +Bone76{OP + 0.000000,0.000000,0.000000; // trans x,y,z + 0.072773,-0.012557,-0.013504,0.997178; // Quaternion x,y,z,w +} + +Bone77{OQ + 0.000000,0.000000,0.000000; // trans x,y,z + -0.025678,0.001537,-0.056007,0.998099; // Quaternion x,y,z,w +} + +Bone78{OR + 0.000000,0.000000,0.000000; // trans x,y,z + 0.109518,0.017615,-0.091055,0.989649; // Quaternion x,y,z,w +} + +Bone79{ڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone80{Eڌ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone81{ȸS + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone82{V + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone83{EV + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone84{‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone85{E‚ܐ + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone86{ȸhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone87{hj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone88{Ehj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone89{hj + 1.546425,6.875941,1.425565; // trans x,y,z + -0.678681,-0.358682,0.235634,0.595997; // Quaternion x,y,z,w +} + +Bone90{Ehj + 0.065758,0.000016,0.017175; // trans x,y,z + 0.009407,-0.270854,-0.268012,0.924509; // Quaternion x,y,z,w +} + +Bone91{‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + +Bone92{E‚ܐhj + 0.000000,0.000000,0.000000; // trans x,y,z + 0.000000,0.000000,0.000000,1.000000; // Quaternion x,y,z,w +} + diff --git a/src/assets/model/mmd/vpds/readme.txt b/src/assets/model/mmd/vpds/readme.txt new file mode 100644 index 0000000..366c41c --- /dev/null +++ b/src/assets/model/mmd/vpds/readme.txt @@ -0,0 +1,12 @@ +ʂ̎Be|[Y + +EȉɏЉÉ悪܂B + http://seiga.nicovideo.jp/seiga/im5162984 +E|[YԍƓe͂萔łLÉłmFB +EƂ͂(Ƃ͂l)pf[^(1t[vmdt@C) + ~NVer2.3(ɂ܂l)pf[^(vpdt@C)܂B +E910́AIK/‚ܐIKOFFɂĂB +E12,34,56,78͂ꂼ2l񂾈ʒuɂȂĂ܂B +EpNGBEĔzzOKB{f[^̎gpɔ͖Ɛӂł肢܂B + + KEITEL \ No newline at end of file diff --git a/src/assets/sounds/a-glorious-awakening.mp3 b/src/assets/sounds/a-glorious-awakening.mp3 new file mode 100644 index 0000000..dd6908c Binary files /dev/null and b/src/assets/sounds/a-glorious-awakening.mp3 differ diff --git a/src/assets/vedio/sintel.mp4 b/src/assets/vedio/sintel.mp4 new file mode 100644 index 0000000..5418f94 Binary files /dev/null and b/src/assets/vedio/sintel.mp4 differ diff --git a/src/assets/vedio/sintel.ogv b/src/assets/vedio/sintel.ogv new file mode 100644 index 0000000..5924dba Binary files /dev/null and b/src/assets/vedio/sintel.ogv differ diff --git a/src/component/base/index.css b/src/component/base/index.css new file mode 100644 index 0000000..05e1bd9 --- /dev/null +++ b/src/component/base/index.css @@ -0,0 +1,80 @@ +body { + margin: 0; + background-color: #000; + color: #fff; + font-family: Monospace; + font-size: 13px; + line-height: 24px; + overscroll-behavior: none; +} + +a { + color: #ff0; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +button { + cursor: pointer; + text-transform: uppercase; +} + +a, +button, +input, +select { + pointer-events: auto; +} + +.lil-gui { + z-index: 2 !important; + /* TODO Solve this in HTML */ +} + +@media all and (max-width: 640px) { + .lil-gui.root { + right: auto; + top: auto; + max-height: 50%; + max-width: 80%; + bottom: 0; + left: 0; + } +} + +#overlay { + position: absolute; + font-size: 16px; + z-index: 2; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + background: rgba(0, 0, 0, 0.7); +} + +#overlay button { + background: transparent; + border: 0; + border: 1px solid rgb(255, 255, 255); + border-radius: 4px; + color: #ffffff; + padding: 12px 18px; + text-transform: uppercase; + cursor: pointer; +} + +#notSupported { + width: 50%; + margin: auto; + background-color: #f00; + margin-top: 20px; + padding: 10px; +} \ No newline at end of file diff --git a/src/component/base/index.html b/src/component/base/index.html new file mode 100644 index 0000000..d1c60f1 --- /dev/null +++ b/src/component/base/index.html @@ -0,0 +1,16 @@ + + + + + Three Practice + + + + + + +

+ + + + \ No newline at end of file diff --git a/src/component/base/index.ts b/src/component/base/index.ts new file mode 100644 index 0000000..87375c4 --- /dev/null +++ b/src/component/base/index.ts @@ -0,0 +1,195 @@ +import { addFireWork, addStars, addFog, addSkyBox } from "@/utils/three/environment"; +import { addText3D } from '@src/utils/three/font' +import { + addPhysicsForFont, + addPhysicsForModel, + createCube, + createDefaultPhysicsWorld, + createGround, + createSphere, +} from "@/utils/three/physics"; +import { getRandomColor } from "@/utils/common"; +import { loadTexturesFromAtlas, useGltfLoader } from "@/utils/three/loader"; +import { setupAutoRotate } from "@/utils/three/animate"; +import * as THREE from "three"; +import Base from "@/utils/three/init"; +import type { Body, Vec3, World } from "cannon-es"; +import { addAmbientLightDefault, addDirectionalLightDefault } from '@/utils/three/light' +/** + * 创建一个简单的物理模拟场景 + * @param {Object} base - 包含场景、相机和渲染器的对象 + */ +async function addPhysicsTest(base: Base, world: World) { + const { scene, camera, renderer } = base; + + //添加地面 + const { groundBody, groundMesh } = createGround(); + world.addBody(groundBody); + scene.add(groundMesh); + /********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** */ + const fontList: string[] = [ + "Press", + "the", + "space", + "key", + "to", + "launch", + "Spark", + ]; + for (let i = 0; i < fontList.length; i++) { + const textMesh = await addText3D( + base, + fontList[i], + new THREE.Vector3(3 - i, 10 + i, i * 3 - 6), + ); + const { meshBody: textMeshBody } = addPhysicsForFont(textMesh); + world.addBody(textMeshBody); + } + /********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** */ + //添加立方体 + const { cubeBody, cubeMesh } = createCube(); + world.addBody(cubeBody); + scene.add(cubeMesh); + /********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** */ + // 添加球体 + const { sphereMesh, sphereBody } = createSphere({ + radius: 0.5, + // 半径增大 + position: new THREE.Vector3(0, 5, 5), + // 改变初始位置 + meshMaterialOptions: { + color: 0x0000ff, // 改变颜色为红色 + } + }); + world.addBody(sphereBody); + scene.add(sphereMesh); + /********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** */ + //添加飞机 + const loadGltfModelFunc = useGltfLoader(); + const planeModel = await loadGltfModelFunc( + "/src/assets/model/gltf/plane.gltf", + new THREE.Vector3(-5, 10, -5), + new THREE.Vector3(0.25, 0.25, 0.25), + ); + const { gltfBody: planeGltfBody } = addPhysicsForModel(planeModel, {}, 1); + base.scene.add(planeModel); + world.addBody(planeGltfBody); + // setupModelFlying(base, planeModel, planeGltfBody) + //添加房子 + const houseModel = await loadGltfModelFunc( + "/src/assets/model/gltf/littlest-tokyo.glb", + new THREE.Vector3(0, 2.2, 0), + new THREE.Vector3(0.01, 0.01, 0.01), + ); + const { gltfBody: houseGltfBody } = addPhysicsForModel(houseModel); + base.scene.add(houseModel); + world.addBody(houseGltfBody); + /********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** */ + // 渲染一个带多贴图的浮旋立方体 + const { cubeBody: floatCubeBody, cubeMesh: floatCubeMesh } = createCube({ + size: 3, + position: new THREE.Vector3(0, 8, 0), + mass: 0, + }); + const textures = await loadTexturesFromAtlas( + "/src/assets/images/textures/", + 6, + ); + // 创建一个材质数组,每个材质对应一个从纹理图集加载的贴图 + floatCubeMesh.material = textures.map( + (texture) => + new THREE.MeshBasicMaterial({ + map: texture, + }), + ); + setupAutoRotate(floatCubeMesh); + base.scene.add(floatCubeMesh); + world.addBody(floatCubeBody); + /********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** */ + // 鼠标点击事件处理 + let ballBodies: Body[] = []; + /** + * 当鼠标在渲染器的dom元素上按下时的事件监听器。 + * 该函数主要负责在地面位置创建一个物理球体,并将其同时渲染为一个视觉球体。 + * + * @param {MouseEvent} event 鼠标事件对象,包含了鼠标按下的详细信息。 + */ + renderer.domElement.addEventListener("mousedown", (event) => { + // 当鼠标左键按下时 + if (event.button === 0) { + const { sphereBody: ballBody, sphereMesh: ballMesh } = createSphere({ + radius: 0.5, + position: new THREE.Vector3(), + meshMaterialOptions: { + color: getRandomColor(), + } + }); + + // 使用Three的Raycaster来计算鼠标位置和场景中物体的交点 + const raycaster = new THREE.Raycaster(); + raycaster.setFromCamera( + new THREE.Vector2( + (event.clientX / window.innerWidth) * 2 - 1, + -(event.clientY / window.innerHeight) * 2 + 1, + ), + camera, + ); + // 检测鼠标点击是否与地面相交 + const intersections = raycaster.intersectObject(groundMesh); + if (intersections.length > 0) { + // 如果相交,将球体位置设置为相交点位置 + ballBody.position.copy(intersections[0].point as unknown as Vec3); + } else { + // 如果没有相交,打印错误信息并返回 + return; + } + // 将物理球体添加到物理世界 + ballBodies.push(ballBody); // 将球体添加到球体数组 + world.addBody(ballBody); + scene.add(ballMesh); // 将网格模型添加到场景中 + ballMesh.userData.cannonBody = ballBody; // 将物理球体与网格模型关联 + } + }); + /** + * 该函数用于实现动画循环。 + * 它通过调用requestAnimationFrame来递归自身,以在每一帧中更新物理世界的状态,并将物理模拟的结果应用到场景中的图形网格。 + */ + function animate() { + // 请求下一帧动画 + requestAnimationFrame(animate); + // 更新物理世界的状态 + world.step(1 / 60); // 步进物理模拟,参数为时间步长 + // 遍历球体集合,更新每个球体网格的位置和旋转,以匹配其对应的物理体状态 + ballBodies.forEach((body) => { + // 查找场景中与当前物理体对应的网格 + const mesh = scene.children.find( + (child) => child.userData.cannonBody === body, + ); + if (mesh) { + // 如果找到,更新网格的位置和旋转 + mesh.position.copy(body.position); + mesh.quaternion.copy(body.quaternion); + } + }); + } + animate(); +} + +// 示例用法 +const base = new Base({ + isSetUpGUI: true, + isSetUpControls: true + // isAddAxesHelper: true, + // isAddCameraHelper: true, + // isAddGridHelper: true, +}); + +const world = createDefaultPhysicsWorld(); +addPhysicsTest(base, world); +addFireWork(base); +// // 添加一定数量的星星 +addStars(base, 1000); // 数量根据实际情况调整 +addFog(base) +addAmbientLightDefault(base) +addDirectionalLightDefault(base) +addSkyBox(base) diff --git a/src/component/base2/index.html b/src/component/base2/index.html new file mode 100644 index 0000000..855c7bb --- /dev/null +++ b/src/component/base2/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/base2/index.ts b/src/component/base2/index.ts new file mode 100644 index 0000000..53a753f --- /dev/null +++ b/src/component/base2/index.ts @@ -0,0 +1,92 @@ + +import * as kokomi from "kokomi.js"; +import * as THREE from "three"; +import { createGround, createSphere, addPhysicsForFont } from '@src/utils/three/physics' +import { RoomEnvironment } from "three-stdlib"; +import { getRandomColor } from "@/utils/common"; +import type { Body } from "cannon-es"; +/** + * Sketch类继承自kokomi.Base,用于创建和管理一个Three的场景。 + * 该类主要功能是初始化相机、设置几何体和材质,以及管理场景中的物体。 + */ +export default class Sketch extends kokomi.Base { + am: kokomi.AssetManager + async create() { + new kokomi.OrbitControls(this); + this.camera.position.set(3, 3, 3); + /************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* */ + const { + groundMesh, + groundBody + } = createGround(); + this.scene.add(groundMesh); + this.physics.add({ mesh: groundMesh, body: groundBody, copyPosition: true, copyQuaternion: true }); + this.update(() => { + this.physics.update(1); + }); + /************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* */ + const ambiLight = new THREE.AmbientLight(0xffffff, 2); + this.scene.add(ambiLight); + const dirLight = new THREE.DirectionalLight(0xffffff, 2); + dirLight.position.set(1, 2, 3); + /************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* */ + // 使用PMREMGenerator从一个房间环境创建环境贴图 + const pmremGenerator = new THREE.PMREMGenerator(this.renderer); + this.scene.environment = pmremGenerator.fromScene( + RoomEnvironment(), + 0.04, + ).texture; + /************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* */ + const rs = new kokomi.RaycastSelector(this); + let ballBodies: Body[] = []; + this.container.addEventListener("mousedown", (e) => { + const target = rs.onChooseIntersect(groundMesh); + if (target) { + const p = target.point; + const { sphereBody: ballBody, sphereMesh: ballMesh } = createSphere({ + radius: 0.5, + position: p, + meshMaterialOptions: { + color: getRandomColor(), + } + }); + ballBodies.push(ballBody); // 将球体添加到球体数组 + this.physics.add({ mesh: ballMesh, body: ballBody }) + this.scene.add(ballMesh); // 将网格模型添加到场景中 + ballMesh.userData.cannonBody = ballBody; // 将物理球体与网格模型关联 + } + }); + /************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* */ + const font = await kokomi.loadFont(); + const t3d = new kokomi.Text3D( + this, + "hello world", + font, + { + font, + size: 0.5, + height: 0.2, + curveSegments: 120, + bevelEnabled: true, + bevelThickness: 0.03, + bevelSize: 0.02, + bevelOffset: 0, + }, + { + baseMaterial: new THREE.ShaderMaterial(), + materialParams: { + side: THREE.DoubleSide, + }, + } + ); + t3d.mesh.geometry.center(); + t3d.mesh.position.copy(new THREE.Vector3(0, 1, 0)); + t3d.addExisting(); + const { meshBody } = addPhysicsForFont(t3d.mesh) + this.physics.add({ mesh: t3d.mesh, body: meshBody }); + /************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* */ + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/base2/models.ts b/src/component/base2/models.ts new file mode 100644 index 0000000..c7ebd81 --- /dev/null +++ b/src/component/base2/models.ts @@ -0,0 +1,33 @@ +import * as THREE from "three"; +import * as kokomi from "kokomi.js"; +import { GLTF } from "three-stdlib"; +import type Base from './index' +export class Fox extends kokomi.Component { + base: Base; + gltf: GLTF; + animations: kokomi.AnimationManager; + currentAction: THREE.AnimationAction | null; + constructor(base: Base) { + super(base); + this.base = base; + this.gltf = this.base.am.items["fox"]; + this.animations = new kokomi.AnimationManager( + this.base, + this.gltf.animations, + this.gltf.scene + ); + this.currentAction = null; + } + addExisting() { + this.gltf.scene.scale.set(0.02, 0.02, 0.02); + this.base.scene.add(this.gltf.scene); + } + playAction(name: string) { + if (this.currentAction) { + this.currentAction.fadeOut(0.5); + } + const action = this.animations.actions[name]; + action.reset().fadeIn(0.5).play(); + this.currentAction = action; + } +} diff --git a/src/component/base2/resources.ts b/src/component/base2/resources.ts new file mode 100644 index 0000000..af23efe --- /dev/null +++ b/src/component/base2/resources.ts @@ -0,0 +1,9 @@ +import type * as kokomi from "kokomi.js"; +const resources: kokomi.ResourceItem[] = [ + { + name: "fox", + type: "gltfModel", + path: "../../assets/model/gltf/fox.glb", + }, +]; +export default resources; diff --git a/src/component/china-map/index.html b/src/component/china-map/index.html new file mode 100644 index 0000000..80b4aed --- /dev/null +++ b/src/component/china-map/index.html @@ -0,0 +1,20 @@ + + + + + Three Test + + + + + +
+ + + + + \ No newline at end of file diff --git a/src/component/china-map/index.ts b/src/component/china-map/index.ts new file mode 100644 index 0000000..1babb05 --- /dev/null +++ b/src/component/china-map/index.ts @@ -0,0 +1,67 @@ +import chinaJson from "@/assets/data/china-mercator.json"; +import * as THREE from "three"; +import Base from "@/utils/three/init"; +const { scene, camera } = new Base({ + isSetUpStats: true, // 是否设置统计信息显示 + isSetUpControls: true, // 是否设置相机控制 + isAddCameraHelper: true, // 是否添加相机辅助线 + isSetUpGUI: true, // 是否设置图形用户界面 +}); +camera.fov = 45; +camera.far = 1000000000; +const geoData = chinaJson as FeatureCollection; +// 处理地理数据,创建各个省份的3D模型 +geoData.features.forEach((elem) => { + const { coordinates } = elem.geometry; + coordinates.forEach((multiPolygon) => { + // 对每个省份创建一个3D对象 + const province = new THREE.Object3D(); + const lines = new THREE.Object3D(); + multiPolygon.forEach((polygon) => { + const shape = new THREE.Shape(); + const points = []; + for (let i = 0; i < polygon.length; i++) { + let [x, y] = polygon[i]; + x = x - 11600000; + y = y - 4000000; + if (i === 0) { + shape.moveTo(x, y); + points.push(new THREE.Vector3(x, y, 200001)); + } + shape.lineTo(x, y); + points.push(new THREE.Vector3(x, y, 200001)); + } + + // 创建并添加省份的3D模型和轮廓线 + const extrudeSettings = { + steps: 2, + depth: 200000, + bevelEnabled: true, + }; + const geometry = new THREE.ExtrudeGeometry(shape, extrudeSettings); + const material1 = new THREE.MeshPhongMaterial({ + color: "#02A1E2", + transparent: true, + opacity: 0.9, + }); + const material2 = new THREE.MeshPhongMaterial({ + color: "#3480C4", + transparent: true, + opacity: 0.9, + }); + const mesh = new THREE.Mesh(geometry, [material1, material2]); + province.add(mesh); + const lineGeometry = new THREE.BufferGeometry().setFromPoints(points); + const lineMaterial = new THREE.LineBasicMaterial({ + color: 0xffffff, + }); + const lineMesh = new THREE.Line(lineGeometry, lineMaterial); + lines.add(lineMesh); + }); + // 将省份模型和轮廓线添加到场景中 + scene.add(province); + scene.add(lines); + }); +}); +camera.position.set(0, -10000000, 10000000); +camera.lookAt(0, 0, 0); diff --git a/src/component/css3d_periodictable/index.css b/src/component/css3d_periodictable/index.css new file mode 100644 index 0000000..e93217a --- /dev/null +++ b/src/component/css3d_periodictable/index.css @@ -0,0 +1,73 @@ + +a { + color: #8ff; +} + +#menu { + position: absolute; + bottom: 20px; + width: 100%; + text-align: center; +} + +.element { + width: 120px; + height: 160px; + box-shadow: 0px 0px 12px rgba(0,255,255,0.5); + border: 1px solid rgba(127,255,255,0.25); + font-family: Helvetica, sans-serif; + text-align: center; + line-height: normal; + cursor: default; +} + +.element:hover { + box-shadow: 0px 0px 12px rgba(0,255,255,0.75); + border: 1px solid rgba(127,255,255,0.75); +} + + .element .number { + position: absolute; + top: 20px; + right: 20px; + font-size: 12px; + color: rgba(127,255,255,0.75); + } + + .element .symbol { + position: absolute; + top: 40px; + left: 0px; + right: 0px; + font-size: 60px; + font-weight: bold; + color: rgba(255,255,255,0.75); + text-shadow: 0 0 10px rgba(0,255,255,0.95); + } + + .element .details { + position: absolute; + bottom: 15px; + left: 0px; + right: 0px; + font-size: 12px; + color: rgba(127,255,255,0.75); + } + +button { + color: rgba(127,255,255,0.75); + background: transparent; + outline: 1px solid rgba(127,255,255,0.75); + border: 0px; + padding: 5px 10px; + cursor: pointer; +} + +button:hover { + background-color: rgba(0,255,255,0.5); +} + +button:active { + color: #000000; + background-color: rgba(0,255,255,0.75); +} diff --git a/src/component/css3d_periodictable/index.html b/src/component/css3d_periodictable/index.html new file mode 100644 index 0000000..93ac1af --- /dev/null +++ b/src/component/css3d_periodictable/index.html @@ -0,0 +1,24 @@ + + + + + three.js css3d - periodic table + + + + + + + +
three.js css3d - periodic table.
+
+ + + + + diff --git a/src/component/css3d_periodictable/index.ts b/src/component/css3d_periodictable/index.ts new file mode 100644 index 0000000..19a8d0c --- /dev/null +++ b/src/component/css3d_periodictable/index.ts @@ -0,0 +1,191 @@ + +import * as THREE from 'three'; +import TWEEN from 'three/examples/jsm/libs/tween.module'; +import { CSS3DRenderer, CSS3DObject, TrackballControls } from 'three-stdlib' +import table from './table' +interface Targets { + table: THREE.Object3D[] + sphere: THREE.Object3D[] + helix: THREE.Object3D[] + grid: THREE.Object3D[] +} +export default class Sketch { + /** + * 创建一个3D场景,并初始化相机、场景、控制器和渲染器。 + * 同时,根据预定义的数据初始化物体,并为每个物体创建对应的CSS3DObject。 + * 最后,设置窗口大小调整和动画更新的处理函数。 + */ + create() { + // 定义相机、场景、控制器和渲染器变量 + let camera: THREE.PerspectiveCamera; + let scene: THREE.Scene; + let controls: TrackballControls + let renderer: CSS3DRenderer; + // 定义物体和目标对象数组 + const objects: CSS3DObject[] = []; + const targets: Targets = { table: [], sphere: [], helix: [], grid: [] }; + + /** + * 初始化函数,用于设置相机、场景、物体和目标的位置和属性。 + * 同时创建CSS3DObject,并将其添加到场景中。 + */ + function init() { + // 初始化相机 + camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 1, 10000); + camera.position.z = 3000; + // 初始化场景 + scene = new THREE.Scene(); + // 遍历数据创建table相关的物体 + // table + for (let i = 0; i < table.length; i += 5) { + // 创建元素并设置样式 + const element = document.createElement('div'); + element.className = 'element'; + element.style.backgroundColor = 'rgba(0,127,127,' + (Math.random() * 0.5 + 0.25) + ')'; + // 创建并添加数字、符号和详细信息到元素 + const number = document.createElement('div'); + number.className = 'number'; + number.textContent = String((i / 5) + 1); + element.appendChild(number); + const symbol = document.createElement('div'); + symbol.className = 'symbol'; + symbol.textContent = String(table[i]); + element.appendChild(symbol); + const details = document.createElement('div'); + details.className = 'details'; + details.innerHTML = table[i + 1] + '
' + table[i + 2]; + element.appendChild(details); + // 创建CSS3DObject并将其添加到场景 + const objectCSS = new CSS3DObject(element); + objectCSS.position.x = Math.random() * 4000 - 2000; + objectCSS.position.y = Math.random() * 4000 - 2000; + objectCSS.position.z = Math.random() * 4000 - 2000; + scene.add(objectCSS); + objects.push(objectCSS); + // 创建并添加3D物体到对应的目标数组 + const object = new THREE.Object3D(); + object.position.x = (Number(table[i + 3]) * 140) - 1330; + object.position.y = - (Number(table[i + 4]) * 180) + 990; + targets.table.push(object); + } + // 根据物体数组创建sphere、helix和grid目标物体 + // sphere + const vector = new THREE.Vector3(); + for (let i = 0, l = objects.length; i < l; i++) { + const phi = Math.acos(- 1 + (2 * i) / l); + const theta = Math.sqrt(l * Math.PI) * phi; + const object = new THREE.Object3D(); + object.position.setFromSphericalCoords(800, phi, theta); + vector.copy(object.position).multiplyScalar(2); + object.lookAt(vector); + targets.sphere.push(object); + } + // helix + for (let i = 0, l = objects.length; i < l; i++) { + const theta = i * 0.175 + Math.PI; + const y = - (i * 8) + 450; + const object = new THREE.Object3D(); + object.position.setFromCylindricalCoords(900, theta, y); + vector.x = object.position.x * 2; + vector.y = object.position.y; + vector.z = object.position.z * 2; + object.lookAt(vector); + targets.helix.push(object); + } + // grid + for (let i = 0; i < objects.length; i++) { + const object = new THREE.Object3D(); + object.position.x = ((i % 5) * 400) - 800; + object.position.y = (- (Math.floor(i / 5) % 5) * 400) + 800; + object.position.z = (Math.floor(i / 25)) * 1000 - 2000; + targets.grid.push(object); + } + // 初始化渲染器和控制器 + renderer = new CSS3DRenderer(); + renderer.setSize(window.innerWidth, window.innerHeight); + document.getElementById('container')!.appendChild(renderer.domElement); + controls = new TrackballControls(camera, renderer.domElement); + controls.minDistance = 500; + controls.maxDistance = 6000; + controls.addEventListener('change', render); + // 为按钮添加点击事件监听器,实现物体布局切换 + const buttonTable = document.getElementById('table'); + buttonTable!.addEventListener('click', function () { + transform(targets.table, 2000); + }); + const buttonSphere = document.getElementById('sphere'); + buttonSphere!.addEventListener('click', function () { + transform(targets.sphere, 2000); + }); + const buttonHelix = document.getElementById('helix'); + buttonHelix!.addEventListener('click', function () { + transform(targets.helix, 2000); + }); + const buttonGrid = document.getElementById('grid'); + buttonGrid!.addEventListener('click', function () { + transform(targets.grid, 2000); + }); + // 初始布局为table + transform(targets.table, 2000); + // 设置窗口大小调整和动画更新的处理函数 + window.addEventListener('resize', onWindowResize); + } + + /** + * 将物体从当前布局平滑过渡到新的布局。 + * @param {THREE.Object3D[]} targets - 目标布局的物体数组。 + * @param {number} duration - 过渡持续时间。 + */ + function transform(targets: THREE.Object3D[], duration: number) { + TWEEN.removeAll(); + for (let i = 0; i < objects.length; i++) { + const object = objects[i]; + const target = targets[i]; + // 创建位置和旋转的Tween动画 + new TWEEN.Tween(object.position) + .to({ x: target.position.x, y: target.position.y, z: target.position.z }, Math.random() * duration + duration) + .easing(TWEEN.Easing.Exponential.InOut) + .start(); + new TWEEN.Tween(object.rotation) + .to({ x: target.rotation.x, y: target.rotation.y, z: target.rotation.z }, Math.random() * duration + duration) + .easing(TWEEN.Easing.Exponential.InOut) + .start(); + } + // 创建整体Tween动画,用于更新和渲染 + new TWEEN.Tween(this) + .to({}, duration * 2) + .onUpdate(render) + .start(); + } + + /** + * 处理窗口大小调整事件,更新相机和渲染器的尺寸。 + */ + function onWindowResize() { + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + render(); + } + + /** + * 渲染场景到相机。 + */ + function render() { + renderer.render(scene, camera); + } + + function animate() { + + requestAnimationFrame(animate); + + TWEEN.update(); + + controls.update(); + } + init() + animate() + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch(); +sketch.create(); diff --git a/src/component/css3d_periodictable/table.ts b/src/component/css3d_periodictable/table.ts new file mode 100644 index 0000000..c2f241c --- /dev/null +++ b/src/component/css3d_periodictable/table.ts @@ -0,0 +1,121 @@ +const table = [ + 'H', 'Hydrogen', '1.00794', 1, 1, + 'He', 'Helium', '4.002602', 18, 1, + 'Li', 'Lithium', '6.941', 1, 2, + 'Be', 'Beryllium', '9.012182', 2, 2, + 'B', 'Boron', '10.811', 13, 2, + 'C', 'Carbon', '12.0107', 14, 2, + 'N', 'Nitrogen', '14.0067', 15, 2, + 'O', 'Oxygen', '15.9994', 16, 2, + 'F', 'Fluorine', '18.9984032', 17, 2, + 'Ne', 'Neon', '20.1797', 18, 2, + 'Na', 'Sodium', '22.98976...', 1, 3, + 'Mg', 'Magnesium', '24.305', 2, 3, + 'Al', 'Aluminium', '26.9815386', 13, 3, + 'Si', 'Silicon', '28.0855', 14, 3, + 'P', 'Phosphorus', '30.973762', 15, 3, + 'S', 'Sulfur', '32.065', 16, 3, + 'Cl', 'Chlorine', '35.453', 17, 3, + 'Ar', 'Argon', '39.948', 18, 3, + 'K', 'Potassium', '39.948', 1, 4, + 'Ca', 'Calcium', '40.078', 2, 4, + 'Sc', 'Scandium', '44.955912', 3, 4, + 'Ti', 'Titanium', '47.867', 4, 4, + 'V', 'Vanadium', '50.9415', 5, 4, + 'Cr', 'Chromium', '51.9961', 6, 4, + 'Mn', 'Manganese', '54.938045', 7, 4, + 'Fe', 'Iron', '55.845', 8, 4, + 'Co', 'Cobalt', '58.933195', 9, 4, + 'Ni', 'Nickel', '58.6934', 10, 4, + 'Cu', 'Copper', '63.546', 11, 4, + 'Zn', 'Zinc', '65.38', 12, 4, + 'Ga', 'Gallium', '69.723', 13, 4, + 'Ge', 'Germanium', '72.63', 14, 4, + 'As', 'Arsenic', '74.9216', 15, 4, + 'Se', 'Selenium', '78.96', 16, 4, + 'Br', 'Bromine', '79.904', 17, 4, + 'Kr', 'Krypton', '83.798', 18, 4, + 'Rb', 'Rubidium', '85.4678', 1, 5, + 'Sr', 'Strontium', '87.62', 2, 5, + 'Y', 'Yttrium', '88.90585', 3, 5, + 'Zr', 'Zirconium', '91.224', 4, 5, + 'Nb', 'Niobium', '92.90628', 5, 5, + 'Mo', 'Molybdenum', '95.96', 6, 5, + 'Tc', 'Technetium', '(98)', 7, 5, + 'Ru', 'Ruthenium', '101.07', 8, 5, + 'Rh', 'Rhodium', '102.9055', 9, 5, + 'Pd', 'Palladium', '106.42', 10, 5, + 'Ag', 'Silver', '107.8682', 11, 5, + 'Cd', 'Cadmium', '112.411', 12, 5, + 'In', 'Indium', '114.818', 13, 5, + 'Sn', 'Tin', '118.71', 14, 5, + 'Sb', 'Antimony', '121.76', 15, 5, + 'Te', 'Tellurium', '127.6', 16, 5, + 'I', 'Iodine', '126.90447', 17, 5, + 'Xe', 'Xenon', '131.293', 18, 5, + 'Cs', 'Caesium', '132.9054', 1, 6, + 'Ba', 'Barium', '132.9054', 2, 6, + 'La', 'Lanthanum', '138.90547', 4, 9, + 'Ce', 'Cerium', '140.116', 5, 9, + 'Pr', 'Praseodymium', '140.90765', 6, 9, + 'Nd', 'Neodymium', '144.242', 7, 9, + 'Pm', 'Promethium', '(145)', 8, 9, + 'Sm', 'Samarium', '150.36', 9, 9, + 'Eu', 'Europium', '151.964', 10, 9, + 'Gd', 'Gadolinium', '157.25', 11, 9, + 'Tb', 'Terbium', '158.92535', 12, 9, + 'Dy', 'Dysprosium', '162.5', 13, 9, + 'Ho', 'Holmium', '164.93032', 14, 9, + 'Er', 'Erbium', '167.259', 15, 9, + 'Tm', 'Thulium', '168.93421', 16, 9, + 'Yb', 'Ytterbium', '173.054', 17, 9, + 'Lu', 'Lutetium', '174.9668', 18, 9, + 'Hf', 'Hafnium', '178.49', 4, 6, + 'Ta', 'Tantalum', '180.94788', 5, 6, + 'W', 'Tungsten', '183.84', 6, 6, + 'Re', 'Rhenium', '186.207', 7, 6, + 'Os', 'Osmium', '190.23', 8, 6, + 'Ir', 'Iridium', '192.217', 9, 6, + 'Pt', 'Platinum', '195.084', 10, 6, + 'Au', 'Gold', '196.966569', 11, 6, + 'Hg', 'Mercury', '200.59', 12, 6, + 'Tl', 'Thallium', '204.3833', 13, 6, + 'Pb', 'Lead', '207.2', 14, 6, + 'Bi', 'Bismuth', '208.9804', 15, 6, + 'Po', 'Polonium', '(209)', 16, 6, + 'At', 'Astatine', '(210)', 17, 6, + 'Rn', 'Radon', '(222)', 18, 6, + 'Fr', 'Francium', '(223)', 1, 7, + 'Ra', 'Radium', '(226)', 2, 7, + 'Ac', 'Actinium', '(227)', 4, 10, + 'Th', 'Thorium', '232.03806', 5, 10, + 'Pa', 'Protactinium', '231.0588', 6, 10, + 'U', 'Uranium', '238.02891', 7, 10, + 'Np', 'Neptunium', '(237)', 8, 10, + 'Pu', 'Plutonium', '(244)', 9, 10, + 'Am', 'Americium', '(243)', 10, 10, + 'Cm', 'Curium', '(247)', 11, 10, + 'Bk', 'Berkelium', '(247)', 12, 10, + 'Cf', 'Californium', '(251)', 13, 10, + 'Es', 'Einstenium', '(252)', 14, 10, + 'Fm', 'Fermium', '(257)', 15, 10, + 'Md', 'Mendelevium', '(258)', 16, 10, + 'No', 'Nobelium', '(259)', 17, 10, + 'Lr', 'Lawrencium', '(262)', 18, 10, + 'Rf', 'Rutherfordium', '(267)', 4, 7, + 'Db', 'Dubnium', '(268)', 5, 7, + 'Sg', 'Seaborgium', '(271)', 6, 7, + 'Bh', 'Bohrium', '(272)', 7, 7, + 'Hs', 'Hassium', '(270)', 8, 7, + 'Mt', 'Meitnerium', '(276)', 9, 7, + 'Ds', 'Darmstadium', '(281)', 10, 7, + 'Rg', 'Roentgenium', '(280)', 11, 7, + 'Cn', 'Copernicium', '(285)', 12, 7, + 'Nh', 'Nihonium', '(286)', 13, 7, + 'Fl', 'Flerovium', '(289)', 14, 7, + 'Mc', 'Moscovium', '(290)', 15, 7, + 'Lv', 'Livermorium', '(293)', 16, 7, + 'Ts', 'Tennessine', '(294)', 17, 7, + 'Og', 'Oganesson', '(294)', 18, 7 +]; +export default table diff --git a/src/component/custom/index.html b/src/component/custom/index.html new file mode 100644 index 0000000..e36457b --- /dev/null +++ b/src/component/custom/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + \ No newline at end of file diff --git a/src/component/custom/index.ts b/src/component/custom/index.ts new file mode 100644 index 0000000..0038c65 --- /dev/null +++ b/src/component/custom/index.ts @@ -0,0 +1,156 @@ +import * as THREE from "three"; +import * as kokomi from "kokomi.js"; + +class Sketch extends kokomi.Base { + addGeometry(geometry: THREE.BufferGeometry, position: THREE.Vector3) { + // TODO 为每个几何体添加不同的材质可以让它们在场景中更加区分度高,更具观赏性。 + // 使用MeshBasicMaterial、MeshLambertMaterial、MeshPhongMaterial + // 或更现代的MeshStandardMaterial和MeshPhysicalMaterial可以赋予物体不同的外观效果。 + const material = new THREE.MeshStandardMaterial({ + color: Math.random() * 0xffffff, // 随机颜色 + }); + const mesh = new THREE.Mesh(geometry, material); + mesh.position.copy(position); + this.scene.add(mesh); + } + create() { + this.camera.position.set(0, 10, 20); + new kokomi.OrbitControls(this); + /************************************************************************************************************* */ + // 创建一个金字塔 + const geometry = new THREE.BufferGeometry(); + + // 定义顶点,注意在Three中y轴指向屏幕上方 + const vertices = new Float32Array([ + // 底面的四个顶点 + -1, + 0, + -1, // 顶点A (x, y, z) -> 左后下角 + 1, + 0, + -1, // 顶点B (x, y, z) -> 右后下角 + -1, + 0, + 1, // 顶点C (x, y, z) -> 左前下角 + 1, + 0, + 1, // 顶点D (x, y, z) -> 右前下角 + + // 顶点位于底面中心上方,y轴正值表示向上 + 0, + 2, + 0, // 顶点E (x, y, z) -> 顶部中心点 + ]); + + // 创建BufferGeometry并设置顶点位置属性 + geometry.setAttribute("position", new THREE.BufferAttribute(vertices, 3)); + + // 定义面,构成一个底部正方形和四个等腰三角形侧面 + const indices = new Uint32Array([ + // 四个侧面的三角形,注意顶点顺序以适应y轴向上 + 0, + 1, + 4, // 三角形 ABE + 1, + 3, + 4, // 三角形 BCE + 3, + 2, + 4, // 三角形 CDE + 2, + 0, + 4, // 三角形 DAE + // 底部正方形,注意顶点顺序以适应y轴向上 + 3, + 1, + 0, // 三角形 ABC + 0, + 2, + 3, // 三角形 ACD + ]); + + // 设置几何体的索引 + geometry.setIndex(new THREE.BufferAttribute(indices, 1)); + + // 添加到场景中 + this.addGeometry(geometry, new THREE.Vector3(-4, 4, -4)); + /************************************************************************************************************* */ + // 添加一个立方体到场景中 + this.addGeometry( + new THREE.BoxGeometry(1, 1, 1), + new THREE.Vector3(-4, 0, -4), + ); + // 创建并添加不同的几何体到场景中 + this.addGeometry( + new THREE.PlaneGeometry(4, 4), + new THREE.Vector3(0, -4, 0), + ); // 平面 + this.addGeometry( + new THREE.SphereGeometry(1, 32, 32), + new THREE.Vector3(-4, 0, 0), + ); // 球体 + this.addGeometry( + new THREE.CylinderGeometry(1, 1, 3, 32), + new THREE.Vector3(0, 4, 0), + ); // 圆柱体 + this.addGeometry( + new THREE.TetrahedronGeometry(1, 0), + new THREE.Vector3(0, 0, -4), + ); // 四面体 + this.addGeometry( + new THREE.OctahedronGeometry(1, 0), + new THREE.Vector3(0, 0, 4), + ); // 八面体 + this.addGeometry( + new THREE.DodecahedronGeometry(1, 0), + new THREE.Vector3(0, 0, 0), + ); // 十二面体 + this.addGeometry( + new THREE.IcosahedronGeometry(1, 0), + new THREE.Vector3(4, 4, 0), + ); // 二十面体 + this.addGeometry( + new THREE.TorusGeometry(1, 0.3, 16, 32), + new THREE.Vector3(-4, -4, 0), + ); // 圆环面 + this.addGeometry( + new THREE.TorusKnotGeometry(1, 0.2, 32, 8), + new THREE.Vector3(4, -4, 0), + ); // 圆环面结 + this.addGeometry( + new THREE.ConeGeometry(1, 2, 32), + new THREE.Vector3(4, 0, -4), + ); // 圆锥体 + // 创建一个圆环几何体 + const ringGeometry = new THREE.RingGeometry(0.5, 1, 32); + this.addGeometry(ringGeometry, new THREE.Vector3(-4, 4, 4)); // 圆环 + + // 创建一个旋转几何体 + const points = [new THREE.Vector2(1, 0), new THREE.Vector2(0, 1)]; + const latheGeometry = new THREE.LatheGeometry(points, 32); + this.addGeometry(latheGeometry, new THREE.Vector3(4, 0, 4)); // 旋转几何体 + /************************************************************************************************************* */ + // 添加一个定向光 + const light = new THREE.DirectionalLight(0xffffff, 1); // 白色光,强度为1 + light.position.set(1, 2, 3); // 设置光源位置 + this.scene.add(light); + + // 添加环境光以提供全局照明 + const ambientLight = new THREE.AmbientLight(0x404040); // 柔和的灰色环境光 + this.scene.add(ambientLight); + this.scene.background = new THREE.Color(0xffffff); + /************************************************************************************************************* */ + this.update(() => { + // 旋转所有几何体作为示例 + this.scene.children.forEach((object) => { + if (object instanceof THREE.Mesh) { + // object.rotation.x += 0.01; + object.rotation.y += 0.01; + } + }); + }); + } +} + +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/fps/index.html b/src/component/fps/index.html new file mode 100644 index 0000000..855c7bb --- /dev/null +++ b/src/component/fps/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/fps/index.ts b/src/component/fps/index.ts new file mode 100644 index 0000000..936e3fe --- /dev/null +++ b/src/component/fps/index.ts @@ -0,0 +1,418 @@ + +import * as kokomi from "kokomi.js"; +import * as THREE from 'three'; +import Stats from 'stats.js'; +import { Octree } from 'three/examples/jsm/math/Octree' +import { OctreeHelper } from 'three/examples/jsm/helpers/OctreeHelper'; +import { GUI } from 'lil-gui'; +import { Capsule, GLTF } from "three-stdlib"; +import resources from "./resources"; +export default class Sketch extends kokomi.Base { + am: kokomi.AssetManager + async create() { + const that = this + this.am = new kokomi.AssetManager(this, resources); + that.scene.background = new THREE.Color(0x88ccee); + that.scene.fog = new THREE.Fog(0x88ccee, 0, 50); + that.camera.near = 0.1; + that.camera.far = 1000; + that.camera.rotation.order = 'YXZ'; + that.camera.updateProjectionMatrix(); + // 添加环境光和方向光,用于场景中的照明 + const fillLight1 = new THREE.HemisphereLight(0x8dc1de, 0x00668d, 1.5); + fillLight1.position.set(2, 1, 1); + that.scene.add(fillLight1); + const directionalLight = new THREE.DirectionalLight(0xffffff, 2.5); + directionalLight.position.set(- 5, 25, - 1); + directionalLight.castShadow = true; + // 配置方向光的阴影效果 + directionalLight.shadow.camera.near = 0.01; + directionalLight.shadow.camera.far = 500; + directionalLight.shadow.camera.right = 30; + directionalLight.shadow.camera.left = - 30; + directionalLight.shadow.camera.top = 30; + directionalLight.shadow.camera.bottom = - 30; + directionalLight.shadow.mapSize.width = 1024; + directionalLight.shadow.mapSize.height = 1024; + directionalLight.shadow.radius = 4; + directionalLight.shadow.bias = - 0.00006; + that.scene.add(directionalLight); + // 开启阴影效果 + that.renderer.shadowMap.enabled = true; + that.renderer.shadowMap.type = THREE.VSMShadowMap; + that.renderer.toneMapping = THREE.ACESFilmicToneMapping; + // 初始化性能统计器 + const stats = new Stats(); + stats.dom.style.position = 'absolute'; + stats.dom.style.top = '0px'; + that.container.appendChild(stats.dom); + // 定义物理模拟的参数 + const GRAVITY = 30; + const NUM_SPHERES = 100; + const SPHERE_RADIUS = 0.2; + const STEPS_PER_FRAME = 5; + // 创建球体几何体和材质 + const sphereGeometry = new THREE.IcosahedronGeometry(SPHERE_RADIUS, 5); + const sphereMaterial = new THREE.MeshLambertMaterial({ color: 0xdede8d }); + interface SphereData { + mesh: THREE.Mesh; + collider: THREE.Sphere; + velocity: THREE.Vector3; + } + const spheres: SphereData[] = []; + let sphereIdx: number = 0; + // 创建并初始化多个球体,用于物理模拟 + for (let i = 0; i < NUM_SPHERES; i++) { + const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial); + sphere.castShadow = true; + sphere.receiveShadow = true; + that.scene.add(sphere); + spheres.push({ + mesh: sphere, + collider: new THREE.Sphere(new THREE.Vector3(0, -100, 0), SPHERE_RADIUS), + velocity: new THREE.Vector3() + }); + } + // 初始化用于空间分区的八叉树 + const worldOctree = new Octree(); + // 定义玩家碰撞胶囊,中心位于(0, 0.35, 0),方向为(0, 1, 0),半径为0.35 + const playerCollider = new Capsule(new THREE.Vector3(0, 0.35, 0), new THREE.Vector3(0, 1, 0), 0.35); + // 定义玩家的速度和方向向量 + const playerVelocity = new THREE.Vector3(); + const playerDirection = new THREE.Vector3(); + // 标记玩家是否在地面上,以及最后一次鼠标动作的时间 + let playerOnFloor = false; + let mouseTime = 0; + // 记录玩家按下的键的状态 + const keyStates: { [key: string]: boolean } = {}; + // 创建临时向量以供计算使用 + const vector1 = new THREE.Vector3(); + const vector2 = new THREE.Vector3(); + const vector3 = new THREE.Vector3(); + // 处理按键按下事件,记录按下的键 + document.addEventListener('keydown', (event) => { + keyStates[event.code] = true; + }); + // 处理按键释放事件,记录释放的键 + document.addEventListener('keyup', (event) => { + keyStates[event.code] = false; + }); + // 当鼠标点击时开始锁定指针,以控制相机 + that.container.addEventListener('mousedown', () => { + document.body.requestPointerLock(); + mouseTime = performance.now(); + }); + // 当鼠标释放时解除指针锁定 + document.addEventListener('mouseup', () => { + if (document.pointerLockElement !== null) throwBall(); + }); + // 当指针被锁定时,根据鼠标移动更新相机旋转 + document.body.addEventListener('mousemove', (event) => { + if (document.pointerLockElement === document.body) { + that.camera.rotation.y -= event.movementX / 500; + that.camera.rotation.x -= event.movementY / 500; + } + }); + // 当窗口大小改变时,调整渲染器尺寸并更新相机的宽高比 + window.addEventListener('resize', onWindowResize); + function onWindowResize() { + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + // 投掷球体的函数 + // 根据玩家的方向计算球体的方向,并向球体的速度添加冲量 + function throwBall() { + const sphere = spheres[sphereIdx]; + // 获取相机的世界方向作为玩家的方向 + that.camera.getWorldDirection(playerDirection); + // 设置球体碰撞器的中心点为玩家胶囊的终点加上一个方向向量乘以半径 + sphere.collider.center.copy(playerCollider.end).addScaledVector(playerDirection, playerCollider.radius * 1.5); + // 根据鼠标按钮按下的时间和玩家的前进速度计算冲量,并将其应用到球体的速度上 + // 按钮按得越久,或玩家向前移动时,球投得更有力 + const impulse = 15 + 30 * (1 - Math.exp((mouseTime - performance.now()) * 0.001)); + sphere.velocity.copy(playerDirection).multiplyScalar(impulse); + sphere.velocity.addScaledVector(playerVelocity, 2); + // 更新要投掷的球体索引 + sphereIdx = (sphereIdx + 1) % spheres.length; + } + /** + * 检测玩家角色与游戏世界中的碰撞。 + * 使用世界八叉树和玩家碰撞体来检测碰撞,并根据碰撞结果调整玩家的状态和位置。 + * 这个函数主要处理玩家是否站在地面上以及如何响应碰撞来调整玩家的运动状态。 + */ + function playerCollisions() { + // 使用世界八叉树和玩家碰撞体进行胶囊碰撞检测。 + const result = worldOctree.capsuleIntersect(playerCollider); + // 默认设置玩家不在地面上。 + playerOnFloor = false; + // 如果检测到碰撞,则处理碰撞结果。 + if (result) { + // 判断玩家是否站在地面上,基于碰撞法线的y轴分量。 + playerOnFloor = result.normal.y > 0; + // 如果玩家不在地面上,根据碰撞法线和玩家速度的点积,反向抵消部分速度。 + if (!playerOnFloor) { + playerVelocity.addScaledVector(result.normal, - result.normal.dot(playerVelocity)); + } + // 根据碰撞深度,沿着碰撞法线移动玩家碰撞体,以解决穿透问题。 + playerCollider.translate(result.normal.multiplyScalar(result.depth)); + } + } + /** + * 根据传递的时间差更新玩家状态。 + * 应用力阻尼和重力,更新玩家的位置,并处理碰撞。 + * @param {Number} deltaTime - 自上次更新以来的时间间隔。 + */ + function updatePlayer(deltaTime: number) { + // 计算阻尼因子,随时间降低玩家的速度。 + let damping = Math.exp(- 4 * deltaTime) - 1; + if (!playerOnFloor) { + // 在空中时应用重力影响。 + playerVelocity.y -= GRAVITY * deltaTime; + // 小气阻。 + damping *= 0.1; + } + // 应用阻尼到玩家速度上。 + playerVelocity.addScaledVector(playerVelocity, damping); + // 计算位置变化量。 + const positionChange = playerVelocity.clone().multiplyScalar(deltaTime); + playerCollider.translate(positionChange); + // 处理玩家碰撞。 + playerCollisions(); + // 更新摄像机位置跟随玩家。 + that.camera.position.copy(playerCollider.end); + } + /** + * 处理玩家与球体之间的碰撞。 + * @param {Object} sphere - 与玩家发生碰撞的球体对象。 + */ + function playerSphereCollision(sphere: SphereData) { + // 计算玩家中心点。 + const centerPoint = vector1.addVectors(playerCollider.start, playerCollider.end).multiplyScalar(0.5); + // 获取球体中心。 + const sphereCenter = sphere.collider.center; + // 计算两球半径之和的平方。 + const radiusSum = playerCollider.radius + sphere.collider.radius; + const radiusSquared = radiusSum * radiusSum; + // 近似:玩家由3个球体组成。 + for (const point of [playerCollider.start, playerCollider.end, centerPoint]) { + // 计算点到球体中心的距离平方。 + const distanceSquared = point.distanceToSquared(sphereCenter); + if (distanceSquared < radiusSquared) { + // 计算碰撞法线并标准化。 + const normal = vector1.subVectors(point, sphereCenter).normalize(); + // 投影玩家速度和球体速度到法线上。 + const v1 = vector2.copy(normal).multiplyScalar(normal.dot(playerVelocity)); + const v2 = vector3.copy(normal).multiplyScalar(normal.dot(sphere.velocity)); + // 更新玩家和球体速度。 + playerVelocity.add(v2).sub(v1); + sphere.velocity.add(v1).sub(v2); + // 计算需要移动的距离。 + const moveDistance = (radiusSum - Math.sqrt(distanceSquared)) / 2; + sphereCenter.addScaledVector(normal, - moveDistance); + } + } + } + /** + * 检查所有球体间的碰撞,并处理碰撞后的反弹效果。 + * 此函数通过遍历所有球体对,计算它们之间的距离和碰撞程度,然后调整它们的速度和位置。 + */ + function spheresCollisions() { + // 遍历所有球体,检查每对球体是否发生碰撞 + for (let i = 0, length = spheres.length; i < length; i++) { + const s1 = spheres[i]; + // 从当前球体向后遍历其他球体,避免重复检查 + for (let j = i + 1; j < length; j++) { + const s2 = spheres[j]; + // 计算两球心之间的距离平方 + const d2 = s1.collider.center.distanceToSquared(s2.collider.center); + // 计算两球半径之和的平方 + const r = s1.collider.radius + s2.collider.radius; + const r2 = r * r; + // 如果两球心距离小于两球半径之和,即发生碰撞 + if (d2 < r2) { + // 计算碰撞法线方向 + const normal = vector1.subVectors(s1.collider.center, s2.collider.center).normalize(); + // 计算两球在碰撞法线方向上的速度分量 + const v1 = vector2.copy(normal).multiplyScalar(normal.dot(s1.velocity)); + const v2 = vector3.copy(normal).multiplyScalar(normal.dot(s2.velocity)); + // 根据弹性碰撞公式调整两球速度 + s1.velocity.add(v2).sub(v1); + s2.velocity.add(v1).sub(v2); + // 计算两球心在碰撞法线方向上的位移 + const d = (r - Math.sqrt(d2)) / 2; + // 调整两球心位置,完成碰撞处理 + s1.collider.center.addScaledVector(normal, d); + s2.collider.center.addScaledVector(normal, -d); + } + } + } + } + /** + * 更新所有球体的状态,包括位置、速度等。 + * 此函数处理球体与世界、球体与球体之间的交互,如重力、碰撞反弹等。 + * @param {number} deltaTime - 本次更新与上次更新之间的时间间隔。 + */ + function updateSpheres(deltaTime: number) { + // 遍历所有球体,更新状态 + spheres.forEach(sphere => { + // 根据速度更新球体位置 + sphere.collider.center.addScaledVector(sphere.velocity, deltaTime); + // 检查球体与世界Octree的碰撞 + const result = worldOctree.sphereIntersect(sphere.collider); + if (result) { + // 如果球体与世界碰撞,调整速度和位置 + sphere.velocity.addScaledVector(result.normal, -result.normal.dot(sphere.velocity) * 1.5); + sphere.collider.center.add(result.normal.multiplyScalar(result.depth)); + } else { + // 如果没有碰撞,应用重力 + sphere.velocity.y -= GRAVITY * deltaTime; + } + // 应用速度阻尼,减少球体速度 + const damping = Math.exp(-1.5 * deltaTime) - 1; + sphere.velocity.addScaledVector(sphere.velocity, damping); + // 处理玩家球体碰撞 + playerSphereCollision(sphere); + }); + // 处理球体间碰撞 + spheresCollisions(); + // 更新球体mesh的位置,使其与物理状态同步 + for (const sphere of spheres) { + sphere.mesh.position.copy(sphere.collider.center); + } + } + /** + * 计算并返回玩家视角前向向量。 + * 此函数用于确定玩家的移动方向。 + * @returns {Vector3} 玩家视角前向向量。 + */ + function getForwardVector() { + // 获取相机指向的世界方向 + that.camera.getWorldDirection(playerDirection); + // 去除y分量,限制玩家只能在水平面上移动 + playerDirection.y = 0; + // 重新归一化,保持向量长度为1 + playerDirection.normalize(); + return playerDirection; + } + /** + * 计算并返回玩家视角侧向向量。 + * 此函数用于确定玩家的侧向移动方向。 + * @returns {Vector3} 玩家视角侧向向量。 + */ + function getSideVector() { + // 获取相机指向的世界方向 + that.camera.getWorldDirection(playerDirection); + // 去除y分量,限制玩家只能在水平面上移动 + playerDirection.y = 0; + // 重新归一化,保持向量长度为1 + playerDirection.normalize(); + // 计算与相机上向量的叉积,得到玩家的侧向向量 + playerDirection.cross(that.camera.up); + return playerDirection; + } + /** + * 处理玩家的控制输入,更新玩家的速度。 + * 此函数根据玩家的键盘输入调整玩家球体的速度。 + * @param {number} deltaTime - 本次更新与上次更新之间的时间间隔。 + */ + function controls(deltaTime: number) { + // 定义速度增量,玩家在地面时速度更快 + const speedDelta = deltaTime * (playerOnFloor ? 25 : 8); + // 根据W键输入,加速或减速玩家球体 + if (keyStates['KeyW']) { + playerVelocity.add(getForwardVector().multiplyScalar(speedDelta)); + } + if (keyStates['KeyS']) { + playerVelocity.add(getForwardVector().multiplyScalar(-speedDelta)); + } + // 根据A键和D键输入,让玩家球体侧滑 + if (keyStates['KeyA']) { + playerVelocity.add(getSideVector().multiplyScalar(-speedDelta)); + } + if (keyStates['KeyD']) { + playerVelocity.add(getSideVector().multiplyScalar(speedDelta)); + } + // 如果玩家在地面,允许跳跃 + if (playerOnFloor) { + if (keyStates['Space']) { + playerVelocity.y = 15; + } + } + } + // 创建GLTF加载器并设置模型路径 + this.am.on("ready", () => { + const gltf = this.am.items['collision-world'] as GLTF; + // 将加载的模型添加到场景中 + that.scene.add(gltf.scene); + // 从模型节点构建八叉树 + worldOctree.fromGraphNode(gltf.scene); + // 遍历模型的所有子节点 + gltf.scene.traverse(child => { + // 如果子节点是网格对象 + if (child instanceof THREE.Mesh) { + // 设置网格对象可投射阴影和接收阴影 + child.castShadow = true; + child.receiveShadow = true; + // 如果网格对象有材质贴图 + if (child.material.map) { + // 设置贴图各向异性级别 + child.material.map.anisotropy = 4; + } + } + }); + // 创建一个八叉树辅助对象 + const helper = new OctreeHelper(worldOctree); + // 设置辅助对象不可见 + helper.visible = true; + // 添加辅助对象到场景 + that.scene.add(helper); + // 初始化GUI界面 + const gui = new GUI({ width: 200 }); + // 在GUI上添加调试开关 + gui.add({ debug: false }, 'debug') + // 当调试开关状态改变时,更新辅助对象的可见性 + .onChange(function (value: boolean) { + helper.visible = value; + }); + }); + /** + * 检查玩家是否超出边界,如果超出则将玩家传送到安全位置。 + */ + function teleportPlayerIfOob() { + // 如果玩家位置Y坐标小于等于-25 + if (that.camera.position.y <= - 25) { + // 重置玩家碰撞检测起始点 + playerCollider.start.set(0, 0.35, 0); + // 重置玩家碰撞检测结束点 + playerCollider.end.set(0, 1, 0); + // 重置玩家碰撞半径 + playerCollider.radius = 0.35; + // 复制碰撞检测结束点到相机位置 + that.camera.position.copy(playerCollider.end); + // 重置相机旋转角度 + that.camera.rotation.set(0, 0, 0); + } + } + this.update(() => { + // 计算帧时间差,限制最大值并除以每帧步数 + const deltaTime = Math.min(0.05, that.clock.deltaTime) / STEPS_PER_FRAME; + // 使用多个子步骤来检测碰撞,减少物体穿透的风险 + for (let i = 0; i < STEPS_PER_FRAME; i++) { + // 更新控制输入 + controls(deltaTime); + // 更新玩家状态 + updatePlayer(deltaTime); + // 更新球体状态 + updateSpheres(deltaTime); + // 如果玩家超出边界,则进行传送 + teleportPlayerIfOob(); + } + // 更新性能统计信息 + stats.update(); + }) + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/fps/resources.ts b/src/component/fps/resources.ts new file mode 100644 index 0000000..fff3ee8 --- /dev/null +++ b/src/component/fps/resources.ts @@ -0,0 +1,10 @@ +import type * as kokomi from "kokomi.js"; +const resources: kokomi.ResourceItem[] = [ + { + name: "collision-world", + type: "gltfModel", + path: "../../assets/model/gltf/collision-world.glb", + + }, +]; +export default resources; diff --git a/src/component/gallery/experience.ts b/src/component/gallery/experience.ts new file mode 100644 index 0000000..4b4bbc6 --- /dev/null +++ b/src/component/gallery/experience.ts @@ -0,0 +1,44 @@ +import Debug from "../../debug"; +/** + * Experience类扩展自kokomi.Base,用于初始化和管理整个体验的核心组件。 + * @param {string} sel 选择器,用于指定DOM元素, 默认为"#sketch"。 + */ +import * as kokomi from "kokomi.js"; +import Postprocessing from "./postprocessing"; +import resources from "./resources"; +import World from "./world"; +export default class Experience extends kokomi.Base { + world: World; + debug: Debug; + am: kokomi.AssetManager; + postprocessing: Postprocessing; + constructor(sel = "#sketch") { + super(sel); + + // 将当前实例赋值给全局变量,以便于在其他地方访问。 + (window as any).experience = this; + + // 初始化调试工具。 + this.debug = new Debug(); + + // 初始化资源管理器。 + this.am = new kokomi.AssetManager(this, resources); + + // 设置屏幕相机并添加到场景中。 + const screenCamera = new kokomi.ScreenCamera(this); + screenCamera.addExisting(); + + // 初始化后处理效果,并将其添加到场景中。 + this.postprocessing = new Postprocessing(this); + this.postprocessing.addExisting(); + + // 更新函数中调整后处理的RGB移位,基于世界组件中的滑块滚动。 + this.update(() => { + this.postprocessing.ce.customPass.material.uniforms.uRGBShift.value = + Math.abs(this.world.slider?.ws.scroll.delta) * 0.0004; + }); + + // 初始化世界组件。 + this.world = new World(this); + } +} diff --git a/src/component/gallery/index.css b/src/component/gallery/index.css new file mode 100644 index 0000000..d08ca22 --- /dev/null +++ b/src/component/gallery/index.css @@ -0,0 +1,83 @@ +/* 页面基本样式 */ +html, body { + margin: 0; + padding: 0; + font-family: Arial, sans-serif; + overflow: hidden; +} + +#app { + line-height: 1.6; + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background-color: #f8f9fa; + color: #343a40; +} + +#sketch, .gallery { + position: fixed; + z-index: 2; + width: 100vw; + height: 100vh; + overflow: hidden; +} + +#sketch { + background: black; +} + +.gallery { + z-index: 1; +} + +.gallery .gallery-item { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 40vw; + height: 60vh; + opacity: 0; + transition: opacity 0.5s ease-out; /* 添加过渡效果以改善用户体验 */ +} + +.hollow { + opacity: 0; + pointer-events: none; +} + +.loader-screen { + position: fixed; + z-index: 10; /* 调整层级确保加载屏覆盖其他内容 */ + top: 0; + left: 0; + width: 100vw; + height: 100vh; + transition: background 0.3s; /* 仅对背景色进行过渡效果 */ + background: black; +} + +.loading-container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.loading { + color: white; + font-size: 1.875rem; + letter-spacing: 0.1em; +} + +.loading span { + animation: blur 1.5s calc(var(--i) / 5 * 1s) alternate infinite; +} + +@keyframes blur { + to { + filter: blur(2px); + } +} \ No newline at end of file diff --git a/src/component/gallery/index.html b/src/component/gallery/index.html new file mode 100644 index 0000000..2716835 --- /dev/null +++ b/src/component/gallery/index.html @@ -0,0 +1,15 @@ + + + + + + + Shader项目模板 + + + +
+ + + + \ No newline at end of file diff --git a/src/component/gallery/index.ts b/src/component/gallery/index.ts new file mode 100644 index 0000000..548b291 --- /dev/null +++ b/src/component/gallery/index.ts @@ -0,0 +1,35 @@ +import "./index.css"; +import Experience from "./experience"; +import img1 from "@/assets/images/rail-star/254a41dc4cbc8b5e0afaacf2eeb38890_8919910114589865353.png"; +import img2 from "@/assets/images/rail-star/912bad8c0723b85a6a53f9b19323d3cd_7157411529622049660.png"; +import img3 from "@/assets/images/rail-star/951b5cf2295ea158a29c80911e3eb55d_6539106821760568826.png"; +import img4 from "@/assets/images/rail-star/69806d86868878c33ca22aa6dcc2571a_2237174096575525551.png"; +import img5 from "@/assets/images/rail-star/b07fac008e99cae7387af773f4d4c039_1530443783740284969.png"; +import img6 from "@/assets/images/rail-star/b1533de93c0ac43e2139bd93ec47419c_5547524982557108866.png"; +import img7 from "@/assets/images/rail-star/efaa1ab4d1d567a478bdabda76121719_1637318133581363152.png"; +document.querySelector("#app")!.innerHTML = ` +
+
+
+
+ L + O + A + D + I + N + G +
+
+
+ +`; +new Experience("#sketch"); diff --git a/src/component/gallery/postprocessing.ts b/src/component/gallery/postprocessing.ts new file mode 100644 index 0000000..9c07f60 --- /dev/null +++ b/src/component/gallery/postprocessing.ts @@ -0,0 +1,26 @@ +import Experience from "./experience"; +import * as kokomi from "kokomi.js"; +import postprocessingFragmentShader from "@/shaders/postprocessing/frag.glsl"; +export default class Postprocessing extends kokomi.Component { + ce: kokomi.CustomEffect; + constructor(base: Experience) { + super(base); // 调用父类的构造函数 + + // 初始化自定义效果,配置片段着色器和统一变量 + this.ce = new kokomi.CustomEffect(this.base, { + fragmentShader: postprocessingFragmentShader, + uniforms: { + uRGBShift: { + value: 0, // 初始RGB偏移量为0 + }, + }, + }); + } + + /** + * 将现有元素添加到后处理效果中。 + */ + addExisting() { + this.ce.addExisting(); + } +} diff --git a/src/component/gallery/resources.ts b/src/component/gallery/resources.ts new file mode 100644 index 0000000..a568b9a --- /dev/null +++ b/src/component/gallery/resources.ts @@ -0,0 +1,9 @@ +import type * as kokomi from "kokomi.js"; +const resources: kokomi.ResourceItem[] = [ + { + name: "ie-tomb", + type: "texture", + path: "../../assets/images/textures/ie-tomb.jpg", + }, +]; +export default resources; diff --git a/src/component/gallery/slider.ts b/src/component/gallery/slider.ts new file mode 100644 index 0000000..03de82a --- /dev/null +++ b/src/component/gallery/slider.ts @@ -0,0 +1,122 @@ +import Experience from "./experience"; +import * as kokomi from "kokomi.js"; +import sliderFragmentShader from "@/shaders/slider/frag.glsl"; +import sliderVertexShader from "@/shaders/slider/vert.glsl"; +import * as THREE from "three"; +/** + * Slider类继承于kokomi.Component,用于创建一个滑动相册效果。 + * @param {HTMLElement} base - 组件的基元素。 + */ +export default class Slider extends kokomi.Component { + base: Experience; + ig: kokomi.InfiniteGallery; + params: { + [key: string]: { + value: number; + }; + }; + ws: kokomi.WheelScroller; + dd: kokomi.DragDetecter; + constructor(base: Experience) { + super(base); + + // 初始化参数,包括着色器中使用的变量 + const params = { + uDistortX: { + value: 1.15, + }, + uDistortZ: { + value: 1.5, + }, + }; + this.params = params; + + // 创建无限画廊实例 + const elements = document.querySelectorAll( + ".gallery-item", + ) as unknown as kokomi.InfiniteGallery["elList"]; + this.ig = new kokomi.InfiniteGallery(this.base, { + elList: [...elements], + // 目标元素列表 + direction: "horizontal", + // 滑动方向 + gap: 128, + // 元素之间的间距 + vertexShader: sliderVertexShader, + //顶点着色器 + fragmentShader: sliderFragmentShader, + // 片元着色器 + uniforms: { + uVelocity: { + value: 0, + }, + uOpacity: { + value: 1, + }, + uProgress: { + value: 0, + }, + ...params, + }, + // 着色器中使用的统一变量 + materialParams: { + transparent: true, // 材质设置为透明 + }, + }); + + // 如果处于调试模式,设置调试界面 + const debug = this.base.debug; + if (debug.active && debug.ui) { + const debugFolder = debug.ui.addFolder("gallery"); + debugFolder + .add(params.uDistortX, "value") + .min(0) + .max(2) + .step(0.01) + .name("distortX"); + debugFolder + .add(params.uDistortZ, "value") + .min(0) + .max(2) + .step(0.01) + .name("distortZ"); + } + + // 初始化鼠标滚轮和拖拽检测 + this.ws = new kokomi.WheelScroller(); + this.ws.listenForScroll(); + this.dd = new kokomi.DragDetecter(this.base); + this.dd.detectDrag(); + this.dd.on("drag", (delta: { x: number; y: number }) => { + this.ws.scroll.target -= delta[this.ig.dimensionType] * 2; + }); + } + + /** + * 添加已存在的元素到相册中。 + * @returns {Promise} 当图片加载完毕时解析的Promise。 + */ + async addExisting() { + this.ig.addExisting(); + await this.ig.checkImagesLoaded(); + } + + /** + * 更新相册状态,包括滚动同步和着色器变量更新。 + */ + update() { + this.ws.syncScroll(); + const { current, delta } = this.ws.scroll; + this.ig.sync(current); + + // 遍历每个相册元素,更新其着色器参数 + this.ig.iterate((maku) => { + (maku.mesh.material as THREE.ShaderMaterial).uniforms.uVelocity.value = + delta; + (maku.mesh.material as THREE.ShaderMaterial).uniforms.uDistortX.value = + this.params.uDistortX.value; + (maku.mesh.material as THREE.ShaderMaterial).uniforms.uDistortZ.value = + this.params.uDistortZ.value; + }); + } +} diff --git a/src/component/gallery/world.ts b/src/component/gallery/world.ts new file mode 100644 index 0000000..be2eb46 --- /dev/null +++ b/src/component/gallery/world.ts @@ -0,0 +1,123 @@ +import gsap from "gsap"; +import * as kokomi from "kokomi.js"; +import Slider from "./slider"; +import * as THREE from "three"; +/** + * World类继承自kokomi.Component,用于创建和管理一个交互式的滑块系统。 + * @param {Object} base - 作为组件基础的对象,提供事件管理、交互管理等能力。 + */ +import type Experience from "./experience"; +export default class World extends kokomi.Component { + base: Experience; + slider: Slider; + currentActiveMesh: THREE.Mesh | THREE.Points | null; + constructor(base: Experience) { + super(base); + + // 当系统准备就绪时,初始化滑块组件并添加已有项,然后设置初始状态。 + this.base.am.on("ready", async () => { + this.slider = new Slider(this.base); + await this.slider.addExisting(); + + // 遍历滑块中的每个项目,添加交互事件 + this.slider.ig.iterate((maku) => { + if (maku.mesh instanceof THREE.Mesh) { + this.base.interactionManager.add(maku.mesh); + maku.mesh.addEventListener("click", () => { + // 如果滚动距离大于5,则不进行交互 + if (Math.abs(this.slider.ws.scroll.delta) > 5) { + return; + } + // 筛选出除当前项目外的所有项目,进行交互处理 + const otherMakus = this.slider.ig.makuGroup.makus.filter( + (item) => item !== maku, + ); + + // 如果当前没有激活的Mesh,则进行激活处理 + if (!this.currentActiveMesh) { + this.slider.ws.disable(); + this.slider.dd.disable(); + + // 对除当前项目外的所有项目进行透明度动画 + otherMakus.forEach((item) => { + const materials = Array.isArray(item.mesh.material) + ? item.mesh.material + : [item.mesh.material]; + materials.forEach((material) => { + gsap.to( + (material as THREE.ShaderMaterial).uniforms.uOpacity, + { + value: 0, + ease: "power2.out", + }, + ); + }); + }); + + // 对当前项目进行进度动画,达到一定进度后标记为当前激活项目 + const that = this; + const materials = Array.isArray(maku.mesh.material) + ? maku.mesh.material + : [maku.mesh.material]; + materials.forEach((material) => { + gsap.to((material as THREE.ShaderMaterial).uniforms.uProgress, { + value: 1, + duration: 1, + ease: "power2.out", + delay: 0.5, + onUpdate() { + if (this.progress() >= 0.5) { + that.currentActiveMesh = maku.mesh; + } + }, + }); + }); + } + }); + } + }); + + // 当点击容器时,如果存在当前激活的项目,则进行反向动画,恢复到初始状态 + this.base.container.addEventListener("click", () => { + if (this.currentActiveMesh) { + const that = this; + const materials = Array.isArray(this.currentActiveMesh.material) + ? this.currentActiveMesh.material + : [this.currentActiveMesh.material]; + materials.forEach((material) => { + gsap.to((material as THREE.ShaderMaterial).uniforms.uProgress, { + value: 0, + duration: 1, + ease: "power2.inOut", + onUpdate() { + // 当动画进度达到一定点时,恢复滑动和拖拽功能,重置当前激活项目 + if (this.progress() >= 0.5) { + that.slider.ws.enable(); + that.slider.dd.enable(); + that.currentActiveMesh = null; + } + }, + }); + }); + + // 对所有项目进行透明度恢复动画 + this.slider.ig.iterate((item) => { + const materials = Array.isArray(item.mesh.material) + ? item.mesh.material + : [item.mesh.material]; + materials.forEach((material) => { + gsap.to((material as THREE.ShaderMaterial).uniforms.uOpacity, { + value: 1, + delay: 0.5, + ease: "power2.out", + }); + }); + }); + } + }); + + // 当系统准备就绪时,隐藏加载屏幕 + document.querySelector(".loader-screen")?.classList.add("hollow"); + }); + } +} diff --git a/src/component/light/index.html b/src/component/light/index.html new file mode 100644 index 0000000..e36457b --- /dev/null +++ b/src/component/light/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + \ No newline at end of file diff --git a/src/component/light/index.ts b/src/component/light/index.ts new file mode 100644 index 0000000..3f0677a --- /dev/null +++ b/src/component/light/index.ts @@ -0,0 +1,42 @@ +import fragmentShader from "@/shaders/light/fragmentShader.glsl"; +import * as kokomi from "kokomi.js"; +import * as THREE from "three"; +import vertexShader from "@/shaders/light/vertexShader.glsl"; +class Sketch extends kokomi.Base { + create() { + this.camera.position.set(0, 0, 5); + new kokomi.OrbitControls(this); + const geometry = new THREE.TorusKnotGeometry(1.2, 0.4, 128, 32); + const envmap = new THREE.CubeTextureLoader().load([ + "../assets/images/rail-star/254a41dc4cbc8b5e0afaacf2eeb38890_8919910114589865353.png", + "../assets/images/rail-star/912bad8c0723b85a6a53f9b19323d3cd_7157411529622049660.png", + "../assets/images/rail-star/951b5cf2295ea158a29c80911e3eb55d_6539106821760568826.png", + "../assets/images/rail-star/69806d86868878c33ca22aa6dcc2571a_2237174096575525551.png", + "../assets/images/rail-star/b07fac008e99cae7387af773f4d4c039_1530443783740284969.png", + "../assets/images/rail-star/efaa1ab4d1d567a478bdabda76121719_1637318133581363152.png", + ]); + const material = new THREE.ShaderMaterial({ + vertexShader, + fragmentShader, + uniforms: { + iChannel0: { + value: envmap, + }, + }, + }); + const mesh = new THREE.Mesh(geometry, material); + this.scene.add(mesh); + const uj = new kokomi.UniformInjector(this); + material.uniforms = { + ...material.uniforms, + ...uj.shadertoyUniforms, + }; + this.update(() => { + uj.injectShadertoyUniforms(material.uniforms); + const t = this.clock.elapsedTime; + mesh.rotation.y = 0.2 * t; + }); + } +} +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/material-test/experience.ts b/src/component/material-test/experience.ts new file mode 100644 index 0000000..65f6371 --- /dev/null +++ b/src/component/material-test/experience.ts @@ -0,0 +1,18 @@ +import Debug from "@/debug"; +import * as kokomi from "kokomi.js"; +import resources from "./resources"; +import World from "./world"; +export default class Experience extends kokomi.Base { + world: World; + debug: Debug; + am: kokomi.AssetManager; + constructor(sel = "#sketch") { + super(sel); + (window as any).experience = this; + this.debug = new Debug(); + this.am = new kokomi.AssetManager(this, resources); + this.camera.position.set(0, 0, 5); + new kokomi.OrbitControls(this); + this.world = new World(this); + } +} diff --git a/src/component/material-test/index.css b/src/component/material-test/index.css new file mode 100644 index 0000000..c25568f --- /dev/null +++ b/src/component/material-test/index.css @@ -0,0 +1,49 @@ +body { + margin: 0; +} + +.hollow { + opacity: 0; + pointer-events: none; +} + +#sketch { + width: 100vw; + height: 100vh; + background: black; + overflow: hidden; +} + +.loader-screen { + position: fixed; + z-index: 5; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + transition: 0.3s; + background: black; +} + +.loading-container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.loading { + color: white; + font-size: 1.875rem; + letter-spacing: 0.1em; +} + +.loading span { + animation: blur 1.5s calc(var(--i) / 5 * 1s) alternate infinite; +} + +@keyframes blur { + to { + filter: blur(2px); + } +} diff --git a/src/component/material-test/index.html b/src/component/material-test/index.html new file mode 100644 index 0000000..2716835 --- /dev/null +++ b/src/component/material-test/index.html @@ -0,0 +1,15 @@ + + + + + + + Shader项目模板 + + + +
+ + + + \ No newline at end of file diff --git a/src/component/material-test/index.md b/src/component/material-test/index.md new file mode 100644 index 0000000..f8c5f2d --- /dev/null +++ b/src/component/material-test/index.md @@ -0,0 +1,75 @@ + +`MeshBasicMaterial` 是 Three.js 中的一种简单材质,它的主要特点是不考虑场景中的光照条件。这意味着使用 `MeshBasicMaterial` 渲染的物体的颜色不会受到环境光、方向光或点光源的影响。无论光源如何变化,物体的颜色都会保持一致。 + +以下是 `MeshBasicMaterial` 的一些关键特性: + +- **不依赖光照**:物体的颜色完全由材质的颜色属性决定,不受光照影响。 +- **颜色属性**:可以通过 `color` 属性设置物体的基本颜色,这个颜色可以是一个十六进制值,比如 `0xff0000` 表示红色。 +- **透明度**:支持透明度设置,通过 `transparent` 和 `opacity` 属性控制。 +- **纹理映射**:可以通过 `map` 属性应用纹理,这将覆盖材质的基色。 +- **线框模式**:可以通过 `wireframe` 属性启用线框模式,仅渲染网格的边缘。 +- **反走样**:可以通过 `flatShading` 属性启用或禁用平滑着色。 +- **双面渲染**:通过 `side` 属性可以控制材质是否渲染正面、背面或双面。 +- **雾化**:虽然不考虑光照,但 `MeshBasicMaterial` 会受场景中雾化效果的影响。 + +下面是一个使用 `MeshBasicMaterial` 创建一个绿色立方体的例子: + +```javascript +const geometry = new THREE.BoxGeometry(1, 1, 1); +const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); +const cube = new THREE.Mesh(geometry, material); +scene.add(cube); +``` + +在实际应用中,`MeshBasicMaterial` 经常用于不需要复杂光照效果的情况,例如创建简单的预览模型、调试几何结构或者在需要快速渲染的场合。它也常被用于线框模型的渲染,以及当材质的颜色需要严格控制而不受光源影响的场景。 +Three.js 提供了多种不同的材质(Materials)来满足不同的视觉需求和光照模型。除了 `MeshBasicMaterial`,这里列出一些常见的材质类型: + +1. **MeshLambertMaterial**: + - 适用于需要漫反射光照效果的物体,它不考虑高光效果。 + - 受到环境光照和方向光照的影响。 + +2. **MeshPhongMaterial**: + - 提供了更复杂的光照模型,包括高光(specular)效果。 + - 包含了漫反射(diffuse)、镜面反射(specular)和高光系数(shininess)等属性。 + +3. **MeshStandardMaterial**: + - 是物理基础渲染(PBR)材质,提供了现代游戏和电影CG中常见的真实感渲染效果。 + - 支持金属度(metalness)和粗糙度(roughness)等PBR属性。 + +4. **MeshPhysicalMaterial**: + - 类似于 `MeshStandardMaterial`,但提供了更多物理准确的属性,如透明度(transparency)、厚度(thickness)等。 + +5. **MeshDepthMaterial**: + - 根据网格到相机的距离来着色,常用于阴影贴图或其他深度相关的视觉效果。 + +6. **MeshNormalMaterial**: + - 显示网格的法线,通常用于调试和检查模型的法线方向。 + +7. **MeshToonMaterial**: + - 提供了一种卡通渲染效果,使用预设的光照曲线。 + +8. **MeshMatcapMaterial**: + - 使用微表面模型(Microfacet model)和一个称为材质捕捉(Material Capture)的纹理来模拟材料外观。 + +9. **MeshNormalLineMaterial**: + - 在网格上绘制法线方向的线,用于视觉化法线。 + +10. **MeshDistanceMaterial**: + - 基于距离的着色,类似于深度材质,但允许更多的自定义。 + +11. **PointsMaterial**: + - 用于渲染点云,可以控制点的大小和颜色。 + +12. **LineBasicMaterial** 和 **LineDashedMaterial**: + - 分别用于渲染基本线条和虚线。 + +13. **SpriteMaterial**: + - 用于渲染2D精灵,可以随视角旋转。 + +14. **ShaderMaterial** 和 **RawShaderMaterial**: + - 允许自定义着色器代码,用于高级视觉效果和性能优化。 + +15. **RawShaderMaterial**: + - 与 `ShaderMaterial` 类似,但不自动进行某些优化,适用于更精细的控制。 + +每种材质都有其特定的用途和属性集,选择哪种材质取决于你的具体需求和想要达到的视觉效果。你可以根据项目的需求,结合这些材质的不同特性来选择和使用。 diff --git a/src/component/material-test/index.ts b/src/component/material-test/index.ts new file mode 100644 index 0000000..9333333 --- /dev/null +++ b/src/component/material-test/index.ts @@ -0,0 +1,19 @@ +import "./index.css"; +import Experience from "./experience"; +document.querySelector("#app")!.innerHTML = ` +
+
+
+
+ L + O + A + D + I + N + G +
+
+
+`; +new Experience("#sketch"); diff --git a/src/component/material-test/resources.ts b/src/component/material-test/resources.ts new file mode 100644 index 0000000..a568b9a --- /dev/null +++ b/src/component/material-test/resources.ts @@ -0,0 +1,9 @@ +import type * as kokomi from "kokomi.js"; +const resources: kokomi.ResourceItem[] = [ + { + name: "ie-tomb", + type: "texture", + path: "../../assets/images/textures/ie-tomb.jpg", + }, +]; +export default resources; diff --git a/src/component/material-test/test-object.ts b/src/component/material-test/test-object.ts new file mode 100644 index 0000000..d3c5b0a --- /dev/null +++ b/src/component/material-test/test-object.ts @@ -0,0 +1,158 @@ +import Experience from "./experience"; +import * as kokomi from "kokomi.js"; +import testObjectFragmentShader from "@/shaders/3d-effect/frag.glsl"; + +/** + * TestObject类扩展自kokomi.Component,用于创建和管理Three中的材质和网格。 + * 它通过使用着色器材料和统一变量来实现特殊的视觉效果。 + */ +import testObjectVertexShader from "@/shaders/3d-effect/vert.glsl"; +import * as THREE from "three"; +export default class TestObject extends kokomi.Component { + declare base: Experience; + material: THREE.ShaderMaterial; + mesh: THREE.Mesh; + uj: kokomi.UniformInjector; + /** + * 构造函数初始化场景背景、几何体、材质和网格,并设置调试参数。 + * @param {Object} base - 基础对象,提供场景和其他组件的访问。 + */ + constructor(base: Experience) { + super(base); + + // 初始化着色器中的统一变量参数 + const params = { + uDistort: { + value: 1, + }, + uFrequency: { + value: 1.7, + }, + uFresnelIntensity: { + value: 0.2, + }, + uLightIntensity: { + value: 0.9, + }, + uLight2Intensity: { + value: 0.9, + }, + }; + + // 颜色参数用于场景背景和着色器中的颜色统一变量 + const colorParams = { + themeColor: "#070618", + lightColor: "#4cc2e9", + light2Color: "#9743fe", + }; + + // 设置场景背景颜色 + this.base.scene.background = new THREE.Color(colorParams.themeColor); + + // 创建球体几何体,用于后续的网格创建 + const RADIUS = 1.001; + const SEGMENTS = 256.001; + const geometry = new THREE.SphereGeometry(RADIUS, SEGMENTS, SEGMENTS); + + // 创建着色器材料,结合了顶点和片段着色器,以及定义和其他统一变量 + const material = new THREE.ShaderMaterial({ + vertexShader: testObjectVertexShader, + fragmentShader: testObjectFragmentShader, + defines: { + RADIUS, + SEGMENTS, + }, + }); + this.material = material; + + // 创建网格并将其与材质关联 + const mesh = new THREE.Mesh(geometry, material); + this.mesh = mesh; + + // 注入器用于在运行时更新着色器中的统一变量 + const uj = new kokomi.UniformInjector(this.base); + this.uj = uj; + + // 更新材料的统一变量,包括颜色和之前定义的参数 + material.uniforms = { + ...material.uniforms, + ...uj.shadertoyUniforms, + ...params, + uThemeColor: { + value: new THREE.Color(colorParams.themeColor), + }, + uLightColor: { + value: new THREE.Color(colorParams.lightColor), + }, + uLight2Color: { + value: new THREE.Color(colorParams.light2Color), + }, + }; + + // 如果调试模式激活,设置参数的GUI控制 + const debug = this.base.debug; + if (debug.active && debug.ui) { + const debugFolder = debug.ui.addFolder("testObject"); + debugFolder + .add(params.uDistort, "value") + .min(0) + .max(2) + .step(0.01) + .name("distort"); + debugFolder + .add(params.uFrequency, "value") + .min(0) + .max(5) + .step(0.01) + .name("frequency"); + debugFolder + .addColor(colorParams, "themeColor") + .onChange((val: THREE.Color) => { + material.uniforms.uThemeColor.value = new THREE.Color(val); + this.base.scene.background = new THREE.Color(val); + }); + debugFolder + .addColor(colorParams, "lightColor") + .onChange((val: THREE.Color) => { + material.uniforms.uLightColor.value = new THREE.Color(val); + }); + debugFolder + .add(params.uFresnelIntensity, "value") + .min(0) + .max(1) + .step(0.01) + .name("fresnelIntensity"); + debugFolder + .add(params.uLightIntensity, "value") + .min(0) + .max(1) + .step(0.01) + .name("lightIntensity"); + debugFolder + .addColor(colorParams, "light2Color") + .onChange((val: THREE.Color) => { + material.uniforms.uLight2Color.value = new THREE.Color(val); + }); + debugFolder + .add(params.uLight2Intensity, "value") + .min(0) + .max(1) + .step(0.01) + .name("light2Intensity"); + } + } + + /** + * 将网格添加到场景中。 + */ + addExisting() { + this.container.add(this.mesh); + } + + /** + * 更新函数,每帧调用,用于注入着色器中的统一变量。 + */ + update() { + this.uj.injectShadertoyUniforms(this.material.uniforms); + } +} diff --git a/src/component/material-test/world.ts b/src/component/material-test/world.ts new file mode 100644 index 0000000..705dcf8 --- /dev/null +++ b/src/component/material-test/world.ts @@ -0,0 +1,21 @@ +// 引入TestObject类 +import Experience from "./experience"; +/** + * World类扩展自kokomi.Component,用于创建和管理世界对象。 + * @param {Object} base - 作为组件基础的对象,提供事件监听和管理等功能。 + */ +import * as kokomi from "kokomi.js"; // 引入kokomi库 +import TestObject from "./test-object"; +export default class World extends kokomi.Component { + declare base: Experience; + testObject: TestObject | null; + constructor(base: Experience) { + super(base); + this.testObject = null; + this.base.am.on("ready", () => { + document.querySelector(".loader-screen")?.classList.add("hollow"); + this.testObject = new TestObject(this.base); + this.testObject.addExisting(); + }); + } +} diff --git a/src/component/misc_controls_map/index.html b/src/component/misc_controls_map/index.html new file mode 100644 index 0000000..855c7bb --- /dev/null +++ b/src/component/misc_controls_map/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/misc_controls_map/index.ts b/src/component/misc_controls_map/index.ts new file mode 100644 index 0000000..0ba52bd --- /dev/null +++ b/src/component/misc_controls_map/index.ts @@ -0,0 +1,94 @@ + + +import * as THREE from 'three'; +import { GUI } from 'lil-gui'; +import { MapControls } from 'three-stdlib' +import * as kokomi from "kokomi.js"; +export default class Sketch extends kokomi.Base { + /** + * 创建一个三维场景,并配置相关的相机、控件、几何体和灯光。 + * 此函数初始化场景的基本设置,并为场景添加静态盒子几何体和多种光源。 + * 同时,它还处理窗口大小变化事件以适应不同的显示尺寸。 + */ + create() { + // 保持对当前对象的引用 + const that = this; + + // 设置场景的背景色和雾效果 + that.scene.background = new THREE.Color(0xcccccc); + that.scene.fog = new THREE.FogExp2(0xcccccc, 0.002); + + // 配置相机参数 + // that.renderer.antialias = true; + // that.camera.fov = 60 + that.camera.near = 1; + that.camera.far = 1000; + that.camera.position.set(0, 200, -400); + that.camera.updateProjectionMatrix(); + + // 创建地图控件,并绑定到相机和渲染器的DOM元素 + const controls = new MapControls(that.camera, that.renderer.domElement); + // 启用阻尼效果,使得控件操作更平滑 + controls.enableDamping = true; + controls.dampingFactor = 0.05; + controls.screenSpacePanning = false; + // 设置控件的最小和最大距离,以及极角限制 + controls.minDistance = 100; + controls.maxDistance = 500; + controls.maxPolarAngle = Math.PI / 2; + + // 创建并添加多个盒子几何体到场景中 + const geometry = new THREE.BoxGeometry(); + geometry.translate(0, 0.5, 0); + const material = new THREE.MeshPhongMaterial({ color: 0xeeeeee, flatShading: true }); + + for (let i = 0; i < 500; i++) { + const mesh = new THREE.Mesh(geometry, material); + mesh.position.x = Math.random() * 1600 - 800; + mesh.position.y = 0; + mesh.position.z = Math.random() * 1600 - 800; + mesh.scale.x = 20; + mesh.scale.y = Math.random() * 80 + 10; + mesh.scale.z = 20; + mesh.updateMatrix(); + mesh.matrixAutoUpdate = false; + that.scene.add(mesh); + } + + // 添加多种光源到场景,包括定向光和环境光 + const dirLight1 = new THREE.DirectionalLight(0xffffff, 3); + dirLight1.position.set(1, 1, 1); + that.scene.add(dirLight1); + + const dirLight2 = new THREE.DirectionalLight(0x002288, 3); + dirLight2.position.set(-1, -1, -1); + that.scene.add(dirLight2); + + const ambientLight = new THREE.AmbientLight(0x555555); + that.scene.add(ambientLight); + + // 处理窗口大小变化事件,以保持相机的宽高比和渲染器的大小 + window.addEventListener('resize', onWindowResize); + + // 创建并配置GUI控件,用于交互式调整控件属性 + const gui = new GUI(); + gui.add(controls, 'zoomToCursor'); + gui.add(controls, 'screenSpacePanning'); + + // 窗口大小变化时的处理函数 + function onWindowResize() { + // 调整相机的宽高比和渲染器的大小 + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + // 更新函数,用于在每一帧中更新控件状态 + this.update(() => { + controls.update(); // only required if controls.enableDamping = true, or if controls.autoRotate = true + }); + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/physics_ammo_break/index.html b/src/component/physics_ammo_break/index.html new file mode 100644 index 0000000..855c7bb --- /dev/null +++ b/src/component/physics_ammo_break/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/physics_ammo_break/index.ts b/src/component/physics_ammo_break/index.ts new file mode 100644 index 0000000..411bfbb --- /dev/null +++ b/src/component/physics_ammo_break/index.ts @@ -0,0 +1,597 @@ +import * as THREE from 'three'; +import Stats from 'stats.js'; +import { OrbitControls, ConvexObjectBreaker, ConvexGeometry } from "three-stdlib"; +//@ts-ignore +import Ammo from 'ammo.js' +import * as kokomi from "kokomi.js"; +export default class Sketch extends kokomi.Base { + create() { + const that = this + window.Ammo = Ammo; + // Graphics variables + let stats: Stats; + let textureLoader: THREE.TextureLoader; + const mouseCoords = new THREE.Vector2(); + const raycaster = new THREE.Raycaster(); + const ballMaterial = new THREE.MeshPhongMaterial({ color: 0x202020 }); + // Physics variables + const gravityConstant = 7.8; + let collisionConfiguration; + let dispatcher: Ammo.btCollisionDispatcher; + let broadphase; + let solver; + let physicsWorld: Ammo.btDiscreteDynamicsWorld; + const margin = 0.05; + const convexBreaker = new ConvexObjectBreaker(); + // Rigid bodies include all movable objects + const rigidBodies: THREE.Mesh[] = []; + const pos = new THREE.Vector3(); + const quat = new THREE.Quaternion(); + let transformAux1: Ammo.btTransform; + let tempBtVec3_1: Ammo.btVector3; + const objectsToRemove: THREE.Mesh[] | null[] = []; + for (let i = 0; i < 500; i++) { + objectsToRemove[i] = null; + } + let numObjectsToRemove = 0; + const impactPoint = new THREE.Vector3(); + const impactNormal = new THREE.Vector3(); + function initGraphics() { + // that.camera.fov = 60; + that.camera.near = 0.2; + that.camera.far = 2000; + that.scene.background = new THREE.Color(0xbfd1e5); + that.camera.position.set(- 14, 8, 16); + // that.renderer.antialias = true; + that.camera.updateProjectionMatrix(); + that.renderer.shadowMap.enabled = true; + let controls = new OrbitControls(that.camera, that.renderer.domElement); + controls.target.set(0, 2, 0); + controls.update(); + textureLoader = new THREE.TextureLoader(); + const ambientLight = new THREE.AmbientLight(0xbbbbbb); + that.scene.add(ambientLight); + const light = new THREE.DirectionalLight(0xffffff, 3); + light.position.set(- 10, 18, 5); + light.castShadow = true; + const d = 14; + light.shadow.camera.left = - d; + light.shadow.camera.right = d; + light.shadow.camera.top = d; + light.shadow.camera.bottom = - d; + light.shadow.camera.near = 2; + light.shadow.camera.far = 50; + light.shadow.mapSize.x = 1024; + light.shadow.mapSize.y = 1024; + that.scene.add(light); + stats = new Stats(); + stats.dom.style.position = 'absolute'; + stats.dom.style.top = '0px'; + that.container.appendChild(stats.dom); + window.addEventListener('resize', onWindowResize); + } + /** + * 初始化物理模拟环境。 + * 此函数设置物理模拟所需的关键组件,包括碰撞配置、调度器、广相算法、求解器和物理世界。 + * 同时,它还设定了物理世界的重力,并准备了一些在物理模拟中常用的辅助对象。 + * 初始化这些对象对于物理模拟的正确运行至关重要。每个组件在模拟过程中扮演特定的角色。 + * - `collisionConfiguration` 用于定义碰撞检测的行为。 + * - `dispatcher` 负责分发碰撞事件。 + * - `broadphase` 用于在大规模场景中检测潜在的碰撞。 + * - `solver` 用于解决由广相和窄相检测到的碰撞。 + * - `physicsWorld` 集成了这些组件来管理整个物理模拟。 + * - `gravity` 是一个基本设置,影响物理世界中所有物体的行为。 + * - `transformAux1` 和 `tempBtVec3_1` 是用于物理模拟中的变换和向量运算的辅助对象。 + */ + function initPhysics() { + // 初始化默认的碰撞配置 + collisionConfiguration = new Ammo.btDefaultCollisionConfiguration(); + // 初始化碰撞调度器 + dispatcher = new Ammo.btCollisionDispatcher(collisionConfiguration); + // 初始化广相算法进行碰撞检测 + broadphase = new Ammo.btDbvtBroadphase(); + // 初始化用于解决碰撞的求解器 + solver = new Ammo.btSequentialImpulseConstraintSolver(); + // 初始化物理世界,整合所有组件进行物理模拟 + physicsWorld = new Ammo.btDiscreteDynamicsWorld(dispatcher, broadphase, solver, collisionConfiguration); + // 设置物理世界的重力 + physicsWorld.setGravity(new Ammo.btVector3(0, - gravityConstant, 0)); + // 初始化辅助变换对象,用于物理模拟中的物体变换 + transformAux1 = new Ammo.btTransform(); + // 初始化临时向量对象,用于物理模拟中的向量运算 + tempBtVec3_1 = new Ammo.btVector3(0, 0, 0); + } + /** + * 创建一个具有物理特性的三维物体。 + * 该函数通过给定的质量、尺寸、位置和旋转角度来创建一个具有刚体物理特性的三维物体。 + * 它使用THREE.js库来构建和配置三维物体的几何形状、材质,以及物理属性。 + * + * @param mass 物体的质量,用于物理模拟。 + * @param halfExtents 物体半尺寸,定义物体的几何形状。 + * @param pos 物体的初始位置。 + * @param quat 物体的初始旋转四元数。 + * @param material 物体的材质。 + */ + function createObject(mass: number, halfExtents: THREE.Vector3, pos: THREE.Vector3, quat: THREE.Quaternion, material: THREE.Material) { + // 创建一个带有几何形状和材质的三维物体(网格)。 + const object = new THREE.Mesh(new THREE.BoxGeometry(halfExtents.x * 2, halfExtents.y * 2, halfExtents.z * 2), material); + + // 设置物体的初始位置。 + object.position.copy(pos); + + // 设置物体的初始旋转。 + object.quaternion.copy(quat); + + // 为物体设置物理特性,准备将其分解为碎片。 + convexBreaker.prepareBreakableObject(object, mass, new THREE.Vector3(), new THREE.Vector3(), true); + + // 根据物体创建碎片。 + createDebrisFromBreakableObject(object); + } + /** + * 创建场景中的物体对象,包括地面、塔楼、桥梁、石头和山。 + * 这个函数通过设置不同的参数,如位置、旋转、质量和材质,来创建各种物体。 + * 对于某些物体,如地面和山,还应用了纹理以增加真实感。 + * 物体的创建涉及到物理引擎的设置,以确保它们在模拟环境中表现正确。 + */ + function createObjects() { + // 设置地面的位置和旋转,创建带有物理特性的长方体对象,并启用接收阴影 + // Ground + pos.set(0, - 0.5, 0); + quat.set(0, 0, 0, 1); + const ground = createParalellepipedWithPhysics(40, 1, 40, 0, pos, quat, new THREE.MeshPhongMaterial({ color: 0xFFFFFF })); + ground.receiveShadow = true; + + // 加载地面纹理,并应用到地面材质上 + textureLoader.load('../../assets/images/textures/grid.png', function (texture) { + texture.wrapS = THREE.RepeatWrapping; + texture.wrapT = THREE.RepeatWrapping; + texture.repeat.set(40, 40); + const material = ground.material as THREE.MeshPhongMaterial; + material.map = texture; + material.needsUpdate = true; + }); + + // 创建两座塔楼,分别位于左侧和右侧 + const towerMass = 1000; + const towerHalfExtents = new THREE.Vector3(2, 5, 2); + pos.set(- 8, 5, 0); + quat.set(0, 0, 0, 1); + createObject(towerMass, towerHalfExtents, pos, quat, createMaterial(0xB03014)); + + // Tower 2 + pos.set(8, 5, 0); + quat.set(0, 0, 0, 1); + createObject(towerMass, towerHalfExtents, pos, quat, createMaterial(0xB03214)); + + // 创建桥梁,设置其质量和位置 + //Bridge + const bridgeMass = 100; + const bridgeHalfExtents = new THREE.Vector3(7, 0.2, 1.5); + pos.set(0, 10.2, 0); + quat.set(0, 0, 0, 1); + createObject(bridgeMass, bridgeHalfExtents, pos, quat, createMaterial(0xB3B865)); + + // 创建一系列石头 + // Stones + const stoneMass = 120; + const stoneHalfExtents = new THREE.Vector3(1, 2, 0.15); + const numStones = 8; + quat.set(0, 0, 0, 1); + for (let i = 0; i < numStones; i++) { + pos.set(0, 2, 15 * (0.5 - i / (numStones + 1))); + createObject(stoneMass, stoneHalfExtents, pos, quat, createMaterial(0xB0B0B0)); + } + + // 创建山,设置其质量和位置,以及山的形状 + // Mountain + const mountainMass = 860; + const mountainHalfExtents = new THREE.Vector3(4, 5, 4); + pos.set(5, mountainHalfExtents.y * 0.5, - 7); + quat.set(0, 0, 0, 1); + const mountainPoints = []; + mountainPoints.push(new THREE.Vector3(mountainHalfExtents.x, - mountainHalfExtents.y, mountainHalfExtents.z)); + mountainPoints.push(new THREE.Vector3(- mountainHalfExtents.x, - mountainHalfExtents.y, mountainHalfExtents.z)); + mountainPoints.push(new THREE.Vector3(mountainHalfExtents.x, - mountainHalfExtents.y, - mountainHalfExtents.z)); + mountainPoints.push(new THREE.Vector3(- mountainHalfExtents.x, - mountainHalfExtents.y, - mountainHalfExtents.z)); + mountainPoints.push(new THREE.Vector3(0, mountainHalfExtents.y, 0)); + const mountain = new THREE.Mesh(new ConvexGeometry(mountainPoints), createMaterial(0xB03814)); + mountain.position.copy(pos); + mountain.quaternion.copy(quat); + convexBreaker.prepareBreakableObject(mountain, mountainMass, new THREE.Vector3(), new THREE.Vector3(), true); + createDebrisFromBreakableObject(mountain); + } + /** + * 创建一个具有物理特性的平行六面体三维物体。 + * 该函数通过Three.js库创建一个Mesh对象,并为其赋予物理特性,使其能够在物理引擎中运行。 + * 主要用于模拟物理环境中的刚体对象,如箱子等。 + * @param sx 平行六面体的宽度。 + * @param sy 平行六面体的高度。 + * @param sz 平行六面体的深度。 + * @param mass 平行六面体的质量,用于确定其在物理引擎中的重力和运动特性。 + * @param pos 平行六面体的初始位置,使用Three.js的Vector3对象表示。 + * @param quat 平行六面体的初始旋转,使用Three.js的Quaternion对象表示。 + * @param material 平行六面体的材质,用于渲染其表面。 + * @returns 返回一个具有物理特性的Three.js Mesh对象。 + */ + function createParalellepipedWithPhysics(sx: number, sy: number, sz: number, mass: number, pos: THREE.Vector3, quat: THREE.Quaternion, material: THREE.Material) { + // 创建一个Three.js的Mesh对象,用于表示平行六面体的外观。 + const object = new THREE.Mesh(new THREE.BoxGeometry(sx, sy, sz, 1, 1, 1), material); + + // 创建一个物理形状对象,用于在物理引擎中表示平行六面体的形状。 + const shape = new Ammo.btBoxShape(new Ammo.btVector3(sx * 0.5, sy * 0.5, sz * 0.5)); + + // 设置形状的边缘 margin,用于调整物理碰撞的精确度。 + shape.setMargin(margin); + + // 为Mesh对象添加物理特性,使其能够在物理引擎中运动和碰撞。 + createRigidBody(object, shape, mass, pos, quat); + + // 返回具有物理特性的Mesh对象。 + return object; + } + /** + * 创建从可破坏对象产生的残骸。 + * 该函数用于为游戏或模拟中可破坏的对象创建物理残骸。它通过调整Three.js的Mesh对象的属性, + * 并利用Ammo.js(一个物理引擎库)创建物理形状和刚体,来模拟物体破坏后的散落效果。 + * + * @param object 一个Three.js的Mesh对象,表示可破坏的对象。它将被用于生成残骸的物理形状和属性。 + */ + function createDebrisFromBreakableObject(object: THREE.Mesh) { + // 启用对象的阴影投射和接收阴影,以增强视觉真实感。 + object.castShadow = true; + object.receiveShadow = true; + + // 根据对象的几何形状创建一个凸包物理形状,用于模拟残骸的物理特性。 + const shape = createConvexHullPhysicsShape(object.geometry.attributes.position.array); + + // 设置物理形状的边缘余量,以调整碰撞检测的精度。 + shape.setMargin(margin); + + // 创建一个刚体,它将用于模拟残骸在物理世界中的行为。刚体的参数包括质量、速度和角速度等。 + const body = createRigidBody(object, shape, object.userData.mass, null, null, object.userData.velocity, object.userData.angularVelocity); + + // 创建一个Ammo.js的btVector3对象,用于存储与Three.js对象相关的用户数据。 + const btVecUserData = new Ammo.btVector3(0, 0, 0); + + // 将Three.js对象与Ammo.js的btVector3对象关联起来,以便在物理引擎中访问和操作Three.js对象。 + //@ts-ignore + btVecUserData.threeObject = object; + + // 将用户数据指针设置到刚体上,以便在物理模拟过程中访问和修改对象的属性。 + // body.setUserPointer(btVecUserData); + //@ts-ignore + body.btVecUserData = btVecUserData + } + function removeDebris(object: THREE.Mesh) { + that.scene.remove(object); + physicsWorld.removeRigidBody(object.userData.physicsBody); + } + /** + * 创建一个凸包物理形状。 + * 凸包物理形状用于模拟具有复杂形状的物体的物理行为,通过将三维点集转换为凸包形状,可以为这些物体提供更真实的物理模拟。 + * 此函数使用THREE.js的TypedArray作为输入,该数组包含定义凸包形状的点的坐标。 + * @param coords THREE.js的TypedArray,包含一系列三维点的坐标,每个点的坐标连续存储,即x,y,z。 + * @returns 返回一个Ammo.js的btConvexHullShape对象,该对象表示创建的凸包物理形状。 + */ + function createConvexHullPhysicsShape(coords: THREE.TypedArray) { + // 创建一个凸包形状对象。 + const shape = new Ammo.btConvexHullShape(); + + // 遍历坐标数组,每次处理3个值作为一个三维点。 + for (let i = 0, il = coords.length; i < il; i += 3) { + // 设置临时的三维向量,用于存储当前处理的点的坐标。 + tempBtVec3_1.setValue(coords[i], coords[i + 1], coords[i + 2]); + + // 判断当前点是否为最后一个点,用于告知形状对象是否结束点的添加。 + const lastOne = (i >= (il - 3)); + + // 将当前点添加到凸包形状中,如果当前点是最后一个点,则标记为最后一个。 + shape.addPoint(tempBtVec3_1, lastOne); + } + + // 返回创建好的凸包形状对象。 + return shape; + } + /** + * 创建一个刚体对象。 + * 该函数用于在物理世界中创建一个刚体,它将一个THREE.Mesh对象与物理形状和质量相结合, + * 并将其添加到物理世界中。刚体可以是有质量的(因此受到重力和其他力的影响),也可以是静态的。 + * + * @param object THREE.Mesh对象,刚体的可视化表示。 + * @param physicsShape Ammo.btSphereShape对象,刚体的物理形状。 + * @param mass 刚体的质量,用于计算物理行为。 + * @param pos 刚体的初始位置,如果为null,则使用对象当前的位置。 + * @param quat 刚体的初始旋转,如果为null,则使用对象当前的旋转。 + * @param vel 刚体的初始线性速度,可选参数。 + * @param angVel 刚体的初始角速度,可选参数。 + * @returns 返回创建的刚体对象。 + */ + function createRigidBody(object: THREE.Mesh, physicsShape: Ammo.btSphereShape, mass: number, pos: THREE.Vector3 | null, quat: THREE.Quaternion | null, vel?: THREE.Vector3, angVel?: THREE.Vector3) { + // 如果提供了初始位置,则将其复制到对象位置,否则使用对象当前位置。 + if (pos) { + object.position.copy(pos); + } else { + pos = object.position; + } + + // 如果提供了初始旋转,则将其复制到对象旋转,否则使用对象当前旋转。 + if (quat) { + object.quaternion.copy(quat); + } else { + quat = object.quaternion; + } + + // 创建并初始化一个btTransform对象,用于定义刚体的初始位置和旋转。 + const transform = new Ammo.btTransform(); + transform.setIdentity(); + transform.setOrigin(new Ammo.btVector3(pos.x, pos.y, pos.z)); + transform.setRotation(new Ammo.btQuaternion(quat.x, quat.y, quat.z, quat.w)); + + // 创建一个btDefaultMotionState对象,用于管理刚体的运动状态。 + const motionState = new Ammo.btDefaultMotionState(transform); + + // 计算刚体的局部惯性。 + const localInertia = new Ammo.btVector3(0, 0, 0); + physicsShape.calculateLocalInertia(mass, localInertia); + + // 创建刚体的构造信息,包括质量、运动状态、物理形状和局部惯性。 + const rbInfo = new Ammo.btRigidBodyConstructionInfo(mass, motionState, physicsShape, localInertia); + + // 根据构造信息创建刚体对象。 + const body = new Ammo.btRigidBody(rbInfo); + + // 设置刚体的摩擦系数。 + body.setFriction(0.5); + + // 如果提供了初始线性速度,则设置刚体的线性速度。 + if (vel) { + body.setLinearVelocity(new Ammo.btVector3(vel.x, vel.y, vel.z)); + } + + // 如果提供了初始角速度,则设置刚体的角速度。 + if (angVel) { + body.setAngularVelocity(new Ammo.btVector3(angVel.x, angVel.y, angVel.z)); + } + + // 将刚体的用户数据设置为包含刚体对象和碰撞状态。 + object.userData.physicsBody = body; + object.userData.collided = false; + + // 将对象添加到场景中。 + that.scene.add(object); + + // 如果刚体的质量大于0,则将其添加到动态物体列表中,并设置激活状态。 + if (mass > 0) { + rigidBodies.push(object); + // Disable deactivation + body.setActivationState(4); + } + + // 将刚体添加到物理世界中。 + physicsWorld.addRigidBody(body); + + // 返回创建的刚体对象。 + return body; + } + function createRandomColor() { + return Math.floor(Math.random() * (1 << 24)); + } + function createMaterial(color: THREE.ColorRepresentation) { + color = color || createRandomColor(); + return new THREE.MeshPhongMaterial({ color: color }); + } + /** + * 初始化窗口的输入监听器。 + * 此函数设置鼠标点击事件,包括根据鼠标位置计算三维空间中的坐标, + * 并基于该位置创建和发射一个三维球体网格。 + * 当鼠标被点击时,它会计算射线的方向和位置,然后为球体创建物理实体并赋予其初始速度。 + */ + function initInput() { + // 为窗口添加鼠标按下事件监听器 + window.addEventListener('pointerdown', function (event) { + // 将屏幕上的鼠标位置转换为归一化设备坐标系统下的位置 + mouseCoords.set( + (event.clientX / window.innerWidth) * 2 - 1, + - (event.clientY / window.innerHeight) * 2 + 1 + ); + // 根据相机设置射线投射点 + raycaster.setFromCamera(mouseCoords, that.camera); + + // 创建一个球体并发射它 + const ballMass = 35; // 球体的质量 + const ballRadius = 0.4; // 球体的半径 + const ball = new THREE.Mesh(new THREE.SphereGeometry(ballRadius, 14, 10), ballMaterial); // 创建球体网格 + ball.castShadow = true; // 启用阴影投射 + ball.receiveShadow = true; // 接受阴影 + + // 创建球体形状 + const ballShape = new Ammo.btSphereShape(ballRadius); + ballShape.setMargin(margin); // 设置形状的边缘 + + // 计算球体在世界中的位置 + pos.copy(raycaster.ray.direction); + pos.add(raycaster.ray.origin); + + // 设置球体的旋转 + quat.set(0, 0, 0, 1); + + // 创建刚体 + const ballBody = createRigidBody(ball, ballShape, ballMass, pos, quat); + + // 计算球体的初始速度方向和大小 + pos.copy(raycaster.ray.direction); + pos.multiplyScalar(24); // 设置球体的发射速度 + + // 设置球体的线性速度 + ballBody.setLinearVelocity(new Ammo.btVector3(pos.x, pos.y, pos.z)); + }); + } + function onWindowResize() { + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + + /** + * 更新物理模拟状态,基于给定的时间增量。 + * 此函数包括以下步骤: + * 1. 进行物理世界的时间步进。 + * 2. 更新所有刚体对象的位置和旋转。 + * 3. 处理碰撞检测,并在碰撞力超过阈值时模拟可破坏物体的破碎。 + * @param deltaTime - 物理世界更新的时间增量。 + */ + function updatePhysics(deltaTime: number) { + // 执行物理世界的模拟时间步进 + physicsWorld.stepSimulation(deltaTime, 10); + + // 更新所有刚体的位置和旋转 + for (let i = 0, il = rigidBodies.length; i < il; i++) { + const objThree = rigidBodies[i]; + const objPhys = objThree.userData.physicsBody; + const ms = objPhys.getMotionState(); + + if (ms) { + // 获取刚体的世界变换矩阵 + ms.getWorldTransform(transformAux1); + // 从变换矩阵中获取位置和旋转信息 + const p = transformAux1.getOrigin(); + const q = transformAux1.getRotation(); + // 设置Three.js对象的位置和旋转 + objThree.position.set(p.x(), p.y(), p.z()); + objThree.quaternion.set(q.x(), q.y(), q.z(), q.w()); + // 清除碰撞标志 + objThree.userData.collided = false; + } + } + + // 处理所有接触点,检测碰撞并可能触发破碎效果 + for (let i = 0, il = dispatcher.getNumManifolds(); i < il; i++) { + const contactManifold = dispatcher.getManifoldByIndexInternal(i); + const rb0 = (Ammo as any).castObject(contactManifold.getBody0(), Ammo.btRigidBody); + const rb1 = (Ammo as any).castObject(contactManifold.getBody1(), Ammo.btRigidBody); + // const threeObject0 = (Ammo as any).castObject(rb0.getUserPointer(), Ammo.btVector3).threeObject; + // const threeObject1 = (Ammo as any).castObject(rb1.getUserPointer(), Ammo.btVector3).threeObject; + const threeObject0 = (Ammo as any).castObject({ ...rb0, ...rb0.btVecUserData }, Ammo.btVector3).threeObject; + const threeObject1 = (Ammo as any).castObject({ ...rb1, ...rb1.btVecUserData }, Ammo.btVector3).threeObject; + if (!threeObject0 && !threeObject1) { + // 如果两个物体都没有对应的Three.js对象,跳过本次循环 + continue; + } + + // 获取用户数据,包括是否可破碎和碰撞标志 + const userData0 = threeObject0 ? threeObject0.userData : null; + const userData1 = threeObject1 ? threeObject1.userData : null; + const breakable0 = userData0 ? userData0.breakable : false; + const breakable1 = userData1 ? userData1.breakable : false; + const collided0 = userData0 ? userData0.collided : false; + const collided1 = userData1 ? userData1.collided : false; + + if ((!breakable0 && !breakable1) || (collided0 && collided1)) { + // 如果两个物体都不可破碎或都已经发生过碰撞,跳过本次循环 + continue; + } + + let contact = false; + let maxImpulse = 0; + // 检查接触点,寻找最大的碰撞力 + for (let j = 0, jl = contactManifold.getNumContacts(); j < jl; j++) { + const contactPoint = contactManifold.getContactPoint(j); + if (contactPoint.getDistance() < 0) { + // 如果接触点的距离小于零,表示有碰撞 + contact = true; + // ammo.js更新后getAppliedImpulse方法丢失,无法继续计算 + continue + const impulse = contactPoint.getAppliedImpulse(); + if (impulse > maxImpulse) { + // 记录最大的碰撞力和碰撞点的信息 + maxImpulse = impulse; + const pos = contactPoint.get_m_positionWorldOnB(); + const normal = contactPoint.get_m_normalWorldOnB(); + impactPoint.set(pos.x(), pos.y(), pos.z()); + impactNormal.set(normal.x(), normal.y(), normal.z()); + } + // 只需找到第一个有效的接触点即可 + break; + } + } + + // 如果没有有效的接触点,跳过本次循环 + if (!contact) continue; + + // 碎片化阈值 + const fractureImpulse = 250; + + // 处理可破碎物体的破碎逻辑 + if (breakable0 && !collided0 && maxImpulse > fractureImpulse) { + // 对物体0进行碎片化处理 + const debris: THREE.Mesh[] = convexBreaker.subdivideByImpact(threeObject0, impactPoint, impactNormal, 1, 2) as THREE.Mesh[]; + const numObjects = debris.length; + + for (let j = 0; j < numObjects; j++) { + // 设置碎片的速度和角速度 + const vel = rb0.getLinearVelocity(); + const angVel = rb0.getAngularVelocity(); + const fragment = debris[j]; + fragment.userData.velocity.set(vel.x(), vel.y(), vel.z()); + fragment.userData.angularVelocity.set(angVel.x(), angVel.y(), angVel.z()); + // 创建碎片对象 + createDebrisFromBreakableObject(fragment); + } + + // 标记原物体为待移除 + objectsToRemove[numObjectsToRemove++] = threeObject0; + userData0.collided = true; + } + + if (breakable1 && !collided1 && maxImpulse > fractureImpulse) { + // 对物体1进行碎片化处理 + const debris: THREE.Mesh[] = convexBreaker.subdivideByImpact(threeObject1, impactPoint, impactNormal, 1, 2) as THREE.Mesh[]; + const numObjects = debris.length; + + for (let j = 0; j < numObjects; j++) { + // 设置碎片的速度和角速度 + const vel = rb1.getLinearVelocity(); + const angVel = rb1.getAngularVelocity(); + const fragment = debris[j]; + fragment.userData.velocity.set(vel.x(), vel.y(), vel.z()); + fragment.userData.angularVelocity.set(angVel.x(), angVel.y(), angVel.z()); + // 创建碎片对象 + createDebrisFromBreakableObject(fragment); + } + + // 标记原物体为待移除 + objectsToRemove[numObjectsToRemove++] = threeObject1; + userData1.collided = true; + } + } + + // 移除标记为待移除的物体 + for (let i = 0; i < numObjectsToRemove; i++) { + removeDebris(objectsToRemove[i] as THREE.Mesh); + } + + // 重置待移除物体的数量 + numObjectsToRemove = 0; + } + // - Functions - + function init() { + initGraphics(); + initPhysics(); + createObjects(); + initInput(); + } + function animate() { + requestAnimationFrame(animate); + updatePhysics(that.clock.deltaTime); + stats.update(); + } + + init(); + animate(); + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/radar/index.html b/src/component/radar/index.html new file mode 100644 index 0000000..e36457b --- /dev/null +++ b/src/component/radar/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + \ No newline at end of file diff --git a/src/component/radar/index.ts b/src/component/radar/index.ts new file mode 100644 index 0000000..cf62f90 --- /dev/null +++ b/src/component/radar/index.ts @@ -0,0 +1,28 @@ +import fragmentShader from "@/shaders/radar/fragment.glsl"; +// 创建一个加载器 +import * as kokomi from "kokomi.js"; +import * as THREE from "three"; +// 加载纹理 +class Sketch extends kokomi.Base { + create() { + this.camera.position.set(0, 0, 5); + new kokomi.OrbitControls(this); + const geometry = new THREE.PlaneGeometry(16, 9); + const material = new THREE.ShaderMaterial({ + // vertexShader, + fragmentShader, + }); + const mesh = new THREE.Mesh(geometry, material); + this.scene.add(mesh); + const uj = new kokomi.UniformInjector(this); + material.uniforms = { + ...material.uniforms, + ...uj.shadertoyUniforms, + }; + this.update(() => { + uj.injectShadertoyUniforms(material.uniforms); + }); + } +} +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/raymarching/experience.ts b/src/component/raymarching/experience.ts new file mode 100644 index 0000000..65f6371 --- /dev/null +++ b/src/component/raymarching/experience.ts @@ -0,0 +1,18 @@ +import Debug from "@/debug"; +import * as kokomi from "kokomi.js"; +import resources from "./resources"; +import World from "./world"; +export default class Experience extends kokomi.Base { + world: World; + debug: Debug; + am: kokomi.AssetManager; + constructor(sel = "#sketch") { + super(sel); + (window as any).experience = this; + this.debug = new Debug(); + this.am = new kokomi.AssetManager(this, resources); + this.camera.position.set(0, 0, 5); + new kokomi.OrbitControls(this); + this.world = new World(this); + } +} diff --git a/src/component/raymarching/index.css b/src/component/raymarching/index.css new file mode 100644 index 0000000..c25568f --- /dev/null +++ b/src/component/raymarching/index.css @@ -0,0 +1,49 @@ +body { + margin: 0; +} + +.hollow { + opacity: 0; + pointer-events: none; +} + +#sketch { + width: 100vw; + height: 100vh; + background: black; + overflow: hidden; +} + +.loader-screen { + position: fixed; + z-index: 5; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + transition: 0.3s; + background: black; +} + +.loading-container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.loading { + color: white; + font-size: 1.875rem; + letter-spacing: 0.1em; +} + +.loading span { + animation: blur 1.5s calc(var(--i) / 5 * 1s) alternate infinite; +} + +@keyframes blur { + to { + filter: blur(2px); + } +} diff --git a/src/component/raymarching/index.html b/src/component/raymarching/index.html new file mode 100644 index 0000000..2716835 --- /dev/null +++ b/src/component/raymarching/index.html @@ -0,0 +1,15 @@ + + + + + + + Shader项目模板 + + + +
+ + + + \ No newline at end of file diff --git a/src/component/raymarching/index.ts b/src/component/raymarching/index.ts new file mode 100644 index 0000000..9333333 --- /dev/null +++ b/src/component/raymarching/index.ts @@ -0,0 +1,19 @@ +import "./index.css"; +import Experience from "./experience"; +document.querySelector("#app")!.innerHTML = ` +
+
+
+
+ L + O + A + D + I + N + G +
+
+
+`; +new Experience("#sketch"); diff --git a/src/component/raymarching/raymarching-scene.ts b/src/component/raymarching/raymarching-scene.ts new file mode 100644 index 0000000..c05dca0 --- /dev/null +++ b/src/component/raymarching/raymarching-scene.ts @@ -0,0 +1,33 @@ +// 引入光线步进场景的片段着色器 + +import Experience from "./experience"; +/** + * RaymarchingScene类,继承自kokomi.Component,用于创建和管理一个光线步进场景。 + */ +import * as kokomi from "kokomi.js"; // 引入kokomi库 + +import raymarchingSceneFragmentShader from "@/shaders/raymarching-scene/frag.glsl"; +export default class RaymarchingScene extends kokomi.Component { + quad: kokomi.ScreenQuad; + /** + * 构造函数,初始化RaymarchingScene实例。 + * @param {Object} base - 作为组件基底的对象。 + */ + constructor(base: Experience) { + super(base); // 调用父类的构造函数 + + // 创建一个屏幕四边形对象,用于渲染光线步进场景 + this.quad = new kokomi.ScreenQuad(this.base, { + fragmentShader: raymarchingSceneFragmentShader, + // 使用光线步进场景的片段着色器 + shadertoyMode: true, // 启用shadertoy模式 + }); + } + + /** + * 添加已存在的资源到场景中。 + */ + addExisting() { + this.quad.addExisting(); // 调用quad对象的addExisting方法 + } +} diff --git a/src/component/raymarching/resources.ts b/src/component/raymarching/resources.ts new file mode 100644 index 0000000..a568b9a --- /dev/null +++ b/src/component/raymarching/resources.ts @@ -0,0 +1,9 @@ +import type * as kokomi from "kokomi.js"; +const resources: kokomi.ResourceItem[] = [ + { + name: "ie-tomb", + type: "texture", + path: "../../assets/images/textures/ie-tomb.jpg", + }, +]; +export default resources; diff --git a/src/component/raymarching/world.ts b/src/component/raymarching/world.ts new file mode 100644 index 0000000..1d8e871 --- /dev/null +++ b/src/component/raymarching/world.ts @@ -0,0 +1,25 @@ +// 导入RaymarchingScene场景类 + +import Experience from "./experience"; +/** + * World类继承自kokomi.Component,用于初始化全局的Raymarching场景。 + * @param {Object} base - 传入基础配置对象,提供场景初始化所需的基本配置。 + */ +import * as kokomi from "kokomi.js"; // 导入kokomi库 + +import RaymarchingScene from "./raymarching-scene"; +export default class World extends kokomi.Component { + declare base: Experience; + rs: RaymarchingScene; + constructor(base: Experience) { + super(base); // 调用父类的constructor + + // 当基础配置对象的am模块触发"ready"事件时,初始化Raymarching场景并添加现有元素 + this.base.am.on("ready", () => { + this.rs = new RaymarchingScene(this.base); // 创建Raymarching场景实例 + this.rs.addExisting(); // 添加现有元素到场景中 + // 添加class到loader屏幕,用于显示加载完成 + document.querySelector(".loader-screen")?.classList.add("hollow"); + }); + } +} diff --git a/src/component/stars/index.html b/src/component/stars/index.html new file mode 100644 index 0000000..e36457b --- /dev/null +++ b/src/component/stars/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + \ No newline at end of file diff --git a/src/component/stars/index.ts b/src/component/stars/index.ts new file mode 100644 index 0000000..e500584 --- /dev/null +++ b/src/component/stars/index.ts @@ -0,0 +1,67 @@ +import fragmentShader from "@/shaders/stars/fragmentShader.glsl"; + +/** + * Sketch类继承自kokomi.Base,用于创建和管理一个Three的场景。 + * 该类主要功能是初始化相机、设置几何体和材质,以及管理场景中的物体。 + */ +import * as kokomi from "kokomi.js"; +import * as THREE from "three"; +import vertexShader from "@/shaders/stars/vertexShader.glsl"; +class Sketch extends kokomi.Base { + create() { + // 初始化相机位置 + this.camera.position.set(0, 0, 1); + // 添加轨道控制,以便于在浏览器中交互控制相机 + new kokomi.OrbitControls(this); + + // 创建点的几何体,总数为250个点 + const count = 250; + let positions = Array.from( + { + length: count, + }, + () => [2, 2, 2].map(THREE.MathUtils.randFloatSpread), + ); + let positionsFlat = positions.flat(); + let positionsFloat32Array: Float32Array = Float32Array.from(positionsFlat); + const geometry = new THREE.BufferGeometry(); + geometry.setAttribute( + "position", + new THREE.BufferAttribute(positionsFloat32Array, 3), + ); + + // 设置点的材质,使用自定义的顶点和片段着色器 + const material = new THREE.ShaderMaterial({ + vertexShader, + fragmentShader, + transparent: true, + // 材质设置为透明 + blending: THREE.AdditiveBlending, + // 使用加法混合 + depthWrite: false, // 不写入深度缓冲区 + }); + + // 创建并添加点粒子系统到场景中 + const points = new THREE.Points(geometry, material); + this.scene.add(points); + + // 用于在材质中注入uniforms变量的统一管理器 + const uj = new kokomi.UniformInjector(this); + material.uniforms = { + ...material.uniforms, + ...uj.shadertoyUniforms, + uPixelRatio: { + value: this.renderer.getPixelRatio(), + }, + }; + + // 更新函数,每次渲染时调用,用于动态更新材质中的uniforms + this.update(() => { + uj.injectShadertoyUniforms(material.uniforms); + }); + } +} + +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/weather/index.html b/src/component/weather/index.html new file mode 100644 index 0000000..e36457b --- /dev/null +++ b/src/component/weather/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + \ No newline at end of file diff --git a/src/component/weather/index.ts b/src/component/weather/index.ts new file mode 100644 index 0000000..2b1b890 --- /dev/null +++ b/src/component/weather/index.ts @@ -0,0 +1,35 @@ +import fragmentShader from "@/shaders/weather/medium-rain.glsl"; +// 创建一个加载器 +import * as kokomi from "kokomi.js"; +import * as THREE from "three"; +const loader = new THREE.TextureLoader(); +// 加载纹理 +const texture3 = loader.load("../shaders/weather/medium-rain3.png"); +class Sketch extends kokomi.Base { + create() { + this.camera.position.set(0, 0, 5); + new kokomi.OrbitControls(this); + const geometry = new THREE.PlaneGeometry(8, 6); + const material = new THREE.ShaderMaterial({ + // vertexShader, + fragmentShader, + uniforms: { + iChannel3: { + value: texture3, + }, + }, + }); + const mesh = new THREE.Mesh(geometry, material); + this.scene.add(mesh); + const uj = new kokomi.UniformInjector(this); + material.uniforms = { + ...material.uniforms, + ...uj.shadertoyUniforms, + }; + this.update(() => { + uj.injectShadertoyUniforms(material.uniforms); + }); + } +} +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webaudio_orientation/index.html b/src/component/webaudio_orientation/index.html new file mode 100644 index 0000000..7e0ccdc --- /dev/null +++ b/src/component/webaudio_orientation/index.html @@ -0,0 +1,31 @@ + + + + + + + Document + + + + +
+ + + +
+ +
+ + + + + + diff --git a/src/component/webaudio_orientation/index.ts b/src/component/webaudio_orientation/index.ts new file mode 100644 index 0000000..547dfa7 --- /dev/null +++ b/src/component/webaudio_orientation/index.ts @@ -0,0 +1,133 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; + +import { OrbitControls, PositionalAudioHelper, GLTFLoader } from 'three-stdlib'; + +class Sketch extends kokomi.Base { + create() { + const that = this + // 初始化函数 + function init() { + // 移除覆盖层 + const overlay = document.getElementById('overlay'); + overlay!.remove(); + + // that.camera.fov = 45; + that.camera.near = 0.1; + that.camera.far = 100; + that.camera.position.set(3, 2, 3); + + // 加载环境贴图 + const reflectionCube = new THREE.CubeTextureLoader() + .setPath(' ../../assets/images/textures/swedish-royal-castle/') + .load(['px.jpg', 'nx.jpg', 'py.jpg', 'ny.jpg', 'pz.jpg', 'nz.jpg']); + + // 创建场景并设置背景和雾效 + that.scene.background = new THREE.Color(0xa0a0a0); + that.scene.fog = new THREE.Fog(0xa0a0a0, 2, 20); + + // 添加灯光 + const hemiLight = new THREE.HemisphereLight(0xffffff, 0x8d8d8d, 3); + hemiLight.position.set(0, 20, 0); + that.scene.add(hemiLight); + + const dirLight = new THREE.DirectionalLight(0xffffff, 3); + dirLight.position.set(5, 5, 0); + dirLight.castShadow = true; + dirLight.shadow.camera.top = 1; + dirLight.shadow.camera.bottom = - 1; + dirLight.shadow.camera.left = - 1; + dirLight.shadow.camera.right = 1; + dirLight.shadow.camera.near = 0.1; + dirLight.shadow.camera.far = 20; + that.scene.add(dirLight); + + // 创建地面网格 + const mesh = new THREE.Mesh(new THREE.PlaneGeometry(50, 50), new THREE.MeshPhongMaterial({ color: 0xcbcbcb, depthWrite: false })); + mesh.rotation.x = - Math.PI / 2; + mesh.receiveShadow = true; + that.scene.add(mesh); + + const grid = new THREE.GridHelper(50, 50, 0xc1c1c1, 0xc1c1c1); + that.scene.add(grid); + + // 创建音频监听器并添加到相机 + const listener = new THREE.AudioListener(); + that.camera.add(listener); + + // 播放背景音乐 + const audioElement = document.getElementById('music') as HTMLAudioElement; + audioElement!.play(); + + // 创建位置音频对象并设置相关属性 + const positionalAudio = new THREE.PositionalAudio(listener); + positionalAudio.setMediaElementSource(audioElement); + positionalAudio.setRefDistance(1); + positionalAudio.setDirectionalCone(180, 230, 0.1); + + // 创建位置音频辅助器并添加到位置音频对象 + const helper = new PositionalAudioHelper(positionalAudio, 0.1); + positionalAudio.add(helper); + + // 加载3D模型 + const gltfLoader = new GLTFLoader(); + gltfLoader.load('../../assets/model/gltf/BoomBox.glb', function (gltf) { + + const boomBox = gltf.scene; + boomBox.position.set(0, 0.2, 0); + boomBox.scale.set(20, 20, 20); + + boomBox.traverse(function (object) { + if (object instanceof THREE.Mesh && object.isMesh) { + object.material.envMap = reflectionCube; + object.geometry.rotateY(- Math.PI); + object.castShadow = true; + } + }); + + boomBox.add(positionalAudio); + that.scene.add(boomBox); + + }); + + // 创建并添加代表声音减弱的墙 + const wallGeometry = new THREE.BoxGeometry(2, 1, 0.1); + const wallMaterial = new THREE.MeshBasicMaterial({ color: 0xff0000, transparent: true, opacity: 0.5 }); + + const wall = new THREE.Mesh(wallGeometry, wallMaterial); + wall.position.set(0, 0.5, - 0.5); + that.scene.add(wall); + // 创建WebGL渲染器并添加到DOM元素 + that.renderer.shadowMap.enabled = true; + + // 创建轨道控制对象 + const controls = new OrbitControls(that.camera, that.renderer.domElement); + controls.target.set(0, 0.1, 0); + controls.update(); + controls.minDistance = 0.5; + controls.maxDistance = 10; + controls.maxPolarAngle = 0.5 * Math.PI; + + // 窗口大小调整事件监听器 + window.addEventListener('resize', onWindowResize); + + } + + // 窗口大小调整时的处理函数 + function onWindowResize() { + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + + } + init() + + } +} + +const startButton = document.getElementById('startButton'); +startButton!.addEventListener('click', function () { + // 创建Sketch实例并初始化 + const sketch = new Sketch("#sketch"); + sketch.create(); +}); diff --git a/src/component/webgl_buffergeometry/index.html b/src/component/webgl_buffergeometry/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_buffergeometry/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_buffergeometry/index.ts b/src/component/webgl_buffergeometry/index.ts new file mode 100644 index 0000000..40c2828 --- /dev/null +++ b/src/component/webgl_buffergeometry/index.ts @@ -0,0 +1,190 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; + + +class Sketch extends kokomi.Base { + create() { + const that = this + // 容器和统计对象变量声明 + let stats: Stats; + + let mesh: THREE.Mesh; + + + // 初始化函数,设置场景、相机、渲染器等 + function init() { + // that.camera.fov = 27; + that.camera.near = 1; + that.camera.far = 4096; + that.camera.updateProjectionMatrix() + that.camera.position.z = 2048; + + // 创建场景,设置背景色和雾效 + that.scene.background = new THREE.Color(0x050505); + that.scene.fog = new THREE.Fog(0x050505, 2000, 3500); + + // 添加环境光 + that.scene.add(new THREE.AmbientLight(0xcccccc)); + + // 创建并添加方向光 + const light1 = new THREE.DirectionalLight(0xffffff, 1.5); + light1.position.set(1, 1, 1); + that.scene.add(light1); + + const light2 = new THREE.DirectionalLight(0xffffff, 4.5); + light2.position.set(0, - 1, 0); + that.scene.add(light2); + + // 几何体参数设置 + const triangles = 160000; + + const geometry = new THREE.BufferGeometry(); + + /** + * 循环生成指定数量 (triangles) 的三角形。 + * 为每个三角形生成一个中心点 (x, y, z),这些坐标是在 [-n/2, n/2] 区间内的随机数。 + * 生成三个顶点 A, B, C,每个顶点相对于中心点 (x, y, z) 在 [-d/2, d/2] 区间内随机偏移。 + * 将这三个顶点的位置数据添加到 positions 数组中。 + * 使用 THREE.Vector3 对象 pA, pB, pC 来存储顶点位置。 + * 计算向量 CB 和 AB,分别表示从顶点 B 到 C 和从 B 到 A 的方向。 + * 计算向量 CB 和 AB 的叉积得到三角形的法线向量,并将其存储在 CB 中。 + * 将法线向量归一化。 + * 将归一化的法线向量添加到 normals 数组三次(对应每个顶点)。 + * 根据中心点 (x, y, z) 的位置计算颜色值,范围在 [0, 1] 内。 + * 使用 THREE.Color 对象 color 来存储颜色值。 + * 为每个顶点生成一个随机的透明度值 alpha。 + * 将颜色值及透明度添加到 colors 数组三次(对应每个顶点)。 + */ + const positions = []; + const normals = []; + const colors = []; + + const color = new THREE.Color(); + + const n = 800, n2 = n / 2; + const d = 12, d2 = d / 2; + + const pA = new THREE.Vector3(); + const pB = new THREE.Vector3(); + const pC = new THREE.Vector3(); + + const cb = new THREE.Vector3(); + const ab = new THREE.Vector3(); + + // 生成并设置顶点、法线和颜色数据 + for (let i = 0; i < triangles; i++) { + // 生成随机位置 + const x = Math.random() * n - n2; + const y = Math.random() * n - n2; + const z = Math.random() * n - n2; + + // 生成三角形顶点 + const ax = x + Math.random() * d - d2; + const ay = y + Math.random() * d - d2; + const az = z + Math.random() * d - d2; + + const bx = x + Math.random() * d - d2; + const by = y + Math.random() * d - d2; + const bz = z + Math.random() * d - d2; + + const cx = x + Math.random() * d - d2; + const cy = y + Math.random() * d - d2; + const cz = z + Math.random() * d - d2; + + // 存储顶点位置 + positions.push(ax, ay, az); + positions.push(bx, by, bz); + positions.push(cx, cy, cz); + + // 计算并存储三角形法线 + pA.set(ax, ay, az); + pB.set(bx, by, bz); + pC.set(cx, cy, cz); + + // 计算向量cb和向量ab的差值,结果存储在cb中 + cb.subVectors(pC, pB); + + // 计算向量ab和向量ab的差值,结果存储在ab中 + ab.subVectors(pA, pB); + + // 计算向量cb和向量ab的叉积,结果存储在cb中,这里计算叉积的目的是为了得到一个与原向量ab和cb都垂直的向量 + cb.cross(ab); + + cb.normalize(); + + const nx = cb.x; + const ny = cb.y; + const nz = cb.z; + + normals.push(nx, ny, nz); + + // 生成并存储颜色 + const vx = (x / n) + 0.5; + const vy = (y / n) + 0.5; + const vz = (z / n) + 0.5; + + color.setRGB(vx, vy, vz); + + const alpha = Math.random(); + + colors.push(color.r, color.g, color.b, alpha); + colors.push(color.r, color.g, color.b, alpha); + colors.push(color.r, color.g, color.b, alpha); + + } + + function disposeArray() { + + this.array = null; + + } + + geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3).onUpload(disposeArray)); + geometry.setAttribute('normal', new THREE.Float32BufferAttribute(normals, 3).onUpload(disposeArray)); + geometry.setAttribute('color', new THREE.Float32BufferAttribute(colors, 4).onUpload(disposeArray)); + + geometry.computeBoundingSphere(); + + // 创建材质 + const material = new THREE.MeshPhongMaterial({ + color: 0xd5d5d5, specular: 0xffffff, shininess: 250, + side: THREE.DoubleSide, vertexColors: true, transparent: true + }); + + // 创建并添加网格对象到场景 + mesh = new THREE.Mesh(geometry, material); + that.scene.add(mesh); + + // 创建并添加统计对象到容器 + stats = new Stats(); + + // 窗口大小调整事件监听 + window.addEventListener('resize', onWindowResize); + + } + + // 窗口大小调整时的处理函数 + function onWindowResize() { + // 更新相机宽高比和渲染器大小 + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + this.update(() => { + stats.update(); + // 更新当前时间 + const time = Date.now() * 0.001; + // 设置网格对象旋转 + mesh.rotation.x = time * 0.25; + mesh.rotation.y = time * 0.5; + }) + + // 初始化函数 + init(); + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_buffergeometry_drawrange/index.html b/src/component/webgl_buffergeometry_drawrange/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_buffergeometry_drawrange/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_buffergeometry_drawrange/index.ts b/src/component/webgl_buffergeometry_drawrange/index.ts new file mode 100644 index 0000000..4f4cb30 --- /dev/null +++ b/src/component/webgl_buffergeometry_drawrange/index.ts @@ -0,0 +1,285 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; +import { OrbitControls } from 'three-stdlib'; + +interface ParticlesDataItem { + velocity: THREE.Vector3; + numConnections: number; +} +class Sketch extends kokomi.Base { + create() { + const that = this; + // 声明未初始化的变量,用于后续的3D场景构建和粒子系统管理 + let group: THREE.Group; + let stats: Stats; + const particlesData: ParticlesDataItem[] = []; + let positions: Float32Array, colors: Float32Array; + let particles: THREE.BufferGeometry; + let pointCloud: THREE.Points; + let particlePositions: Float32Array; + let linesMesh: THREE.LineSegments; + + // 定义变量以控制粒子系统的大小和显示效果 + const maxParticleCount = 1000; + let particleCount = 500; + const r = 800; + const rHalf = r / 2; + + // 设置效果控制器,用于GUI中调节粒子系统参数 + const effectController = { + showDots: true, + showLines: true, + minDistance: 150, + limitConnections: false, + maxConnections: 20, + particleCount: 500 + }; + + // 初始化GUI,以便用户可以动态调整粒子效果参数 + function initGUI() { + + const gui = new GUI(); + + // 添加‘showDots’控件到GUI,当值改变时更新点云的可见性 + gui.add(effectController, 'showDots').onChange(function (value: boolean) { + pointCloud.visible = value; + }); + + // 添加‘showLines’控件到GUI,当值改变时更新线条网格的可见性 + gui.add(effectController, 'showLines').onChange(function (value: boolean) { + linesMesh.visible = value; + }); + + // 添加‘minDistance’控件到GUI,允许用户设置最小距离 + gui.add(effectController, 'minDistance', 10, 300); + + // 添加‘limitConnections’控件到GUI + gui.add(effectController, 'limitConnections'); + + // 添加‘maxConnections’控件到GUI,允许用户设置最大连接数 + gui.add(effectController, 'maxConnections', 0, 30, 1); + + // 添加‘particleCount’控件到GUI,当值改变时更新粒子数量和绘制范围 + gui.add(effectController, 'particleCount', 0, maxParticleCount, 1).onChange(function (value: number) { + particleCount = value; + particles.setDrawRange(0, particleCount); + }); + + } + + function init() { + + initGUI(); + + that.camera.near = 1; + that.camera.far = 4000; + that.camera.position.z = 1750; + that.camera.updateProjectionMatrix() + const controls = new OrbitControls(that.camera, that.container); + controls.minDistance = 1000; + controls.maxDistance = 3000; + + // 创建一个组,并将其添加到场景中 + group = new THREE.Group(); + that.scene.add(group); + + // 创建一个盒子辅助器,并设置其材质属性 + const helper = new THREE.BoxHelper(new THREE.Mesh(new THREE.BoxGeometry(r, r, r))); + helper.material.color.setHex(0x474747); + helper.material.blending = THREE.AdditiveBlending; + helper.material.transparent = true; + group.add(helper); + + // 计算最大粒子数的平方 + const segments = maxParticleCount * maxParticleCount; + + // 初始化粒子的位置和颜色数组 + positions = new Float32Array(segments * 3); + colors = new Float32Array(segments * 3); + + // 创建粒子材质 + const pMaterial = new THREE.PointsMaterial({ + color: 0xFFFFFF, + size: 3, + blending: THREE.AdditiveBlending, + transparent: true, + sizeAttenuation: false + }); + + // 创建粒子几何体,并初始化粒子位置 + particles = new THREE.BufferGeometry(); + particlePositions = new Float32Array(maxParticleCount * 3); + + // 遍历每个粒子,随机初始化其位置和数据 + for (let i = 0; i < maxParticleCount; i++) { + + const x = Math.random() * r - r / 2; + const y = Math.random() * r - r / 2; + const z = Math.random() * r - r / 2; + + particlePositions[i * 3] = x; + particlePositions[i * 3 + 1] = y; + particlePositions[i * 3 + 2] = z; + + // 将粒子数据添加到几何体中 + particlesData.push({ + velocity: new THREE.Vector3(- 1 + Math.random() * 2, - 1 + Math.random() * 2, - 1 + Math.random() * 2), + numConnections: 0 + }); + + } + + // 设置粒子几何体的绘制范围和位置属性 + particles.setDrawRange(0, particleCount); + particles.setAttribute('position', new THREE.BufferAttribute(particlePositions, 3).setUsage(THREE.DynamicDrawUsage)); + + // 创建粒子系统,并将其添加到组中 + pointCloud = new THREE.Points(particles, pMaterial); + group.add(pointCloud); + + // 创建线条几何体,并设置其位置和颜色属性 + const geometry = new THREE.BufferGeometry(); + + geometry.setAttribute('position', new THREE.BufferAttribute(positions, 3).setUsage(THREE.DynamicDrawUsage)); + geometry.setAttribute('color', new THREE.BufferAttribute(colors, 3).setUsage(THREE.DynamicDrawUsage)); + + // 计算几何体的包围球 + geometry.computeBoundingSphere(); + + // 设置几何体的绘制范围 + geometry.setDrawRange(0, 0); + + // 创建线条材质 + const material = new THREE.LineBasicMaterial({ + vertexColors: true, + blending: THREE.AdditiveBlending, + transparent: true + }); + + // 创建线条网格,并将其添加到组中 + linesMesh = new THREE.LineSegments(geometry, material); + group.add(linesMesh); + + // 添加统计插件到容器中 + stats = new Stats(); + that.container.appendChild(stats.dom); + + // 窗口大小调整事件监听 + window.addEventListener('resize', onWindowResize); + } + // 初始化函数 + function onWindowResize() { + + // 更新相机的宽高比和渲染器的大小 + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + + } + + this.update(() => { + + // 重置粒子连接数 + let vertexpos = 0; + let colorpos = 0; + let numConnected = 0; + for (let i = 0; i < particleCount; i++) + particlesData[i].numConnections = 0; + + // 遍历每个粒子,更新其位置和连接数 + for (let i = 0; i < particleCount; i++) { + + // 获取粒子数据 + const particleData = particlesData[i]; + + // 更新粒子位置 + particlePositions[i * 3] += particleData.velocity.x; + particlePositions[i * 3 + 1] += particleData.velocity.y; + particlePositions[i * 3 + 2] += particleData.velocity.z; + + // 粒子反弹逻辑 + if (particlePositions[i * 3 + 1] < - rHalf || particlePositions[i * 3 + 1] > rHalf) + particleData.velocity.y = - particleData.velocity.y; + + if (particlePositions[i * 3] < - rHalf || particlePositions[i * 3] > rHalf) + particleData.velocity.x = - particleData.velocity.x; + + if (particlePositions[i * 3 + 2] < - rHalf || particlePositions[i * 3 + 2] > rHalf) + particleData.velocity.z = - particleData.velocity.z; + + // 检查粒子连接数限制 + if (effectController.limitConnections && particleData.numConnections >= effectController.maxConnections) + continue; + + // 碰撞检测 + for (let j = i + 1; j < particleCount; j++) { + + const particleDataB = particlesData[j]; + if (effectController.limitConnections && particleDataB.numConnections >= effectController.maxConnections) + continue; + + // 计算距离 + const dx = particlePositions[i * 3] - particlePositions[j * 3]; + const dy = particlePositions[i * 3 + 1] - particlePositions[j * 3 + 1]; + const dz = particlePositions[i * 3 + 2] - particlePositions[j * 3 + 2]; + const dist = Math.sqrt(dx * dx + dy * dy + dz * dz); + + // 如果距离小于最小距离,则连接粒子 + if (dist < effectController.minDistance) { + + particleData.numConnections++; + particleDataB.numConnections++; + + const alpha = 1.0 - dist / effectController.minDistance; + + positions[vertexpos++] = particlePositions[i * 3]; + positions[vertexpos++] = particlePositions[i * 3 + 1]; + positions[vertexpos++] = particlePositions[i * 3 + 2]; + + positions[vertexpos++] = particlePositions[j * 3]; + positions[vertexpos++] = particlePositions[j * 3 + 1]; + positions[vertexpos++] = particlePositions[j * 3 + 2]; + + colors[colorpos++] = alpha; + colors[colorpos++] = alpha; + colors[colorpos++] = alpha; + + colors[colorpos++] = alpha; + colors[colorpos++] = alpha; + colors[colorpos++] = alpha; + + numConnected++; + + } + + } + + } + + // 更新线条网格的绘制范围和属性 + linesMesh.geometry.setDrawRange(0, numConnected * 2); + linesMesh.geometry.attributes.position.needsUpdate = true; + linesMesh.geometry.attributes.color.needsUpdate = true; + + pointCloud.geometry.attributes.position.needsUpdate = true; + + + // 更新统计插件 + stats.update(); + // 更新时间 + const time = Date.now() * 0.001; + + // 更新组的旋转 + group.rotation.y = time * 0.1; + + }) + + init() + + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_gpgpu_birds_gltf/fragmentShaderPosition.glsl b/src/component/webgl_gpgpu_birds_gltf/fragmentShaderPosition.glsl new file mode 100644 index 0000000..80a7aeb --- /dev/null +++ b/src/component/webgl_gpgpu_birds_gltf/fragmentShaderPosition.glsl @@ -0,0 +1,25 @@ +// 定义全局变量time,用于表示时间的流逝 +uniform float time; +// 定义全局变量delta,表示时间的增量 +uniform float delta; + +// 主函数,执行片段着色器的主要逻辑 +void main(){ + // 将片段的坐标归一化到[0, 1]区间 + vec2 uv=gl_FragCoord.xy/resolution.xy; + // 从纹理中采样得到片段的位置信息 + vec4 tmpPos=texture2D(texturePosition,uv); + // 提取位置信息的xyz分量 + vec3 position=tmpPos.xyz; + // 从纹理中采样得到片段的速度信息 + vec3 velocity=texture2D(textureVelocity,uv).xyz; + + // 提取位置信息的w分量,表示相位 + float phase=tmpPos.w; + + // 更新相位,基于时间增量和速度计算新的相位 + phase=mod((phase+delta+length(velocity.xz)*delta*3.+max(velocity.y,0.)*delta*6.),62.83); + + // 根据速度和时间增量更新片段的位置,同时存储相位信息 + gl_FragColor=vec4(position+velocity*delta*15.,phase); +} diff --git a/src/component/webgl_gpgpu_birds_gltf/fragmentShaderVelocity.glsl b/src/component/webgl_gpgpu_birds_gltf/fragmentShaderVelocity.glsl new file mode 100644 index 0000000..de0f1a9 --- /dev/null +++ b/src/component/webgl_gpgpu_birds_gltf/fragmentShaderVelocity.glsl @@ -0,0 +1,152 @@ +// 声明uniform变量,这些变量在所有顶点间共享,用于全局计算 +uniform float time;// 当前时间 +uniform float testing;// 测试模式标志 +uniform float delta;// 时间间隔,通常为0.016 +uniform float separationDistance;// 分离距离,20单位 +uniform float alignmentDistance;// 对齐距离,40单位 +uniform float cohesionDistance;// 聚集距离 +uniform float freedomFactor;// 自由因子,决定鸟儿的随机行为 +uniform vec3 predator;// 捕食者的位置 + +// 分辨率常量 +const float width=resolution.x; +const float height=resolution.y; + +// 圆周率常量 +const float PI=3.141592653589793; +const float PI_2=PI*2.; + +// 区域半径及平方 +float zoneRadius=40.; +float zoneRadiusSquared=1600.; + +// 分离和对齐阈值 +float separationThresh=.45; +float alignmentThresh=.65; + +// 世界边界常量 +const float UPPER_BOUNDS=BOUNDS; +const float LOWER_BOUNDS=-UPPER_BOUNDS; + +// 速度限制常量 +const float SPEED_LIMIT=9.; + +// 随机函数,用于生成纹理坐标相关的随机数 +float rand(vec2 co){ + return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453); +} + +// 主函数,执行片段着色器的主要逻辑 +void main(){ + // 更新zoneRadius和相关阈值 + zoneRadius=separationDistance+alignmentDistance+cohesionDistance; + separationThresh=separationDistance/zoneRadius; + alignmentThresh=(separationDistance+alignmentDistance)/zoneRadius; + zoneRadiusSquared=zoneRadius*zoneRadius; + + // 计算uv坐标 + vec2 uv=gl_FragCoord.xy/resolution.xy; + vec3 birdPosition,birdVelocity; + + // 获取当前位置和速度 + vec3 selfPosition=texture2D(texturePosition,uv).xyz; + vec3 selfVelocity=texture2D(textureVelocity,uv).xyz; + + // 初始化距离和方向变量 + float dist; + vec3 dir;// 方向 + float distSquared; + + // 距离平方常量 + float separationSquared=separationDistance*separationDistance; + float cohesionSquared=cohesionDistance*cohesionDistance; + + // 用于计算的临时变量 + float f; + float percent; + + // 初始化速度为自身速度 + vec3 velocity=selfVelocity; + + // 速度限制 + float limit=SPEED_LIMIT; + + // 计算相对于捕食者的方向和距离 + dir=predator*UPPER_BOUNDS-selfPosition; + dir.z=0.; + dist=length(dir); + distSquared=dist*dist; + + // 捕食者避免半径 + float preyRadius=150.; + float preyRadiusSq=preyRadius*preyRadius; + + // 让鸟儿远离捕食者 + if(distzoneRadiusSquared)continue; + + percent=distSquared/zoneRadiusSquared; + + // 分离行为 + if(percentlimit){ + velocity=normalize(velocity)*limit; + } + + // 设置输出颜色为速度向量 + gl_FragColor=vec4(velocity,1.); +} diff --git a/src/component/webgl_gpgpu_birds_gltf/index.html b/src/component/webgl_gpgpu_birds_gltf/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_gpgpu_birds_gltf/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_gpgpu_birds_gltf/index.ts b/src/component/webgl_gpgpu_birds_gltf/index.ts new file mode 100644 index 0000000..eff7c7f --- /dev/null +++ b/src/component/webgl_gpgpu_birds_gltf/index.ts @@ -0,0 +1,453 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; +import { GLTFLoader, GPUComputationRenderer, Variable } from 'three-stdlib'; +import textureVelocity from './fragmentShaderVelocity.glsl'; +import texturePosition from './fragmentShaderPosition.glsl'; + +// 定义EffectController类型,用于控制某种效果或行为 +type EffectController = { + separation: number; // 分离力的强度,影响个体间保持距离的程度 + alignment: number; // 对齐力的强度,影响个体在群体中方向的一致性 + cohesion: number; // 凝聚力的强度,影响个体聚集在一起的程度 + freedom: number; // 自由度,可能影响个体偏离群体行为的程度 + size: number; // 群体的大小,可能指群体中个体的数量 + count: number; // 模型资源的数量 +}; + +class Sketch extends kokomi.Base { + create() { + const that = this + // 定义画布宽度 + const WIDTH = 64; + // 计算鸟的数量 + const BIRDS = WIDTH * WIDTH; + + // 创建鸟的几何体 + const BirdGeometry = new THREE.BufferGeometry(); + // 定义变量用于存储动画纹理、动画持续时间、鸟的网格、着色器材质和每个鸟的索引数 + let textureAnimation: THREE.DataTexture, durationAnimation: number, birdMesh: THREE.Mesh, materialShader: THREE.WebGLProgramParametersWithUniforms, indicesPerBird: number; + + // 函数:计算不小于给定数字的下一个2的幂 + function nextPowerOf2(n: number) { + return Math.pow(2, Math.ceil(Math.log(n) / Math.log(2))); + } + + //添加线性插值函数 + const lerp = function (value1: number, value2: number, amount: number) { + amount = Math.max(Math.min(amount, 1), 0); + return value1 + (value2 - value1) * amount; + }; + + // 定义鸟的模型和颜色数组 + const gltfs = ['../../assets/model/gltf/Parrot.glb', '../../assets/model/gltf/Flamingo.glb']; + const colors = [0xccFFFF, 0xffdeff]; + const sizes = [0.2, 0.1]; + // 随机选择一个模型进行加载 + const selectModel = Math.floor(Math.random() * gltfs.length); + new GLTFLoader().load(gltfs[selectModel], function (gltf) { + const animations = gltf.animations; + durationAnimation = Math.round(animations[0].duration * 60); + const birdGeo = (gltf.scene.children[0] as THREE.Mesh).geometry; + const morphAttributes = birdGeo.morphAttributes.position; + const tHeight = nextPowerOf2(durationAnimation); + const tWidth = nextPowerOf2(birdGeo.getAttribute('position').count); + indicesPerBird = birdGeo.index!.count; + const tData = new Float32Array(4 * tWidth * tHeight); + + // 填充纹理数据 + for (let i = 0; i < tWidth; i++) { + for (let j = 0; j < tHeight; j++) { + const offset = j * tWidth * 4; + const curMorph = Math.floor(j / durationAnimation * morphAttributes.length); + const nextMorph = (Math.floor(j / durationAnimation * morphAttributes.length) + 1) % morphAttributes.length; + const lerpAmount = j / durationAnimation * morphAttributes.length % 1; + + if (j < durationAnimation) { + let d0, d1; + d0 = morphAttributes[curMorph].array[i * 3]; + d1 = morphAttributes[nextMorph].array[i * 3]; + if (d0 !== undefined && d1 !== undefined) tData[offset + i * 4] = lerp(d0, d1, lerpAmount); + + d0 = morphAttributes[curMorph].array[i * 3 + 1]; + d1 = morphAttributes[nextMorph].array[i * 3 + 1]; + if (d0 !== undefined && d1 !== undefined) tData[offset + i * 4 + 1] = lerp(d0, d1, lerpAmount); + + d0 = morphAttributes[curMorph].array[i * 3 + 2]; + d1 = morphAttributes[nextMorph].array[i * 3 + 2]; + if (d0 !== undefined && d1 !== undefined) tData[offset + i * 4 + 2] = lerp(d0, d1, lerpAmount); + + tData[offset + i * 4 + 3] = 1; + } + } + } + + // 创建动画纹理 + textureAnimation = new THREE.DataTexture(tData, tWidth, tHeight, THREE.RGBAFormat, THREE.FloatType); + textureAnimation.needsUpdate = true; + + // 准备顶点数据、颜色数据、参考数据和种子数据 + const vertices: number[] = [], + color: number[] = [], + reference: number[] = [], + seeds: number[] = [], + indices: number[] = []; + // 计算所有鸟类模型的顶点总数,并遍历每个顶点 + const totalVertices = birdGeo.getAttribute('position').count * 3 * BIRDS; + for (let i = 0; i < totalVertices; i++) { + // 计算当前顶点在鸟类模型中的索引 + const bIndex = i % (birdGeo.getAttribute('position').count * 3); + // 将当前顶点的位置和颜色信息添加到对应的数组中 + vertices.push(birdGeo.getAttribute('position').array[bIndex]); + color.push(birdGeo.getAttribute('color').array[bIndex]); + } + + // 为每个鸟类模型的顶点生成随机数和纹理坐标 + let r = Math.random(); + for (let i = 0; i < birdGeo.getAttribute('position').count * BIRDS; i++) { + // 计算当前顶点在鸟类模型中的索引 + const bIndex = i % (birdGeo.getAttribute('position').count); + // 计算当前鸟类模型的索引 + const bird = Math.floor(i / birdGeo.getAttribute('position').count); + // 每当处理新的鸟类模型时,生成新的随机数 + if (bIndex == 0) r = Math.random(); + // 计算当前鸟类模型在纹理坐标中的位置,并将结果添加到reference数组中 + const j = ~~bird; + const x = (j % WIDTH) / WIDTH; + const y = ~~(j / WIDTH) / WIDTH; + reference.push(x, y, bIndex / tWidth, durationAnimation / tHeight); + // 为每个鸟类模型生成随机种子,并添加到seeds数组中 + seeds.push(bird, r, Math.random(), Math.random()); + } + + // 为所有鸟类模型的每个顶点生成索引,并添加到indices数组中 + for (let i = 0; i < birdGeo.index!.array.length * BIRDS; i++) { + // 计算当前顶点的偏移量 + const offset = Math.floor(i / birdGeo.index!.array.length) * (birdGeo.getAttribute('position').count); + // 将计算后的顶点索引添加到indices数组中 + indices.push(birdGeo.index!.array[i % birdGeo.index!.array.length] + offset); + } + + // 设置几何体的属性 + BirdGeometry.setAttribute('position', new THREE.BufferAttribute(new Float32Array(vertices), 3)); + BirdGeometry.setAttribute('birdColor', new THREE.BufferAttribute(new Float32Array(color), 3)); + BirdGeometry.setAttribute('color', new THREE.BufferAttribute(new Float32Array(color), 3)); + BirdGeometry.setAttribute('reference', new THREE.BufferAttribute(new Float32Array(reference), 4)); + BirdGeometry.setAttribute('seeds', new THREE.BufferAttribute(new Float32Array(seeds), 4)); + + BirdGeometry.setIndex(indices); + + // 初始化和动画函数 + init(); + animate(); + }); + // 声明各种变量和对象,用于后续的Three.js渲染流程 + let stats: Stats; + let mouseX = 0, mouseY = 0; + + let windowHalfX = window.innerWidth / 2; + let windowHalfY = window.innerHeight / 2; + + const BOUNDS = 800, BOUNDS_HALF = BOUNDS / 2; + + let last = performance.now(); + + let gpuCompute: GPUComputationRenderer; + let velocityVariable: Variable; + let positionVariable: Variable; + let positionUniforms: THREE.ShaderMaterial['uniforms']; + let velocityUniforms: THREE.ShaderMaterial['uniforms'];; + + // 初始化场景 + function init() { + // that.camera.fov = 75; + that.camera.near = 1; + that.camera.far = 3000; + that.camera.updateProjectionMatrix(); + that.camera.position.z = 350; + + // 创建场景,并设置背景颜色和雾效 + that.scene.background = new THREE.Color(colors[selectModel]); + that.scene.fog = new THREE.Fog(colors[selectModel], 100, 1000); + + // 添加各种光源到场景中 + const hemiLight = new THREE.HemisphereLight(colors[selectModel], 0xffffff, 4.5); + hemiLight.color.setHSL(0.6, 1, 0.6, THREE.SRGBColorSpace); + hemiLight.groundColor.setHSL(0.095, 1, 0.75, THREE.SRGBColorSpace); + hemiLight.position.set(0, 50, 0); + that.scene.add(hemiLight); + + const dirLight = new THREE.DirectionalLight(0x00CED1, 2.0); + dirLight.color.setHSL(0.1, 1, 0.95, THREE.SRGBColorSpace); + dirLight.position.set(- 1, 1.75, 1); + dirLight.position.multiplyScalar(30); + that.scene.add(dirLight); + + // 初始化计算渲染器的相关设置 + initComputeRenderer(); + + // 添加性能统计工具到容器中 + stats = new Stats(); + that.container.appendChild(stats.dom); + + // 禁止默认的触摸操作,并监听鼠标移动事件 + that.container.style.touchAction = 'none'; + that.container.addEventListener('pointermove', onPointerMove); + + // 监听窗口大小调整事件 + window.addEventListener('resize', onWindowResize); + + // 创建并配置GUI工具 + const gui = new GUI(); + + + // 定义并初始化效果控制器,用于动态调整场景中的各种效果参数 + const effectController: EffectController = { + separation: 20.0, + alignment: 20.0, + cohesion: 20.0, + freedom: 0.75, + size: sizes[selectModel], + count: Math.floor(BIRDS / 4) + }; + + // 创建一个函数,用于在更改GUI参数时更新场景 + const valuesChanger = function () { + velocityUniforms['separationDistance'].value = effectController.separation; + velocityUniforms['alignmentDistance'].value = effectController.alignment; + velocityUniforms['cohesionDistance'].value = effectController.cohesion; + velocityUniforms['freedomFactor'].value = effectController.freedom; + if (materialShader) materialShader.uniforms['size'].value = effectController.size; + BirdGeometry.setDrawRange(0, indicesPerBird * effectController.count); + }; + + // 初始化场景参数 + valuesChanger(); + + // 为每个参数添加到GUI中,以便用户可以动态调整,并在更改时调用valuesChanger函数更新场景 + gui.add(effectController, 'separation', 0.0, 100.0, 1.0).onChange(valuesChanger); + gui.add(effectController, 'alignment', 0.0, 100, 0.001).onChange(valuesChanger); + gui.add(effectController, 'cohesion', 0.0, 100, 0.025).onChange(valuesChanger); + gui.add(effectController, 'size', 0, 1, 0.01).onChange(valuesChanger); + gui.add(effectController, 'count', 0, BIRDS, 1).onChange(valuesChanger); + gui.close(); + + // 初始化鸟类对象 + initBirds(effectController); + + } + function initComputeRenderer() { + + gpuCompute = new GPUComputationRenderer(WIDTH, WIDTH, that.renderer); + + const dtPosition = gpuCompute.createTexture(); + const dtVelocity = gpuCompute.createTexture(); + fillPositionTexture(dtPosition); + fillVelocityTexture(dtVelocity); + + velocityVariable = gpuCompute.addVariable('textureVelocity', textureVelocity, dtVelocity); + positionVariable = gpuCompute.addVariable('texturePosition', texturePosition, dtPosition); + + gpuCompute.setVariableDependencies(velocityVariable, [positionVariable, velocityVariable]); + gpuCompute.setVariableDependencies(positionVariable, [positionVariable, velocityVariable]); + + positionUniforms = positionVariable.material.uniforms; + velocityUniforms = velocityVariable.material.uniforms; + + // 初始化位置和速度的uniform变量 + positionUniforms = positionVariable.material.uniforms; + velocityUniforms = velocityVariable.material.uniforms; + + // 设置位置和速度的相关参数 + positionUniforms['time'] = { value: 0.0 }; + positionUniforms['delta'] = { value: 0.0 }; + velocityUniforms['time'] = { value: 1.0 }; + velocityUniforms['delta'] = { value: 0.0 }; + velocityUniforms['testing'] = { value: 1.0 }; + velocityUniforms['separationDistance'] = { value: 1.0 }; + velocityUniforms['alignmentDistance'] = { value: 1.0 }; + velocityUniforms['cohesionDistance'] = { value: 1.0 }; + velocityUniforms['freedomFactor'] = { value: 1.0 }; + velocityUniforms['predator'] = { value: new THREE.Vector3() }; + velocityVariable.material.defines.BOUNDS = BOUNDS.toFixed(2); + + // 设置纹理的包裹模式 + velocityVariable.wrapS = THREE.RepeatWrapping; + velocityVariable.wrapT = THREE.RepeatWrapping; + positionVariable.wrapS = THREE.RepeatWrapping; + positionVariable.wrapT = THREE.RepeatWrapping; + + // 初始化GPU计算并检查错误 + const error = gpuCompute.init(); + + if (error !== null) { + console.error(error); + } + } + + // 初始化鸟类函数 + function initBirds(effectController: EffectController) { + const geometry = BirdGeometry; + + // 创建鸟类材质 + const m = new THREE.MeshStandardMaterial({ + vertexColors: true, + flatShading: true, + roughness: 1, + metalness: 0 + }); + + // 在材质编译前修改着色器 + m.onBeforeCompile = (shader) => { + // 添加uniform变量 + shader.uniforms.texturePosition = { value: null }; + shader.uniforms.textureVelocity = { value: null }; + shader.uniforms.textureAnimation = { value: textureAnimation }; + shader.uniforms.time = { value: 1.0 }; + shader.uniforms.size = { value: effectController.size }; + shader.uniforms.delta = { value: 0.0 }; + + // 修改顶点着色器 + let token = '#define STANDARD'; + let insert = /* glsl */` + attribute vec4 reference; + attribute vec4 seeds; + attribute vec3 birdColor; + uniform sampler2D texturePosition; + uniform sampler2D textureVelocity; + uniform sampler2D textureAnimation; + uniform float size; + uniform float time; + `; + shader.vertexShader = shader.vertexShader.replace(token, token + insert); + + token = '#include '; + insert = /* glsl */` + vec4 tmpPos = texture2D( texturePosition, reference.xy ); + vec3 pos = tmpPos.xyz; + vec3 velocity = normalize(texture2D( textureVelocity, reference.xy ).xyz); + vec3 aniPos = texture2D( textureAnimation, vec2( reference.z, mod( time + ( seeds.x ) * ( ( 0.0004 + seeds.y / 10000.0) + normalize( velocity ) / 20000.0 ), reference.w ) ) ).xyz; + vec3 newPosition = position; + newPosition = mat3( modelMatrix ) * ( newPosition + aniPos ); + newPosition *= size + seeds.y * size * 0.2; + velocity.z *= -1.; + float xz = length( velocity.xz ); + float xyz = 1.; + float x = sqrt( 1. - velocity.y * velocity.y ); + float cosry = velocity.x / xz; + float sinry = velocity.z / xz; + float cosrz = x / xyz; + float sinrz = velocity.y / xyz; + mat3 maty = mat3( cosry, 0, -sinry, 0 , 1, 0 , sinry, 0, cosry ); + mat3 matz = mat3( cosrz , sinrz, 0, -sinrz, cosrz, 0, 0 , 0 , 1 ); + newPosition = maty * matz * newPosition; + newPosition += pos; + vec3 transformed = vec3( newPosition ); + `; + shader.vertexShader = shader.vertexShader.replace(token, insert); + + materialShader = shader; + }; + + // 创建并添加鸟的网格到场景中 + birdMesh = new THREE.Mesh(geometry, m); + birdMesh.rotation.y = Math.PI / 2; + birdMesh.castShadow = true; + birdMesh.receiveShadow = true; + that.scene.add(birdMesh); + } + + // 填充位置纹理数据 + function fillPositionTexture(texture: THREE.DataTexture) { + const theArray = texture.image.data; + + for (let k = 0, kl = theArray.length; k < kl; k += 4) { + const x = Math.random() * BOUNDS - BOUNDS_HALF; + const y = Math.random() * BOUNDS - BOUNDS_HALF; + const z = Math.random() * BOUNDS - BOUNDS_HALF; + + theArray[k + 0] = x; + theArray[k + 1] = y; + theArray[k + 2] = z; + theArray[k + 3] = 1; + } + } + + // 填充速度纹理数据 + function fillVelocityTexture(texture: THREE.DataTexture) { + const theArray = texture.image.data; + + for (let k = 0, kl = theArray.length; k < kl; k += 4) { + const x = Math.random() - 0.5; + const y = Math.random() - 0.5; + const z = Math.random() - 0.5; + + theArray[k + 0] = x * 10; + theArray[k + 1] = y * 10; + theArray[k + 2] = z * 10; + theArray[k + 3] = 1; + } + } + + // 窗口尺寸调整函数 + function onWindowResize() { + windowHalfX = window.innerWidth / 2; + windowHalfY = window.innerHeight / 2; + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + // 鼠标移动事件处理函数 + function onPointerMove(event: PointerEvent) { + if (event.isPrimary === false) return; + + mouseX = event.clientX - windowHalfX; + mouseY = event.clientY - windowHalfY; + } + + // 动画函数 + function animate() { + requestAnimationFrame(animate); + + render(); + stats.update(); + } + + // 渲染函数 + function render() { + const now = performance.now(); + let delta = (now - last) / 1000; + + if (delta > 1) delta = 1; // 限制delta的最大值 + last = now; + + // 更新uniform变量的时间和delta值 + positionUniforms['time'].value = now; + positionUniforms['delta'].value = delta; + velocityUniforms['time'].value = now; + velocityUniforms['delta'].value = delta; + if (materialShader) materialShader.uniforms['time'].value = now / 1000; + if (materialShader) materialShader.uniforms['delta'].value = delta; + + // 更新捕食者的位置 + velocityUniforms['predator'].value.set(0.5 * mouseX / windowHalfX, - 0.5 * mouseY / windowHalfY, 0); + + mouseX = 10000; + mouseY = 10000; + + // 执行GPU计算 + gpuCompute.compute(); + + // 更新材质的纹理uniform变量 + if (materialShader) materialShader.uniforms['texturePosition'].value = gpuCompute.getCurrentRenderTarget(positionVariable).texture; + if (materialShader) materialShader.uniforms['textureVelocity'].value = gpuCompute.getCurrentRenderTarget(velocityVariable).texture; + + } + + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_lines_dashed/index.html b/src/component/webgl_lines_dashed/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_lines_dashed/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_lines_dashed/index.ts b/src/component/webgl_lines_dashed/index.ts new file mode 100644 index 0000000..2fa42f6 --- /dev/null +++ b/src/component/webgl_lines_dashed/index.ts @@ -0,0 +1,145 @@ +// 导入THREE.js库 +import * as THREE from 'three'; +// 导入用于性能统计的Stats库 +import Stats from 'stats.js'; +// 导入用于生成几何数据的GeometryUtils库 +import { GeometryUtils } from 'three-stdlib'; +import * as kokomi from 'kokomi.js'; +class Sketch extends kokomi.Base { + create() { + // 用于存储场景中的对象 + const objects: THREE.Line[] = []; + const that = this + let stats: Stats; + // 初始化函数 + function init() { + // 创建透视相机并设置位置 + // that.camera.fov = 60; + // that.camera.aspect = 1; + that.camera.near = 1; + that.camera.far = 200 + that.camera.position.z = 150; + + // 创建场景并设置背景和雾效 + that.scene.background = new THREE.Color(0x111111); + that.scene.fog = new THREE.Fog(0x111111, 150, 200); + + // 定义曲线的细分和递归深度 + const subdivisions = 6; + const recursion = 1; + + // 生成希爾伯特曲线点 + const points = GeometryUtils.hilbert3D(new THREE.Vector3(0, 0, 0), 25.0, recursion, 0, 1, 2, 3, 4, 5, 6, 7); + // 创建Catmull-Rom样条曲线 + const spline = new THREE.CatmullRomCurve3(points); + + // 生成细分后的曲线点,并创建缓冲几何体 + const samples = spline.getPoints(points.length * subdivisions); + const geometrySpline = new THREE.BufferGeometry().setFromPoints(samples); + + // 创建线条对象并添加到场景中 + const line = new THREE.Line(geometrySpline, new THREE.LineDashedMaterial({ color: 0xffffff, dashSize: 1, gapSize: 0.5 })); + line.computeLineDistances(); + objects.push(line); + that.scene.add(line); + + // 创建盒形线条对象并添加到场景中 + const geometryBox = box(50, 50, 50); + const lineSegments = new THREE.LineSegments(geometryBox, new THREE.LineDashedMaterial({ color: 0xffaa00, dashSize: 3, gapSize: 1 })); + lineSegments.computeLineDistances(); + objects.push(lineSegments); + that.scene.add(lineSegments); + + // 初始化WebGL渲染器并添加到文档中 + document.body.appendChild(that.renderer.domElement); + + // 初始化性能统计对象并添加到文档中 + stats = new Stats(); + document.body.appendChild(stats.dom); + + // 监听窗口大小改变事件以调整画布大小 + window.addEventListener('resize', onWindowResize); + that.camera.updateProjectionMatrix(); + } + + // 创建盒形线条几何体的函数 + function box(width: number, height: number, depth: number) { + // 计算盒形的一半尺寸 + width = width * 0.5, + height = height * 0.5, + depth = depth * 0.5; + + // 创建缓冲几何体并定义顶点位置 + const geometry = new THREE.BufferGeometry(); + const position = []; + + position.push( + - width, - height, - depth, + - width, height, - depth, + + - width, height, - depth, + width, height, - depth, + + width, height, - depth, + width, - height, - depth, + + width, - height, - depth, + - width, - height, - depth, + + - width, - height, depth, + - width, height, depth, + + - width, height, depth, + width, height, depth, + + width, height, depth, + width, - height, depth, + + width, - height, depth, + - width, - height, depth, + + - width, - height, - depth, + - width, - height, depth, + + - width, height, - depth, + - width, height, depth, + + width, height, - depth, + width, height, depth, + + width, - height, - depth, + width, - height, depth + ); + + // 将顶点数据设置到几何体中 + geometry.setAttribute('position', new THREE.Float32BufferAttribute(position, 3)); + return geometry; + } + + // 窗口大小改变时的回调函数 + function onWindowResize() { + // 调整相机的宽高比并更新投影矩阵 + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + // 调整渲染器的大小 + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + this.update(() => { + stats.update(); + const time = Date.now() * 0.001; + that.scene.traverse(function (object) { + if (object instanceof THREE.Line) { + object.rotation.x = 0.25 * time; + object.rotation.y = 0.25 * time; + } + }); + }) + // 初始化场景和启动动画循环 + init(); + } +} + +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_loader_mmd/index.html b/src/component/webgl_loader_mmd/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_loader_mmd/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_loader_mmd/index.ts b/src/component/webgl_loader_mmd/index.ts new file mode 100644 index 0000000..0b63b1e --- /dev/null +++ b/src/component/webgl_loader_mmd/index.ts @@ -0,0 +1,154 @@ + + +import * as THREE from 'three'; + +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; + +import { OrbitControls, OutlineEffect, MMDLoader, MMDAnimationHelper, CCDIKHelper, MMDPhysicsHelper } from 'three-stdlib' +import * as kokomi from 'kokomi.js'; +//@ts-ignore +import Ammo from 'ammo.js'; +class Sketch extends kokomi.Base { + /** + * 创建场景、相机、灯光、模型等所有元素,并进行初始化设置 + */ + create() { + // 定义Stats对象用于显示帧率等信息,OutlineEffect对象用于边缘检测效果, + // MMDAnimationHelper对象用于处理MMD动画,CCDIKHelper对象用于处理MMD的IK(反向动力学), + // MMDPhysicsHelper对象用于处理MMD的物理效果 + let stats: Stats; + let effect: OutlineEffect; + let helper: MMDAnimationHelper, ikHelper: CCDIKHelper, physicsHelper: MMDPhysicsHelper; + + const that = this; + /** + * 初始化函数,包含创建DOM容器、设置相机参数、添加各种Helper对象和光照, + * 以及加载模型和初始化GUI控制界面 + */ + function init() { + window.Ammo = Ammo; + // 设置相机参数 + that.camera.near = 1; + that.camera.far = 1000; + that.camera.position.z = 30; + that.camera.updateProjectionMatrix(); + that.scene.background = new THREE.Color(0x000000); + + // 添加地面网格辅助对象 + const gridHelper = new THREE.PolarGridHelper(30, 0); + gridHelper.position.y = - 10; + that.scene.add(gridHelper); + + // 添加环境光和定向光 + const ambient = new THREE.AmbientLight(0xaaaaaa, 1); + that.scene.add(ambient); + const directionalLight = new THREE.DirectionalLight(0xffffff, 1); + directionalLight.position.set(- 1, 1, 1).normalize(); + that.scene.add(directionalLight); + + // 初始化边缘检测效果 + effect = new OutlineEffect(that.renderer); + + // 初始化Stats对象用于显示帧率等信息 + stats = new Stats(); + that.container.appendChild(stats.dom); + + // 加载MMD模型 + function onProgress(xhr: ProgressEvent) { + if (xhr.lengthComputable) { + const percentComplete = xhr.loaded / xhr.total * 100; + console.log(Math.round(percentComplete) + '% downloaded'); + } + } + const modelFile = '../../assets/model/mmd/roles/marth7th(preserve)/三月七 1.0.pmx'; + // const modelFile = '../../assets/model/mmd/roles/firefly/流萤3.0.pmx'; + // const modelFile = '../../assets/model/mmd/roles/marth7th(hunt)/三月七3.pmx'; + // const modelFile = '../../assets/model/mmd/roles/qiong(harmony)/星穹铁道—开拓者(穹).pmx'; + // const modelFile = '../../assets/model/mmd/roles/xing(harmony)/星穹铁道—开拓者(星).pmx'; + const vmdFiles = ['../../assets/model/mmd/vmds/default/wavefile_v2.vmd']; + helper = new MMDAnimationHelper({ + afterglow: 2.0 + }); + const loader = new MMDLoader(); + loader.loadWithAnimation(modelFile, vmdFiles, function (mmd) { + // 模型加载完成后添加到场景,并初始化动画和物理效果的Helper对象 + let mesh = mmd.mesh; + mesh.position.y = - 10; + // mesh.position.x = 10; + that.scene.add(mesh); + helper.add(mesh, { + animation: mmd.animation, + physics: true + }); + ikHelper = helper.objects.get(mesh)!.ikSolver.createHelper(); + ikHelper.visible = false; + that.scene.add(ikHelper); + physicsHelper = helper.objects.get(mesh)!.physics!.createHelper(); + physicsHelper.visible = false; + that.scene.add(physicsHelper); + initGui(); + }, onProgress, () => { }); + // 添加轨道控制 + const controls = new OrbitControls(that.camera, that.renderer.domElement); + controls.minDistance = 10; + controls.maxDistance = 100; + + // 窗口尺寸变化时调整渲染尺寸 + window.addEventListener('resize', onWindowResize); + + /** + * 初始化GUI控制界面,用于控制动画、IK、边缘检测和物理效果的开关 + */ + function initGui() { + const api = { + 'animation': true, + 'ik': true, + 'outline': true, + 'physics': true, + 'show IK bones': false, + 'show rigid bodies': false + }; + const gui = new GUI(); + gui.add(api, 'animation').onChange(function () { + helper.enable('animation', api['animation']); + }); + gui.add(api, 'ik').onChange(function () { + helper.enable('ik', api['ik']); + }); + gui.add(api, 'outline').onChange(function () { + effect.enabled = api['outline']; + }); + gui.add(api, 'physics').onChange(function () { + helper.enable('physics', api['physics']); + }); + gui.add(api, 'show IK bones').onChange(function () { + ikHelper.visible = api['show IK bones']; + }); + gui.add(api, 'show rigid bodies').onChange(function () { + if (physicsHelper !== undefined) physicsHelper.visible = api['show rigid bodies']; + }); + } + } + + /** + * 窗口尺寸变化时调整相机和效果的尺寸 + */ + function onWindowResize() { + that.camera.updateProjectionMatrix(); + effect.setSize(window.innerWidth, window.innerHeight); + } + + // 设置更新函数,在每个渲染循环中调用 + this.update(() => { + helper.update(that.clock.deltaTime); + effect.render(that.scene, that.camera); + stats.update() + }) + init(); + } +} + +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_loader_mmd_audio/index.html b/src/component/webgl_loader_mmd_audio/index.html new file mode 100644 index 0000000..911e3d8 --- /dev/null +++ b/src/component/webgl_loader_mmd_audio/index.html @@ -0,0 +1,25 @@ + + + + + + + + Document + + + +
+ +
+
+ + + + + diff --git a/src/component/webgl_loader_mmd_audio/index.ts b/src/component/webgl_loader_mmd_audio/index.ts new file mode 100644 index 0000000..1f42d93 --- /dev/null +++ b/src/component/webgl_loader_mmd_audio/index.ts @@ -0,0 +1,134 @@ +import * as THREE from 'three'; +import Stats from 'stats.js'; + +import { OutlineEffect, MMDLoader, MMDAnimationHelper } from 'three-stdlib' +import * as kokomi from 'kokomi.js'; +//@ts-ignore +import Ammo from 'ammo.js'; +class Sketch extends kokomi.Base { + /** + * 创建场景、相机、灯光、模型等所有元素,并进行初始化设置 + */ + create() { + // 定义Stats对象用于显示帧率等信息,OutlineEffect对象用于边缘检测效果, + // MMDAnimationHelper对象用于处理MMD动画,CCDIKHelper对象用于处理MMD的IK(反向动力学), + // MMDPhysicsHelper对象用于处理MMD的物理效果 + let stats: Stats; + let effect: OutlineEffect; + let helper: MMDAnimationHelper; + let ready = false; + const that = this; + /** + * 初始化函数,包含创建DOM容器、设置相机参数、添加各种Helper对象和光照, + * 以及加载模型和初始化GUI控制界面 + */ + function init() { + const overlay = document.getElementById('overlay'); + overlay!.remove(); + window.Ammo = Ammo; + // 设置相机参数 + that.camera.near = 0.1; + that.camera.far = 5000; + that.camera.updateProjectionMatrix(); + that.scene.background = new THREE.Color(0xffffff); + + // 添加地面网格辅助对象 + // const gridHelper = new THREE.PolarGridHelper(30, 8); + // that.scene.add(gridHelper); + + // + const listener = new THREE.AudioListener(); + that.camera.add(listener); + + // 添加环境光和定向光 + const ambient = new THREE.AmbientLight(0xaaaaaa, 3); + that.scene.add(ambient); + const directionalLight = new THREE.DirectionalLight(0xffffff, 1); + directionalLight.position.set(- 1, 1, 1).normalize(); + that.scene.add(directionalLight); + + // 初始化边缘检测效果 + effect = new OutlineEffect(that.renderer); + + // 初始化Stats对象用于显示帧率等信息 + stats = new Stats(); + that.container.appendChild(stats.dom); + + // 加载MMD模型 + function onProgress(xhr: ProgressEvent) { + if (xhr.lengthComputable) { + const percentComplete = xhr.loaded / xhr.total * 100; + console.log(Math.round(percentComplete) + '% downloaded'); + } + } + function onError(error: ErrorEvent | unknown) { + console.log('An error happened', error); + } + + const modelFile = '../../assets/model/mmd/roles/gaming/嘉明.pmx'; + const vmdFiles = ['../../assets/model/mmd/vmds/打太极_by_忠实小栗子_05a8212856e03a4d8396be144ead29ea/太极修复版.vmd']; + const cameraFile = '../../assets/model/mmd/vmds/打太极_by_忠实小栗子_05a8212856e03a4d8396be144ead29ea/cam.vmd'; + const audioFile = '../../assets/model/mmd/vmds/打太极_by_忠实小栗子_05a8212856e03a4d8396be144ead29ea/关山酒DJ.wav'; + const audioParams = {}; + + helper = new MMDAnimationHelper(); + const loader = new MMDLoader(); + + loader.loadWithAnimation(modelFile, vmdFiles, function (mmd) { + // 模型加载完成后添加到场景,并初始化动画和物理效果的Helper对象 + const mesh = mmd.mesh; + helper.add(mesh, { + animation: mmd.animation, + physics: true + }); + that.scene.add(mesh); + loader.loadAnimation(cameraFile, that.camera, function (cameraAnimation) { + + helper.add(that.camera, { + animation: cameraAnimation as THREE.AnimationClip + }); + + new THREE.AudioLoader().load(audioFile, function (buffer) { + + const audio = new THREE.Audio(listener).setBuffer(buffer); + + helper.add(audio, audioParams); + + ready = true; + + }, onProgress, onError); + + }, onProgress, onError); + + }, onProgress, onError); + + // 窗口尺寸变化时调整渲染尺寸 + window.addEventListener('resize', onWindowResize); + } + + /** + * 窗口尺寸变化时调整相机和效果的尺寸 + */ + function onWindowResize() { + that.camera.updateProjectionMatrix(); + effect.setSize(window.innerWidth, window.innerHeight); + } + + // 设置更新函数,在每个渲染循环中调用 + this.update(() => { + if (ready) { + helper.update(that.clock.deltaTime); + } + effect.render(that.scene, that.camera); + stats.update() + }) + init(); + } +} + +const startButton = document.getElementById('startButton'); +startButton!.addEventListener('click', function () { + const sketch = new Sketch("#sketch"); + sketch.create(); +}); + diff --git a/src/component/webgl_loader_mmd_pose/index.html b/src/component/webgl_loader_mmd_pose/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_loader_mmd_pose/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_loader_mmd_pose/index.ts b/src/component/webgl_loader_mmd_pose/index.ts new file mode 100644 index 0000000..768a686 --- /dev/null +++ b/src/component/webgl_loader_mmd_pose/index.ts @@ -0,0 +1,269 @@ + + +import * as THREE from 'three'; + +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; + +import { OrbitControls, OutlineEffect, MMDLoader, MMDAnimationHelper } from 'three-stdlib' +import * as kokomi from 'kokomi.js'; +//@ts-ignore +import Ammo from 'ammo.js'; +class Sketch extends kokomi.Base { + /** + * 创建场景、相机、灯光、模型等所有元素,并进行初始化设置 + */ + create() { + // 定义Stats对象用于显示帧率等信息,OutlineEffect对象用于边缘检测效果, + // MMDAnimationHelper对象用于处理MMD动画,CCDIKHelper对象用于处理MMD的IK(反向动力学), + // MMDPhysicsHelper对象用于处理MMD的物理效果 + let stats: Stats; + let effect: OutlineEffect; + let helper: MMDAnimationHelper; + let mesh: THREE.SkinnedMesh; + const that = this; + const vpds: object[] = []; + + /** + * 初始化函数,包含创建DOM容器、设置相机参数、添加各种Helper对象和光照, + * 以及加载模型和初始化GUI控制界面 + */ + function init() { + window.Ammo = Ammo; + + // 设置相机参数 + that.camera.near = 1; + that.camera.far = 2000; + that.camera.position.z = 25; + that.camera.updateProjectionMatrix(); + that.scene.background = new THREE.Color(0xffffff); + + // 添加地面网格辅助对象 + const gridHelper = new THREE.PolarGridHelper(30, 0); + gridHelper.position.y = - 10; + that.scene.add(gridHelper); + + // 添加环境光和定向光 + const ambient = new THREE.AmbientLight(0xaaaaaa, 3); + that.scene.add(ambient); + const directionalLight = new THREE.DirectionalLight(0xffffff, 1); + directionalLight.position.set(- 1, 1, 1).normalize(); + that.scene.add(directionalLight); + + // 初始化边缘检测效果 + effect = new OutlineEffect(that.renderer); + + // 初始化Stats对象用于显示帧率等信息 + stats = new Stats(); + that.container.appendChild(stats.dom); + + // 加载MMD模型 + function onProgress(xhr: ProgressEvent) { + if (xhr.lengthComputable) { + const percentComplete = xhr.loaded / xhr.total * 100; + console.log(Math.round(percentComplete) + '% downloaded'); + } + } + function onError(error: ErrorEvent) { + console.log('An error happened', error); + } + // const modelFile = '../../assets/model/mmd/roles/marth7th(preserve)/三月七 1.0.pmx'; + // const modelFile = '../../assets/model/mmd/roles/firefly/流萤3.0.pmx'; + const modelFile = '../../assets/model/mmd/roles/marth7th(hunt)/三月七3.pmx'; + // const modelFile = '../../assets/model/mmd/roles/qiong(harmony)/星穹铁道—开拓者(穹).pmx'; + // const modelFile = '../../assets/model/mmd/roles/xing(harmony)/星穹铁道—开拓者(星).pmx'; + const vpdFiles = [ + '../../assets/model//mmd/vpds/01.vpd', + '../../assets/model//mmd/vpds/02.vpd', + '../../assets/model//mmd/vpds/03.vpd', + '../../assets/model//mmd/vpds/04.vpd', + '../../assets/model//mmd/vpds/05.vpd', + '../../assets/model//mmd/vpds/06.vpd', + '../../assets/model//mmd/vpds/07.vpd', + '../../assets/model//mmd/vpds/08.vpd', + '../../assets/model//mmd/vpds/09.vpd', + '../../assets/model//mmd/vpds/10.vpd', + '../../assets/model//mmd/vpds/11.vpd' + ]; + helper = new MMDAnimationHelper(); + const loader = new MMDLoader(); + loader.load(modelFile, function (object) { + // 模型加载完成后添加到场景,并初始化动画和物理效果的Helper对象 + mesh = object; + mesh.position.y = - 10; + that.scene.add(mesh); + let vpdIndex = 0; + + function loadVpd() { + + const vpdFile = vpdFiles[vpdIndex]; + + loader.loadVPD(vpdFile, false, function (vpd) { + + vpds.push(vpd); + + vpdIndex++; + + if (vpdIndex < vpdFiles.length) { + + loadVpd(); + + } else { + + initGui(); + + } + + }, onProgress, onError); + + } + + loadVpd(); + }, onProgress, () => { }); + // 添加轨道控制 + const controls = new OrbitControls(that.camera, that.renderer.domElement); + controls.minDistance = 10; + controls.maxDistance = 100; + + // 窗口尺寸变化时调整渲染尺寸 + window.addEventListener('resize', onWindowResize); + + /** + * 初始化GUI控制界面,用于控制动画、IK、边缘检测和物理效果的开关 + */ + function initGui() { + + const gui = new GUI(); + + const dictionary = mesh.morphTargetDictionary; + console.log(mesh.morphTargetDictionary) + + const controls: { [key: string]: number } = {}; + const keys: string[] = []; + + const poses = gui.addFolder('Poses'); + const morphs = gui.addFolder('Morphs'); + + function getBaseName(s: string) { + + return s.slice(s.lastIndexOf('/') + 1); + + } + + function initControls() { + + for (const key in dictionary) { + + controls[key] = 0.0; + + } + + controls.pose = - 1; + + for (let i = 0; i < vpdFiles.length; i++) { + + controls[getBaseName(vpdFiles[i])] = 0; + + } + + } + + function initKeys() { + + for (const key in dictionary) { + + keys.push(key); + + } + + } + + function initPoses() { + + const files: { [key: string]: number } = { default: - 1 }; + + for (let i = 0; i < vpdFiles.length; i++) { + + files[getBaseName(vpdFiles[i])] = i; + + } + + poses.add(controls, 'pose', files).onChange(onChangePose); + + } + + function initMorphs() { + + for (const key in dictionary) { + + morphs.add(controls, key, 0.0, 1.0, 0.01).onChange(onChangeMorph); + + } + + } + + function onChangeMorph() { + + for (let i = 0; i < keys.length; i++) { + + const key = keys[i]; + const value = controls[key]; + if (mesh.morphTargetInfluences) { + mesh.morphTargetInfluences[i] = value; + } + + } + + } + + function onChangePose() { + + const index = controls.pose; + + if (index === - 1) { + + mesh.pose(); + + } else { + + helper.pose(mesh, vpds[index]); + + } + + } + + initControls(); + initKeys(); + initPoses(); + initMorphs(); + + onChangeMorph(); + onChangePose(); + + poses.open(); + morphs.open(); + + } + } + + /** + * 窗口尺寸变化时调整相机和效果的尺寸 + */ + function onWindowResize() { + that.camera.updateProjectionMatrix(); + effect.setSize(window.innerWidth, window.innerHeight); + } + + // 设置更新函数,在每个渲染循环中调用 + this.update(() => { + helper.update(that.clock.deltaTime); + effect.render(that.scene, that.camera); + stats.update() + }) + init(); + } +} + +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_materials_toon/index.html b/src/component/webgl_materials_toon/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_materials_toon/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_materials_toon/index.ts b/src/component/webgl_materials_toon/index.ts new file mode 100644 index 0000000..386f275 --- /dev/null +++ b/src/component/webgl_materials_toon/index.ts @@ -0,0 +1,138 @@ +import * as THREE from 'three'; +import Stats from 'stats.js'; +import * as kokomi from 'kokomi.js'; +import { OrbitControls, OutlineEffect, FontLoader, TextGeometry, Font } from 'three-stdlib' +class Sketch extends kokomi.Base { + create() { + const that = this + // 定义用于DOM元素和性能统计的变量 + let stats: Stats; + // 定义相机、场景、渲染器和效果变量 + let effect: OutlineEffect; + // 定义粒子光源变量 + let particleLight: THREE.Mesh; + // 创建字体加载器实例 + const loader = new FontLoader(); + // 加载字体,加载完成后执行init和animate函数 + loader.load('../../assets/fonts/gentilis_regular.typeface.json', function (font) { + init(font); + animate(); + }); + // 初始化函数,用于设置场景、相机、渲染器等 + function init(font: Font) { + that.camera.near = 1; + that.camera.far = 2000; + that.camera.position.set(0.0, 400, 400 * 3.5); + that.camera.updateProjectionMatrix(); + that.scene.background = new THREE.Color(0x444488); + // 材质设置开始 + const cubeWidth = 400; + const numberOfSphersPerSide = 5; + const sphereRadius = (cubeWidth / numberOfSphersPerSide) * 0.8 * 0.5; + const stepSize = 1.0 / numberOfSphersPerSide; + // 创建球体几何体 + const geometry = new THREE.SphereGeometry(sphereRadius, 32, 16); + // 循环创建球体并设置材质 + for (let alpha = 0, alphaIndex = 0; alpha <= 1.0; alpha += stepSize, alphaIndex++) { + const colors = new Uint8Array(alphaIndex + 2); + for (let c = 0; c <= colors.length; c++) { + colors[c] = (c / colors.length) * 256; + } + // 创建渐变贴图 + const gradientMap = new THREE.DataTexture(colors, colors.length, 1, THREE.RedFormat); + gradientMap.needsUpdate = true; + for (let beta = 0; beta <= 1.0; beta += stepSize) { + for (let gamma = 0; gamma <= 1.0; gamma += stepSize) { + // 计算漫反射颜色 + const diffuseColor = new THREE.Color().setHSL(alpha, 0.5, gamma * 0.5 + 0.1).multiplyScalar(1 - beta * 0.2); + // 创建MeshToon材质并设置颜色和渐变贴图 + const material = new THREE.MeshToonMaterial({ + color: diffuseColor, + gradientMap: gradientMap + }); + // 创建网格物体并设置几何体和材质 + const mesh = new THREE.Mesh(geometry, material); + // 设置网格物体的位置 + mesh.position.x = alpha * 400 - 200; + mesh.position.y = beta * 400 - 200; + mesh.position.z = gamma * 400 - 200; + // 将网格物体添加到场景中 + that.scene.add(mesh); + } + } + } + // 添加标签函数 + function addLabel(name: string, location: THREE.Vector3) { + // 创建文本几何体 + const textGeo = new TextGeometry(name, { + font: font, + size: 20, + height: 1, + curveSegments: 1 + }); + // 创建文本材质 + const textMaterial = new THREE.MeshBasicMaterial(); + // 创建文本网格物体 + const textMesh = new THREE.Mesh(textGeo, textMaterial); + // 设置文本网格物体的位置 + textMesh.position.copy(location); + // 将文本网格物体添加到场景中 + that.scene.add(textMesh); + } + // 添加标签到场景中 + addLabel('-gradientMap', new THREE.Vector3(- 350, 0, 0)); + addLabel('+gradientMap', new THREE.Vector3(350, 0, 0)); + addLabel('-diffuse', new THREE.Vector3(0, 0, - 300)); + addLabel('+diffuse', new THREE.Vector3(0, 0, 300)); + // 创建粒子光源并添加到场景中 + particleLight = new THREE.Mesh( + new THREE.SphereGeometry(4, 8, 8), + new THREE.MeshBasicMaterial({ color: 0xffffff }) + ); + that.scene.add(particleLight); + // 添加环境光到场景中 + that.scene.add(new THREE.AmbientLight(0xc1c1c1, 3)); + // 创建点光源并添加到粒子光源中 + const pointLight = new THREE.PointLight(0xffffff, 2, 800, 0); + particleLight.add(pointLight); + // 创建轮廓效果 + effect = new OutlineEffect(that.renderer); + // 创建性能统计对象并添加到容器中 + stats = new Stats(); + that.container.appendChild(stats.dom); + // 创建轨道控制器 + const controls = new OrbitControls(that.camera, that.renderer.domElement); + // 设置控制器的最小和最大距离 + controls.minDistance = 200; + controls.maxDistance = 2000; + // 窗口大小改变时调用onWindowResize函数 + window.addEventListener('resize', onWindowResize); + } + // 窗口大小改变时调整渲染器和相机的宽高比 + function onWindowResize() { + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + // 动画循环函数,不断调用自身实现持续渲染 + function animate() { + requestAnimationFrame(animate); + stats.begin(); + render(); + stats.end(); + } + // 渲染函数,计算光源位置并调用effect渲染场景 + function render() { + const timer = Date.now() * 0.00025; + // 计算光源位置 + particleLight.position.x = Math.sin(timer * 7) * 300; + particleLight.position.y = Math.cos(timer * 5) * 400; + particleLight.position.z = Math.cos(timer * 3) * 300; + // 使用effect渲染场景 + effect.render(that.scene, that.camera); + } + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_materials_video/index.html b/src/component/webgl_materials_video/index.html new file mode 100644 index 0000000..06f47ef --- /dev/null +++ b/src/component/webgl_materials_video/index.html @@ -0,0 +1,29 @@ + + + + + + + Document + + + + +
+ +
+ +
+ + + + + diff --git a/src/component/webgl_materials_video/index.ts b/src/component/webgl_materials_video/index.ts new file mode 100644 index 0000000..20e8b6b --- /dev/null +++ b/src/component/webgl_materials_video/index.ts @@ -0,0 +1,213 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import { OutputPass } from 'three/examples/jsm/postprocessing/OutputPass'; +import { EffectComposer, RenderPass, BloomPass } from 'three-stdlib' +class CustomMesh extends THREE.Mesh { + dx: number; + dy: number; +} +class CustomMaterial extends THREE.MeshLambertMaterial { + hue: number; + saturation: number; +} +class Sketch extends kokomi.Base { + /** + * 创建一个三维场景,包括网格、材质和动画等。 + * 该函数主要负责初始化场景、添加物体和处理鼠标移动事件。 + */ + create() { + // 声明一个自定义网格变量 + let mesh: CustomMesh; + // 声明一个自定义材质变量 + let material: CustomMaterial; + // 保存当前上下文的引用 + const that = this; + // 声明一个效果合成器变量,用于后期处理 + let composer: EffectComposer; + // 鼠标在窗口的X坐标 + let mouseX = 0; + // 鼠标在窗口的Y坐标 + let mouseY = 0; + // 窗口中心的X坐标 + let windowHalfX = window.innerWidth / 2; + // 窗口中心的Y坐标 + let windowHalfY = window.innerHeight / 2; + // 保存立方体的数量 + let cube_count: number; + // 保存所有网格和材质的数组 + const meshes: CustomMesh[] = [], + materials: CustomMaterial[] = []; + // 定义网格的行数和列数 + const xgrid = 20, + ygrid = 10; + + /** + * 初始化函数,负责设置相机、灯光、纹理和事件监听器等。 + */ + function init() { + // 移除页面中的某个元素 + const overlay = document.getElementById('overlay'); + overlay!.remove(); + // 设置相机的参数 + that.camera.near = 1; + that.camera.far = 1000; + that.camera.position.z = 500; + that.camera.updateProjectionMatrix(); + // 添加一个方向光到场景中 + const light = new THREE.DirectionalLight(0xffffff, 3); + light.position.set(0.5, 1, 1).normalize(); + that.scene.add(light); + // 获取并设置背景视频 + let video = document.getElementById('video') as HTMLVideoElement; + video.play(); + video.addEventListener('play', function () { + this.currentTime = 3; + }); + // 创建视频纹理 + let texture = new THREE.VideoTexture(video); + texture.colorSpace = THREE.SRGBColorSpace; + // 循环变量 + let i, j, ox, oy, geometry; + // 计算每个网格的UV单位大小 + const ux = 1 / xgrid; + const uy = 1 / ygrid; + // 计算每个网格的尺寸 + const xsize = 480 / xgrid; + const ysize = 204 / ygrid; + // 设置立方体的参数 + const parameters = { color: 0xffffff, map: texture }; + // 初始化立方体数量 + cube_count = 0; + // 循环创建立方体网格和材质 + for (i = 0; i < xgrid; i++) { + for (j = 0; j < ygrid; j++) { + ox = i; + oy = j; + geometry = new THREE.BoxGeometry(xsize, ysize, xsize); + change_uvs(geometry, ux, uy, ox, oy); + materials[cube_count] = new CustomMaterial(parameters); + material = materials[cube_count]; + material.hue = i / xgrid; + material.saturation = 1 - j / ygrid; + material.color.setHSL(material.hue, material.saturation, 0.5); + mesh = new CustomMesh(geometry, material); + mesh.position.x = (i - xgrid / 2) * xsize; + mesh.position.y = (j - ygrid / 2) * ysize; + mesh.position.z = 0; + mesh.scale.x = mesh.scale.y = mesh.scale.z = 1; + that.scene.add(mesh); + mesh.dx = 0.001 * (0.5 - Math.random()); + mesh.dy = 0.001 * (0.5 - Math.random()); + meshes[cube_count] = mesh; + cube_count += 1; + } + } + // 设置渲染器的自动清除为false + that.renderer.autoClear = false; + // 监听鼠标移动事件 + document.addEventListener('mousemove', onDocumentMouseMove); + // 设置后期处理的各个通道 + const renderPass = new RenderPass(that.scene, that.camera); + const bloomPass = new BloomPass(1.3); + const outputPass = new OutputPass(); + composer = new EffectComposer(that.renderer); + composer.addPass(renderPass); + composer.addPass(bloomPass); + composer.addPass(outputPass); + // 监听窗口的大小改变事件 + window.addEventListener('resize', onWindowResize); + } + + /** + * 窗口大小调整时的处理函数,主要负责更新相机和渲染器的尺寸。 + */ + function onWindowResize() { + windowHalfX = window.innerWidth / 2; + windowHalfY = window.innerHeight / 2; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + composer.setSize(window.innerWidth, window.innerHeight); + } + + /** + * 修改网格的UV坐标,用于正确映射纹理。 + * @param geometry 网格的几何体 + * @param unitx 每个网格单元的宽度 + * @param unity 每个网格单元的高度 + * @param offsetx X方向的偏移量 + * @param offsety Y方向的偏移量 + */ + function change_uvs(geometry: THREE.BoxGeometry, unitx: number, unity: number, offsetx: number, offsety: number) { + const uvs = geometry.attributes.uv.array; + for (let i = 0; i < uvs.length; i += 2) { + uvs[i] = (uvs[i] + offsetx) * unitx; + uvs[i + 1] = (uvs[i + 1] + offsety) * unity; + } + } + + /** + * 鼠标在文档上移动时的处理函数,主要负责更新鼠标的位置。 + * @param event 鼠标事件对象 + */ + function onDocumentMouseMove(event: MouseEvent) { + mouseX = (event.clientX - windowHalfX); + mouseY = (event.clientY - windowHalfY) * 0.3; + } + + /** + * 动画循环函数,不断请求下一帧并调用渲染函数。 + */ + function animate() { + requestAnimationFrame(animate); + render(); + } + let h, counter = 1; + + + /** + * 渲染函数,主要负责更新场景中物体的位置和属性,并进行实际的渲染。 + */ + function render() { + const time = Date.now() * 0.00005; + that.camera.position.x += (mouseX - that.camera.position.x) * 0.05; + that.camera.position.y += (- mouseY - that.camera.position.y) * 0.05; + that.camera.lookAt(that.scene.position); + for (let i = 0; i < cube_count; i++) { + let material = materials[i]; + h = (360 * (material.hue + time) % 360) / 360; + material.color.setHSL(h, material.saturation, 0.5); + } + if (counter % 1000 > 200) { + for (let i = 0; i < cube_count; i++) { + mesh = meshes[i]; + mesh.rotation.x += 10 * mesh.dx; + mesh.rotation.y += 10 * mesh.dy; + mesh.position.x -= 150 * mesh.dx; + mesh.position.y += 150 * mesh.dy; + mesh.position.z += 300 * mesh.dx; + } + } + if (counter % 1000 === 0) { + for (let i = 0; i < cube_count; i++) { + mesh = meshes[i]; + mesh.dx *= -1; + mesh.dy *= -1; + } + } + counter++; + that.renderer.clear(); + composer.render(); + } + + // 初始化场景 + init(); + // 开始动画循环 + animate(); + } +} +const startButton = document.getElementById('startButton'); +startButton!.addEventListener('click', function () { + // 创建Sketch实例并初始化 + const sketch = new Sketch("#sketch"); + sketch.create(); +}); diff --git a/src/component/webgl_mirror/index.html b/src/component/webgl_mirror/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_mirror/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_mirror/index.ts b/src/component/webgl_mirror/index.ts new file mode 100644 index 0000000..932c23f --- /dev/null +++ b/src/component/webgl_mirror/index.ts @@ -0,0 +1,192 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +// 导入OrbitControls和Reflector,用于相机控制和反射效果 +import { OrbitControls, Reflector } from 'three-stdlib' +class Sketch extends kokomi.Base { + /** + * 创建一个三维场景,包括网格、材质和动画等。 + * 该函数主要负责初始化场景、添加物体和处理鼠标移动事件。 + */ + create() { + const that = this + // 初始化相机控制 + let cameraControls: OrbitControls; + + // 初始化球体组和小球体 + let sphereGroup: THREE.Object3D, smallSphere: THREE.Mesh; + + // 初始化地面和垂直镜子 + let groundMirror: Reflector, verticalMirror: Reflector; + + + + // 初始化函数 + function init() { + + // that.camera.fov = 45; + that.camera.near = 1; + that.camera.far = 500; + that.camera.position.set(0, 75, 160); + that.camera.updateProjectionMatrix(); + + // 创建相机控制 + cameraControls = new OrbitControls(that.camera, that.renderer.domElement); + cameraControls.target.set(0, 40, 0); + cameraControls.maxDistance = 400; + cameraControls.minDistance = 10; + cameraControls.update(); + + // 创建平面几何体 + const planeGeo = new THREE.PlaneGeometry(100.1, 100.1); + + // 创建反射器/镜子 + let geometry, material; + + // 创建地面镜子 + geometry = new THREE.CircleGeometry(40, 64); + groundMirror = new Reflector(geometry, { + clipBias: 0.003, + textureWidth: window.innerWidth * window.devicePixelRatio, + textureHeight: window.innerHeight * window.devicePixelRatio, + color: 0xb5b5b5 + }); + groundMirror.position.y = 0.5; + groundMirror.rotateX(- Math.PI / 2); + that.scene.add(groundMirror); + + // 创建垂直镜子 + geometry = new THREE.PlaneGeometry(100, 100); + verticalMirror = new Reflector(geometry, { + clipBias: 0.003, + textureWidth: window.innerWidth * window.devicePixelRatio, + textureHeight: window.innerHeight * window.devicePixelRatio, + color: 0xc1cbcb + }); + verticalMirror.position.y = 50; + verticalMirror.position.z = - 50; + that.scene.add(verticalMirror); + + // 创建球体组 + sphereGroup = new THREE.Object3D(); + that.scene.add(sphereGroup); + + // 创建球体的几何体和材质 + geometry = new THREE.CylinderGeometry(0.1, 15 * Math.cos(Math.PI / 180 * 30), 0.1, 24, 1); + material = new THREE.MeshPhongMaterial({ color: 0xffffff, emissive: 0x8d8d8d }); + const sphereCap = new THREE.Mesh(geometry, material); + sphereCap.position.y = - 15 * Math.sin(Math.PI / 180 * 30) - 0.05; + sphereCap.rotateX(- Math.PI); + + // 创建半球体 + geometry = new THREE.SphereGeometry(15, 24, 24, Math.PI / 2, Math.PI * 2, 0, Math.PI / 180 * 120); + const halfSphere = new THREE.Mesh(geometry, material); + halfSphere.add(sphereCap); + halfSphere.rotateX(- Math.PI / 180 * 135); + halfSphere.rotateZ(- Math.PI / 180 * 20); + halfSphere.position.y = 7.5 + 15 * Math.sin(Math.PI / 180 * 30); + + // 将半球体添加到球体组 + sphereGroup.add(halfSphere); + + // 创建小球体 + geometry = new THREE.IcosahedronGeometry(5, 0); + material = new THREE.MeshPhongMaterial({ color: 0xffffff, emissive: 0x7b7b7b, flatShading: true }); + smallSphere = new THREE.Mesh(geometry, material); + that.scene.add(smallSphere); + + // 创建墙壁 + const planeTop = new THREE.Mesh(planeGeo, new THREE.MeshPhongMaterial({ color: 0xffffff })); + planeTop.position.y = 100; + planeTop.rotateX(Math.PI / 2); + that.scene.add(planeTop); + + const planeBottom = new THREE.Mesh(planeGeo, new THREE.MeshPhongMaterial({ color: 0xffffff })); + planeBottom.rotateX(- Math.PI / 2); + that.scene.add(planeBottom); + + const planeFront = new THREE.Mesh(planeGeo, new THREE.MeshPhongMaterial({ color: 0x7f7fff })); + planeFront.position.z = 50; + planeFront.position.y = 50; + planeFront.rotateY(Math.PI); + that.scene.add(planeFront); + + const planeRight = new THREE.Mesh(planeGeo, new THREE.MeshPhongMaterial({ color: 0x00ff00 })); + planeRight.position.x = 50; + planeRight.position.y = 50; + planeRight.rotateY(- Math.PI / 2); + that.scene.add(planeRight); + + const planeLeft = new THREE.Mesh(planeGeo, new THREE.MeshPhongMaterial({ color: 0xff0000 })); + planeLeft.position.x = - 50; + planeLeft.position.y = 50; + planeLeft.rotateY(Math.PI / 2); + that.scene.add(planeLeft); + + // 创建光源 + const mainLight = new THREE.PointLight(0xe7e7e7, 2.5, 250, 0); + mainLight.position.y = 60; + that.scene.add(mainLight); + + const greenLight = new THREE.PointLight(0x00ff00, 0.5, 1000, 0); + greenLight.position.set(550, 50, 0); + that.scene.add(greenLight); + + const redLight = new THREE.PointLight(0xff0000, 0.5, 1000, 0); + redLight.position.set(- 550, 50, 0); + that.scene.add(redLight); + + const blueLight = new THREE.PointLight(0xbbbbfe, 0.5, 1000, 0); + blueLight.position.set(0, 50, 550); + that.scene.add(blueLight); + + // 监听窗口大小调整事件 + window.addEventListener('resize', onWindowResize); + + } + + // 窗口大小调整时的回调函数 + function onWindowResize() { + + // 调整相机和渲染器的大小 + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + + that.renderer.setSize(window.innerWidth, window.innerHeight); + + // 调整反射器的大小 + groundMirror.getRenderTarget().setSize( + window.innerWidth * window.devicePixelRatio, + window.innerHeight * window.devicePixelRatio + ); + verticalMirror.getRenderTarget().setSize( + window.innerWidth * window.devicePixelRatio, + window.innerHeight * window.devicePixelRatio + ); + + } + + this.update(() => { + + // 更新动画时间 + const timer = Date.now() * 0.01; + + // 旋转球体组 + sphereGroup.rotation.y -= 0.002; + + // 更新小球体的位置和旋转 + smallSphere.position.set( + Math.cos(timer * 0.1) * 30, + Math.abs(Math.cos(timer * 0.2)) * 20 + 5, + Math.sin(timer * 0.1) * 30 + ); + smallSphere.rotation.y = (Math.PI / 2) - timer * 0.1; + smallSphere.rotation.z = timer * 0.8; + + }) + + init(); + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_multiple_scenes_comparison/index.html b/src/component/webgl_multiple_scenes_comparison/index.html new file mode 100644 index 0000000..8def16e --- /dev/null +++ b/src/component/webgl_multiple_scenes_comparison/index.html @@ -0,0 +1,45 @@ + + + + + + + Document + + + + +
+
+
+ + + + + + diff --git a/src/component/webgl_multiple_scenes_comparison/index.ts b/src/component/webgl_multiple_scenes_comparison/index.ts new file mode 100644 index 0000000..4134245 --- /dev/null +++ b/src/component/webgl_multiple_scenes_comparison/index.ts @@ -0,0 +1,126 @@ + +// 导入Three.js库 +import * as THREE from 'three'; +// 导入OrbitControls模块,用于实现轨道控制 +import { OrbitControls } from 'three-stdlib' + +// 定义变量,用于存储DOM容器、相机、渲染器和控制对象 +let container: HTMLElement, camera: THREE.PerspectiveCamera, renderer: THREE.WebGLRenderer, controls: OrbitControls; +let sceneL: THREE.Scene, sceneR: THREE.Scene; + +// 定义滑块位置变量,初始值为窗口宽度的一半 +let sliderPos = window.innerWidth / 2; + +// 初始化函数 +init(); + +function init() { + // 获取HTML中的容器元素 + container = document.querySelector('.container') as HTMLElement; + + // 创建左侧场景,并设置背景颜色 + sceneL = new THREE.Scene(); + sceneL.background = new THREE.Color(0xBCD48F); + + // 创建右侧场景,并设置背景颜色 + sceneR = new THREE.Scene(); + sceneR.background = new THREE.Color(0x8FBCD4); + + // 创建相机对象,设置视角、宽高比、近平面和远平面 + camera = new THREE.PerspectiveCamera(35, window.innerWidth / window.innerHeight, 0.1, 100); + camera.position.z = 6; + + // 创建轨道控制对象,用于控制相机 + controls = new OrbitControls(camera, container); + + // 创建环境光对象,设置颜色和强度,并添加到两个场景中 + const light = new THREE.HemisphereLight(0xffffff, 0x444444, 3); + light.position.set(- 2, 2, 2); + sceneL.add(light.clone()); + sceneR.add(light.clone()); + + // 初始化网格模型 + initMeshes(); + // 初始化滑块交互 + initSlider(); + + // 创建WebGL渲染器,并设置抗锯齿 + renderer = new THREE.WebGLRenderer({ antialias: true }); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(window.innerWidth, window.innerHeight); + renderer.setScissorTest(true); + renderer.setAnimationLoop(render); + container.appendChild(renderer.domElement); + + // 监听窗口大小改变事件,以调整渲染器和相机 + window.addEventListener('resize', onWindowResize); + +} + +function initMeshes() { + // 创建几何体和材质,生成左侧和右侧场景的网格模型 + const geometry = new THREE.IcosahedronGeometry(1, 3); + + const meshL = new THREE.Mesh(geometry, new THREE.MeshStandardMaterial()); + sceneL.add(meshL); + + const meshR = new THREE.Mesh(geometry, new THREE.MeshStandardMaterial({ wireframe: true })); + sceneR.add(meshR); + +} + +function initSlider() { + // 获取HTML中的滑块元素,并定义其交互行为 + const slider = document.querySelector('.slider') as HTMLElement; + + function onPointerDown(event: PointerEvent) { + if (event.isPrimary === false) return; + + controls.enabled = false; + + window.addEventListener('pointermove', onPointerMove); + window.addEventListener('pointerup', onPointerUp); + + } + + function onPointerUp() { + controls.enabled = true; + + window.removeEventListener('pointermove', onPointerMove); + window.removeEventListener('pointerup', onPointerUp); + + } + + function onPointerMove(event: PointerEvent) { + if (event.isPrimary === false) return; + + sliderPos = Math.max(0, Math.min(window.innerWidth, event.pageX)); + + slider.style.left = sliderPos - (slider.offsetWidth / 2) + 'px'; + + } + + slider.style.touchAction = 'none'; // 禁用触摸滚动 + slider.addEventListener('pointerdown', onPointerDown); + +} + +function onWindowResize() { + // 窗口大小改变时,调整相机的宽高比和渲染器的大小 + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + + renderer.setSize(window.innerWidth, window.innerHeight); + +} + +function render() { + // 使用剪裁技术,先渲染左侧场景,再渲染右侧场景 + renderer.setScissor(0, 0, sliderPos, window.innerHeight); + renderer.render(sceneL, camera); + + renderer.setScissor(sliderPos, 0, window.innerWidth, window.innerHeight); + renderer.render(sceneR, camera); + +} + diff --git a/src/component/webgl_multiple_views/index.html b/src/component/webgl_multiple_views/index.html new file mode 100644 index 0000000..87e6fce --- /dev/null +++ b/src/component/webgl_multiple_views/index.html @@ -0,0 +1,16 @@ + + + + + three.js webgl - multiple views + + + + + + +
+ + + + diff --git a/src/component/webgl_multiple_views/index.ts b/src/component/webgl_multiple_views/index.ts new file mode 100644 index 0000000..cef8410 --- /dev/null +++ b/src/component/webgl_multiple_views/index.ts @@ -0,0 +1,292 @@ + + +import * as THREE from 'three'; + +import Stats from 'stats.js' +let stats: Stats; + +let scene: THREE.Scene, renderer: THREE.WebGLRenderer; + +let mouseX = 0, mouseY = 0; + +let windowWidth: number, windowHeight: number; + +interface ViewConfig { + left: number; + bottom: number; + width: number; + height: number; + background: THREE.Color; + eye: [number, number, number]; + up: [number, number, number]; + fov: number; + camera?: THREE.PerspectiveCamera + updateCamera: (camera: THREE.PerspectiveCamera, scene: THREE.Scene, mouseX: number, mouseY: number) => void; +} + +// 定义视图数组,用于存储不同摄像机的视图配置 +const views: ViewConfig[] = [ + { + // 视图1的配置 + left: 0, // 视图左边距 + bottom: 0, // 视图下边距 + width: 0.5, // 视图宽度 + height: 1.0, // 视图高度 + background: new THREE.Color().setRGB(0.5, 0.5, 0.7, THREE.SRGBColorSpace), // 背景颜色 + eye: [0, 300, 1800], // 摄像机位置 + up: [0, 1, 0], // 摄像机的向上方向 + fov: 30, // 摄像机的视野角度 + updateCamera: function (camera, scene, mouseX) { + // 更新摄像机位置和方向的函数 + camera.position.x += mouseX * 0.05; // 根据鼠标X轴移动摄像机位置 + camera.position.x = Math.max(Math.min(camera.position.x, 2000), -2000); // 限制摄像机位置范围 + camera.lookAt(scene.position); // 摄像机看向场景中心 + } + }, + { + // 视图2的配置 + left: 0.5, // 视图左边距 + bottom: 0, // 视图下边距 + width: 0.5, // 视图宽度 + height: 0.5, // 视图高度 + background: new THREE.Color().setRGB(0.7, 0.5, 0.5, THREE.SRGBColorSpace), // 背景颜色 + eye: [0, 1800, 0], // 摄像机位置 + up: [0, 0, 1], // 摄像机的向上方向 + fov: 45, // 摄像机的视野角度 + updateCamera: function (camera, scene, mouseX) { + // 更新摄像机位置和方向的函数 + camera.position.x -= mouseX * 0.05; // 根据鼠标X轴移动摄像机位置 + camera.position.x = Math.max(Math.min(camera.position.x, 2000), -2000); // 限制摄像机位置范围 + camera.lookAt(camera.position.clone().setY(0)); // 摄像机看向其正下方的点 + } + }, + { + // 视图3的配置 + left: 0.5, // 视图左边距 + bottom: 0.5, // 视图下边距 + width: 0.5, // 视图宽度 + height: 0.5, // 视图高度 + background: new THREE.Color().setRGB(0.5, 0.7, 0.7, THREE.SRGBColorSpace), // 背景颜色 + eye: [1400, 800, 1400], // 摄像机位置 + up: [0, 1, 0], // 摄像机的向上方向 + fov: 60, // 摄像机的视野角度 + updateCamera: function (camera, scene, mouseX) { + // 更新摄像机位置和方向的函数 + camera.position.y -= mouseX * 0.05; // 根据鼠标X轴移动摄像机位置 + camera.position.y = Math.max(Math.min(camera.position.y, 1600), -1600); // 限制摄像机位置范围 + camera.lookAt(scene.position); // 摄像机看向场景中心 + } + } +]; + +// 初始化场景和动画 +init(); +animate(); + +// 初始化函数,设置场景、摄像机、光源和物体 +function init() { + // 获取容器元素 + const container = document.getElementById('container') as HTMLElement; + + // 遍历视图数组,为每个视图创建摄像机 + for (let ii = 0; ii < views.length; ++ii) { + const view = views[ii]; + // 创建透视摄像机 + const camera = new THREE.PerspectiveCamera(view.fov, window.innerWidth / window.innerHeight, 1, 10000); + // 设置摄像机位置 + camera.position.fromArray(view.eye); + // 设置摄像机朝向 + camera.up.fromArray(view.up); + // 将摄像机添加到视图对象 + view.camera = camera; + } + + // 创建场景 + scene = new THREE.Scene(); + + // 创建平行光 + const light = new THREE.DirectionalLight(0xffffff, 3); + // 设置光源位置 + light.position.set(0, 0, 1); + // 将光源添加到场景中 + scene.add(light); + + // 创建阴影效果的画布 + const canvas = document.createElement('canvas'); + // 设置画布大小 + canvas.width = 128; + canvas.height = 128; + + // 获取画布的2D绘图上下文 + const context = canvas.getContext('2d') as CanvasRenderingContext2D; + // 创建径向渐变效果 + const gradient = context.createRadialGradient(canvas.width / 2, canvas.height / 2, 0, canvas.width / 2, canvas.height / 2, canvas.width / 2); + // 设置渐变颜色 + gradient.addColorStop(0.1, 'rgba(0,0,0,0.15)'); + gradient.addColorStop(1, 'rgba(0,0,0,0)'); + + // 设置画布的渐变效果为填充样式 + context.fillStyle = gradient; + // 绘制渐变效果到整个画布 + context.fillRect(0, 0, canvas.width, canvas.height); + + // 创建阴影的纹理 + const shadowTexture = new THREE.CanvasTexture(canvas); + + // 创建阴影的材质 + const shadowMaterial = new THREE.MeshBasicMaterial({ map: shadowTexture, transparent: true }); + // 创建阴影的几何体 + const shadowGeo = new THREE.PlaneGeometry(300, 300, 1, 1); + + // 创建阴影的网格模型,并添加到场景中 + let shadowMesh = new THREE.Mesh(shadowGeo, shadowMaterial); + shadowMesh.position.y = - 250; + shadowMesh.rotation.x = - Math.PI / 2; + scene.add(shadowMesh); + + // 重复创建并放置阴影网格模型 + shadowMesh = new THREE.Mesh(shadowGeo, shadowMaterial); + shadowMesh.position.x = - 400; + shadowMesh.position.y = - 250; + shadowMesh.rotation.x = - Math.PI / 2; + scene.add(shadowMesh); + + shadowMesh = new THREE.Mesh(shadowGeo, shadowMaterial); + shadowMesh.position.x = 400; + shadowMesh.position.y = - 250; + shadowMesh.rotation.x = - Math.PI / 2; + scene.add(shadowMesh); + + // 创建球体几何体 + const radius = 200; + const geometry1 = new THREE.IcosahedronGeometry(radius, 1); + + // 设置球体顶点颜色 + const count = geometry1.attributes.position.count; + geometry1.setAttribute('color', new THREE.BufferAttribute(new Float32Array(count * 3), 3)); + + // 克隆球体几何体 + const geometry2 = geometry1.clone(); + const geometry3 = geometry1.clone(); + + // 设置球体颜色 + const color = new THREE.Color(); + const positions1 = geometry1.attributes.position; + const positions2 = geometry2.attributes.position; + const positions3 = geometry3.attributes.position; + const colors1 = geometry1.attributes.color; + const colors2 = geometry2.attributes.color; + const colors3 = geometry3.attributes.color; + + for (let i = 0; i < count; i++) { + // 根据球体位置设置颜色 + color.setHSL((positions1.getY(i) / radius + 1) / 2, 1.0, 0.5, THREE.SRGBColorSpace); + colors1.setXYZ(i, color.r, color.g, color.b); + + color.setHSL(0, (positions2.getY(i) / radius + 1) / 2, 0.5, THREE.SRGBColorSpace); + colors2.setXYZ(i, color.r, color.g, color.b); + + color.setRGB(1, 0.8 - (positions3.getY(i) / radius + 1) / 2, 0, THREE.SRGBColorSpace); + colors3.setXYZ(i, color.r, color.g, color.b); + } + + // 创建材质 + const material = new THREE.MeshPhongMaterial({ + color: 0xffffff, + flatShading: true, + vertexColors: true, + shininess: 0 + }); + + // 创建线框材质 + const wireframeMaterial = new THREE.MeshBasicMaterial({ color: 0x000000, wireframe: true, transparent: true }); + + // 创建网格模型,并添加线框,然后添加到场景中 + let mesh = new THREE.Mesh(geometry1, material); + let wireframe = new THREE.Mesh(geometry1, wireframeMaterial); + mesh.add(wireframe); + mesh.position.x = - 400; + mesh.rotation.x = - 1.87; + scene.add(mesh); + + mesh = new THREE.Mesh(geometry2, material); + wireframe = new THREE.Mesh(geometry2, wireframeMaterial); + mesh.add(wireframe); + mesh.position.x = 400; + scene.add(mesh); + + mesh = new THREE.Mesh(geometry3, material); + wireframe = new THREE.Mesh(geometry3, wireframeMaterial); + mesh.add(wireframe); + scene.add(mesh); + + // 创建渲染器,并设置到容器中 + renderer = new THREE.WebGLRenderer({ antialias: true }); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(window.innerWidth, window.innerHeight); + container.appendChild(renderer.domElement); + + // 添加性能统计工具 + stats = new Stats(); + container.appendChild(stats.dom); + + // 添加鼠标移动事件监听 + document.addEventListener('mousemove', onDocumentMouseMove); +} + +// 鼠标移动事件处理函数 +function onDocumentMouseMove(event: MouseEvent) { + // 更新鼠标位置变量 + mouseX = (event.clientX - windowWidth / 2); + mouseY = (event.clientY - windowHeight / 2); +} + +// 更新窗口大小 +function updateSize() { + // 检查并更新窗口尺寸 + if (windowWidth != window.innerWidth || windowHeight != window.innerHeight) { + windowWidth = window.innerWidth; + windowHeight = window.innerHeight; + renderer.setSize(windowWidth, windowHeight); + } +} + +// 动画循环函数 +function animate() { + // 执行渲染和性能统计更新,并请求下一帧 + render(); + stats.update(); + requestAnimationFrame(animate); +} + +// 渲染函数 +function render() { + // 更新窗口大小 + updateSize(); + // 遍历视图数组,设置并渲染每个视图 + for (let ii = 0; ii < views.length; ++ii) { + const view = views[ii]; + const camera = view.camera as THREE.PerspectiveCamera; + // 更新摄像机位置 + view.updateCamera(camera, scene, mouseX, mouseY); + // 设置视图区域 + const left = Math.floor(windowWidth * view.left); + const bottom = Math.floor(windowHeight * view.bottom); + const width = Math.floor(windowWidth * view.width); + const height = Math.floor(windowHeight * view.height); + // 设置渲染视口 + renderer.setViewport(left, bottom, width, height); + // 设置剪裁区域 + renderer.setScissor(left, bottom, width, height); + // 启用剪裁测试 + renderer.setScissorTest(true); + // 设置清除颜色 + renderer.setClearColor(view.background); + // 更新摄像机投影矩阵 + camera.aspect = width / height; + camera.updateProjectionMatrix(); + // 渲染当前视图 + renderer.render(scene, camera); + } +} + diff --git a/src/component/webgl_points_sprites/index.html b/src/component/webgl_points_sprites/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_points_sprites/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_points_sprites/index.ts b/src/component/webgl_points_sprites/index.ts new file mode 100644 index 0000000..b4279f1 --- /dev/null +++ b/src/component/webgl_points_sprites/index.ts @@ -0,0 +1,167 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; +type Parameter = [number[], THREE.Texture, number]; + +class Sketch extends kokomi.Base { + create() { + const that = this; + // 初始化变量 + let stats: Stats; + let parameters: Parameter[]; + let mouseX = 0, mouseY = 0; + let windowHalfX = window.innerWidth / 2; + let windowHalfY = window.innerHeight / 2; + const materials: THREE.PointsMaterial[] = []; + + // 初始化和动画函数 + init(); + animate(); + + // 初始化场景 + function init() { + // that.camera.fov = 75; + that.camera.near = 1; + that.camera.far = 10000; + that.camera.updateProjectionMatrix(); + + that.scene.fog = new THREE.FogExp2(0x000000, 0.0008); + // 创建几何体和顶点数组 + const geometry = new THREE.BufferGeometry(); + const vertices = []; + + // 创建纹理加载器 + const textureLoader = new THREE.TextureLoader(); + + // 为加载的纹理分配SRGB颜色空间 + const assignSRGB = (texture: THREE.Texture) => { + texture.colorSpace = THREE.SRGBColorSpace; + }; + + // 加载不同的雪花纹理 + const sprite1 = textureLoader.load('../../assets/images/textures/sprites/snowflake1.png', assignSRGB); + const sprite2 = textureLoader.load('../../assets/images/textures/sprites/snowflake2.png', assignSRGB); + const sprite3 = textureLoader.load('../../assets/images/textures/sprites/snowflake3.png', assignSRGB); + const sprite4 = textureLoader.load('../../assets/images/textures/sprites/snowflake4.png', assignSRGB); + const sprite5 = textureLoader.load('../../assets/images/textures/sprites/snowflake5.png', assignSRGB); + + // 为每个雪花生成随机位置 + for (let i = 0; i < 10000; i++) { + const x = Math.random() * 2000 - 1000; + const y = Math.random() * 2000 - 1000; + const z = Math.random() * 2000 - 1000; + vertices.push(x, y, z); + } + + // 将顶点数据设置到几何体 + geometry.setAttribute('position', new THREE.Float32BufferAttribute(vertices, 3)); + // 定义不同类型的雪花参数 + parameters = [ + [[1.0, 0.2, 0.5], sprite2, 20], + [[0.95, 0.1, 0.5], sprite3, 15], + [[0.90, 0.05, 0.5], sprite1, 10], + [[0.85, 0, 0.5], sprite5, 8], + [[0.80, 0, 0.5], sprite4, 5] + ]; + + // 创建不同类型的雪花材质并添加到场景 + for (let i = 0; i < parameters.length; i++) { + const color = parameters[i][0]; + const sprite = parameters[i][1]; + const size = parameters[i][2]; + + materials[i] = new THREE.PointsMaterial({ size: size, map: sprite, blending: THREE.AdditiveBlending, depthTest: false, transparent: true }); + materials[i].color.setHSL(color[0], color[1], color[2], THREE.SRGBColorSpace); + + const particles = new THREE.Points(geometry, materials[i]); + particles.rotation.x = Math.random() * 6; + particles.rotation.y = Math.random() * 6; + particles.rotation.z = Math.random() * 6; + that.scene.add(particles); + } + + // 添加性能统计工具 + stats = new Stats(); + document.body.appendChild(stats.dom); + + // 创建GUI界面 + const gui = new GUI(); + + // 定义GUI控制的参数对象 + const params = { + texture: true + }; + + // 在GUI中添加纹理开关控件 + gui.add(params, 'texture').onChange(function (value: boolean) { + // 当纹理开关改变时,更新所有材质的纹理映射 + for (let i = 0; i < materials.length; i++) { + materials[i].map = (value === true) ? parameters[i][1] : null; + materials[i].needsUpdate = true; + } + }); + + // 打开GUI界面 + gui.open(); + + // 禁止页面的默认触摸操作 + document.body.style.touchAction = 'none'; + // 添加鼠标移动事件监听器 + document.body.addEventListener('pointermove', onPointerMove); + + // 添加窗口大小调整事件监听器 + window.addEventListener('resize', onWindowResize); + + } + + // 窗口大小改变时的处理函数,更新相机和渲染器的大小 + function onWindowResize() { + windowHalfX = window.innerWidth / 2; + windowHalfY = window.innerHeight / 2; + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + // 指针移动事件的处理函数,更新鼠标位置变量 + function onPointerMove(event: PointerEvent) { + if (event.isPrimary === false) return; + mouseX = event.clientX - windowHalfX; + mouseY = event.clientY - windowHalfY; + } + + // 动画循环函数 + function animate() { + requestAnimationFrame(animate); + render(); + stats.update(); + } + + // 渲染函数 + function render() { + const time = Date.now() * 0.00005; + that.camera.position.x += (mouseX - that.camera.position.x) * 0.05; + that.camera.position.y += (- mouseY - that.camera.position.y) * 0.05; + that.camera.lookAt(that.scene.position); + + // 为场景中的每个雪花粒子设置旋转 + for (let i = 0; i < that.scene.children.length; i++) { + const object = that.scene.children[i]; + if (object instanceof THREE.Points) { + object.rotation.y = time * (i < 4 ? i + 1 : - (i + 1)); + } + } + + // 为每种材质设置颜色变化 + for (let i = 0; i < materials.length; i++) { + const color = parameters[i][0]; + const h = (360 * (color[0] + time) % 360) / 360; + materials[i].color.setHSL(h, color[1], color[2], THREE.SRGBColorSpace); + } + } + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_postprocessing_gtao/index.html b/src/component/webgl_postprocessing_gtao/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_postprocessing_gtao/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_postprocessing_gtao/index.ts b/src/component/webgl_postprocessing_gtao/index.ts new file mode 100644 index 0000000..dbbc103 --- /dev/null +++ b/src/component/webgl_postprocessing_gtao/index.ts @@ -0,0 +1,164 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; +import { GTAOPass } from 'three/examples/jsm/postprocessing/GTAOPass'; +import { OutputPass } from 'three/examples/jsm/postprocessing/OutputPass'; +import { OrbitControls, RoomEnvironment, RenderPass, EffectComposer } from 'three-stdlib' +import { LittlestTokyo } from './models' +import resources from './resources'; +export default class Sketch extends kokomi.Base { + am: kokomi.AssetManager + create() { + const that = this + let littlestTokyo: LittlestTokyo; + const AssetManagerConfig: kokomi.AssetManagerConfig = { + useDracoLoader: true, + useMeshoptDecoder: false, + dracoDecoderPath: '../../assets/libs/draco/', + ktx2TranscoderPath: "https://unpkg.com/three/examples/jsm/libs/basis/", + } + this.am = new kokomi.AssetManager(this, resources, AssetManagerConfig); + let composer: EffectComposer, controls: OrbitControls, stats: Stats; + function init() { + stats = new Stats(); + that.container.appendChild(stats.dom); + + const pmremGenerator = new THREE.PMREMGenerator(that.renderer); + + that.scene.background = new THREE.Color(0xbfe3dd); + that.scene.environment = pmremGenerator.fromScene(RoomEnvironment(), 0.04).texture; + + // that.camera.fov = 40; + that.camera.near = 1; + + that.camera.far = 100; + that.camera.updateProjectionMatrix() + that.camera.position.set(5, 2, 8); + + controls = new OrbitControls(that.camera, that.renderer.domElement); + controls.target.set(0, 0.5, 0); + controls.update(); + controls.enablePan = false; + controls.enableDamping = true; + + const width = window.innerWidth; + const height = window.innerHeight; + + composer = new EffectComposer(that.renderer); + + // 创建渲染通道,用于基本的场景渲染 + const renderPass = new RenderPass(that.scene, that.camera); + composer.addPass(renderPass); + + // 创建GTAO通道,用于模拟环境遮挡效果,提升场景的阴影表现 + const gtaoPass = new GTAOPass(that.scene, that.camera, width, height); + gtaoPass.output = GTAOPass.OUTPUT.Denoise; + composer.addPass(gtaoPass); + + // 创建输出通道,用于最终的画面输出 + const outputPass = new OutputPass(); + composer.addPass(outputPass); + + that.am.on("ready", () => { + littlestTokyo = new LittlestTokyo(that); + littlestTokyo.addExisting(); + littlestTokyo.playAction("Take 001"); + const box = new THREE.Box3().setFromObject(that.scene); + gtaoPass.setSceneClipBox(box); + }); + + // 创建GUI实例 + const gui = new GUI(); + + // 在GUI中添加GTAO输出模式选项,并设置不同输出模式的值 + gui.add(gtaoPass, 'output', { + 'Default': GTAOPass.OUTPUT.Default, + 'Diffuse': GTAOPass.OUTPUT.Diffuse, + 'AO Only': GTAOPass.OUTPUT.AO, + 'AO Only + Denoise': GTAOPass.OUTPUT.Denoise, + 'Depth': GTAOPass.OUTPUT.Depth, + 'Normal': GTAOPass.OUTPUT.Normal + }).onChange(function (value: number) { + // 当输出模式改变时,更新GTAO传递的输出模式 + gtaoPass.output = value; + }); + + // 定义AO参数配置 + const aoParameters = { + radius: 0.25, + distanceExponent: 1., + thickness: 1., + scale: 1., + samples: 16, + distanceFallOff: 1., + screenSpaceRadius: false, + }; + // 定义PD参数配置 + const pdParameters = { + lumaPhi: 10., + depthPhi: 2., + normalPhi: 3., + radius: 4., + radiusExponent: 1., + rings: 2., + samples: 16, + }; + // 更新GTAO材质参数 + gtaoPass.updateGtaoMaterial(aoParameters); + // 更新PD材质参数 + gtaoPass.updatePdMaterial(pdParameters); + + // 在GUI中添加混合强度调节,范围从0到1,步长为0.01 + gui.add(gtaoPass, 'blendIntensity').min(0).max(1).step(0.01); + + // 以下是在GUI中添加AO参数的调节项,每个参数变化都会触发GTAO材质参数的更新 + gui.add(aoParameters, 'radius').min(0.01).max(1).step(0.01).onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + gui.add(aoParameters, 'distanceExponent').min(1).max(4).step(0.01).onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + gui.add(aoParameters, 'thickness').min(0.01).max(10).step(0.01).onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + gui.add(aoParameters, 'distanceFallOff').min(0).max(1).step(0.01).onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + gui.add(aoParameters, 'scale').min(0.01).max(2.0).step(0.01).onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + gui.add(aoParameters, 'samples').min(2).max(32).step(1).onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + gui.add(aoParameters, 'screenSpaceRadius').onChange(() => gtaoPass.updateGtaoMaterial(aoParameters)); + + // 以下是在GUI中添加PD参数的调节项,每个参数变化都会触发PD材质参数的更新 + gui.add(pdParameters, 'lumaPhi').min(0).max(20).step(0.01).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + gui.add(pdParameters, 'depthPhi').min(0.01).max(20).step(0.01).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + gui.add(pdParameters, 'normalPhi').min(0.01).max(20).step(0.01).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + gui.add(pdParameters, 'radius').min(0).max(32).step(1).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + gui.add(pdParameters, 'radiusExponent').min(0.1).max(4.).step(0.1).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + gui.add(pdParameters, 'rings').min(1).max(16).step(0.125).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + gui.add(pdParameters, 'samples').min(2).max(32).step(1).onChange(() => gtaoPass.updatePdMaterial(pdParameters)); + window.addEventListener('resize', onWindowResize); + + } + + function onWindowResize() { + + const width = window.innerWidth; + const height = window.innerHeight; + + that.camera.updateProjectionMatrix(); + + that.renderer.setSize(width, height); + composer.setSize(width, height); + + } + + function animate() { + requestAnimationFrame(animate); + if (littlestTokyo) { + littlestTokyo.animations.update() + } + controls.update(); + stats.begin(); + composer.render(); + stats.end(); + } + init(); + animate() + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_postprocessing_gtao/models.ts b/src/component/webgl_postprocessing_gtao/models.ts new file mode 100644 index 0000000..f4914ce --- /dev/null +++ b/src/component/webgl_postprocessing_gtao/models.ts @@ -0,0 +1,33 @@ +import * as THREE from "three"; +import * as kokomi from "kokomi.js"; +import { GLTF } from "three-stdlib"; +import type Base from './index' +export class LittlestTokyo extends kokomi.Component { + base: Base; + gltf: GLTF; + animations: kokomi.AnimationManager; + currentAction: THREE.AnimationAction | null; + constructor(base: Base) { + super(base); + this.base = base; + this.gltf = this.base.am.items["littlest-tokyo"]; + this.animations = new kokomi.AnimationManager( + this.base, + this.gltf.animations, + this.gltf.scene + ); + this.currentAction = null; + } + addExisting() { + this.gltf.scene.scale.set(0.02, 0.02, 0.02); + this.base.scene.add(this.gltf.scene); + } + playAction(name: string | number) { + if (this.currentAction) { + this.currentAction.fadeOut(0.5); + } + const action = this.animations.actions[name]; + action.reset().fadeIn(0.5).play(); + this.currentAction = action; + } +} diff --git a/src/component/webgl_postprocessing_gtao/resources.ts b/src/component/webgl_postprocessing_gtao/resources.ts new file mode 100644 index 0000000..500df4d --- /dev/null +++ b/src/component/webgl_postprocessing_gtao/resources.ts @@ -0,0 +1,10 @@ +import type * as kokomi from "kokomi.js"; +const resources: kokomi.ResourceItem[] = [ + { + name: "littlest-tokyo", + type: "gltfModel", + path: "../../assets/model/gltf/littlest-tokyo.glb", + + }, +]; +export default resources; diff --git a/src/component/webgl_postprocessing_unreal_bloom_selective/fragmentshader.glsl b/src/component/webgl_postprocessing_unreal_bloom_selective/fragmentshader.glsl new file mode 100644 index 0000000..de9f0d2 --- /dev/null +++ b/src/component/webgl_postprocessing_unreal_bloom_selective/fragmentshader.glsl @@ -0,0 +1,8 @@ +uniform sampler2D baseTexture; +uniform sampler2D bloomTexture; + +varying vec2 vUv; + +void main(){ + gl_FragColor=(texture2D(baseTexture,vUv)+vec4(1.)*texture2D(bloomTexture,vUv)); +} diff --git a/src/component/webgl_postprocessing_unreal_bloom_selective/index.html b/src/component/webgl_postprocessing_unreal_bloom_selective/index.html new file mode 100644 index 0000000..0957622 --- /dev/null +++ b/src/component/webgl_postprocessing_unreal_bloom_selective/index.html @@ -0,0 +1,51 @@ + + + + + + + Document + + + +
+ + + + + + + + + + diff --git a/src/component/webgl_postprocessing_unreal_bloom_selective/index.ts b/src/component/webgl_postprocessing_unreal_bloom_selective/index.ts new file mode 100644 index 0000000..4f0f535 --- /dev/null +++ b/src/component/webgl_postprocessing_unreal_bloom_selective/index.ts @@ -0,0 +1,202 @@ +import * as THREE from 'three'; +import { GUI } from 'lil-gui'; +import { OutputPass } from 'three/examples/jsm/postprocessing/OutputPass' +import { OrbitControls, EffectComposer, RenderPass, ShaderPass, UnrealBloomPass, } from 'three-stdlib' +import vertexShader from './vertexshader.glsl' +import fragmentShader from './fragmentshader.glsl' +class Sketch { + create() { + // 定义一个常量用于标识需要添加发光效果的场景 + const BLOOM_SCENE = 1; + + // 创建一个图层并设置为发光场景 + const bloomLayer = new THREE.Layers(); + bloomLayer.set(BLOOM_SCENE); + + // 定义发光效果的参数 + const params = { + threshold: 0, + strength: 1, + radius: 0.5, + exposure: 1 + }; + + // 创建一个用于暗化非发光物体的材质 + const darkMaterial = new THREE.MeshBasicMaterial({ color: 'black' }); + const materials: { [key: string]: THREE.Material } = {}; + + // 创建WebGL渲染器,并设置各项参数以提高画质 + const renderer = new THREE.WebGLRenderer({ antialias: true }); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(window.innerWidth, window.innerHeight); + renderer.toneMapping = THREE.ReinhardToneMapping; + document.body.appendChild(renderer.domElement); + + // 创建场景和相机 + const scene = new THREE.Scene(); + const camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 1, 200); + camera.position.set(0, 0, 20); + camera.lookAt(0, 0, 0); + + // 添加轨道控制 + const controls = new OrbitControls(camera, renderer.domElement); + controls.maxPolarAngle = Math.PI * 0.5; + controls.minDistance = 1; + controls.maxDistance = 100; + controls.addEventListener('change', render); + + // 创建渲染通道 + const renderScene = new RenderPass(scene, camera); + const bloomPass = new UnrealBloomPass(new THREE.Vector2(window.innerWidth, window.innerHeight), 1.5, 0.4, 0.85); + bloomPass.threshold = params.threshold; + bloomPass.strength = params.strength; + bloomPass.radius = params.radius; + + // 创建发光合成器 + const bloomComposer = new EffectComposer(renderer); + bloomComposer.renderToScreen = false; + bloomComposer.addPass(renderScene); + bloomComposer.addPass(bloomPass); + + // 创建混合通道 + const mixPass = new ShaderPass( + new THREE.ShaderMaterial({ + uniforms: { + baseTexture: { value: null }, + bloomTexture: { value: bloomComposer.renderTarget2.texture } + }, + vertexShader: vertexShader, + fragmentShader: fragmentShader, + defines: {} + }), 'baseTexture' + ); + mixPass.needsSwap = true; + + // 创建输出通道 + const outputPass = new OutputPass(); + + // 创建最终合成器,并添加各个通道 + const finalComposer = new EffectComposer(renderer); + finalComposer.addPass(renderScene); + finalComposer.addPass(mixPass); + finalComposer.addPass(outputPass); + + // 创建光线投射器和鼠标坐标 + const raycaster = new THREE.Raycaster(); + const mouse = new THREE.Vector2(); + + // 添加鼠标点击事件监听 + window.addEventListener('pointerdown', onPointerDown); + + // 创建GUI界面 + const gui = new GUI(); + + // 创建发光效果控制面板 + const bloomFolder = gui.addFolder('bloom'); + bloomFolder.add(params, 'threshold', 0.0, 1.0).onChange(function (value: string) { + bloomPass.threshold = Number(value); + render(); + }); + bloomFolder.add(params, 'strength', 0.0, 3).onChange(function (value: string) { + bloomPass.strength = Number(value); + render(); + }); + bloomFolder.add(params, 'radius', 0.0, 1.0).step(0.01).onChange(function (value: string) { + bloomPass.radius = Number(value); + render(); + }); + + // 创建色调映射控制面板 + const toneMappingFolder = gui.addFolder('tone mapping'); + toneMappingFolder.add(params, 'exposure', 0.1, 2).onChange(function (value: number) { + renderer.toneMappingExposure = Math.pow(value, 4.0); + render(); + }); + + // 初始化场景 + setupScene(); + + // 鼠标点击事件处理函数 + function onPointerDown(event: MouseEvent) { + mouse.x = (event.clientX / window.innerWidth) * 2 - 1; + mouse.y = - (event.clientY / window.innerHeight) * 2 + 1; + raycaster.setFromCamera(mouse, camera); + const intersects = raycaster.intersectObjects(scene.children, false); + if (intersects.length > 0) { + const object = intersects[0].object; + object.layers.toggle(BLOOM_SCENE); + render(); + } + } + + // 窗口尺寸改变时的处理函数 + window.onresize = function () { + const width = window.innerWidth; + const height = window.innerHeight; + camera.aspect = width / height; + camera.updateProjectionMatrix(); + renderer.setSize(width, height); + bloomComposer.setSize(width, height); + finalComposer.setSize(width, height); + render(); + }; + + // 场景设置函数 + function setupScene() { + //@ts-ignore + scene.traverse(disposeMaterial); + scene.children.length = 0; + const geometry = new THREE.IcosahedronGeometry(1, 15); + for (let i = 0; i < 50; i++) { + const color = new THREE.Color(); + color.setHSL(Math.random(), 0.7, Math.random() * 0.2 + 0.05); + const material = new THREE.MeshBasicMaterial({ color: color }); + const sphere = new THREE.Mesh(geometry, material); + sphere.position.x = Math.random() * 10 - 5; + sphere.position.y = Math.random() * 10 - 5; + sphere.position.z = Math.random() * 10 - 5; + sphere.position.normalize().multiplyScalar(Math.random() * 4.0 + 2.0); + sphere.scale.setScalar(Math.random() * Math.random() + 0.5); + scene.add(sphere); + if (Math.random() < 0.25) sphere.layers.enable(BLOOM_SCENE); + } + render(); + } + + // 材质释放函数 + function disposeMaterial(obj: THREE.Mesh) { + if (obj.material) { + (obj.material as THREE.Material).dispose(); + } + } + + + // 渲染函数 + function render() { + //@ts-ignore + scene.traverse(darkenNonBloomed); + bloomComposer.render(); + //@ts-ignore + scene.traverse(restoreMaterial); + finalComposer.render(); + } + // 暗化非发光物体函数 + function darkenNonBloomed(obj: THREE.Mesh) { + if (obj.isMesh && bloomLayer.test(obj.layers) === false) { + materials[obj.uuid] = obj.material; + obj.material = darkMaterial; + } + } + + // 恢复物体材质函数 + function restoreMaterial(obj: THREE.Mesh) { + if (materials[obj.uuid]) { + obj.material = materials[obj.uuid]; + delete materials[obj.uuid]; + } + } + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch(); +sketch.create(); diff --git a/src/component/webgl_postprocessing_unreal_bloom_selective/vertexshader.glsl b/src/component/webgl_postprocessing_unreal_bloom_selective/vertexshader.glsl new file mode 100644 index 0000000..9a40354 --- /dev/null +++ b/src/component/webgl_postprocessing_unreal_bloom_selective/vertexshader.glsl @@ -0,0 +1,9 @@ +varying vec2 vUv; + +void main(){ + + vUv=uv; + + gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.); + +} diff --git a/src/component/webgl_shaders_ocean/index.html b/src/component/webgl_shaders_ocean/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_shaders_ocean/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_shaders_ocean/index.ts b/src/component/webgl_shaders_ocean/index.ts new file mode 100644 index 0000000..7a92161 --- /dev/null +++ b/src/component/webgl_shaders_ocean/index.ts @@ -0,0 +1,147 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; +import { GUI } from 'lil-gui'; +import { OrbitControls, Water, Sky } from 'three-stdlib' +class Sketch extends kokomi.Base { + create() { + const that = this; + // 定义容器和统计对象 + let stats: Stats; + // 定义控制器、水面、太阳和网格 + let controls, water: Water, sun: THREE.Vector3, mesh: THREE.Mesh; + + // 初始化函数 + function init() { + // 创建渲染器并设置大小和色调映射 + that.renderer.toneMapping = THREE.ACESFilmicToneMapping; + that.renderer.toneMappingExposure = 0.5; + + // 创建相机并设置位置 + // that.camera.fov = 55; + that.camera.near = 1; + that.camera.far = 20000; + that.camera.position.set(30, 30, 100); + that.camera.updateProjectionMatrix() + // 定义太阳的位置 + sun = new THREE.Vector3(); + + // 创建水面 + const waterGeometry = new THREE.PlaneGeometry(10000, 10000); + water = new Water( + waterGeometry, + { + textureWidth: 512, + textureHeight: 512, + waterNormals: new THREE.TextureLoader().load('../../assets/images/textures/waternormals.jpg', function (texture) { + texture.wrapS = texture.wrapT = THREE.RepeatWrapping; + }), + sunDirection: new THREE.Vector3(), + sunColor: 0xffffff, + waterColor: 0x001e0f, + distortionScale: 3.7, + fog: that.scene.fog !== undefined + } + ); + water.rotation.x = - Math.PI / 2; + that.scene.add(water); + + // 创建天空盒 + const sky = new Sky(); + sky.scale.setScalar(10000); + that.scene.add(sky); + + const skyUniforms = (sky.material as THREE.ShaderMaterial).uniforms; + skyUniforms['turbidity'].value = 10; + skyUniforms['rayleigh'].value = 2; + skyUniforms['mieCoefficient'].value = 0.005; + skyUniforms['mieDirectionalG'].value = 0.8; + + // 定义太阳位置的参数 + const parameters = { + elevation: 2, + azimuth: 180 + }; + + // 创建PMREM生成器和环境场景 + const pmremGenerator = new THREE.PMREMGenerator(that.renderer); + const sceneEnv = new THREE.Scene(); + + let renderTarget: THREE.WebGLRenderTarget | undefined = undefined; + + // 更新太阳位置的函数 + function updateSun() { + const phi = THREE.MathUtils.degToRad(90 - parameters.elevation); + const theta = THREE.MathUtils.degToRad(parameters.azimuth); + sun.setFromSphericalCoords(1, phi, theta); + (sky.material as THREE.ShaderMaterial).uniforms['sunPosition'].value.copy(sun); + water.material.uniforms['sunDirection'].value.copy(sun).normalize(); + if (renderTarget !== undefined) renderTarget.dispose(); + sceneEnv.add(sky); + renderTarget = pmremGenerator.fromScene(sceneEnv); + that.scene.add(sky); + that.scene.environment = renderTarget.texture; + } + + // 初始化太阳位置 + updateSun(); + + // 创建一个立方体网格 + const geometry = new THREE.BoxGeometry(30, 30, 30); + const material = new THREE.MeshStandardMaterial({ roughness: 0 }); + mesh = new THREE.Mesh(geometry, material); + that.scene.add(mesh); + + // 创建轨道控制器 + controls = new OrbitControls(that.camera, that.renderer.domElement); + controls.maxPolarAngle = Math.PI * 0.495; + controls.target.set(0, 10, 0); + controls.minDistance = 40.0; + controls.maxDistance = 200.0; + controls.update(); + + // 创建统计对象并添加到容器中 + stats = new Stats(); + that.container.appendChild(stats.dom); + + // 创建GUI + const gui = new GUI(); + const folderSky = gui.addFolder('Sky'); + folderSky.add(parameters, 'elevation', 0, 90, 0.1).onChange(updateSun); + folderSky.add(parameters, 'azimuth', - 180, 180, 0.1).onChange(updateSun); + folderSky.open(); + + const waterUniforms = water.material.uniforms; + const folderWater = gui.addFolder('Water'); + folderWater.add(waterUniforms.distortionScale, 'value', 0, 8, 0.1).name('distortionScale'); + folderWater.add(waterUniforms.size, 'value', 0.1, 10, 0.1).name('size'); + folderWater.open(); + + // 窗口大小调整事件监听器 + window.addEventListener('resize', onWindowResize); + } + + // 窗口大小调整处理函数 + function onWindowResize() { + // that.camera.aspect = window.innerWidth / window.innerHeight; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(window.innerWidth, window.innerHeight); + } + + this.update(() => { + const time = performance.now() * 0.001; + mesh.position.y = Math.sin(time) * 20 + 5; + mesh.rotation.x = time * 0.5; + mesh.rotation.z = time * 0.51; + water.material.uniforms['time'].value += 1.0 / 60.0; + stats.update(); + }) + + // 初始化函数 + init(); + + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/component/webgl_shadowmap/index.html b/src/component/webgl_shadowmap/index.html new file mode 100644 index 0000000..8a8c7e1 --- /dev/null +++ b/src/component/webgl_shadowmap/index.html @@ -0,0 +1,21 @@ + + + + + + + Document + + + +
+ + + + + diff --git a/src/component/webgl_shadowmap/index.ts b/src/component/webgl_shadowmap/index.ts new file mode 100644 index 0000000..46257d1 --- /dev/null +++ b/src/component/webgl_shadowmap/index.ts @@ -0,0 +1,387 @@ +import * as THREE from 'three'; +import * as kokomi from 'kokomi.js'; +import Stats from 'stats.js'; +import { FirstPersonControls, GLTFLoader, FontLoader, TextGeometry, ShadowMapViewer } from 'three-stdlib' +interface CustomMaterial extends THREE.Material { + color: THREE.Color +} +interface CustomMesh extends THREE.Object3D { + speed: number + material: CustomMaterial +} +class Sketch extends kokomi.Base { + create() { + const that = this + // 定义阴影贴图的宽度和高度 + const SHADOW_MAP_WIDTH = 2048, SHADOW_MAP_HEIGHT = 1024; + + // 初始化屏幕宽度和高度 + let SCREEN_WIDTH = window.innerWidth; + let SCREEN_HEIGHT = window.innerHeight; + + // 定义地面的初始高度 + const FLOOR = - 250; + + // 声明相机、控制器、场景和渲染器变量 + let controls: FirstPersonControls; + + // 声明用于显示统计数据的变量 + let stats: Stats; + + // 定义近平面和远平面的距离 + const NEAR = 10, FAR = 3000; + + // 声明动画混合器变量 + let mixer: THREE.AnimationMixer; + + // 声明一个数组用于存储形态变化数据 + const morphs: CustomMesh[] = []; + + // 声明光源变量 + let light: THREE.DirectionalLight; + + // 声明用于查看光源阴影贴图的变量 + let lightShadowMapViewer: ShadowMapViewer; + + // 创建一个THREE.Clock实例用于计算时间 + + // 定义一个变量用于控制HUD(抬头显示)的显示与隐藏 + let showHUD = false; + // 初始化函数,设置场景、相机、灯光、渲染器等 + function init() { + // 创建透视相机,并设置相机的属性 + // that.camera.fov = 23; + that.camera.near = NEAR; + that.camera.far = FAR; + that.camera.updateProjectionMatrix() + that.camera.position.set(700, 50, 1900); + + // 创建场景,并设置背景颜色和雾效 + that.scene.background = new THREE.Color(0x59472b); + that.scene.fog = new THREE.Fog(0x59472b, 1000, FAR); + + // 添加环境光和方向光到场景,并设置灯光的属性 + const ambient = new THREE.AmbientLight(0xffffff); + that.scene.add(ambient); + + // 创建一个平行光对象,颜色为白色,强度为3 + light = new THREE.DirectionalLight(0xffffff, 3); + // 设置光源位置,使其在场景中具有方向性 + light.position.set(0, 1500, 1000); + // 启用光源的阴影投射功能 + light.castShadow = true; + // 配置光源的阴影投射范围和方向 + light.shadow.camera.top = 2000; + light.shadow.camera.bottom = - 2000; + light.shadow.camera.left = - 2000; + light.shadow.camera.right = 2000; + // 设置光源阴影的近平面和远平面距离,以调整阴影的清晰度和范围 + light.shadow.camera.near = 1200; + light.shadow.camera.far = 2500; + // 设置光源阴影的偏移量,用于避免阴影贴图产生的 acne 效应 + light.shadow.bias = 0.0001; + + // 设置光源阴影贴图的尺寸,更高的分辨率可以提供更精细的阴影效果 + light.shadow.mapSize.width = SHADOW_MAP_WIDTH; + light.shadow.mapSize.height = SHADOW_MAP_HEIGHT; + + that.scene.add(light); + + // 创建HUD界面和场景内容 + createHUD(); + createScene(); + + that.renderer.autoClear = false; + + // 启用和设置阴影映射 + that.renderer.shadowMap.enabled = true; + that.renderer.shadowMap.type = THREE.PCFShadowMap; + + // 创建第一人称控制器,并设置其属性 + controls = new FirstPersonControls(that.camera, that.renderer.domElement); + + controls.lookSpeed = 0.0125; + controls.movementSpeed = 2000; + controls.lookVertical = true; + + controls.lookAt(that.scene.position); + + // 创建性能统计对象 + stats = new Stats(); + //container.appendChild( stats.dom ); + + // 监听窗口的尺寸变化和键盘事件 + window.addEventListener('resize', onWindowResize); + window.addEventListener('keydown', onKeyDown); + + } + + function onWindowResize() { + + SCREEN_WIDTH = window.innerWidth; + SCREEN_HEIGHT = window.innerHeight; + + // that.camera.aspect = SCREEN_WIDTH / SCREEN_HEIGHT; + that.camera.updateProjectionMatrix(); + that.renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT); + controls.handleResize(); + + } + + function onKeyDown(event: KeyboardEvent) { + + switch (event.keyCode) { + + case 84: /*t*/ + showHUD = !showHUD; + break; + + } + + } + + /** + * 创建HUD(平视显示器)界面 + * 本函数主要负责初始化一个用于查看光源阴影贴图的视图 + */ + function createHUD() { + + // 实例化一个ShadowMapViewer对象,用于查看光源的阴影贴图 + lightShadowMapViewer = new ShadowMapViewer(light); + + // 设置lightShadowMapViewer在屏幕上的位置 + lightShadowMapViewer.position.x = 10; + // 将y坐标设置为屏幕高度减去阴影贴图高度的1/4再减去10,以确定其在屏幕上的垂直位置 + lightShadowMapViewer.position.y = SCREEN_HEIGHT - (SHADOW_MAP_HEIGHT / 4) - 10; + + // 将宽度设置为阴影贴图宽度的1/4 + lightShadowMapViewer.size.width = SHADOW_MAP_WIDTH / 4; + // 将高度设置为阴影贴图高度的1/4 + lightShadowMapViewer.size.height = SHADOW_MAP_HEIGHT / 4; + + // 更新lightShadowMapViewer的状态,以确保上述设置生效 + lightShadowMapViewer.update(); + + } + + function createScene() { + + // GROUND + + const geometry = new THREE.PlaneGeometry(100, 100); + + // 创建一个带Phong材质的网格,用于地面的外观,参数为颜色等属性 + const planeMaterial = new THREE.MeshPhongMaterial({ color: 0xffdd99 }); + + const ground = new THREE.Mesh(geometry, planeMaterial); + + // 设置地面的位置,使其处于场景中的地板高度 + ground.position.set(0, FLOOR, 0); + + // 旋转地面,使其平面与场景的地板平行 + ground.rotation.x = - Math.PI / 2; + + // 设置地面的缩放,使其看起来更宽广 + ground.scale.set(100, 100, 100); + + // 禁止地面投射阴影,因为它应该是场景中其他物体的阴影接收器 + ground.castShadow = false; + + // 允许地面接收阴影,这样它就可以显示其他物体投射的阴影了 + ground.receiveShadow = true; + + that.scene.add(ground); + + // TEXT + // 创建一个FontLoader对象用于加载字体文件 + const loader = new FontLoader(); + // 加载字体文件,完成后执行回调函数 + loader.load('../../assets/fonts/helvetiker_bold.typeface.json', function (font) { + // 创建文本几何体对象,用于渲染文本 + const textGeo = new TextGeometry('HELLO WORLD', { + font: font, + size: 200, + // depth: 50, + curveSegments: 12, + bevelThickness: 2, + bevelSize: 5, + bevelEnabled: true + }); + // 计算文本的边界框 + textGeo.computeBoundingBox(); + // 计算文本的中心偏移量 + const centerOffset = - 0.5 * (textGeo.boundingBox!.max.x - textGeo.boundingBox!.min.x); + // 创建文本材质对象 + const textMaterial = new THREE.MeshPhongMaterial({ color: 0xff0000, specular: 0xffffff }); + // 创建文本网格对象 + const mesh = new THREE.Mesh(textGeo, textMaterial); + // 设置文本的位置 + mesh.position.x = centerOffset; + mesh.position.y = FLOOR + 67; + // 启用阴影投射和接收 + mesh.castShadow = true; + mesh.receiveShadow = true; + // 将文本网格对象添加到场景中 + that.scene.add(mesh); + }); + + // CUBES + const cubes1 = new THREE.Mesh(new THREE.BoxGeometry(1500, 220, 150), planeMaterial); + + // 设置cubes1的位置,使其看起来像是地面上的一个固定装饰物 + cubes1.position.y = FLOOR - 50; + cubes1.position.z = 20; + + // 启用立方体的阴影投射和接收,增强场景真实感 + cubes1.castShadow = true; + cubes1.receiveShadow = true; + + that.scene.add(cubes1); + + // 创建第二个立方体,可能用于与场景中其他元素互动或提供视觉支持 + const cubes2 = new THREE.Mesh(new THREE.BoxGeometry(1600, 170, 250), planeMaterial); + + // 设置cubes2的位置,与cubes1相同,但可能有不同的用途或视觉效果 + cubes2.position.y = FLOOR - 50; + cubes2.position.z = 20; + + // 启用立方体的阴影投射和接收,以确保与场景其他部分的光影效果一致 + cubes2.castShadow = true; + cubes2.receiveShadow = true; + + that.scene.add(cubes2); + + // MORPHS + + mixer = new THREE.AnimationMixer(that.scene); + + /** + * 向场景中添加一个变形动画 + * + * @param {Object3D} mesh - 需要变形的网格模型 + * @param {AnimationClip} clip - 动画剪辑 + * @param {number} speed - 动画播放速度 + * @param {number} duration - 动画持续时间 + * @param {number} x - 网格模型的x轴位置 + * @param {number} y - 网格模型的y轴位置 + * @param {number} z - 网格模型的z轴位置 + * @param {boolean} fudgeColor - 是否随机调整网格模型的颜色 + */ + function addMorph(mesh: CustomMesh, clip: THREE.AnimationClip, speed: number, duration: number, x: number, y: number, z: number, fudgeColor?: boolean) { + + // 克隆网格模型和其材质,以避免修改原始对象 + mesh = mesh.clone(); + mesh.material = mesh.material.clone(); + + // 如果允许随机调整颜色,则对材质的颜色进行随机调整 + if (fudgeColor) { + + mesh.material.color.offsetHSL(0, Math.random() * 0.5 - 0.25, Math.random() * 0.5 - 0.25); + + } + + // 设置动画播放速度 + mesh.speed = speed; + + // 配置动画剪辑的动作,并设置动画的持续时间,随机起始时间和播放状态 + mixer.clipAction(clip, mesh). + setDuration(duration). + startAt(- duration * Math.random()). + play(); + + // 设置网格模型的位置和旋转角度 + mesh.position.set(x, y, z); + mesh.rotation.y = Math.PI / 2; + + // 启用网格模型的阴影投射和接收 + mesh.castShadow = true; + mesh.receiveShadow = true; + + // 将网格模型添加到场景中 + that.scene.add(mesh); + + // 将网格模型添加到变形集合中,以便后续处理 + morphs.push(mesh); + + } + const gltfloader = new GLTFLoader(); + + gltfloader.load('../../assets/model/gltf/Horse.glb', function (gltf) { + + const mesh = gltf.scene.children[0] as CustomMesh; + + const clip = gltf.animations[0]; + + addMorph(mesh, clip, 550, 1, 100 - Math.random() * 1000, FLOOR, 300, true); + addMorph(mesh, clip, 550, 1, 100 - Math.random() * 1000, FLOOR, 450, true); + addMorph(mesh, clip, 550, 1, 100 - Math.random() * 1000, FLOOR, 600, true); + + addMorph(mesh, clip, 550, 1, 100 - Math.random() * 1000, FLOOR, - 300, true); + addMorph(mesh, clip, 550, 1, 100 - Math.random() * 1000, FLOOR, - 450, true); + addMorph(mesh, clip, 550, 1, 100 - Math.random() * 1000, FLOOR, - 600, true); + + }); + + gltfloader.load('../../assets/model/gltf/Flamingo.glb', function (gltf) { + + const mesh = gltf.scene.children[0] as CustomMesh; + const clip = gltf.animations[0]; + + addMorph(mesh, clip, 500, 1, 500 - Math.random() * 500, FLOOR + 350, 40); + + }); + + gltfloader.load('../../assets/model/gltf/Stork.glb', function (gltf) { + + const mesh = gltf.scene.children[0] as CustomMesh; + const clip = gltf.animations[0]; + + addMorph(mesh, clip, 350, 1, 500 - Math.random() * 500, FLOOR + 350, 340); + + }); + + gltfloader.load('../../assets/model/gltf/Parrot.glb', function (gltf) { + + const mesh = gltf.scene.children[0] as CustomMesh; + const clip = gltf.animations[0]; + + addMorph(mesh, clip, 450, 0.5, 500 - Math.random() * 500, FLOOR + 300, 700); + + }); + + } + + this.update(() => { + + mixer.update(this.clock.deltaTime); + + for (let i = 0; i < morphs.length; i++) { + + const morph = morphs[i]; + + morph.position.x += morph.speed * this.clock.deltaTime; + + if (morph.position.x > 2000) { + + morph.position.x = - 1000 - Math.random() * 500; + + } + + } + + controls.update(this.clock.deltaTime); + + if (showHUD) { + + lightShadowMapViewer.render(that.renderer); + + } + stats.update(); + + }) + init(); + } +} +// 创建Sketch实例并初始化 +const sketch = new Sketch("#sketch"); +sketch.create(); diff --git a/src/debug.ts b/src/debug.ts new file mode 100644 index 0000000..90adfba --- /dev/null +++ b/src/debug.ts @@ -0,0 +1,12 @@ +import * as dat from "lil-gui"; +export default class Debug { + active: boolean; + ui: dat.GUI | null; + constructor() { + this.active = window.location.hash === "#debug"; + this.ui = null; + if (this.active) { + this.ui = new dat.GUI(); + } + } +} diff --git a/src/effect/firework.ts b/src/effect/firework.ts new file mode 100644 index 0000000..efc513b --- /dev/null +++ b/src/effect/firework.ts @@ -0,0 +1,291 @@ +import gsap from "gsap"; +import fireworkVertexShader from "@/shaders/fireworks/vertex.glsl"; +import fireworkFragmentShader from "@/shaders/fireworks/fragment.glsl"; +import * as THREE from "three"; +import Base from "@src/utils/three/init"; + +export interface FireworkConfig { + spreadAngle: number; + speedFactor: number; + gravityFactor: number; + explodeY: number; +} + +export interface FireworkParticle { + isExploded: boolean; + mesh: THREE.Points; + position: THREE.Vector3; +} + +/** + * 烟花爆炸效果引用了大佬的效果(reference):https://github.com/jamestw13/fireworks-shaders-threejs + * TODO: + * 粒子运动逻辑:改进爆炸后粒子的运动逻辑,使其更加自然和多样化,例如考虑重力影响、风向扰动等。 + * 颜色过渡:优化颜色变化,使粒子在生命周期内有更自然的色彩过渡效果。 + * 光效与阴影:为烟花增加光源或调整材质属性,以模拟真实的光影效果。 + * 纹理细节:考虑使用纹理贴图来增加粒子的细节,使其看起来更丰富多变。 + * 音频反馈:为烟花爆炸添加音效,增强沉浸感。 + * 粒子消散:粒子消散过程可以更细腻,例如通过透明度逐渐降低而非突然消失。 + * 性能优化:确保大量粒子动画不会显著影响性能,可能需要考虑粒子池技术来复用粒子对象。 + */ +export default class Firework { + base: Base; + config: FireworkConfig; + fireworks: FireworkParticle[]; + gravity: THREE.Vector3; + textures: THREE.Texture[]; + clock: THREE.Clock; + deltaTime: number; + constructor(base: Base, config?: FireworkConfig); + /** + * 构造函数:初始化烟花模拟器 + * @param {Object} base - 用于烟花效果演示的对象 + * @param {Object} config - 可选配置对象,用于重写默认配置 + */ + constructor( + base: Base, + config: FireworkConfig = { + spreadAngle: Math.PI / 4, + // 烟花扩散角度 + speedFactor: 1, + // 烟花速度因子 + gravityFactor: 0.1, + // 重力影响因子 + explodeY: 10, // 烟花爆炸的Y轴偏移 + }, + ) { + this.base = base; + // 设置默认配置,并允许通过config参数进行覆盖 + this.config = config; + this.fireworks = []; // 用于存储所有烟花对象的数组 + this.gravity = new THREE.Vector3(0, -this.config.gravityFactor || 0.1, 0); // 定义重力向量 + this.textures = []; // 存储烟花粒子纹理 + this.loadTextures(); // 加载烟花粒子纹理 + this.clock = new THREE.Clock(); // 初始化计时器,用于控制动画帧率 + this.animate(); // 启动动画 + } + + /** + * 动画循环函数,不断更新烟花状态并渲染 + */ + animate() { + requestAnimationFrame(() => { + this.deltaTime = this.clock.getDelta(); // 获取自上一帧以来的时间差 + this.animate(); // 递归调用自身以维持动画循环 + this.fireworks.forEach((fw) => { + this.update(fw); // 更新每个烟花的状态 + }); + }); + } + + /** + * 加载纹理图片 + */ + loadTextures() { + const textureLoader = new THREE.TextureLoader(); // 创建纹理加载器 + // 加载并存储烟花粒子的纹理图片 + this.textures = [ + textureLoader.load("/src/assets/images/textures/particles/1.png"), + textureLoader.load("/src/assets/images/textures/particles/2.png"), + textureLoader.load("/src/assets/images/textures/particles/3.png"), + textureLoader.load("/src/assets/images/textures/particles/4.png"), + textureLoader.load("/src/assets/images/textures/particles/5.png"), + textureLoader.load("/src/assets/images/textures/particles/6.png"), + textureLoader.load("/src/assets/images/textures/particles/7.png"), + textureLoader.load("/src/assets/images/textures/particles/8.png"), + ]; + } + /** + * 初始化并发射一个单个粒子作为上升阶段的一部分。 + * @param {THREE.Vector3} position - 粒子的初始位置。 + */ + launch(position: THREE.Vector3): void { + // 创建一个包含粒子基本属性的对象 + const firework: FireworkParticle = { + isExploded: false, + mesh: null as unknown as THREE.Points, + // 初始时mesh为null,稍后创建 + position: new THREE.Vector3(), // 初始位置将被设置 + }; + + // 设置粒子的初始位置 + firework.position.copy(position); + + // 初始化单个粒子的位置和颜色 + const singlePositions = new Float32Array(3); + const singleColors = new Float32Array(3); + // 为粒子随机生成x, z位置,保持y轴位置初始为0 + const x = (Math.random() - 0.5) * 2; + const y = 0; // 根据配置调整,如果需要从特定高度发射 + const z = (Math.random() - 0.5) * 2; + singlePositions.set([x, y, z]); // 使用配置中的explodeY作为初始y位置 + + // 随机生成粒子的颜色 + const r = Math.random() * 0.5 + 0.5; + const g = Math.random() * 0.5 + 0.5; + const b = Math.random(); + singleColors.set([r, g, b]); + const geometry = new THREE.BufferGeometry(); + const material = new THREE.PointsMaterial({ + size: 0.1, + vertexColors: true, + blending: THREE.AdditiveBlending, + transparent: true, + depthWrite: false, + }); + // 使用粒子的位置和颜色创建几何体和材质 + geometry.setAttribute( + "position", + new THREE.BufferAttribute(singlePositions, 3), + ); + geometry.setAttribute("color", new THREE.BufferAttribute(singleColors, 3)); + + // 创建粒子网格并设置其位置,然后将其添加到场景中 + firework.mesh = new THREE.Points(geometry, material); + firework.mesh.position.copy(firework.position); + this.base.scene.add(firework.mesh); + + // 将该粒子添加到粒子列表中以进行后续管理 + this.fireworks.push(firework); + } + /** + * 更新指定的烟火对象的状态。 + * @param {Object} firework - 一个表示烟火的物体对象,具有位置、网格和是否爆炸的属性。 + * 该方法会根据烟火当前的状态(是否爆炸)来更新其位置,并在达到一定高度时触发爆炸。 + */ + update(firework: FireworkParticle) { + if (!firework.isExploded) { + // 简单的上升动画逻辑 + firework.position.y += 10 * this.deltaTime; // 根据delta时间(自上次更新以来的时间)控制烟火上升的速度 + firework.mesh.position.copy(firework.position); // 将烟火的网格位置更新为其逻辑位置 + // 执行碰撞检测,此处的逻辑为简化处理。实际应用中,可能需要更复杂的逻辑来决定烟火何时爆炸。 + if (firework.position.y > this.config.explodeY) { + this.explode(firework); // 当烟火到达预设的爆炸高度时,触发爆炸效果 + } + } + } + + /** + * 销毁烟火对象 + * @param {Object} firework 烟火对象,包含烟火的网格和几何体等属性 + */ + destroy(firework: FireworkParticle) { + this.base.scene.remove(firework.mesh); // 从场景中移除烟火的网格 + firework.mesh.geometry.dispose(); // 释放几何体资源 + } + + /** + * 爆炸效果处理 + * @param {Object} firework 烟火对象,将对此对象进行爆炸效果的处理 + */ + explode(firework: FireworkParticle) { + this.destroy(firework); // 首先销毁原有的烟火对象,准备生成新的粒子效果 + firework.isExploded = true; // 标记该烟火对象为已爆炸 + + // 随机生成粒子的基本属性 + const count = Math.round(400 + Math.random() * 1000); // 粒子数量随机 + const size = 0.1 + Math.random() * 0.1; // 粒子大小随机 + const texture = + this.textures[Math.floor(Math.random() * this.textures.length)]; // 随机选择粒子纹理 + const radius = 0.5 + Math.random(); // 粒子初始分布半径随机 + const color = new THREE.Color(); + color.setHSL(Math.random(), 1, 0.7); // 随机设置粒子颜色 + + // 初始化粒子位置、大小和时间乘数的数组 + const positionsArray = new Float32Array(count * 3); + const sizesArray = new Float32Array(count); + const timeMultipliersArray = new Float32Array(count); + for (let i = 0; i < count; i++) { + const i3 = i * 3; + // 随机生成球面坐标,用于确定粒子的初始位置 + const spherical = new THREE.Spherical( + radius * (0.75 + Math.random() * 0.25), + Math.random() * Math.PI, + Math.random() * Math.PI * 2, + ); + // 从球面坐标转换为三维空间中的位置 + const position = new THREE.Vector3().setFromSpherical(spherical); + + // 填充粒子位置数组 + positionsArray[i3 + 0] = position.x; + positionsArray[i3 + 1] = position.y; + positionsArray[i3 + 2] = position.z; + + // 随机设置粒子的初始大小 + sizesArray[i] = Math.random(); + + // 随机设置粒子的时间乘数,用于控制粒子的生命周期 + timeMultipliersArray[i] = 1 + Math.random(); + } + + // 使用粒子的位置、大小等数据创建缓冲几何体 + const newGeometry = new THREE.BufferGeometry(); + // ...(几何体的进一步设置,代码未给出) + + // 设置几何体的位置属性 + newGeometry.setAttribute( + "position", + new THREE.Float32BufferAttribute(positionsArray, 3), + ); + // 设置几何体的大小属性 + newGeometry.setAttribute( + "aSize", + new THREE.Float32BufferAttribute(sizesArray, 1), + ); + // 设置几何体的时间乘数属性 + newGeometry.setAttribute( + "aTimeMultiplier", + new THREE.Float32BufferAttribute(timeMultipliersArray, 1), + ); + + // 创建烟花效果的材质 + texture.flipY = false; + const newMaterial = new THREE.ShaderMaterial({ + vertexShader: fireworkVertexShader, + // 顶点着色器 + fragmentShader: fireworkFragmentShader, + // 片段着色器 + uniforms: { + uSize: new THREE.Uniform(size), + // 粒子大小的统一变量 + uResolution: new THREE.Uniform(new THREE.Vector3( + window.innerWidth, + window.innerHeight, + 1, + )), + // 分辨率的统一变量 + uTexture: new THREE.Uniform(texture), + // 纹理的统一变量 + uColor: new THREE.Uniform(color), + // 颜色的统一变量 + uProgress: new THREE.Uniform(0), // 动画进度的统一变量 + }, + transparent: true, + // 确保粒子效果是透明的 + depthWrite: false, + // 禁止写入深度 + blending: THREE.AdditiveBlending, // 使用加法混合增强亮度和效果 + }); + const newMesh = new THREE.Points(newGeometry, newMaterial); + newMesh.position.copy(firework.position); // 复制位置 + firework.mesh = newMesh; + this.base.scene.add(firework.mesh); // 添加到场景 + + // 使用gsap库进行材质动画处理,动画完成后自动销毁烟火对象 + gsap.to( + (firework.mesh.material as THREE.ShaderMaterial).uniforms.uProgress, + { + value: 1, + // 动画进度从0到1 + duration: 6, + // 动画持续6秒 + ease: "linear", + // 线性缓动 + onComplete: () => { + // 动画完成后的操作 + this.destroy(firework); // 销毁烟火对象 + }, + }, + ); + } +} diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shaders/3d-effect/frag.glsl b/src/shaders/3d-effect/frag.glsl new file mode 100644 index 0000000..656bbbe --- /dev/null +++ b/src/shaders/3d-effect/frag.glsl @@ -0,0 +1,77 @@ +#include "/node_modules/lygia/color/palette.glsl" +#include "/node_modules/lygia/lighting/fresnel.glsl" +#include "/node_modules/lygia/color/space.glsl" + +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; + +varying vec2 vUv; + +varying float vNoise; +varying vec3 vNormal; +varying vec3 vWorldPosition; + +uniform vec3 uThemeColor; +uniform vec3 uLightColor; +uniform float uFresnelIntensity; +uniform float uLightIntensity; +uniform vec3 uLight2Color; +uniform float uLight2Intensity; +// 主渲染函数 +// +// 参数: +// iTime: 流逝时间,用于动画效果。 +// iResolution: 屏幕分辨率,可用于基于分辨率的缩放或比例计算。 +// iMouse: 鼠标位置,可用于交互式效果。 +// vUv: 纹理坐标,用于纹理映射。 +// vNoise: 噪声值,可用于纹理或颜色变化。 +// vNormal: 物体表面法线,用于光照计算。 +// vWorldPosition: 物体在世界空间的位置,用于光照计算。 +// uThemeColor: 主题颜色,用于物体的基本颜色。 +// uLightColor: 主光源颜色。 +// uFresnelIntensity: 面反射(Fresnel)效果的强度。 +// uLightIntensity: 主光源强度。 +// uLight2Color: 第二光源颜色。 +// uLight2Intensity: 第二光源强度。 +// +// 返回值: +// gl_FragColor: 输出的颜色,最终呈现在像素上的颜色。 +void main(){ + vec2 uv=vUv; + + vec3 normal=normalize(vNormal); // 正常化表面法线,用于光照计算。 + + vec3 col=vec3(1.); // 初始化颜色为白色。 + + // 使用cos调色板,注释掉的代码示例。 + // col=palette(vNoise,vec3(.5),vec3(.5),vec3(1.),vec3(0.,.10,.20)); + + // 设置基本颜色为主题颜色。 + col=uThemeColor; + + // 计算Fresnel效果,并应用到颜色上。 + vec3 viewDir=normalize(cameraPosition-vWorldPosition); + vec3 fres=fresnel(vec3(0.),normal,viewDir); + col+=fres*uFresnelIntensity; + + // 计算漫反射光照,并混合到颜色中。 + // vec3 lightColor=vec3(1.,0.,0.); // 示例光源颜色,已注释 + vec3 lightPos=vec3(10.,5.,10.); // 主光源位置 + float diff=max(dot(normal,normalize(lightPos-vWorldPosition)),0.); + // col+=lightColor*diff; // 示例漫反射计算,已注释 + col=mix(col,uLightColor,diff*fres*uLightIntensity); // 混合漫反射光颜色 + + // 计算第二光源的漫反射光照,并混合到颜色中。 + vec3 light2Pos=vec3(-10.,-5.,10.); // 第二光源位置 + float diff2=max(dot(normal,normalize(light2Pos-vWorldPosition)),0.); + col=mix(col,uLight2Color,diff2*fres*uLight2Intensity); // 混合第二光源颜色 + + // 应用gamma修正,改善颜色视觉效果。 + col=linear2gamma(col); + + //调试用:将颜色设置为噪声值,注释掉的代码示例。 + // col=vec3(vNoise); + + gl_FragColor=vec4(col,1.); // 将计算出的颜色设置为最终输出颜色。 +} \ No newline at end of file diff --git a/src/shaders/3d-effect/vert.glsl b/src/shaders/3d-effect/vert.glsl new file mode 100644 index 0000000..7498cfd --- /dev/null +++ b/src/shaders/3d-effect/vert.glsl @@ -0,0 +1,57 @@ +// 此GLSL程序包含用于扭曲和变形的函数和变量,主要用于图形的生成和渲染。 + +// 引入外部GLSL文件 +#include "/node_modules/lygia/generative/cnoise.glsl" +#include "/node_modules/lygia/math/const.glsl" + +// 定义统一变量,用于控制时间和空间扭曲等 +uniform float iTime; // 时间统一变量 +uniform vec3 iResolution; // 屏幕分辨率统一变量 +uniform vec4 iMouse; // 鼠标位置统一变量,可能用于交互 +uniform float uFrequency; // 波动频率控制 + +// 定义传入和传出的变量,用于片元着色器中的进一步处理 +varying vec2 vUv; // 纹理坐标 +varying float vNoise; // 用于存储噪声值 +varying vec3 vNormal; // 法线向量 + +// 另一个控制变形程度的统一变量 +uniform float uDistort; + +varying vec3 vWorldPosition; // 物体在世界空间中的位置 + +// 扭曲函数,对输入的点进行噪声扰动 +vec3 distort(vec3 p){ + // 使用噪声函数生成扰动偏移量 + float offset=cnoise(p/uFrequency+iTime*.5); + // 计算基于时间和扰动偏移的扭曲角度 + float t=(p.y+offset)*PI*12.; + // 计算噪声影响的位移量 + float noise=(sin(t)*p.x+cos(t)*p.z)*2.; + // 应用扭曲强度控制 + noise*=uDistort; + vNoise=noise; // 保存噪声值,供其他使用 + // 应用噪声位移 + p+=noise*normal*.01; + return p; // 返回扭曲后的点 +} + +// 包含另一个GLSL文件,用于修正法线 +#include "../common/fix-normal.glsl" + +// 主函数,执行几何体的着色和位置计算 +void main(){ + vec3 p=position; // 输入位置 + vec3 dp=distort(p); // 应用扭曲 + // 计算最终的屏幕位置 + gl_Position=projectionMatrix*modelViewMatrix*vec4(dp,1.); + + vUv=uv; // 传递纹理坐标 + + // 计算并传递修正后的法线 + vec3 fNormal=fixNormal(p,dp,normal,RADIUS/SEGMENTS); + vNormal=(modelMatrix*vec4(fNormal,0.)).xyz; + + // 计算并传递世界空间中的位置 + vWorldPosition=vec3(modelMatrix*vec4(dp,1)); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/colors/example1.glsl b/src/shaders/algorithmic-drawing/colors/example1.glsl new file mode 100644 index 0000000..5e5eef7 --- /dev/null +++ b/src/shaders/algorithmic-drawing/colors/example1.glsl @@ -0,0 +1,57 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// 程序的全局变量,用于存储分辨率和时间 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform float u_time; // 程序运行的时间 + +/** + * 将RGB颜色转换为HSB颜色空间。 + * + * @param c 输入的RGB颜色,为一个vec3变量,其中c.r、c.g、c.b分别代表红、绿、蓝颜色通道的值。 + * @return 输出的HSB颜色,为一个vec3变量,其中c.x为色调(hue),c.y为饱和度(saturation),c.z为亮度(brightness)。 + */ +vec3 rgb2hsb( in vec3 c ){ + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = mix(vec4(c.bg, K.wz), + vec4(c.gb, K.xy), + step(c.b, c.g)); + vec4 q = mix(vec4(p.xyw, c.r), + vec4(c.r, p.yzx), + step(p.x, c.r)); + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), + d / (q.x + e), + q.x); +} + +/** + * Function from Iñigo Quiles + * https://www.shadertoy.com/view/MsS3Wc + * 将HSB颜色转换为RGB颜色空间。 + * + * @param c 输入的HSB颜色,为一个vec3变量,其中c.x为色调(hue),c.y为饱和度(saturation),c.z为亮度(brightness)。 + * @return 输出的RGB颜色,为一个vec3变量,其中c.r、c.g、c.b分别代表红、绿、蓝颜色通道的值。 + */ +vec3 hsb2rgb( in vec3 c ){ + vec3 rgb = clamp(abs(mod(c.x*6.0+vec3(0.0,4.0,2.0), + 6.0)-3.0)-1.0, + 0.0, + 1.0 ); + rgb = rgb*rgb*(3.0-2.0*rgb); + return c.z * mix(vec3(1.0), rgb, c.y); +} + +void main(){ + // 计算当前像素在屏幕上的位置,并将其映射到HSB颜色空间的范围 + vec2 st = gl_FragCoord.xy/u_resolution; + vec3 color = vec3(0.0); + + // 根据屏幕位置,动态改变颜色的色调和亮度 + color = hsb2rgb(vec3(st.x,1.0,st.y)); + + // 将最终颜色设置为像素颜色 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/colors/example2.glsl b/src/shaders/algorithmic-drawing/colors/example2.glsl new file mode 100644 index 0000000..fb9b2fb --- /dev/null +++ b/src/shaders/algorithmic-drawing/colors/example2.glsl @@ -0,0 +1,35 @@ +#ifdef GL_ES +precision mediump float; +#endif + +#define TWO_PI 6.28318530718 // 定义两个π的值,用于角度到弧度的转换 + +uniform vec2 u_resolution; // 网格的分辨率 +uniform float u_time; // 时间统一变量,可用于动画效果 + +// 由Iñigo Quiles提供的函数 +// https://www.shadertoy.com/view/MsS3Wc +// 将HSB颜色模式转换为RGB颜色模式 +vec3 hsb2rgb( in vec3 c ){ + vec3 rgb = clamp(abs(mod(c.x*6.0+vec3(0.0,4.0,2.0), + 6.0)-3.0)-1.0, + 0.0, + 1.0 ); + rgb = rgb*rgb*(3.0-2.0*rgb); + return c.z * mix( vec3(1.0), rgb, c.y); +} + +void main(){ + vec2 st = gl_FragCoord.xy/u_resolution; // 将像素坐标转换为0到1之间的归一化坐标 + vec3 color = vec3(0.0); + + // 使用极坐标代替笛卡尔坐标 + vec2 toCenter = vec2(0.5)-st; // 计算当前像素到中心点(0.5, 0.5)的向量 + float angle = atan(toCenter.y,toCenter.x); // 计算角度,用于映射到色相 + float radius = length(toCenter)*2.0; // 计算半径,用于映射到饱和度 + + // 将角度(-π到π)映射到色相(0到1),将饱和度映射到半径 + color = hsb2rgb(vec3((angle/TWO_PI)+0.5,radius,1.0)); + + gl_FragColor = vec4(color,1.0); // 将计算出的RGB颜色设置为片段颜色 +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/matrices/example1.glsl b/src/shaders/algorithmic-drawing/matrices/example1.glsl new file mode 100644 index 0000000..bbdddfe --- /dev/null +++ b/src/shaders/algorithmic-drawing/matrices/example1.glsl @@ -0,0 +1,54 @@ +// 作者 @patriciogv (patriciogonzalezvivo.com) - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +// uniform变量声明:分辨率和时间 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform float u_time; // 程序运行时间 + +/** + * 绘制一个矩形框 + * @param _st 输入的二维坐标(屏幕坐标) + * @param _size 矩形的尺寸 + * @return 在指定位置和尺寸上绘制的矩形的遮罩(0.0到1.0之间) + */ +float box(in vec2 _st, in vec2 _size){ + _size = vec2(0.5) - _size*0.5; // 计算矩形的内切正方形的边长 + vec2 uv = smoothstep(_size, + _size+vec2(0.001), + _st); // 使用平滑步长计算边缘 + uv *= smoothstep(_size, + _size+vec2(0.001), + vec2(1.0)-_st); // 计算另一个方向上的平滑步长并相乘 + return uv.x*uv.y; // 返回两个方向上的遮罩乘积 +} + +/** + * 绘制一个加号形状 + * @param _st 输入的二维坐标(屏幕坐标) + * @param _size 形状的尺寸 + * @return 在指定位置和尺寸上绘制的加号形状的遮罩(0.0到1.0之间) + */ +float cross(in vec2 _st, float _size){ + return box(_st, vec2(_size,_size/4.)) + // 横向矩形 + box(_st, vec2(_size/4.,_size)); // 纵向矩形 +} + +void main(){ + vec2 st = gl_FragCoord.xy/u_resolution.xy; // 将像素坐标转换为0到1之间的屏幕坐标 + vec3 color = vec3(0.0); // 初始化颜色为黑色 + + // 使用时间变量来移动加号形状 + vec2 translate = vec2(cos(u_time),sin(u_time)); // 基于时间的旋转移动 + st += translate*0.35; // 应用移动 + + // 下面的注释代码块用于显示屏幕坐标的调试 + color = vec3(st.x,st.y,0.0); + + // 在前景中添加加号形状 + color += vec3(cross(st,0.25)); // 调用cross函数,并将结果颜色与当前颜色相加 + + gl_FragColor = vec4(color,1.0); // 将最终颜色设置为像素颜色 +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/matrices/example2.glsl b/src/shaders/algorithmic-drawing/matrices/example2.glsl new file mode 100644 index 0000000..24078b4 --- /dev/null +++ b/src/shaders/algorithmic-drawing/matrices/example2.glsl @@ -0,0 +1,70 @@ +// 作者 @patriciogv (patriciogonzalezvivo.com) - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +// 定义圆周率PI +#define PI 3.14159265359 + +// 声明统一变量:分辨率和时间 +uniform vec2 u_resolution; // 窗口分辨率 +uniform float u_time; // 时间 + +/* + * 2D旋转矩阵 + * 参数:_angle - 旋转角度 + * 返回值:一个2x2的矩阵,用于2D向量的旋转变换 + */ +mat2 rotate2d(float _angle){ + return mat2(cos(_angle),-sin(_angle), + sin(_angle),cos(_angle)); +} + +/* + * 计算框形区域 + * 参数:_st - 坐标点(归一化后的位置) + * _size - 框形的尺寸 + * 返回值:如果坐标点位于框形内部,则返回1.0,否则返回0.0 + */ +float box(in vec2 _st, in vec2 _size){ + _size = vec2(0.5) - _size*0.5; // 计算框形中心点位置 + vec2 uv = smoothstep(_size, + _size+vec2(0.001), + _st); // 应用平滑步长计算边界 + uv *= smoothstep(_size, + _size+vec2(0.001), + vec2(1.0)-_st); // 对右侧和底部应用平滑步长 + return uv.x*uv.y; // 返回交点乘积,确定点是否在框内 +} + +/* + * 计算十字形区域 + * 参数:_st - 坐标点(归一化后的位置) + * _size - 十字形的尺寸 + * 返回值:如果坐标点位于十字形内部,则返回1.0,否则返回0.0 + */ +float cross(in vec2 _st, float _size){ + return box(_st, vec2(_size,_size/4.)) + + box(_st, vec2(_size/4.,_size)); +} + +void main(){ + vec2 st = gl_FragCoord.xy/u_resolution.xy; // 角度坐标转换为归一化坐标 + vec3 color = vec3(0.0); + + // 从中心点移动空间到原点 + st -= vec2(0.5); + // 对空间进行旋转 + st = rotate2d( sin(u_time)*PI ) * st; + // 将空间移回原始位置 + st += vec2(0.5); + + // 在背景上显示空间的坐标 + // color = vec3(st.x,st.y,0.0); + + // 在前景中添加形状 + color += vec3(cross(st,0.4)); + + gl_FragColor = vec4(color,1.0); // 设置片段颜色 +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/matrices/example3.glsl b/src/shaders/algorithmic-drawing/matrices/example3.glsl new file mode 100644 index 0000000..302ca10 --- /dev/null +++ b/src/shaders/algorithmic-drawing/matrices/example3.glsl @@ -0,0 +1,73 @@ +// Author @patriciogv ( patriciogonzalezvivo.com ) - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +// 定义圆周率PI +#define PI 3.14159265359 + +// 声明全局变量:分辨率和时间 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform float u_time; // 程序运行时间 + +/* + * 根据给定的尺寸缩放二维向量。 + * 参数: + * _scale - 一个包含x和y缩放因子的向量。 + * 返回值: + * 一个2x2的矩阵,用于缩放坐标。 + */ +mat2 scale(vec2 _scale){ + return mat2(_scale.x,0.0, + 0.0,_scale.y); +} + +/* + * 计算在给定点上绘制的盒子的遮罩。 + * 参数: + * _st - 当前屏幕坐标。 + * _size - 盒子的尺寸。 + * 返回值: + * 在指定位置和大小上绘制的盒子的遮罩值(0.0到1.0之间)。 + */ +float box(in vec2 _st, in vec2 _size){ + _size = vec2(0.5) - _size*0.5; + vec2 uv = smoothstep(_size, + _size+vec2(0.001), + _st); + uv *= smoothstep(_size, + _size+vec2(0.001), + vec2(1.0)-_st); + return uv.x*uv.y; +} + +/* + * 绘制一个十字形状。 + * 参数: + * _st - 当前屏幕坐标。 + * _size - 十字的尺寸。 + * 返回值: + * 在指定位置和大小上绘制的十字的遮罩值(0.0到1.0之间)。 + */ +float cross(in vec2 _st, float _size){ + return box(_st, vec2(_size,_size/4.)) + + box(_st, vec2(_size/4.,_size)); +} + +void main(){ + vec2 st = gl_FragCoord.xy/u_resolution.xy; // 将当前像素坐标转换为0-1范围内的屏幕坐标 + vec3 color = vec3(0.0); // 初始化颜色变量 + + st -= vec2(0.5); // 移动屏幕坐标的中心点到(0,0) + st = scale( vec2(sin(u_time)+1.0) ) * st; // 根据时间对坐标进行缩放 + st += vec2(0.5); // 将中心点移回(0.5,0.5) + + // 在背景上显示坐标系 + // color = vec3(st.x,st.y,0.0); + + // 在前景中添加十字形状 + color += vec3(cross(st,0.2)); + + gl_FragColor = vec4(color,1.0); // 将颜色设置为片段颜色 +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/matrices/example4.glsl b/src/shaders/algorithmic-drawing/matrices/example4.glsl new file mode 100644 index 0000000..6b42be2 --- /dev/null +++ b/src/shaders/algorithmic-drawing/matrices/example4.glsl @@ -0,0 +1,40 @@ + +// 作者 @patriciogv - 2015 +// http://patriciogonzalezvivo.com + +// YUV到RGB转换的GLSL着色器 +// 该着色器将YUV值转换为RGB以显示 +#ifdef GL_ES +precision mediump float; +#endif + +// 可从CPU侧动态更改的统一变量,用于分辨率和时间。 +uniform vec2 u_resolution; // 屏幕分辨率(像素) +uniform float u_time; // 已经过的时间(秒) + +// 用于将YUV转换为RGB色彩空间的矩阵。 +mat3 yuv2rgb = mat3(1.0, 0.0, 1.13983, + 1.0, -0.39465, -0.58060, + 1.0, 2.03211, 0.0); + +// 用于将RGB转换为YUV色彩空间的矩阵。 +mat3 rgb2yuv = mat3(0.2126, 0.7152, 0.0722, + -0.09991, -0.33609, 0.43600, + 0.615, -0.5586, -0.05639); + +// 主要的着色器函数,计算并输出像素颜色 +void main(){ + vec2 st = gl_FragCoord.xy / u_resolution; // 获取当前像素的坐标,归一化到0.0到1.0之间 + vec3 color = vec3(0.0); // 初始化输出颜色为黑色 + + // 将st坐标映射到-1.0到1.0的范围,用于YUV值计算 + st -= 0.5; // 将st归一化坐标转换为-0.5到0.5 + st *= 2.0; // 将st转换为-1.0到1.0 + + // 使用YUV到RGB矩阵进行转换 + // 将st的x和y作为向量的第二和第三分量 + color = yuv2rgb * vec3(0.5, st.x, st.y); + + // 输出带有alpha值1.0的RGB颜色 + gl_FragColor = vec4(color, 1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/patterns/example1.glsl b/src/shaders/algorithmic-drawing/patterns/example1.glsl new file mode 100644 index 0000000..5e3e7b2 --- /dev/null +++ b/src/shaders/algorithmic-drawing/patterns/example1.glsl @@ -0,0 +1,37 @@ +// Author @patriciogv - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; +uniform float u_time; + +// 定义了一个圆形函数,输入一个点和半径,返回该点是否在指定半径的圆内的判断结果。 +// _st: 点的二维坐标 (x,y) +// _radius: 圆的半径 +float circle(in vec2 _st, in float _radius){ + vec2 l = _st-vec2(0.5); // 将点相对于中心点(0.5, 0.5)进行偏移 + return 1.-smoothstep(_radius-(_radius*0.01), // 使用平滑步长来判断点是否在圆附近 + _radius+(_radius*0.01), // 创建一个边界宽度 + dot(l,l)*4.0); // 计算点到中心的距离并规范化 +} + +void main() { + vec2 st = gl_FragCoord.xy/u_resolution; // 将像素坐标转换为 0-1 空间中的坐标 + vec3 color = vec3(0.0); + + // 对坐标进行缩放和周期性平移,用于创建多个周期的图形 + st *= 3.0; // 缩放坐标空间 + st = fract(st); // 对坐标进行取余操作,保证坐标在 0-1 范围内 + + // 通过上述操作,我们得到了一个在 0-1 范围内,但经过缩放和平移的坐标系统 + + // 设置颜色,这里简单地将坐标作为颜色 + color = vec3(st,0.0); + // 使用 circle 函数来根据点到圆心的距离设置颜色,注释掉的代码块 + // color = vec3(circle(st,0.5)); + + // 输出颜色到帧缓冲 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/patterns/example2.glsl b/src/shaders/algorithmic-drawing/patterns/example2.glsl new file mode 100644 index 0000000..3c2ed30 --- /dev/null +++ b/src/shaders/algorithmic-drawing/patterns/example2.glsl @@ -0,0 +1,79 @@ +// Author @patriciogv ( patriciogonzalezvivo.com ) - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +// Copyright (c) Patricio Gonzalez Vivo, 2015 - http://patriciogonzalezvivo.com/ +// I am the sole copyright owner of this Work. +// +// You cannot host, display, distribute or share this Work in any form, +// including physical and digital. You cannot use this Work in any +// commercial or non-commercial product, website or project. You cannot +// sell this Work and you cannot mint an NFTs of it. +// I share this Work for educational purposes, and you can link to it, +// through an URL, proper attribution and unmodified screenshot, as part +// of your educational material. If these conditions are too restrictive +// please contact me and we'll definitely work it out. + +uniform vec2 u_resolution; // 帧缓冲的分辨率 +uniform float u_time; // 时间统一变量 + +#define PI 3.14159265358979323846 // 定义圆周率 + +/** + * 2D旋转函数 + * @param _st 二维坐标 + * @param _angle 旋转角度 + * @return 旋转后的二维坐标 + */ +vec2 rotate2D(vec2 _st, float _angle){ + _st -= 0.5; + _st = mat2(cos(_angle),-sin(_angle), + sin(_angle),cos(_angle)) * _st; + _st += 0.5; + return _st; +} + +/** + * 平铺函数 + * @param _st 二维坐标 + * @param _zoom 平铺倍数 + * @return 平铺后的二维坐标 + */ +vec2 tile(vec2 _st, float _zoom){ + _st *= _zoom; + return fract(_st); +} + +/** + * 画一个带平滑边界的盒子 + * @param _st 二维坐标 + * @param _size 盒子的大小 + * @param _smoothEdges 边缘平滑度 + * @return 盒子内部的布尔值 + */ +float box(vec2 _st, vec2 _size, float _smoothEdges){ + _size = vec2(0.5)-_size*0.5; + vec2 aa = vec2(_smoothEdges*0.5); + vec2 uv = smoothstep(_size,_size+aa,_st); + uv *= smoothstep(_size,_size+aa,vec2(1.0)-_st); + return uv.x*uv.y; +} + +void main(void){ + vec2 st = gl_FragCoord.xy/u_resolution.xy; // 角度坐标 + vec3 color = vec3(0.0); + + // 将空间分为4部分 + st = tile(st,4.); + + // 使用矩阵将空间旋转45度 + st = rotate2D(st,PI*0.25); + + // 画一个正方形 + color = vec3(box(st,vec2(0.7),0.01)); + // color = vec3(st,0.0); + + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/patterns/example3.glsl b/src/shaders/algorithmic-drawing/patterns/example3.glsl new file mode 100644 index 0000000..942b090 --- /dev/null +++ b/src/shaders/algorithmic-drawing/patterns/example3.glsl @@ -0,0 +1,58 @@ +// 作者 @patriciogv ( patriciogonzalezvivo.com ) - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +// 全局统一变量 +uniform vec2 u_resolution; // 渲染表面的分辨率 +uniform float u_time; // 运行时间 + +/** + * 应用砖块铺贴效果到输入坐标。 + * + * @param _st 输入坐标(通常为UV坐标)。 + * @param _zoom 缩放级别,影响铺贴效果。 + * @return 应用砖块铺贴后的坐标。 + */ +vec2 brickTile(vec2 _st, float _zoom){ + _st *= _zoom; // 根据_zoom缩放输入坐标 + + // 生成偏移量以模拟砖块对齐 + _st.x += step(1., mod(_st.y,2.0)) * 0.5; + + return fract(_st); // 返回_st的小数部分,使其保持在[0, 1)范围内 +} + +/** + * 在给定区域内绘制一个矩形框。 + * + * @param _st 输入坐标(通常为UV坐标)。 + * @param _size 矩形框的尺寸。 + * @return 一个浮点值,表示坐标是否在框内(1.0表示在框内,0.0表示在框外)。 + */ +float box(vec2 _st, vec2 _size){ + _size = vec2(0.5) - _size * 0.5; + vec2 uv = smoothstep(_size, _size + vec2(1e-4), _st); + uv *= smoothstep(_size, _size + vec2(1e-4), vec2(1.0) - _st); + return uv.x * uv.y; +} + +void main(void){ + vec2 st = gl_FragCoord.xy / u_resolution.xy; // 获取当前像素相对于渲染表面的位置 + vec3 color = vec3(0.0); + + // 现代标准砖尺寸:215mm x 102.5mm x 65mm + // http://www.jaharrison.me.uk/Brickwork/Sizes.html + st /= vec2(2.15, 0.65) / 1.5; // 未启用的砖尺寸调整 + + // 应用砖块铺贴效果 + st = brickTile(st, 5.0); + + color = vec3(box(st, vec2(0.9))); // 绘制矩形框并设置颜色 + + // 解除注释以查看空间坐标 + // color = vec3(st, 0.0); + + gl_FragColor = vec4(color, 1.0); // 设置片段颜色 +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/patterns/example4.glsl b/src/shaders/algorithmic-drawing/patterns/example4.glsl new file mode 100644 index 0000000..75080cd --- /dev/null +++ b/src/shaders/algorithmic-drawing/patterns/example4.glsl @@ -0,0 +1,96 @@ +// Author @patriciogv ( patriciogonzalezvivo.com ) - 2015 + +#ifdef GL_ES +precision mediump float; +#endif + +// 定义圆周率 +#define PI 3.14159265358979323846 + +// 声明统一变量:分辨率和时间 +uniform vec2 u_resolution; // 窗口分辨率 +uniform float u_time; // 系统时间 + +/** + * 2D向量旋转函数 + * @param _st 二维向量,待旋转的点 + * @param _angle 旋转角度(弧度制) + * @return 旋转后的二维向量 + */ +vec2 rotate2D (vec2 _st, float _angle) { + _st -= 0.5; // 将点移至原点附近 + _st = mat2(cos(_angle),-sin(_angle), + sin(_angle),cos(_angle)) * _st; // 应用旋转矩阵 + _st += 0.5; // 将点移回原位置 + return _st; +} + +/** + * 平铺函数,通过缩放并取余操作实现向量的平铺 + * @param _st 二维向量,待平铺的点 + * @param _zoom 缩放因子 + * @return 平铺后的二维向量 + */ +vec2 tile (vec2 _st, float _zoom) { + _st *= _zoom; // 缩放点的位置 + return fract(_st); // 取余操作,实现平铺 +} + +/** + * 旋转平铺模式函数,根据索引旋转每个单元格 + * @param _st 二维向量,代表当前像素的位置 + * @return 旋转平铺后的二维向量 + */ +vec2 rotateTilePattern(vec2 _st){ + + // 扩大坐标系的规模 + _st *= 2.0; + + // 为每个单元格分配一个索引号 + float index = 0.0; + index += step(1., mod(_st.x,2.0)); // 根据x坐标奇偶性分配索引 + index += step(1., mod(_st.y,2.0))*2.0; // 根据y坐标奇偶性调整索引 + + // | + // 2 | 3 + // | + //-------------- + // | + // 0 | 1 + // | + + // Make each cell between 0.0 - 1.0 + _st = fract(_st); + + // 根据索引号对单元格进行旋转 + if(index == 1.0){ + // 第1个单元格旋转90度 + _st = rotate2D(_st,PI*0.5); + } else if(index == 2.0){ + // 第2个单元格旋转-90度 + _st = rotate2D(_st,PI*-0.5); + } else if(index == 3.0){ + // 第3个单元格旋转180度 + _st = rotate2D(_st,PI); + } + + return _st; +} + +// 主函数 +void main (void) { + vec2 st = gl_FragCoord.xy/u_resolution.xy; // 规范化当前像素位置 + + // 应用平铺和旋转效果 + st = tile(st,3.0); + st = rotateTilePattern(st); + + // 可以组合更多的变换来创建更复杂的效果 + // 以下代码行是几个示例,可以根据需要启用或禁用 + // st = tile(st,2.0); + st = rotate2D(st,-PI*u_time*0.25); + // st = rotateTilePattern(st*2.); + // st = rotate2D(st,PI*u_time*0.25); + + gl_FragColor = vec4(vec3(step(st.x,st.y)),1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example1.glsl b/src/shaders/algorithmic-drawing/shapes/example1.glsl new file mode 100644 index 0000000..c21b096 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example1.glsl @@ -0,0 +1,36 @@ +// Author @patriciogv - 2015 +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +// Uniform变量用于传入片段着色器的全局变量 +uniform vec2 u_resolution;// 窗口的分辨率 +uniform vec2 u_mouse;// 鼠标的当前位置 +uniform float u_time;// 程序运行的时间 + +// main函数是GLSL程序的入口点,它负责生成最终的像素颜色 +void main(){ + // 将当前像素坐标转换为0到1之间的归一化坐标 + vec2 st=gl_FragCoord.xy/u_resolution.xy; + vec3 color=vec3(0.);// 初始化最终的颜色为黑色 + + // 计算底部左侧区域的占比 + vec2 bl=step(vec2(.1),st); + float pct=bl.x*bl.y;// 底部左侧区域像素的数量占比 + + // 以下代码块被注释,是计算顶部右侧区域占比的代码 + vec2 tr=step(vec2(.1),1.-st); + pct*=tr.x*tr.y;// 顶部右侧区域像素的数量占比 + // 将占比转换为颜色值 + // color=vec3(pct); + // color=vec3(bl.x*bl.y*tr.x*tr.y); + + float edge=.1; + float smoothPct=smoothstep(edge-.05,edge,st.x)*smoothstep(edge-.05,edge,st.y); + color=vec3(smoothPct); + + // 设置最终的像素颜色 + gl_FragColor=vec4(color,1.); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example2.glsl b/src/shaders/algorithmic-drawing/shapes/example2.glsl new file mode 100644 index 0000000..32bc1f7 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example2.glsl @@ -0,0 +1,40 @@ +// 该GLSL程序用于演示基于像素位置到中心距离的简单图形渲染 +// 作者 @patriciogv - 2015 +// 链接: http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; // 在GL_ES环境中使用中等精度的float +#endif + +// 程序中使用的全局变量 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 程序运行的时间 + +// 主函数:GLSL程序的入口点 +// 该函数不接受参数,但使用全局变量gl_FragCoord和u_resolution +// u_resolution是外部提供的uniform变量,代表渲染窗口的分辨率 +// gl_FragCoord代表当前处理的像素在窗口中的坐标 +void main(){ + // 将当前像素的位置转换为相对于窗口中心的比例值 + vec2 st = gl_FragCoord.xy/u_resolution; + float pct = 0.0; + + // 计算当前像素到窗口中心的距离 + pct = distance(st,vec2(0.5)); + pct = step(0.5, st.x); + + // 计算当前像素到窗口中心的向量长度 + // vec2 toCenter = vec2(0.5)-st; + // pct = length(toCenter); + + // 计算当前像素到窗口中心的向量的平方根 + // vec2 tC = vec2(0.5)-st; + // pct = sqrt(tC.x*tC.x+tC.y*tC.y); + + // 将计算的距离值作为颜色输出 + vec3 color = vec3(pct); + + // 设置当前像素的颜色 + gl_FragColor = vec4(color, 1); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example3.glsl b/src/shaders/algorithmic-drawing/shapes/example3.glsl new file mode 100644 index 0000000..d3e271d --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example3.glsl @@ -0,0 +1,32 @@ +// Author @patriciogv - Conceptual Example +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +void main(){ + vec2 st = gl_FragCoord.xy / u_resolution; + vec3 color = vec3(0.0); + + // 定义圆心和半径,这里假设圆心在屏幕中心,半径为0.25 + vec2 center = vec2(0.5); + float radius = .2; + + // 计算距离场,即当前像素点到圆心的距离 + float dist = distance(st, center); + + // 使用smoothstep函数平滑过渡边缘 + // 这里,edge0设为半径减去一个很小的值(平滑带的开始), + // edge1设为半径加上相同的值(平滑带的结束) + float smoothRadius = smoothstep(radius - 0.01, radius + 0.01, dist); + + // 根据平滑后的距离场决定颜色 + color = vec3(smoothRadius); + + gl_FragColor = vec4(color, 1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example4.glsl b/src/shaders/algorithmic-drawing/shapes/example4.glsl new file mode 100644 index 0000000..d11dc5e --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example4.glsl @@ -0,0 +1,53 @@ +// Author @patriciogv - Conceptual Example +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +// 将RGB转换为HSV的辅助函数 +vec3 rgb2hsv(vec3 c){ + vec4 K = vec4(0.0, -1.0/3.0, 2.0/3.0, -1.0); + vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); + vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y)/(6.0*d + e)), d / (q.x + e), q.x); +} + +// 将HSV转换回RGB的辅助函数 +vec3 hsv2rgb(vec3 c){ + vec4 K = vec4(1.0, 2.0/3.0, 1.0/3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +void main(){ + vec2 st = gl_FragCoord.xy / u_resolution; + vec3 color = vec3(0.0); + + // 定义圆心和半径 + vec2 center = vec2(0.5); + float radius = 0.25; + + // 计算距离场 + float dist = distance(st, center); + + // 使用smoothstep函数平滑过渡边缘 + float smoothRadius = smoothstep(radius - 0.01, radius + 0.01, dist); + + // 添加基于时间变化的HSV色彩 + float hue = fract(u_time / 5.0); // 时间因子,控制颜色循环 + vec3 hsvColor = vec3(hue, 1.0, 1.0); // HSV颜色向量,饱和度和亮度固定为最大 + vec3 rgbColor = hsv2rgb(hsvColor); // 转换为RGB颜色 + + // 应用颜色到圆上 + color = mix(vec3(0.0), rgbColor, smoothRadius); + + gl_FragColor = vec4(color, 1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example5.glsl b/src/shaders/algorithmic-drawing/shapes/example5.glsl new file mode 100644 index 0000000..2aa2a05 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example5.glsl @@ -0,0 +1,43 @@ +// Author @patriciogv - Conceptual Example +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +// 将HSV转换为RGB的辅助函数 +vec3 hsv2rgb(vec3 c){ + vec4 K = vec4(1.0, 2.0/3.0, 1.0/3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +void main(){ + vec2 st = gl_FragCoord.xy / u_resolution; + vec3 circleColor = vec3(0.0); // 初始化背景颜色 + vec3 bgColor = vec3(1); // 背景设置为白色 + + // 基于时间变化的背景HSV色彩 + float timeFactor = fract(u_time / 5.0); // 控制颜色循环 + vec3 bgHsvColor = vec3(timeFactor, 1.0, 1.0); // 背景的HSV颜色,饱和度和亮度固定为最大 + circleColor = hsv2rgb(bgHsvColor); // 转换为RGB背景颜色 + + // 定义圆心和半径 + vec2 center = vec2(0.5); + float radius = 0.25; + + // 计算距离场 + float dist = distance(st, center); + + // 使用smoothstep函数平滑过渡边缘 + float smoothRadius = smoothstep(radius - 0.01, radius + 0.01, dist); + + // 混合背景颜色和圆的颜色 + vec3 finalColor = mix(circleColor, bgColor, smoothRadius); + + gl_FragColor = vec4(finalColor, 1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example6.glsl b/src/shaders/algorithmic-drawing/shapes/example6.glsl new file mode 100644 index 0000000..6eaee7c --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example6.glsl @@ -0,0 +1,41 @@ +// Author @patriciogv - 2015 +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +// uniform变量声明: +// u_resolution - 窗口的分辨率 +// u_mouse - 鼠标的当前位置 +// u_time - 程序运行的时间 +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +/** + * 绘制一个圆形,并返回其不透明度。 + * + * @param _st 屏幕坐标系中的当前像素位置 + * @param _radius 圆的半径 + * @return 不透明度,圆内为1.0,圆外为0.0 + */ +float circle(in vec2 _st, in float _radius){ + // 计算当前像素到中心点的距离 + vec2 dist = _st-vec2(0.5); + // 使用smoothstep平滑地过渡圆形边缘 + return 1.-smoothstep(_radius-(_radius*0.01), + _radius+(_radius*0.01), + dot(dist,dist)*4.0); +} + +void main(){ + // 将像素坐标转换为0到1的范围 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + + // 使用circle函数计算当前像素是否在圆内,并设置颜色 + vec3 color = vec3(circle(st,0.9)); + + // 设置最终的像素颜色 + gl_FragColor = vec4( color, 1.0 ); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example7.glsl b/src/shaders/algorithmic-drawing/shapes/example7.glsl new file mode 100644 index 0000000..57a9450 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example7.glsl @@ -0,0 +1,35 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// 定义全局变量,用于接收外部输入 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 程序运行的时间 + +// 主函数,GLSL程序的入口点 +void main(){ + // 将像素坐标转换为0到1之间的归一化坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + // 调整归一化坐标以适应屏幕宽高比 + st.x *= u_resolution.x/u_resolution.y; + vec3 color = vec3(0.0); // 初始化颜色变量 + float d = 0.0; // 初始化距离变量 + + // 将坐标空间重新映射到-1.0到1.0之间 + st = st *2.-1.; + + // 创建距离场 + d = length( abs(st)-.3 ); + // 下面的行是距离场创建的其他可选方法 + // d = length( min(abs(st)-.3,0.) ); + // d = length( max(abs(st)-.3,0.) ); + + // 可视化距离场 + gl_FragColor = vec4(vec3(fract(d*10.0)),1.0); + + // 下面是使用距离场进行绘制的一些示例代码 + // gl_FragColor = vec4(vec3( step(.3,d) ),1.0); + // gl_FragColor = vec4(vec3( step(.3,d) * step(d,.4)),1.0); + // gl_FragColor = vec4(vec3( smoothstep(.3,.4,d)* smoothstep(.6,.5,d)) ,1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example8.glsl b/src/shaders/algorithmic-drawing/shapes/example8.glsl new file mode 100644 index 0000000..d09ea92 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example8.glsl @@ -0,0 +1,37 @@ +// 该GLSL程序用于演示基于时间、鼠标位置和屏幕分辨率的简单图形渲染。 +// 作者: @patriciogv - 2015 +// 网站: http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; // 在GL_ES环境中使用中等精度的float +#endif + +// 程序中使用的全局变量 +uniform vec2 u_resolution; // 屏幕的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 程序运行的时间 + +// 主函数:渲染程序的入口点 +void main(){ + // 将像素坐标转换为0到1之间的归一化坐标 + vec2 st=gl_FragCoord.xy/u_resolution.xy; + vec3 color=vec3(0.); // 初始化输出颜色为黑色 + + // 计算当前像素相对于屏幕中心的位置 + vec2 pos=vec2(.5)-st; + + // 计算距离并转换为角度 + float r=length(pos)*2.; + float a=atan(pos.y,pos.x); + + // 使用角度计算一个周期性变化的值 + float f=cos(a*3.0); + + // 以下注释掉的代码块是用于调试和探索不同视觉效果的示例代码 + + // 根据距离和周期性变化的值,计算颜色的强度 + color=vec3(1.-smoothstep(f,f+.02,r)); + + // 设置最终的像素颜色并输出 + gl_FragColor=vec4(color,1.); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shapes/example9.glsl b/src/shaders/algorithmic-drawing/shapes/example9.glsl new file mode 100644 index 0000000..72cd0be --- /dev/null +++ b/src/shaders/algorithmic-drawing/shapes/example9.glsl @@ -0,0 +1,45 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// 定义圆周率PI和两倍圆周率TWO_PI +#define PI 3.14159265359 +#define TWO_PI 6.28318530718 + +// 声明统一变量,用于传入屏幕分辨率、鼠标位置和时间 +uniform vec2 u_resolution; // 屏幕分辨率 +uniform vec2 u_mouse; // 鼠标位置 +uniform float u_time; // 时间 + +// 引用自http://thndl.com/square-shaped-shaders.html + +// 主函数,绘制图形 +void main(){ + // 将像素坐标转换为0到1之间的比例 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + // 调整x轴比例,以适应不同宽高比 + st.x *= u_resolution.x/u_resolution.y; + vec3 color = vec3(0.0); // 初始化颜色变量 + float d = 0.0; // 初始化距离变量 + + // 将坐标空间重新映射到-1到1之间 + st = st *2.-1.; + + // 定义形状的边数 + int N = 4; // 此处示例为三角形,可以通过修改N的值来创建不同边数的形状 + + // 计算当前像素的角度和半径 + float a = atan(st.x,st.y)+PI; // 计算角度 + float r = TWO_PI/float(N); // 计算每边的弧度 + + // 调整距离的形状函数 + d = cos(floor(.5+a/r)*r-a)*length(st); + + // 使用平滑步进函数来决定颜色,基于距离d +// color = vec3(1.0-smoothstep(.4,.41,d)); + // 以下代码行用于调试,可以直接显示距离d的颜色表现 + color = vec3(d); + + // 设置片段颜色 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shaping-functions/example1.glsl b/src/shaders/algorithmic-drawing/shaping-functions/example1.glsl new file mode 100644 index 0000000..c52bdbd --- /dev/null +++ b/src/shaders/algorithmic-drawing/shaping-functions/example1.glsl @@ -0,0 +1,37 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// Uniform变量声明,用于在OpenGL ES中传递动态值到着色器 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 程序运行的时间 + +/** + * 在Y轴上绘制一条线,使用值在0.0-1.0之间的函数。 + * + * @param st 输入的二维坐标,代表屏幕上的一个点 + * @return 返回一个0到1之间的浮点数,表示该点是否在直线上 + */ +float plot(vec2 st) { + return smoothstep(0.02, 0.0, abs(st.y - st.x)); +} + +void main() { + // 将当前像素坐标转换为相对于屏幕分辨率的比例坐标 + vec2 st = gl_FragCoord.xy/u_resolution; + + // Y轴上的位置 + float y = st.x; + + // 初始颜色设置为Y轴上的位置值 + vec3 color = vec3(y); + + // 绘制线 + float pct = plot(st); // 计算当前点是否在直线上 + // 根据是否在直线上,混合颜色 + color = (1.0-pct)*color+pct*vec3(0.0,1.0,0.0); // 如果在直线上,颜色变为绿色 + + // 设置最终的颜色,并输出到帧缓冲 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shaping-functions/example2.glsl b/src/shaders/algorithmic-drawing/shaping-functions/example2.glsl new file mode 100644 index 0000000..d505df1 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shaping-functions/example2.glsl @@ -0,0 +1,38 @@ +// Author: Inigo Quiles +// Title: Expo + +// 此着色器程序设计用于创建类似于指数曲线的图形效果。 +// 它使用GLSL(OpenGL着色语言)定义如何根据屏幕位置、时间和鼠标位置绘制像素。 + +#ifdef GL_ES +precision mediump float; // 为移动设备定义浮点数精度。 +#endif + +#define PI 3.14159265359 // 定义圆周率用于数学运算。 + +uniform vec2 u_resolution; // 屏幕分辨率的统一变量。 +uniform vec2 u_mouse; // 鼠标位置的统一变量。 +uniform float u_time; // 自程序开始以来的经过时间,以秒为单位。 + +// 函数: +// float plot(vec2 st, float pct) - 在屏幕上给定百分比高度绘制平滑曲线。 +// st 表示像素的屏幕坐标,pct 是期望的高度,以屏幕高度的百分比表示。 +float plot(vec2 st, float pct){ + return smoothstep( pct-0.02, pct, st.y) - + smoothstep( pct, pct+0.02, st.y); +} +void main() { + vec2 st = gl_FragCoord.xy/u_resolution; // 将像素坐标归一化到[0,1]范围。 + + // float y = pow(st.x,5.0); // 根据x坐标使用指数函数计算曲线的y值(高度)。 + // float y = step(0.5,st.x); + // float y = smoothstep(0.1,0.9,st.x); + float y = smoothstep(0.2,0.5,st.x) - smoothstep(0.5,0.8,st.x); + vec3 color = vec3(y); // 根据高度(y)值设置像素的初始颜色。 + + // 根据当前像素位置的曲线百分比计算并相应地调整颜色。 + float pct = plot(st,y); + color = (1.0-pct)*color+pct*vec3(0.0,1.0,0.0); // 根据曲线百分比混合基础颜色与绿色。 + + gl_FragColor = vec4(color,1.0); // 设置像素的最终颜色。 +} \ No newline at end of file diff --git a/src/shaders/algorithmic-drawing/shaping-functions/example3.glsl b/src/shaders/algorithmic-drawing/shaping-functions/example3.glsl new file mode 100644 index 0000000..e7f10e8 --- /dev/null +++ b/src/shaders/algorithmic-drawing/shaping-functions/example3.glsl @@ -0,0 +1,48 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// 定义圆周率 +#define PI 3.14159265359 + +// 声明统一变量:分辨率、鼠标位置、时间 +uniform vec2 u_resolution; // 窗口分辨率 + +// 定义两种颜色用于混合 +vec3 colorA = vec3(0.149,0.141,0.912); +vec3 colorB = vec3(1.000,0.833,0.224); + +/** + * 在给定的点上绘制曲线 + * @param st 二维坐标点 + * @param pct 曲线的百分比位置 + * @return 在该点上曲线的深度 + */ +float plot (vec2 st, float pct){ + return smoothstep( pct-0.01, pct, st.y) - + smoothstep( pct, pct+0.01, st.y); +} + +void main() { + // 视口坐标到[0,1]范围的转换 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + vec3 color = vec3(0.0); // 初始化颜色为黑色 + + vec3 pct = vec3(st.x); // 使用x坐标作为颜色混合的百分比 + + // 下面的注释代码示例了不同的颜色过渡效果 + pct.r = smoothstep(0.0,1.0, st.x); + pct.g = sin(st.x*PI); + pct.b = pow(st.x,0.5); + + // 根据pct混合两种颜色 + color = mix(colorA, colorB, pct); + + // 为每个颜色通道绘制过渡线 + color = mix(color,vec3(1.0,0.0,0.0),plot(st,pct.r)); // 红色通道 + color = mix(color,vec3(0.0,1.0,0.0),plot(st,pct.g)); // 绿色通道 + color = mix(color,vec3(0.0,0.0,1.0),plot(st,pct.b)); // 蓝色通道 + + // 输出最终颜色 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/common/fix-normal.glsl b/src/shaders/common/fix-normal.glsl new file mode 100644 index 0000000..6d22e1b --- /dev/null +++ b/src/shaders/common/fix-normal.glsl @@ -0,0 +1,45 @@ +/** + * 计算给定向量的正交向量。 + * 主要用于在二维平面上找到一个与给定向量垂直的方向。 + * + * @param v 输入的向量。 + * @return 返回与输入向量正交的向量。该向量在二维平面内垂直于输入向量。 + */ +vec3 orthogonal(vec3 v){ + // 根据输入向量 v 的 x 和 z 分量的绝对值大小,选择合适的正交方向。 + return normalize(abs(v.x)>abs(v.z)?vec3(-v.y,v.x,0.) + :vec3(0.,-v.z,v.y)); +} + +/** + * 根据给定的位置、畸变位置、法向量和偏移量,修复法向量。 + * 该函数主要用于在纹理映射或几何变形后重新计算并校正法向量。 + * + * @param position 原始位置向量。 + * @param distortedPosition 畸变后的位置向量。 + * @param normal 原始法向量。 + * @param offset 偏移量,用于计算邻近位置。 + * @return 返回校正后的法向量。 + */ +vec3 fixNormal(vec3 position,vec3 distortedPosition,vec3 normal,float offset){ + // 计算与法向量正交的两个向量(切向量和副切向量)。 + vec3 tangent=orthogonal(normal); + vec3 bitangent=normalize(cross(normal,tangent)); + + // 根据切向量和副切向量计算偏移后的位置。 + vec3 neighbour1=position+tangent*offset; + vec3 neighbour2=position+bitangent*offset; + + // 应用畸变函数计算畸变后的邻近位置。 + vec3 displacedNeighbour1=distort(neighbour1); + vec3 displacedNeighbour2=distort(neighbour2); + + // 计算从畸变位置到畸变后邻近位置的向量。 + vec3 displacedTangent=displacedNeighbour1-distortedPosition; + vec3 displacedBitangent=displacedNeighbour2-distortedPosition; + + // 根据畸变后的切向量和副切向量计算并校正新的法向量。 + vec3 displacedNormal=normalize(cross(displacedTangent,displacedBitangent)); + + return displacedNormal; +} \ No newline at end of file diff --git a/src/shaders/common/glsl-noise/perlin/3d.glsl b/src/shaders/common/glsl-noise/perlin/3d.glsl new file mode 100644 index 0000000..7d3718a --- /dev/null +++ b/src/shaders/common/glsl-noise/perlin/3d.glsl @@ -0,0 +1,107 @@ +// +// GLSL textureless classic 3D noise "cnoise", +// with an RSL-style periodic variant "pnoise". +// Author: Stefan Gustavson (stefan.gustavson@liu.se) +// Version: 2011-10-11 +// +// Many thanks to Ian McEwan of Ashima Arts for the +// ideas for permutation and gradient selection. +// +// Copyright (c) 2011 Stefan Gustavson. All rights reserved. +// Distributed under the MIT license. See LICENSE file. +// https://github.com/ashima/webgl-noise +// + +vec3 mod289(vec3 x) +{ + return x-floor(x*(1./289.))*289.; +} + +vec4 mod289(vec4 x) +{ + return x-floor(x*(1./289.))*289.; +} + +vec4 permute(vec4 x) +{ + return mod289(((x*34.)+1.)*x); +} + +vec4 taylorInvSqrt(vec4 r) +{ + return 1.79284291400159-.85373472095314*r; +} + +vec3 fade(vec3 t){ + return t*t*t*(t*(t*6.-15.)+10.); +} + +// Classic Perlin noise +float cnoise(vec3 P) +{ + vec3 Pi0=floor(P);// Integer part for indexing + vec3 Pi1=Pi0+vec3(1.);// Integer part + 1 + Pi0=mod289(Pi0); + Pi1=mod289(Pi1); + vec3 Pf0=fract(P);// Fractional part for interpolation + vec3 Pf1=Pf0-vec3(1.);// Fractional part - 1.0 + vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x); + vec4 iy=vec4(Pi0.yy,Pi1.yy); + vec4 iz0=Pi0.zzzz; + vec4 iz1=Pi1.zzzz; + + vec4 ixy=permute(permute(ix)+iy); + vec4 ixy0=permute(ixy+iz0); + vec4 ixy1=permute(ixy+iz1); + + vec4 gx0=ixy0*(1./7.); + vec4 gy0=fract(floor(gx0)*(1./7.))-.5; + gx0=fract(gx0); + vec4 gz0=vec4(.5)-abs(gx0)-abs(gy0); + vec4 sz0=step(gz0,vec4(0.)); + gx0-=sz0*(step(0.,gx0)-.5); + gy0-=sz0*(step(0.,gy0)-.5); + + vec4 gx1=ixy1*(1./7.); + vec4 gy1=fract(floor(gx1)*(1./7.))-.5; + gx1=fract(gx1); + vec4 gz1=vec4(.5)-abs(gx1)-abs(gy1); + vec4 sz1=step(gz1,vec4(0.)); + gx1-=sz1*(step(0.,gx1)-.5); + gy1-=sz1*(step(0.,gy1)-.5); + + vec3 g000=vec3(gx0.x,gy0.x,gz0.x); + vec3 g100=vec3(gx0.y,gy0.y,gz0.y); + vec3 g010=vec3(gx0.z,gy0.z,gz0.z); + vec3 g110=vec3(gx0.w,gy0.w,gz0.w); + vec3 g001=vec3(gx1.x,gy1.x,gz1.x); + vec3 g101=vec3(gx1.y,gy1.y,gz1.y); + vec3 g011=vec3(gx1.z,gy1.z,gz1.z); + vec3 g111=vec3(gx1.w,gy1.w,gz1.w); + + vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110))); + g000*=norm0.x; + g010*=norm0.y; + g100*=norm0.z; + g110*=norm0.w; + vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111))); + g001*=norm1.x; + g011*=norm1.y; + g101*=norm1.z; + g111*=norm1.w; + + float n000=dot(g000,Pf0); + float n100=dot(g100,vec3(Pf1.x,Pf0.yz)); + float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z)); + float n110=dot(g110,vec3(Pf1.xy,Pf0.z)); + float n001=dot(g001,vec3(Pf0.xy,Pf1.z)); + float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z)); + float n011=dot(g011,vec3(Pf0.x,Pf1.yz)); + float n111=dot(g111,Pf1); + + vec3 fade_xyz=fade(Pf0); + vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z); + vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y); + float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x); + return 2.2*n_xyz; +} diff --git a/src/shaders/common/glsl-noise/perlin/example.glsl b/src/shaders/common/glsl-noise/perlin/example.glsl new file mode 100644 index 0000000..1f3697a --- /dev/null +++ b/src/shaders/common/glsl-noise/perlin/example.glsl @@ -0,0 +1,114 @@ +// +// GLSL textureless classic 3D noise "cnoise", +// with an RSL-style periodic variant "pnoise". +// Author: Stefan Gustavson (stefan.gustavson@liu.se) +// Version: 2011-10-11 +// +// Many thanks to Ian McEwan of Ashima Arts for the +// ideas for permutation and gradient selection. +// +// Copyright (c) 2011 Stefan Gustavson. All rights reserved. +// Distributed under the MIT license. See LICENSE file. +// https://github.com/ashima/webgl-noise +// + +vec3 mod289(vec3 x) +{ + return x-floor(x*(1./289.))*289.; +} + +vec4 mod289(vec4 x) +{ + return x-floor(x*(1./289.))*289.; +} + +vec4 permute(vec4 x) +{ + return mod289(((x*34.)+1.)*x); +} + +vec4 taylorInvSqrt(vec4 r) +{ + return 1.79284291400159-.85373472095314*r; +} + +vec3 fade(vec3 t){ + return t*t*t*(t*(t*6.-15.)+10.); +} + +// Classic Perlin noise +float cnoise(vec3 P) +{ + vec3 Pi0=floor(P);// Integer part for indexing + vec3 Pi1=Pi0+vec3(1.);// Integer part + 1 + Pi0=mod289(Pi0); + Pi1=mod289(Pi1); + vec3 Pf0=fract(P);// Fractional part for interpolation + vec3 Pf1=Pf0-vec3(1.);// Fractional part - 1.0 + vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x); + vec4 iy=vec4(Pi0.yy,Pi1.yy); + vec4 iz0=Pi0.zzzz; + vec4 iz1=Pi1.zzzz; + + vec4 ixy=permute(permute(ix)+iy); + vec4 ixy0=permute(ixy+iz0); + vec4 ixy1=permute(ixy+iz1); + + vec4 gx0=ixy0*(1./7.); + vec4 gy0=fract(floor(gx0)*(1./7.))-.5; + gx0=fract(gx0); + vec4 gz0=vec4(.5)-abs(gx0)-abs(gy0); + vec4 sz0=step(gz0,vec4(0.)); + gx0-=sz0*(step(0.,gx0)-.5); + gy0-=sz0*(step(0.,gy0)-.5); + + vec4 gx1=ixy1*(1./7.); + vec4 gy1=fract(floor(gx1)*(1./7.))-.5; + gx1=fract(gx1); + vec4 gz1=vec4(.5)-abs(gx1)-abs(gy1); + vec4 sz1=step(gz1,vec4(0.)); + gx1-=sz1*(step(0.,gx1)-.5); + gy1-=sz1*(step(0.,gy1)-.5); + + vec3 g000=vec3(gx0.x,gy0.x,gz0.x); + vec3 g100=vec3(gx0.y,gy0.y,gz0.y); + vec3 g010=vec3(gx0.z,gy0.z,gz0.z); + vec3 g110=vec3(gx0.w,gy0.w,gz0.w); + vec3 g001=vec3(gx1.x,gy1.x,gz1.x); + vec3 g101=vec3(gx1.y,gy1.y,gz1.y); + vec3 g011=vec3(gx1.z,gy1.z,gz1.z); + vec3 g111=vec3(gx1.w,gy1.w,gz1.w); + + vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110))); + g000*=norm0.x; + g010*=norm0.y; + g100*=norm0.z; + g110*=norm0.w; + vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111))); + g001*=norm1.x; + g011*=norm1.y; + g101*=norm1.z; + g111*=norm1.w; + + float n000=dot(g000,Pf0); + float n100=dot(g100,vec3(Pf1.x,Pf0.yz)); + float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z)); + float n110=dot(g110,vec3(Pf1.xy,Pf0.z)); + float n001=dot(g001,vec3(Pf0.xy,Pf1.z)); + float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z)); + float n011=dot(g011,vec3(Pf0.x,Pf1.yz)); + float n111=dot(g111,Pf1); + + vec3 fade_xyz=fade(Pf0); + vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z); + vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y); + float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x); + return 2.2*n_xyz; +} + +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; + float noise=cnoise(vec3(uv*10.,iTime)); + vec3 col=vec3(noise); + fragColor=vec4(col,1.); +} \ No newline at end of file diff --git a/src/shaders/common/glsl-noise/simplex/3d.glsl b/src/shaders/common/glsl-noise/simplex/3d.glsl new file mode 100644 index 0000000..5e77eb6 --- /dev/null +++ b/src/shaders/common/glsl-noise/simplex/3d.glsl @@ -0,0 +1,104 @@ +// +// Description : Array and textureless GLSL 2D/3D/4D simplex +// noise functions. +// Author : Ian McEwan, Ashima Arts. +// Maintainer : ijm +// Lastmod : 20110822 (ijm) +// License : Copyright (C) 2011 Ashima Arts. All rights reserved. +// Distributed under the MIT License. See LICENSE file. +// https://github.com/ashima/webgl-noise +// + +vec3 mod289(vec3 x) { + return x - floor(x * (1.0 / 289.0)) * 289.0; +} + +vec4 mod289(vec4 x) { + return x - floor(x * (1.0 / 289.0)) * 289.0; +} + +vec4 permute(vec4 x) { + return mod289(((x*34.0)+1.0)*x); +} + +vec4 taylorInvSqrt(vec4 r) +{ + return 1.79284291400159 - 0.85373472095314 * r; +} + +float snoise(vec3 v) + { + const vec2 C = vec2(1.0/6.0, 1.0/3.0) ; + const vec4 D = vec4(0.0, 0.5, 1.0, 2.0); + +// First corner + vec3 i = floor(v + dot(v, C.yyy) ); + vec3 x0 = v - i + dot(i, C.xxx) ; + +// Other corners + vec3 g = step(x0.yzx, x0.xyz); + vec3 l = 1.0 - g; + vec3 i1 = min( g.xyz, l.zxy ); + vec3 i2 = max( g.xyz, l.zxy ); + + // x0 = x0 - 0.0 + 0.0 * C.xxx; + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + vec3 x1 = x0 - i1 + C.xxx; + vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y + vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y + +// Permutations + i = mod289(i); + vec4 p = permute( permute( permute( + i.z + vec4(0.0, i1.z, i2.z, 1.0 )) + + i.y + vec4(0.0, i1.y, i2.y, 1.0 )) + + i.x + vec4(0.0, i1.x, i2.x, 1.0 )); + +// Gradients: 7x7 points over a square, mapped onto an octahedron. +// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float n_ = 0.142857142857; // 1.0/7.0 + vec3 ns = n_ * D.wyz - D.xzx; + + vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7) + + vec4 x_ = floor(j * ns.z); + vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N) + + vec4 x = x_ *ns.x + ns.yyyy; + vec4 y = y_ *ns.x + ns.yyyy; + vec4 h = 1.0 - abs(x) - abs(y); + + vec4 b0 = vec4( x.xy, y.xy ); + vec4 b1 = vec4( x.zw, y.zw ); + + //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0; + //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; + vec4 s0 = floor(b0)*2.0 + 1.0; + vec4 s1 = floor(b1)*2.0 + 1.0; + vec4 sh = -step(h, vec4(0.0)); + + vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ; + vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ; + + vec3 p0 = vec3(a0.xy,h.x); + vec3 p1 = vec3(a0.zw,h.y); + vec3 p2 = vec3(a1.xy,h.z); + vec3 p3 = vec3(a1.zw,h.w); + +//Normalise gradients + vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + +// Mix final noise value + vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0); + m = m * m; + return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), + dot(p2,x2), dot(p3,x3) ) ); + } + +#pragma glslify: export(snoise) \ No newline at end of file diff --git a/src/shaders/common/glsl-noise/simplex/example.glsl b/src/shaders/common/glsl-noise/simplex/example.glsl new file mode 100644 index 0000000..b9567d0 --- /dev/null +++ b/src/shaders/common/glsl-noise/simplex/example.glsl @@ -0,0 +1,154 @@ +// +// Description : Array and textureless GLSL 2D/3D/4D simplex +// noise functions. +// Author : Ian McEwan, Ashima Arts. +// Maintainer : ijm +// Lastmod : 20110822 (ijm) +// License : Copyright (C) 2011 Ashima Arts. All rights reserved. +// Distributed under the MIT License. See LICENSE file. +// https://github.com/ashima/webgl-noise +// + +vec3 mod289(vec3 x) { + return x - floor(x * (1.0 / 289.0)) * 289.0; +} + +vec4 mod289(vec4 x) { + return x - floor(x * (1.0 / 289.0)) * 289.0; +} + +vec4 permute(vec4 x) { + return mod289(((x*34.0)+1.0)*x); +} + +vec4 taylorInvSqrt(vec4 r) +{ + return 1.79284291400159 - 0.85373472095314 * r; +} + +float snoise(vec3 v) + { + const vec2 C = vec2(1.0/6.0, 1.0/3.0) ; + const vec4 D = vec4(0.0, 0.5, 1.0, 2.0); + +// First corner + vec3 i = floor(v + dot(v, C.yyy) ); + vec3 x0 = v - i + dot(i, C.xxx) ; + +// Other corners + vec3 g = step(x0.yzx, x0.xyz); + vec3 l = 1.0 - g; + vec3 i1 = min( g.xyz, l.zxy ); + vec3 i2 = max( g.xyz, l.zxy ); + + // x0 = x0 - 0.0 + 0.0 * C.xxx; + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + vec3 x1 = x0 - i1 + C.xxx; + vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y + vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y + +// Permutations + i = mod289(i); + vec4 p = permute( permute( permute( + i.z + vec4(0.0, i1.z, i2.z, 1.0 )) + + i.y + vec4(0.0, i1.y, i2.y, 1.0 )) + + i.x + vec4(0.0, i1.x, i2.x, 1.0 )); + +// Gradients: 7x7 points over a square, mapped onto an octahedron. +// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float n_ = 0.142857142857; // 1.0/7.0 + vec3 ns = n_ * D.wyz - D.xzx; + + vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7) + + vec4 x_ = floor(j * ns.z); + vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N) + + vec4 x = x_ *ns.x + ns.yyyy; + vec4 y = y_ *ns.x + ns.yyyy; + vec4 h = 1.0 - abs(x) - abs(y); + + vec4 b0 = vec4( x.xy, y.xy ); + vec4 b1 = vec4( x.zw, y.zw ); + + //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0; + //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; + vec4 s0 = floor(b0)*2.0 + 1.0; + vec4 s1 = floor(b1)*2.0 + 1.0; + vec4 sh = -step(h, vec4(0.0)); + + vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ; + vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ; + + vec3 p0 = vec3(a0.xy,h.x); + vec3 p1 = vec3(a0.zw,h.y); + vec3 p2 = vec3(a1.xy,h.z); + vec3 p3 = vec3(a1.zw,h.w); + +//Normalise gradients + vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + +// Mix final noise value + vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0); + m = m * m; + return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), + dot(p2,x2), dot(p3,x3) ) ); + } + +#pragma glslify: export(snoise) + +/** + * 函数: fbm + * 功能: 生成分形噪声。 + * 参数: + * - p: 输入的三维向量,表示要查询的点的坐标。 + * 返回值: + * - 返回在输入点上生成的分形噪声的浮点数值。 + */ +float fbm(vec3 p){ + + // 初始化变量: 总值、当前振幅、当前频率、 lacunarity(空隙度)、persistance(持久度)、缩放比例、octaves(振荡次数) + float value=0.; + float amplitude=1.; + float frequency=1.; + float lacunarity=2.; + float persistance=.5; + float scale=1.; + int octaves=8; + + // 对每个octave迭代,累加噪声值 + for(int i=0;i + // 应用颜色空间转换,例如从线性颜色空间转换到非线性颜色空间,以匹配人类视觉系统的预期。 + #include +} \ No newline at end of file diff --git a/src/shaders/fireworks/vertex.glsl b/src/shaders/fireworks/vertex.glsl new file mode 100644 index 0000000..bbeef9d --- /dev/null +++ b/src/shaders/fireworks/vertex.glsl @@ -0,0 +1,67 @@ +// 主渲染函数 +// +// 参数: +// uSize: uniform变量,用于控制点的大小。 +// uResolution: uniform变量,表示渲染目标的分辨率。 +// uProgress: uniform变量,表示当前的进度,用于驱动动画。 +// aSize: attribute变量,用于每个点的大小调整。 +// aTimeMultiplier: attribute变量,用于时间加速或减速。 +// +// 返回值: 无 + +uniform float uSize; +uniform vec2 uResolution; +uniform float uProgress; + +attribute float aSize; +attribute float aTimeMultiplier; + + +#include ../includes/remap.glsl; + + +void main() { + // 计算当前进度,考虑时间加速 + float progress = uProgress * aTimeMultiplier; + + // 初始化新的位置向量 + vec3 newPosition = position; + + // 处理爆炸效果,根据进度改变物体位置 + float explodingProgress = remap(progress, 0.0, 0.1, 0.0, 1.0); + explodingProgress = clamp(explodingProgress, 0.0, 1.0); + explodingProgress = 1.0 - pow(1.0 - explodingProgress, 3.0); + newPosition = mix(vec3(0.0), newPosition, explodingProgress); + + // 处理下落效果,根据进度调整位置 + float fallingProgress = remap(progress, 0.1, 1.0, 0.0, 1.0); + fallingProgress = clamp(fallingProgress, 0.0, 1.0); + fallingProgress = 1.0 - pow(1.0 - fallingProgress, 3.0); + newPosition.y -= fallingProgress * 0.2; + + // 处理缩放效果,根据进度调整大小 + float sizeOpeningProgress = remap(progress, 0.0, 0.125, 0.0, 1.0); + float sizeClosingProgress = remap(progress, 0.125, 1.0, 1.0, 0.0); + float sizeProgress = min(sizeOpeningProgress, sizeClosingProgress); + sizeProgress = clamp(sizeProgress, 0.0, 1.0); + + // 处理闪烁效果,根据进度调整大小 + float twinklingProgress = remap(progress, 0.2, 0.8, 0.0, 1.0); + twinklingProgress = clamp(twinklingProgress, 0.0, 1.0); + float sizeTwinkling = sin(progress * 30.0) * 0.5 + 0.5; + sizeTwinkling = 1.0 - sizeTwinkling * twinklingProgress; + + // 计算最终的模型位置,并应用到齐次坐标中 + vec4 modelPosition = modelMatrix * vec4(newPosition, 1.0); + vec4 viewPosition = viewMatrix * modelPosition; + gl_Position = projectionMatrix * viewPosition; + + // 计算并设置最终的点大小 + gl_PointSize = uSize * uResolution.y * aSize * sizeProgress * sizeTwinkling; + gl_PointSize *= 1.0 / - viewPosition.z; + // 如果点大小小于1.0,则移除该点的渲染 + if(gl_PointSize < 1.0) { + gl_Position = vec4(9999.9); + } + +} \ No newline at end of file diff --git a/src/shaders/function.md b/src/shaders/function.md new file mode 100644 index 0000000..055e60c --- /dev/null +++ b/src/shaders/function.md @@ -0,0 +1,80 @@ +**GLSL**(OpenGL Shading Language)是一种用于编写着色器程序的语言,它允许开发者直接控制图形硬件的渲染过程。GLSL提供了一系列内置函数,用于简化数学和几何计算,以及纹理采样等常见任务。以下是一些主要的GLSL内置函数分类及其描述: + +### 几何函数 +- `radians(angle)`:将角度转换为弧度。 +- `degrees(radian)`:将弧度转换为角度。 +- `sin(angle)`:计算给定角度的正弦值。 +- `cos(angle)`:计算给定角度的余弦值。 +- `tan(angle)`:计算给定角度的正切值。 +- `asin(value)`:计算反正弦值,返回范围在 [-π/2, π/2] 的弧度值。 +- `acos(value)`:计算反余弦值,返回范围在 [0, π] 的弧度值。 +- `atan(y, x)`:计算反正切值,返回范围在 [-π, π] 的弧度值。 +- `atan(y_over_x)`:计算反正切值,返回范围在 [-π/2, π/2] 的弧度值。 + +### 基本数学函数函数和变量操作 +- `abs(value)`:返回value的绝对值。 +- `sign(value)`:返回value的符号(-1, 0, 1)。 +- `floor(value)`:向下取整到最接近的整数。 +- `ceil(value)`:向上取整到最接近的整数。 +- `fract(value)`:返回value的小数部分。 +- `trunc(x)`: 返回x的整数部分。 +- `round(x)`: 四舍五入到最接近的整数。 +- `mod(x, y)`: 返回x除以y的余数。 +- `min(x, y)`: 返回x和y中的较小值。 +- `max(x, y)`: 返回x和y中的较大值。 +- `clamp(x, minVal, maxVal)`: 将x限制在[minVal, maxVal]之间。 +- `pow(base, exponent)`:计算基数的指数次幂。 +- `exp(value)`:计算自然对数底数e的value次幂。 +- `log(value)`:计算value的自然对数值。 +- `exp2(value)`:计算2的value次幂。 +- `log2(value)`:计算value的以2为底的对数值。 +- `sqrt(value)`:计算value的平方根。 +- `inversesqrt(value)`:计算value平方根的倒数。 +- +### 向量和矩阵函数 +- `dot(v1, v2)`:计算两个向量的点积。 +- `cross(v1, v2)`:计算两个向量的叉积,仅适用于vec3类型。 +- `length(vector)`:计算向量的长度。 +- `distance(p1, p2)`:计算两点之间的距离。 +- `normalize(vector)`:归一化向量,使其长度为1。 +- `faceforward(N, I, Nref)`:如果Nref·I小于零,则返回N,否则返回-N。 +- `reflect(I, N)`:计算入射向量I关于法线N的反射向量。 +- `refract(I, N, eta)`:计算入射向量I通过法线N折射后的向量,eta是折射率。 + +### 条件和混合函数 +- `mix(x, y, a)`:线性插值函数,返回x和y之间基于权重a的插值。 +- `step(edge, x)`:阶跃函数,如果x小于edge则返回0,否则返回1。 +- `smoothstep(edge0, edge1, x)`:平滑阶跃函数,返回x在edge0和edge1之间的平滑过渡值。 + +### 衍生函数 +- `texture(sampler, coord)`:从纹理采样器中采样颜色。 +- `dFdx(expression)`:计算表达式在水平方向上的偏导数。 +- `dFdy(expression)`:计算表达式在垂直方向上的偏导数。 + +### 其他函数 +- `discard`: 丢弃当前像素/顶点。 +- `any(bvec)`: 如果向量中有任何元素为true,则返回true。 +- `all(bvec)`: 如果向量中所有元素都为true,则返回true。 +- `bool(x)`: 转换为布尔值,非零视为true。 +- `int(x)`: 转换为整数。 +- `uint(x)`: 转换为无符号整数。 +- `float(x)`: 转换为浮点数。 +- `vecN(vecM)`: 转换向量类型。 +- `matN(vecM)`: 创建矩阵。 +- `matN(row0, row1, ..., rowN)`: 创建矩阵,行向量作为参数。 +- `transpose(mat)`: 矩阵转置。 +- `outerProduct(vecA, vecB)`: 外积,产生一个矩阵。 +- `matrixCompMult(matA, matB)`: 矩阵元素乘积。 +- `inverse(mat)`: 矩阵逆。 +- `determinant(mat)`: 矩阵行列式。 + +#### 纹理和图像函数 +- `texture(sampler, coord)`: 从纹理采样。 +- `textureProj(sampler, coord)`: 从纹理采样,考虑投影坐标。 +- `textureLod(sampler, coord, lod)`: 从纹理采样,指定细节级别。 +- `textureOffset(sampler, coord, offset)`: 从纹理采样,指定偏移量。 +- `textureGrad(sampler, coord, dPdx, dPdy)`: 从纹理采样,指定梯度。 +- `imageLoad(image, coord)`: 从图像单元加载像素。 +- `imageStore(image, coord, color)`: 将颜色存储到图像单元的像素。 + +请注意,不同的GLSL版本和实现可能会有不同的内置函数集合,上述列表基于GLSL 1.20标准,但许多现代GPU支持更高版本的GLSL,提供了更多的功能和优化。例如,GLSL 4.50增加了更多高级函数,如双精度浮点运算和矩阵函数等。在编写着色器时,应参考特定GLSL版本的官方文档以确保正确性和兼容性。 diff --git a/src/shaders/generative-designs/cellular-noise/example.glsl b/src/shaders/generative-designs/cellular-noise/example.glsl new file mode 100644 index 0000000..bfcf3b6 --- /dev/null +++ b/src/shaders/generative-designs/cellular-noise/example.glsl @@ -0,0 +1,50 @@ +// 作者: @patriciogv +// 标题: 4 cells DF + +// 如果是OpenGL ES环境,则设置中等精度浮点数 +#ifdef GL_ES +precision mediump float; +#endif + +// 程序统一变量:分辨率、鼠标位置、时间 +uniform vec2 u_resolution; // 屏幕分辨率 +uniform vec2 u_mouse; // 鼠标当前位置 +uniform float u_time; // 当前时间 + +// 主程序:绘制4个细胞的距离场 +void main() { + // 将像素坐标转换为屏幕空间坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + // 调整x轴坐标以适应屏幕宽高比 + st.x *= u_resolution.x/u_resolution.y; + + // 初始化颜色变量 + vec3 color = vec3(.0); + + // 细胞位置数组 + vec2 point[5]; + point[0] = vec2(0.83,0.75); // 细胞1位置 + point[1] = vec2(0.60,0.07); // 细胞2位置 + point[2] = vec2(0.28,0.64); // 细胞3位置 + point[3] = vec2(0.31,0.26); // 细胞4位置 + point[4] = u_mouse/u_resolution; // 鼠标位置作为细胞5 + + float m_dist = 1.; // 最小距离初始化 + + // 遍历所有细胞位置,计算当前像素到每个细胞的最小距离 + for (int i = 0; i < 5; i++) { + float dist = distance(st, point[i]); // 当前像素到细胞的距离 + + // 保持最小距离值 + m_dist = min(m_dist, dist); + } + + // 绘制最小距离场 + color += m_dist; + + // 注释掉的代码:用于显示等值线 + // color -= step(.7,abs(sin(50.0*m_dist)))*.3; + + // 设置颜色并输出 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/cellular-noise/example2.glsl b/src/shaders/generative-designs/cellular-noise/example2.glsl new file mode 100644 index 0000000..172bbdf --- /dev/null +++ b/src/shaders/generative-designs/cellular-noise/example2.glsl @@ -0,0 +1,67 @@ +// 作者: @patriciogv +// 标题: CellularNoise - 细胞噪声 + +#ifdef GL_ES +precision mediump float; +#endif + +// 程序中使用的全局变量 +uniform vec2 u_resolution; // 视口分辨率 +uniform vec2 u_mouse; // 鼠标位置 +uniform float u_time; // 时间 + +// 为给定的二维向量p生成一个随机二维向量 +vec2 random2( vec2 p ) { + return fract(sin(vec2(dot(p,vec2(127.1,311.7)),dot(p,vec2(269.5,183.3))))*43758.5453); +} + +void main() { + // 将像素坐标转换为纹理坐标,并考虑分辨率的长宽比 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + st.x *= u_resolution.x/u_resolution.y; + vec3 color = vec3(.0); // 初始化颜色向量 + + // 缩放纹理坐标 + st *= 3.; + + // 对空间进行平铺 + vec2 i_st = floor(st); // 整数部分 + vec2 f_st = fract(st); // 小数部分 + + float m_dist = 1.; // 记录找到的最小距离 + + // 遍历临近的九个格子 + for (int y= -1; y <= 1; y++) { + for (int x= -1; x <= 1; x++) { + // 当前网格位置的邻居 + vec2 neighbor = vec2(float(x),float(y)); + + // 根据当前网格位置和邻居位置生成一个随机点 + vec2 point = random2(i_st + neighbor); + + // 动画该点 + point = 0.5 + 0.5*sin(u_time + 6.2831*point); + + // 计算当前像素到该点的距离 + vec2 diff = neighbor + point - f_st; + float dist = length(diff); + + // 更新最小距离 + m_dist = min(m_dist, dist); + } + } + + // 绘制最小距离(距离场) + color += m_dist; + + // 绘制细胞中心 + color += 1.-step(.02, m_dist); + + // 绘制网格线 + color.r += step(.98, f_st.x) + step(.98, f_st.y); + + // 注释掉的代码:展示等值线 + // color -= step(.7,abs(sin(27.0*m_dist)))*.5; + + gl_FragColor = vec4(color,1.0); // 将颜色设置为片段颜色 +} \ No newline at end of file diff --git a/src/shaders/generative-designs/cellular-noise/example3.glsl b/src/shaders/generative-designs/cellular-noise/example3.glsl new file mode 100644 index 0000000..6517693 --- /dev/null +++ b/src/shaders/generative-designs/cellular-noise/example3.glsl @@ -0,0 +1,57 @@ +// 作者: @patriciogv +// 标题: 4个单元的voronoi图 + +#ifdef GL_ES +precision mediump float; +#endif + +// 程序的统一变量:分辨率、鼠标位置、时间 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标当前位置 +uniform float u_time; // 当前时间 + +void main() { + // 将像素坐标转换为0到1的归一化坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + // 修正由于窗口宽高比不同导致的坐标系统差异 + st.x *= u_resolution.x/u_resolution.y; + + vec3 color = vec3(.0); // 初始化颜色变量 + + // 定义四个点的位置 + vec2 point[5]; + point[0] = vec2(0.83,0.75); + point[1] = vec2(0.60,0.07); + point[2] = vec2(0.28,0.64); + point[3] = vec2(0.31,0.26); + // 将鼠标位置作为一个动态点 + point[4] = u_mouse/u_resolution; + + float m_dist = 1.; // 最小距离初始化 + vec2 m_point; // 最近点的位置 + + // 遍历所有点,计算当前像素到各点的距离,找到最近的点 + for (int i = 0; i < 5; i++) { + float dist = distance(st, point[i]); + if ( dist < m_dist ) { + // 更新最小距离和最近点的位置 + m_dist = dist; + m_point = point[i]; + } + } + + // 根据最小距离,添加距离场效果 + color += m_dist*2.; + + // 根据最近点的位置,给颜色添加一种色调 + color.rg = m_point; + + // 通过绘制等值线来增强视觉效果 + color -= abs(sin(80.0*m_dist))*0.07; + + // 绘制最近点的中心 + color += 1.-step(.02, m_dist); + + // 输出最终的颜色 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/fractional-brownian-motion/example.glsl b/src/shaders/generative-designs/fractional-brownian-motion/example.glsl new file mode 100644 index 0000000..abcaa8f --- /dev/null +++ b/src/shaders/generative-designs/fractional-brownian-motion/example.glsl @@ -0,0 +1,71 @@ +// 生成基于GPU的简单噪声纹理的GLSL着色器程序 +// 适用于生成各种自然纹理,如云、岩石、水面等 + +#ifdef GL_ES +precision mediump float; +#endif + +// 程序中使用的全局变量 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标位置 +uniform float u_time; // 时间 + +// 生成在[0,1]范围内的随机数 +// @param st 二维坐标 +float random (in vec2 st) { + return fract(sin(dot(st.xy, + vec2(12.9898,78.233)))* + 43758.5453123); +} + +// 生成基于Perlin噪声的连续噪声 +// @param st 二维坐标 +float noise (in vec2 st) { + vec2 i = floor(st); // 取整 + vec2 f = fract(st); // 小数部分 + + // 获取四个临近点的随机值 + float a = random(i); + float b = random(i + vec2(1.0, 0.0)); + float c = random(i + vec2(0.0, 1.0)); + float d = random(i + vec2(1.0, 1.0)); + + vec2 u = f * f * (3.0 - 2.0 * f); // 使用二次贝塞尔曲线插值 + + // 混合四个点的噪声值 + return mix(a, b, u.x) + + (c - a)* u.y * (1.0 - u.x) + + (d - b) * u.x * u.y; +} + +#define OCTAVES 6 +// 生成分形噪声 +// @param st 二维坐标 +// @param OCTAVES 声波的层数(分级) +float fbm (in vec2 st) { + float value = 0.0; // 初始噪声值 + float amplitude = .5; // 初始振幅 + float frequency = 0.; // 初始频率 + + // 遍历各声波层级进行混合 + for (int i = 0; i < OCTAVES; i++) { + value += amplitude * noise(st); + st *= 2.; // 增加频率 + amplitude *= .5; // 减小振幅 + } + return value; +} + +// 程序主入口 +void main() { + // 计算当前像素相对于画布的坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + st.x *= u_resolution.x/u_resolution.y; // 纠正长宽比 + + // 生成基于fbm的噪声颜色 + vec3 color = vec3(0.0); + color += fbm(st*3.0); // 调整噪声细节 + + // 将颜色写入当前像素 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/fractional-brownian-motion/example2.glsl b/src/shaders/generative-designs/fractional-brownian-motion/example2.glsl new file mode 100644 index 0000000..91baf16 --- /dev/null +++ b/src/shaders/generative-designs/fractional-brownian-motion/example2.glsl @@ -0,0 +1,101 @@ +// 作者 @patriciogv - 2015 +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +// 声明着色器中使用的全局变量 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 着色器运行的时间 + +// 生成一个在[0,1)范围内的随机浮点数 +// 参数: +// _st: 一个二维向量,用于生成随机数的种子 +// 返回值: +// 一个在[0,1)范围内的随机浮点数 +float random (in vec2 _st) { + return fract(sin(dot(_st.xy, + vec2(12.9898,78.233)))* + 43758.5453123); +} + +// 生成二维噪声 +// 参数: +// _st: 一个二维向量,代表当前坐标点 +// 返回值: +// 在当前坐标点生成的噪声值 +float noise (in vec2 _st) { + vec2 i = floor(_st); + vec2 f = fract(_st); + + // 获取四个角落的噪声值 + float a = random(i); + float b = random(i + vec2(1.0, 0.0)); + float c = random(i + vec2(0.0, 1.0)); + float d = random(i + vec2(1.0, 1.0)); + + // 使用二次贝塞尔曲线插值计算噪声 + vec2 u = f * f * (3.0 - 2.0 * f); + return mix(a, b, u.x) + + (c - a)* u.y * (1.0 - u.x) + + (d - b) * u.x * u.y; +} + +#define NUM_OCTAVES 8 +// 基于分形 Brownian 运动生成噪声 +// 参数: +// _st: 一个二维向量,代表当前坐标点 +// 返回值: +// 在当前坐标点生成的分形噪声值 +float fbm ( in vec2 _st) { + float v = 0.0; + float a = 0.5; + vec2 shift = vec2(100.0); + // 使用旋转矩阵减少轴向偏差 + mat2 rot = mat2(cos(0.5), sin(0.5), + -sin(0.5), cos(0.50)); + for (int i = 0; i < NUM_OCTAVES; ++i) { + v += a * noise(_st); + _st = rot * _st * 2.0 + shift; + a *= 0.5; + } + return v; +} + +// 着色器主函数 +void main() { + // 根据屏幕坐标计算纹理坐标,并进行缩放 + vec2 st = gl_FragCoord.xy/u_resolution.xy*3.; + + // 生成两个向量q和r,用于混合颜色 + vec2 q = vec2(0.); + q.x = fbm( st + 0.00*u_time); + q.y = fbm( st + vec2(1.0)); + + vec2 r = vec2(0.); + r.x = fbm( st + 1.0*q + vec2(1.7,9.2)+ 0.15*u_time ); + r.y = fbm( st + 1.0*q + vec2(8.3,2.8)+ 0.126*u_time); + + // 使用fbm生成的值来混合颜色 + float f = fbm(st+r); + + // 根据f的值混合三种颜色 + vec3 color = mix(vec3(0.101961,0.619608,0.666667), + vec3(0.666667,0.666667,0.498039), + clamp((f*f)*4.0,0.0,1.0)); + + // 根据向量q的长度混合颜色 + color = mix(color, + vec3(0,0,0.164706), + clamp(length(q),0.0,1.0)); + + // 根据向量r的x分量长度混合颜色 + color = mix(color, + vec3(0.666667,1,1), + clamp(length(r.x),0.0,1.0)); + + // 设置像素颜色 + gl_FragColor = vec4((f*f*f+.6*f*f+.5*f)*color,1.); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/noise/example.glsl b/src/shaders/generative-designs/noise/example.glsl new file mode 100644 index 0000000..3344040 --- /dev/null +++ b/src/shaders/generative-designs/noise/example.glsl @@ -0,0 +1,55 @@ +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 程序运行的时间 + +/** + * 生成一个在给定二维坐标上的随机数。 + * @param st 二维坐标点 + * @return 返回在0到1范围内的随机浮点数 + */ +float random (in vec2 st) { + return fract(sin(dot(st.xy, + vec2(12.9898,78.233))) + * 43758.5453123); +} + +/** + * 基于Morgan McGuire的2D噪声函数。 + * @param st 二维坐标点 + * @return 返回基于输入坐标点的噪声值 + */ +float noise (in vec2 st) { + vec2 i = floor(st); // 对输入坐标进行向下取整 + vec2 f = fract(st); // 获取输入坐标的小数部分 + + // 计算四个角落的随机值 + float a = random(i); + float b = random(i + vec2(1.0, 0.0)); + float c = random(i + vec2(0.0, 1.0)); + float d = random(i + vec2(1.0, 1.0)); + + // 使用三次Hermite曲线进行平滑插值 + vec2 u = f*f*(3.0-2.0*f); + + // 混合四个角落的值 + return mix(a, b, u.x) + + (c - a)* u.y * (1.0 - u.x) + + (d - b) * u.x * u.y; +} + +void main() { + vec2 st = gl_FragCoord.xy/u_resolution.xy; // 规范化当前像素坐标 + + // 通过放大系数来调整噪声显示的范围 + vec2 pos = vec2(st*5.0); + + // 应用噪声函数 + float n = noise(pos); + + // 设置最终的像素颜色 + gl_FragColor = vec4(vec3(n), 1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/noise/example2.glsl b/src/shaders/generative-designs/noise/example2.glsl new file mode 100644 index 0000000..0762eb1 --- /dev/null +++ b/src/shaders/generative-designs/noise/example2.glsl @@ -0,0 +1,54 @@ +// GLSL 片段着色器代码 (Fragment Shader) +precision mediump float; + +uniform vec2 u_resolution; // 窗口的分辨率 + +// 噪声函数,用于添加细微的噪点效果 +float rand(vec2 co){ + return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); +} + +// 平滑过渡函数 +float smoothTransition(float edge0, float edge1, float x) { + // 计算x在edge0和edge1之间的平滑因子 + float t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return t * t * (3.0 - 2.0 * t); // 这里使用了一个三次方缓入缓出的曲线 +} + +void main() { + vec2 st = gl_FragCoord.xy / u_resolution.xy; // 规范化当前像素坐标 + + // 定义更多的颜色以实现丰富的过渡效果 + vec4 color1 = vec4(0.1, 0.05, 0.5, 1.0); // 深蓝 + vec4 color2 = vec4(0.6, 0.1, 0.3, 1.0); // 深紫红,作为蓝红之间的过渡 + vec4 color3 = vec4(0.8, 0.1, 0.1, 1.0); // 深红 + vec4 color4 = vec4(0.4, 0.0, 0.7, 1.0); // 中紫,作为紫色黑色之间的过渡 + vec4 color5 = vec4(0.0, 0.0, 0.0, 1.0); // 黑色 + + // 使用平滑过渡函数来混合颜色,创建柔和边缘 + float transitionWidth = 0.05; // 边缘过渡宽度,可以根据需要调整 + if (st.x < 0.5) { + if (st.y < 0.5) { + // 上半部分混合深蓝到深紫红 + float transitionY = smoothTransition(0.25, 0.25 + transitionWidth, st.y); + gl_FragColor = mix(color1, color2, transitionY); + } else { + // 下半部分混合深紫红到深红 + float transitionY = smoothTransition(0.75 - transitionWidth, 0.75, st.y); + gl_FragColor = mix(color2, color3, transitionY); + } + } else { + if (st.y < 0.5) { + // 右上部分混合深红到中紫 + float transitionY = smoothTransition(0.25, 0.25 + transitionWidth, st.y); + gl_FragColor = mix(color3, color4, transitionY); + } else { + // 右下部分混合中紫到黑色 + float transitionY = smoothTransition(0.75 - transitionWidth, 0.75, st.y); + gl_FragColor = mix(color4, color5, transitionY); + } + } + + // 添加噪点效果 + gl_FragColor.rgb += vec3(rand(st) / 10.0); // 控制噪点强度 +} \ No newline at end of file diff --git a/src/shaders/generative-designs/noise/example3.glsl b/src/shaders/generative-designs/noise/example3.glsl new file mode 100644 index 0000000..5e5e3d9 --- /dev/null +++ b/src/shaders/generative-designs/noise/example3.glsl @@ -0,0 +1,63 @@ +// 作者 @patriciogv - 2015 - patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; +#endif + +// 声明全局变量,用于传入外部的屏幕分辨率、鼠标位置和时间 +uniform vec2 u_resolution; // 屏幕分辨率 +uniform vec2 u_mouse; // 鼠标位置 +uniform float u_time; // 时间 + +/** + * 对给定的二维坐标进行偏移处理 + * @param st 二维坐标 + * @return 偏移后的二维坐标 + */ +vec2 skew (vec2 st) { + vec2 r = vec2(0.0); + r.x = 1.1547*st.x; + r.y = st.y+0.5*r.x; + return r; +} + +/** + * 基于简单ctic网格生成一个三维点 + * @param st 二维坐标 + * @return 生成的三维点 + */ +vec3 simplexGrid (vec2 st) { + vec3 xyz = vec3(0.0); + + vec2 p = fract(skew(st)); + if (p.x > p.y) { + xyz.xy = 1.0-vec2(p.x,p.y-p.x); + xyz.z = p.y; + } else { + xyz.yz = 1.0-vec2(p.x-p.y,p.y); + xyz.x = p.x; + } + + return fract(xyz); +} + +void main() { + // 计算当前像素相对于屏幕分辨率的比例坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + vec3 color = vec3(0.0); + + // 缩放坐标空间以观察网格 + st *= 10.; + + // 显示二维网格 + color.rg = fract(st); + + // 使用偏移函数展示偏移后的二维网格 + // color.rg = fract(skew(st)); + + // 将网格细分成等边三角形 + // color = simplexGrid(st); + + // 设置最终颜色并输出 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/random/example1.glsl b/src/shaders/generative-designs/random/example1.glsl new file mode 100644 index 0000000..fcdcfcb --- /dev/null +++ b/src/shaders/generative-designs/random/example1.glsl @@ -0,0 +1,35 @@ +// 生成随机数的着色器函数示例 +// 作者 @patriciogv - 2015 +// http://patriciogonzalezvivo.com + +#ifdef GL_ES +precision mediump float; // 在GL_ES环境中使用中等精度的float +#endif + +// 程序统一变量:分辨率、鼠标位置、时间 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标当前的位置 +uniform float u_time; // 程序运行的时间 + +/** + * 根据给定的二维坐标生成一个随机数。 + * @param st 二维坐标,通常为像素坐标。 + * @return 返回一个在0到1之间的浮点数随机值。 + */ +float random (vec2 st) { + // 使用噪声函数生成随机数 + return fract(sin(dot(st.xy, + vec2(12.9898,78.233)))* + 43758.5453123); +} + +void main() { + // 计算当前像素相对于画布的坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + + // 生成一个基于当前像素位置的随机数 + float rnd = random( st ); + + // 设置当前像素的颜色为随机数 + gl_FragColor = vec4(vec3(rnd),1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/random/example2.glsl b/src/shaders/generative-designs/random/example2.glsl new file mode 100644 index 0000000..26d58d0 --- /dev/null +++ b/src/shaders/generative-designs/random/example2.glsl @@ -0,0 +1,42 @@ +// Author @patriciogv - 2015 +// Title: Mosaic + +#ifdef GL_ES +precision mediump float; +#endif + +// uniform变量声明:分辨率、鼠标位置、时间 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标当前位置 +uniform float u_time; // 程序运行时间 + +/** + * 生成基于二维坐标st的随机数。 + * + * @param st 二维坐标点 + * @return 返回基于坐标st的随机浮点数 + */ +float random (vec2 st) { + return fract(sin(dot(st.xy, + vec2(12.9898,78.233)))* + 43758.5453123); +} + +void main() { + // 将当前像素位置转换为相对于画布尺寸的比例坐标 + vec2 st = gl_FragCoord.xy/u_resolution.xy; + + // 缩放坐标系统 + st *= 10.0; + vec2 ipos = floor(st); // 获取整数部分坐标 + vec2 fpos = fract(st); // 获取小数部分坐标 + + // 基于整数坐标生成一个随机颜色 + vec3 color = vec3(random( ipos )); + + // 下方代码用于调试,展示划分的网格 + // color = vec3(fpos,0.0); + + // 设置最终颜色 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/generative-designs/random/example3.glsl b/src/shaders/generative-designs/random/example3.glsl new file mode 100644 index 0000000..a40185f --- /dev/null +++ b/src/shaders/generative-designs/random/example3.glsl @@ -0,0 +1,76 @@ +// 作者 @patriciogv - 2015 +// 标题:Truchet - 10 print + +#ifdef GL_ES +precision mediump float; +#endif + +// 定义圆周率PI +#define PI 3.14159265358979323846 + +// 声明统一变量,用于传入屏幕分辨率、鼠标位置和时间 +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +/** +* 生成在给定点的随机数。 +* +* @param _st 二维坐标点。 +* @return 返回在给定点的随机浮点数。 +*/ +float random (in vec2 _st) { + return fract(sin(dot(_st.xy, + vec2(12.9898,78.233)))* + 43758.5453123); + } + + /** + * 根据Truchet模式和索引生成图案位置。 + * + * @param _st 二维坐标点。 + * @param _index 图案的索引,用于确定旋转和反射。 + * @return 返回变换后的坐标点。 + */ + vec2 truchetPattern(in vec2 _st,in float _index){ + _index=fract(((_index-.5)*2.)); + if(_index>.75){ + _st=vec2(1.)-_st; + }else if(_index>.5){ + _st=vec2(1.-_st.x,_st.y); + }else if(_index>.25){ + _st=1.-vec2(1.-_st.x,_st.y); + } + return _st; + } + + void main(){ + // 计算当前像素相对于画布的坐标,并进行放大处理 + vec2 st=gl_FragCoord.xy/u_resolution.xy; + st*=10.; + + // st = (st-vec2(5.0))*(abs(sin(u_time*0.2))*5.); + // st.x += u_time*3.0; + + vec2 ipos=floor(st);// 整数部分,用于计算块位置 + vec2 fpos=fract(st);// 小数部分,用于计算块内的位置 + + // 应用Truchet模式 + vec2 tile=truchetPattern(fpos,random(ipos)); + + float color=0.; + + // 这里根据tile的x和y值生成迷宫样式的颜色效果 + color=smoothstep(tile.x-.3,tile.x,tile.y)-smoothstep(tile.x,tile.x+.3,tile.y); + + // Circles + // color = (step(length(tile),0.6) - + // step(length(tile),0.4) ) + + // (step(length(tile-vec2(1.)),0.6) - + // step(length(tile-vec2(1.)),0.4) ); + + // Truchet (2 triangles) + // color = step(tile.x,tile.y); + + gl_FragColor=vec4(vec3(color),1.);// 将颜色应用于当前像素 + } \ No newline at end of file diff --git a/src/shaders/getting-started/hello-world/example1.glsl b/src/shaders/getting-started/hello-world/example1.glsl new file mode 100644 index 0000000..323c624 --- /dev/null +++ b/src/shaders/getting-started/hello-world/example1.glsl @@ -0,0 +1,10 @@ +#ifdef GL_ES +precision mediump float; // 使用中等精度的浮点数,适用于OpenGL ES环境 +#endif + +uniform float u_time; // 时间 uniform 变量,可用于动画和动态效果 + +void main() { + // 设置片段颜色为紫色(红色和蓝色分量为最大值,绿色分量为0) + gl_FragColor = vec4(1.0,0.0,1.0,1.0); +} \ No newline at end of file diff --git a/src/shaders/getting-started/uniforms/example1.glsl b/src/shaders/getting-started/uniforms/example1.glsl new file mode 100644 index 0000000..cc619f4 --- /dev/null +++ b/src/shaders/getting-started/uniforms/example1.glsl @@ -0,0 +1,13 @@ +#ifdef GL_ES +precision mediump float; // 在GL_ES环境中使用中等精度的float类型 +#endif + +// uniform变量u_time,代表全局统一变量,其值在程序运行过程中可以被改变 +uniform float u_time; + +// main函数是着色器程序的入口点 +void main() { + // 设置片元颜色为红色(基于时间的正弦函数的绝对值) + // 这里的颜色只有红色分量,其他分量被设置为0,alpha分量为1 + gl_FragColor = vec4(abs(sin(u_time)),0.0,0.0,1.0); +} \ No newline at end of file diff --git a/src/shaders/getting-started/uniforms/example2.glsl b/src/shaders/getting-started/uniforms/example2.glsl new file mode 100644 index 0000000..0488612 --- /dev/null +++ b/src/shaders/getting-started/uniforms/example2.glsl @@ -0,0 +1,16 @@ +#ifdef GL_ES +precision mediump float; // 在支持OpenGL ES的设备上,指定中等精度的浮点数 +#endif + +// 各种全局uniform变量,用于在着色器程序中传递全局变化的参数 +uniform vec2 u_resolution; // 窗口的分辨率 +uniform vec2 u_mouse; // 鼠标的当前位置 +uniform float u_time; // 程序运行的时间 + +// 着色器主函数 +void main() { + // 将当前像素坐标转换为0到1之间的归一化坐标 + vec2 st = gl_FragCoord.xy/u_resolution; + // 将归一化坐标作为颜色输出 + gl_FragColor = vec4(st.x,st.y,0.0,1.0); +} \ No newline at end of file diff --git a/src/shaders/getting-started/uniforms/example3.glsl b/src/shaders/getting-started/uniforms/example3.glsl new file mode 100644 index 0000000..3ca4979 --- /dev/null +++ b/src/shaders/getting-started/uniforms/example3.glsl @@ -0,0 +1,25 @@ +#ifdef GL_ES +precision mediump float; +#endif + +// 定义两个uniform变量,分别表示渲染目标的分辨率和当前时间 +uniform vec2 u_resolution; +uniform float u_time; + +// 定义两种颜色,用于后续混合 +vec3 colorA = vec3(0.149,0.141,0.912); +vec3 colorB = vec3(1.000,0.833,0.224); + +void main() { + // 初始化最终颜色为黑色 + vec3 color = vec3(0.0); + + // 使用时间u_time的正弦值的绝对值作为混合比例 + float pct = abs(sin(u_time)); + + // 根据pct混合两种颜色 + color = mix(colorA, colorB, pct); + + // 将混合后的颜色设置为片段的最终颜色 + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/src/shaders/includes/remap.glsl b/src/shaders/includes/remap.glsl new file mode 100644 index 0000000..f5948d2 --- /dev/null +++ b/src/shaders/includes/remap.glsl @@ -0,0 +1,14 @@ +/** + * 将给定的值从一个原始范围映射到一个新的目标范围。 + * + * @param value 需要被映射的原始值。 + * @param originMin 原始范围的最小值。 + * @param originMax 原始范围的最大值。 + * @param destinationMin 目标范围的最小值。 + * @param destinationMax 目标范围的最大值。 + * @return 映射到目标范围后的新值。 + */ +float remap(float value, float originMin, float originMax, float destinationMin, float destinationMax) { + // 计算并返回映射后的值 + return destinationMin + (value - originMin) * (destinationMax - destinationMin) / (originMax - originMin); +} \ No newline at end of file diff --git a/src/shaders/light/fragmentShader.glsl b/src/shaders/light/fragmentShader.glsl new file mode 100644 index 0000000..425072d --- /dev/null +++ b/src/shaders/light/fragmentShader.glsl @@ -0,0 +1,79 @@ +// iTime: 浮点型,统一变量,表示当前时间 +// iResolution: 三维向量,统一变量,表示视口分辨率 +// iMouse: 四维向量,统一变量,表示鼠标位置(当前未使用) +// vUv: 二维向量,变化变量,表示片段的UV坐标 +// vNormal: 三维向量,变化变量,表示片段的法向量 +// vWorldPosition: 三维向量,变化变量,表示片段的世界空间位置 +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; +uniform samplerCube iChannel0; + +varying vec2 vUv; +varying vec3 vNormal; +varying vec3 vWorldPosition; + +// 计算 fresnel 光学效应的函数 +float fresnel(float bias,float scale,float power,vec3 I,vec3 N) +{ + return bias+scale*pow(1.-dot(I,N),power); +} + +/** +* 计算光照模型的颜色 +* +* 该片段着色器函数计算了一个像素点的颜色,包括环境光、漫反射光、镜面反射光和图像基于光线的反射(IBL)的贡献。 +* 使用了GLSL语言进行光线的计算和颜色的混合。 +* +* @param vUv 纹理坐标,用于获取纹理颜色(在此函数中未使用) +* @return gl_FragColor 输出的颜色,为一个vec4类型,包含RGB颜色和透明度 +*/ +void main(){ + vec2 uv=vUv; + + vec3 normal=normalize(vNormal); // 正常化法向量 + + vec3 col=vec3(0.); // 初始化最终颜色 + vec3 objectColor=vec3(1.); // 物体颜色 + vec3 lightColor=vec3(.875,.286,.333); // 光源颜色 + + // 计算环境光贡献 + float ambIntensity=.2; // 环境光强度 + vec3 ambient=lightColor*ambIntensity; + col+=ambient*objectColor; + + // 计算漫反射光贡献 + vec3 lightPos=vec3(10.,10.,10.); // 光源位置 + vec3 lightDir=normalize(lightPos-vWorldPosition); // 光线方向 + float diff=dot(normal,lightDir); // 漫反射因子 + diff=max(diff,0.); // 保证非负 + vec3 diffuse=lightColor*diff; // 漫反射光颜色 + col+=diffuse*objectColor; + + // 计算镜面反射光贡献 + vec3 reflectDir=reflect(-lightDir,normal); // 镜面反射方向 + vec3 viewDir=normalize(cameraPosition-vWorldPosition); // 观察方向 + vec3 halfVec=normalize(lightDir+viewDir); + float spec=dot(normal,halfVec); // 镜面反射因子 + spec=max(spec,0.); // 保证非负 + float shininess=32.; // 镜面粗糙度 + spec=pow(spec,shininess); // 镜面反射强度 + vec3 specular=lightColor*spec; // 镜面反射光颜色 + col+=specular*objectColor; + + // 计算基于图像的光线反射(IBL)的贡献 + float iblIntensity=.2; // IBL强度 + vec3 iblCoord=normalize(reflect(-viewDir,normal)); // 反射向量用于查询环境贴图 + vec3 ibl=texture(iChannel0,iblCoord).xyz; // 从环境贴图中获取颜色 + vec3 iblLight=ibl*iblIntensity; // 应用强度 + col+=iblLight*objectColor; + + // 计算 fresnel 光学效应的贡献 + vec3 fresColor=vec3(1.); // fresnel颜色 + float fresIntensity=.6; // fresnel强度 + float fres=fresnel(0.,1.,5.,viewDir,normal); // 计算fresnel因子 + vec3 fresLight=fres*fresColor*fresIntensity; // fresnel光颜色 + col+=fresLight*objectColor; + + gl_FragColor=vec4(col,1.); // 输出最终颜色 +} \ No newline at end of file diff --git a/src/shaders/light/vertexShader.glsl b/src/shaders/light/vertexShader.glsl new file mode 100644 index 0000000..1fe046e --- /dev/null +++ b/src/shaders/light/vertexShader.glsl @@ -0,0 +1,28 @@ + +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; + +varying vec2 vUv; +varying vec3 vNormal; +varying vec3 vWorldPosition; + +// 主渲染函数 +// 参数: +// - iTime: 浮点型,统一变量,表示当前时间 +// - iResolution: 三维向量,统一变量,表示渲染分辨率 +// - iMouse: 四维向量,统一变量,表示鼠标位置信息 +// - vUv: 二维向量,变化变量,表示UV纹理坐标 +// - vNormal: 三维向量,变化变量,表示表面法线方向 +// - vWorldPosition: 三维向量,变化变量,表示物体在世界空间中的位置 +void main(){ + vec3 p = position; // 获取顶点位置 + // 计算并设置最终的屏幕坐标 + gl_Position = projectionMatrix * modelViewMatrix * vec4(p, 1.); + + vUv = uv; // 设置UV坐标 + // 计算并设置表面法线方向,首先变换到模型空间 + vNormal = (modelMatrix * vec4(normal, 0.)).xyz; + // 计算并设置顶点在世界空间中的位置 + vWorldPosition = vec3(modelMatrix * vec4(p, 1)); +} \ No newline at end of file diff --git a/src/shaders/mountain/example.glsl b/src/shaders/mountain/example.glsl new file mode 100644 index 0000000..d24d594 --- /dev/null +++ b/src/shaders/mountain/example.glsl @@ -0,0 +1,480 @@ +// Mountains. By David Hoskins - 2013 +// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + +// https://www.shadertoy.com/view/4slGD4 +// A ray-marched version of my terrain renderer which uses +// streaming texture normals for speed:- +// http://www.youtube.com/watch?v=qzkBnCBpQAM + +// It uses binary subdivision to accurately find the height map. +// Lots of thanks to Inigo and his noise functions! + +// Video of my OpenGL version that +// http://www.youtube.com/watch?v=qzkBnCBpQAM + +// Stereo version code thanks to Croqueteer :) +//#define STEREO +#iChannel1"./example.png" + +float treeLine = 0.0; +float treeCol = 0.0; + + +vec3 sunLight = normalize( vec3( 0.4, 0.4, 0.48 ) ); +vec3 sunColour = vec3(1.0, .9, .83); +float specular = 0.0; +vec3 cameraPos; +float ambient; +vec2 add = vec2(1.0, 0.0); +#define HASHSCALE1 .1031 +#define HASHSCALE3 vec3(0.0745, 0.0745, 0.0) +#define HASHSCALE4 vec4(1031, .1030, .0973, .1099) + +// This peturbs the fractal positions for each iteration down... +// Helps make nice twisted landscapes... +const mat2 rotate2D = mat2(1.3623, 1.7531, -1.7131, 1.4623); + +// Alternative rotation:- +// const mat2 rotate2D = mat2(1.2323, 1.999231, -1.999231, 1.22); + + +// 1 out, 2 in... +float Hash12(vec2 p) +{ + vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1); + p3 += dot(p3, p3.yzx + 19.19); + return fract((p3.x + p3.y) * p3.z); +} +vec2 Hash22(vec2 p) +{ + vec3 p3 = fract(vec3(p.xyx) * HASHSCALE3); + p3 += dot(p3, p3.yzx+19.19); + return fract((p3.xx+p3.yz)*p3.zy); + +} + +float Noise( in vec2 x ) +{ + vec2 p = floor(x); + vec2 f = fract(x); + f = f*f*(3.0-2.0*f); + + float res = mix(mix( Hash12(p), Hash12(p + add.xy),f.x), + mix( Hash12(p + add.yx), Hash12(p + add.xx),f.x),f.y); + return res; +} + +vec2 Noise2( in vec2 x ) +{ + vec2 p = floor(x); + vec2 f = fract(x); + f = f*f*(3.0-2.0*f); + float n = p.x + p.y * 57.0; + vec2 res = mix(mix( Hash22(p), Hash22(p + add.xy),f.x), + mix( Hash22(p + add.yx), Hash22(p + add.xx),f.x),f.y); + return res; +} + +//-------------------------------------------------------------------------- +float Trees(vec2 p) +{ + + //return (texture(iChannel1,0.04*p).x * treeLine); + return Noise(p*13.0)*treeLine; +} + + +//-------------------------------------------------------------------------- +// Low def version for ray-marching through the height field... +// Thanks to IQ for all the noise stuff... + +float Terrain( in vec2 p) +{ + vec2 pos = p*0.05; + float w = (Noise(pos*.25)*0.75+.15); + w = 66.0 * w * w; + vec2 dxy = vec2(0.0, 0.0); + float f = .0; + for (int i = 0; i < 5; i++) + { + f += w * Noise(pos); + w = -w * 0.4; //...Flip negative and positive for variation + pos = rotate2D * pos; + } + float ff = Noise(pos*.002); + + f += pow(abs(ff), 5.0)*275.-5.0; + return f; +} + +//-------------------------------------------------------------------------- +// Map to lower resolution for height field mapping for Scene function... +float Map(in vec3 p) +{ + float h = Terrain(p.xz); + + + float ff = Noise(p.xz*.3) + Noise(p.xz*3.3)*.5; + treeLine = smoothstep(ff, .0+ff*2.0, h) * smoothstep(1.0+ff*3.0, .4+ff, h) ; + treeCol = Trees(p.xz); + h += treeCol; + + return p.y - h; +} + +//-------------------------------------------------------------------------- +// High def version only used for grabbing normal information. +float Terrain2( in vec2 p) +{ + // There's some real magic numbers in here! + // The Noise calls add large mountain ranges for more variation over distances... + vec2 pos = p*0.05; + float w = (Noise(pos*.25)*0.75+.15); + w = 66.0 * w * w; + vec2 dxy = vec2(0.0, 0.0); + float f = .0; + for (int i = 0; i < 5; i++) + { + f += w * Noise(pos); + w = - w * 0.4; //...Flip negative and positive for varition + pos = rotate2D * pos; + } + float ff = Noise(pos*.002); + f += pow(abs(ff), 5.0)*275.-5.0; + + + treeCol = Trees(p); + f += treeCol; + if (treeCol > 0.0) return f; + + + // That's the last of the low resolution, now go down further for the Normal data... + for (int i = 0; i < 6; i++) + { + f += w * Noise(pos); + w = - w * 0.4; + pos = rotate2D * pos; + } + + + return f; +} + +//-------------------------------------------------------------------------- +float FractalNoise(in vec2 xy) +{ + float w = .7; + float f = 0.0; + + for (int i = 0; i < 4; i++) + { + f += Noise(xy) * w; + w *= 0.5; + xy *= 2.7; + } + return f; +} + +//-------------------------------------------------------------------------- +// Simply Perlin clouds that fade to the horizon... +// 200 units above the ground... +vec3 GetClouds(in vec3 sky, in vec3 rd) +{ + if (rd.y < 0.01) return sky; + float v = (200.0-cameraPos.y)/rd.y; + rd.xz *= v; + rd.xz += cameraPos.xz; + rd.xz *= .010; + float f = (FractalNoise(rd.xz) -.55) * 5.0; + // Uses the ray's y component for horizon fade of fixed colour clouds... + sky = mix(sky, vec3(.55, .55, .52), clamp(f*rd.y-.1, 0.0, 1.0)); + + return sky; +} + + + +//-------------------------------------------------------------------------- +// Grab all sky information for a given ray from camera +vec3 GetSky(in vec3 rd) +{ + float sunAmount = max( dot( rd, sunLight), 0.0 ); + float v = pow(1.0-max(rd.y,0.0),5.)*.5; + vec3 sky = vec3(v*sunColour.x*0.4+0.18, v*sunColour.y*0.4+0.22, v*sunColour.z*0.4+.4); + // Wide glare effect... + sky = sky + sunColour * pow(sunAmount, 6.5)*.32; + // Actual sun... + sky = sky+ sunColour * min(pow(sunAmount, 1150.0), .3)*.65; + return sky; +} + +//-------------------------------------------------------------------------- +// Merge mountains into the sky background for correct disappearance... +vec3 ApplyFog( in vec3 rgb, in float dis, in vec3 dir) +{ + float fogAmount = exp(-dis* 0.00005); + return mix(GetSky(dir), rgb, fogAmount ); +} + +//-------------------------------------------------------------------------- +// Calculate sun light... +void DoLighting(inout vec3 mat, in vec3 pos, in vec3 normal, in vec3 eyeDir, in float dis) +{ + float h = dot(sunLight,normal); + float c = max(h, 0.0)+ambient; + mat = mat * sunColour * c ; + // Specular... + if (h > 0.0) + { + vec3 R = reflect(sunLight, normal); + float specAmount = pow( max(dot(R, normalize(eyeDir)), 0.0), 3.0)*specular; + mat = mix(mat, sunColour, specAmount); + } +} + +//-------------------------------------------------------------------------- +// Hack the height, position, and normal data to create the coloured landscape +vec3 TerrainColour(vec3 pos, vec3 normal, float dis) +{ + vec3 mat; + specular = .0; + ambient = .1; + vec3 dir = normalize(pos-cameraPos); + + vec3 matPos = pos * 2.0;// ... I had change scale halfway though, this lazy multiply allow me to keep the graphic scales I had + + float disSqrd = dis * dis;// Squaring it gives better distance scales. + + float f = clamp(Noise(matPos.xz*.05), 0.0,1.0);//*10.8; + f += Noise(matPos.xz*.1+normal.yz*1.08)*.85; + f *= .55; + vec3 m = mix(vec3(.63*f+.2, .7*f+.1, .7*f+.1), vec3(f*.43+.1, f*.3+.2, f*.35+.1), f*.65); + mat = m*vec3(f*m.x+.36, f*m.y+.30, f*m.z+.28); + // Should have used smoothstep to add colours, but left it using 'if' for sanity... + if (normal.y < .5) + { + float v = normal.y; + float c = (.5-normal.y) * 4.0; + c = clamp(c*c, 0.1, 1.0); + f = Noise(vec2(matPos.x*.09, matPos.z*.095+matPos.yy*0.15)); + f += Noise(vec2(matPos.x*2.233, matPos.z*2.23))*0.5; + mat = mix(mat, vec3(.4*f), c); + specular+=.1; + } + + // Grass. Use the normal to decide when to plonk grass down... + if (matPos.y < 45.35 && normal.y > .65) + { + + m = vec3(Noise(matPos.xz*.023)*.5+.15, Noise(matPos.xz*.03)*.6+.25, 0.0); + m *= (normal.y- 0.65)*.6; + mat = mix(mat, m, clamp((normal.y-.65)*1.3 * (45.35-matPos.y)*0.1, 0.0, 1.0)); + } + + if (treeCol > 0.0) + { + mat = vec3(.02+Noise(matPos.xz*5.0)*.03, .05, .0); + normal = normalize(normal+vec3(Noise(matPos.xz*33.0)*1.0-.5, .0, Noise(matPos.xz*33.0)*1.0-.5)); + specular = .0; + } + + // Snow topped mountains... + if (matPos.y > 80.0 && normal.y > .42) + { + float snow = clamp((matPos.y - 80.0 - Noise(matPos.xz * .1)*28.0) * 0.035, 0.0, 1.0); + mat = mix(mat, vec3(.7,.7,.8), snow); + specular += snow; + ambient+=snow *.3; + } + // Beach effect... + if (matPos.y < 1.45) + { + if (normal.y > .4) + { + f = Noise(matPos.xz * .084)*1.5; + f = clamp((1.45-f-matPos.y) * 1.34, 0.0, .67); + float t = (normal.y-.4); + t = (t*t); + mat = mix(mat, vec3(.09+t, .07+t, .03+t), f); + } + // Cheap under water darkening...it's wet after all... + if (matPos.y < 0.0) + { + mat *= .2; + } + } + + DoLighting(mat, pos, normal,dir, disSqrd); + + // Do the water... + if (matPos.y < 0.0) + { + // Pull back along the ray direction to get water surface point at y = 0.0 ... + float time = (iTime)*.03; + vec3 watPos = matPos; + watPos += -dir * (watPos.y/dir.y); + // Make some dodgy waves... + float tx = cos(watPos.x*.052) *4.5; + float tz = sin(watPos.z*.072) *4.5; + vec2 co = Noise2(vec2(watPos.x*4.7+1.3+tz, watPos.z*4.69+time*35.0-tx)); + co += Noise2(vec2(watPos.z*8.6+time*13.0-tx, watPos.x*8.712+tz))*.4; + vec3 nor = normalize(vec3(co.x, 20.0, co.y)); + nor = normalize(reflect(dir, nor));//normalize((-2.0*(dot(dir, nor))*nor)+dir); + // Mix it in at depth transparancy to give beach cues.. + tx = watPos.y-matPos.y; + mat = mix(mat, GetClouds(GetSky(nor)*vec3(.3,.3,.5), nor)*.1+vec3(.0,.02,.03), clamp((tx)*.4, .6, 1.)); + // Add some extra water glint... + mat += vec3(.1)*clamp(1.-pow(tx+.5, 3.)*texture(iChannel1, watPos.xz*.1, -2.).x, 0.,1.0); + float sunAmount = max( dot(nor, sunLight), 0.0 ); + mat = mat + sunColour * pow(sunAmount, 228.5)*.6; + vec3 temp = (watPos-cameraPos*2.)*.5; + disSqrd = dot(temp, temp); + } + mat = ApplyFog(mat, disSqrd, dir); + return mat; +} + +//-------------------------------------------------------------------------- +float BinarySubdivision(in vec3 rO, in vec3 rD, vec2 t) +{ + // Home in on the surface by dividing by two and split... + float halfwayT; + + for (int i = 0; i < 5; i++) + { + + halfwayT = dot(t, vec2(.5)); + float d = Map(rO + halfwayT*rD); + t = mix(vec2(t.x, halfwayT), vec2(halfwayT, t.y), step(0.5, d)); + + } + return halfwayT; +} + +//-------------------------------------------------------------------------- +bool Scene(in vec3 rO, in vec3 rD, out float resT, in vec2 fragCoord ) +{ + float t = 1. + Hash12(fragCoord.xy)*1.; + float oldT = 0.0; + float delta = 0.0; + bool fin = false; + bool res = false; + vec2 distances; + for( int j=0; j< 150; j++ ) + { + if (fin || t > 240.0) break; + vec3 p = rO + t*rD; + //if (t > 240.0 || p.y > 195.0) break; + float h = Map(p); // ...Get this positions height mapping. + // Are we inside, and close enough to fudge a hit?... + if( h < 0.5) + { + fin = true; + distances = vec2(oldT, t); + break; + } + // Delta ray advance - a fudge between the height returned + // and the distance already travelled. + // It's a really fiddly compromise between speed and accuracy + // Too large a step and the tops of ridges get missed. + delta = max(0.01, 0.3*h) + (t*0.0065); + oldT = t; + t += delta; + } + if (fin) resT = BinarySubdivision(rO, rD, distances); + + return fin; +} + +//-------------------------------------------------------------------------- +vec3 CameraPath( float t ) +{ + float m = 1.0+(iMouse.x/iResolution.x)*300.0; + t = (iTime*1.5+m+657.0)*.006 + t; + vec2 p = 476.0*vec2( sin(3.5*t), cos(1.5*t) ); + return vec3(35.0-p.x, 0.6, 4108.0+p.y); +} + +//-------------------------------------------------------------------------- +// Some would say, most of the magic is done in post! :D +vec3 PostEffects(vec3 rgb, vec2 uv) +{ + //#define CONTRAST 1.1 + //#define SATURATION 1.12 + //#define BRIGHTNESS 1.3 + //rgb = pow(abs(rgb), vec3(0.45)); + //rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb*BRIGHTNESS)), rgb*BRIGHTNESS, SATURATION), CONTRAST); + rgb = (1.0 - exp(-rgb * 6.0)) * 1.0024; + //rgb = clamp(rgb+hash12(fragCoord.xy*rgb.r)*0.1, 0.0, 1.0); + return rgb; +} + +//-------------------------------------------------------------------------- +void mainImage( out vec4 fragColor, in vec2 fragCoord ) +{ + vec2 xy = -1.0 + 2.0*fragCoord.xy / iResolution.xy; + vec2 uv = xy * vec2(iResolution.x/iResolution.y,1.0); + vec3 camTar; + + #ifdef STEREO + float isCyan = mod(fragCoord.x + mod(fragCoord.y,2.0),2.0); + #endif + + // Use several forward heights, of decreasing influence with distance from the camera. + float h = 0.0; + float f = 1.0; + for (int i = 0; i < 7; i++) + { + h += Terrain(CameraPath((.6-f)*.008).xz) * f; + f -= .1; + } + cameraPos.xz = CameraPath(0.0).xz; + camTar.xyz = CameraPath(.1).xyz; + camTar.y = cameraPos.y = max((h*.25)+3.5, 1.5+sin(iTime*5.)*.5); + camTar.y -= smoothstep(60.0, 300.0,cameraPos.y)*150.; + + float roll = 0.15*sin(iTime*.2); + vec3 cw = normalize(camTar-cameraPos); + vec3 cp = vec3(sin(roll), cos(roll),0.0); + vec3 cu = normalize(cross(cw,cp)); + vec3 cv = normalize(cross(cu,cw)); + vec3 rd = normalize( uv.x*cu + uv.y*cv + 1.5*cw ); + + #ifdef STEREO + cameraPos += .45*cu*isCyan; // move camera to the right - the rd vector is still good + #endif + + vec3 col; + float distance; + if( !Scene(cameraPos,rd, distance, fragCoord) ) + { + // Missed scene, now just get the sky value... + col = GetSky(rd); + col = GetClouds(col, rd); + } + else + { + // Get world coordinate of landscape... + vec3 pos = cameraPos + distance * rd; + // Get normal from sampling the high definition height map + // Use the distance to sample larger gaps to help stop aliasing... + float p = .02+.00005 * distance * distance; + vec3 nor = vec3(0.0, Terrain2(pos.xz), 0.0); + vec3 v2 = nor-vec3(p, Terrain2(pos.xz+vec2(p,0.0)), 0.0); + vec3 v3 = nor-vec3(0.0, Terrain2(pos.xz+vec2(0.0,-p)), -p); + nor = cross(v2, v3); + nor = normalize(nor); + + // Get the colour using all available data... + col = TerrainColour(pos, nor, distance); + } + + col = PostEffects(col, uv); + + #ifdef STEREO + col *= vec3( isCyan, 1.0-isCyan, 1.0-isCyan ); + #endif + + fragColor=vec4(col,1.0); +} + diff --git a/src/shaders/mountain/example.png b/src/shaders/mountain/example.png new file mode 100644 index 0000000..5f05401 Binary files /dev/null and b/src/shaders/mountain/example.png differ diff --git a/src/shaders/others/sunset/example1.glsl b/src/shaders/others/sunset/example1.glsl new file mode 100644 index 0000000..dbf2991 --- /dev/null +++ b/src/shaders/others/sunset/example1.glsl @@ -0,0 +1,63 @@ + +// William Turner,著名的英国浪漫主义风景画家,以其对光线和色彩的独特运用而著称,尤其是在描绘海景和落日时展现了非凡的情感深度和表现力。为了创作一个渐变来代表Turner风格的落日,我们可以尝试捕捉那种充满活力、色彩丰富且带有强烈情感氛围的色彩过渡。 +// 想象一下,一个Turner式的落日天空,色彩从下至上可能是这样的: +// 深蓝至紫色(底部):落日开始时,天空接近地平线的地方可能会有一抹深邃的蓝色,向上逐渐过渡到紫色,暗示着夜幕即将降临的宁静与深沉。 +// 橙黄融合区:紧接着,是落日的核心区域,一片绚烂的橙色与黄色交融,象征着太阳最后的辉煌。这部分色彩可以非常鲜艳,仿佛阳光在云层中燃烧,散发出温暖而强烈的光芒。 +// 粉红与红紫:在这片橙黄之上,天空可能会呈现出淡淡的粉色,逐渐过渡到红紫色,这种色彩的渐变体现了光线在大气中散射的美丽现象,也增添了画面的浪漫氛围。 +// 金色光辉:在某些区域,特别是云层边缘或是太阳周围的天空,可能会有金色的光辉点缀,这是Turner作品中常用的元素,用来表达自然界的神圣和壮丽。 +// 淡蓝至白色(顶部):最上方,天空渐渐变为淡蓝色乃至几乎白色的区域,代表着高空中尚未被夕阳染色的纯净天空,增加了整个画面的深度和层次感。 + +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +// 威廉·透纳风格的色彩配置 +vec3 skyColor = vec3(0.8, 0.4, 0.8); // 温暖的紫色/粉色调天空 +vec3 sunColor = vec3(1.0, 0.8, 0.3); // 太阳的金黄色 +vec3 seaColor = vec3(0.2, 0.5, 0.8); // 深邃的海蓝色 +vec3 cloudColor = vec3(1.0, 0.9, 0.8); // 云彩的浅白色 + +float sunRadius = 0.08; // 太阳半径比例 +float cloudCoverage = 0.5; // 云彩覆盖程度(0到1) + +// 计算太阳位置 +vec2 getSunPosition() { + return vec2(0.5 + 0.1 * sin(u_time), 0.5 + 0.1 * cos(u_time)); +} + +// 计算云彩噪声 +float noise(vec2 p) { + return fract(sin(dot(p, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main() { + vec2 st = gl_FragCoord.xy/u_resolution; + vec3 color = vec3(0.0); + + // 太阳效果 + vec2 sunPos = getSunPosition(); + float distanceToSun = length(st - sunPos); + if (distanceToSun < sunRadius) { + color = sunColor; + } else { + // 天空渐变 + color = mix(skyColor, vec3(0.2, 0.2, 0.4), distanceToSun / sunRadius); + + // 海洋效果 + if (st.y > 0.6) { + color = mix(color, seaColor, smoothstep(0.6, 0.7, st.y)); + } + + // 添加云彩效果 + float cloudNoise = noise(st * 10.0 + u_time * 0.1); + if (cloudNoise > cloudCoverage) { + color = mix(color, cloudColor, 0.5); + } + } + + gl_FragColor = vec4(color, 1.0); +} \ No newline at end of file diff --git a/src/shaders/others/sunset/example2.glsl b/src/shaders/others/sunset/example2.glsl new file mode 100644 index 0000000..ce4ad12 --- /dev/null +++ b/src/shaders/others/sunset/example2.glsl @@ -0,0 +1,76 @@ +#ifdef GL_ES +precision mediump float; +#endif + +uniform vec2 u_resolution; +uniform vec2 u_mouse; +uniform float u_time; + +// 透纳风格色彩配置增强 +vec3 skyTopColor=vec3(.8,.4,.8);// 温暖的紫罗兰色天空顶部 +vec3 sunsetColor=vec3(1.,.6,.1);// 落日时分的金橙色 +vec3 sunCoreColor=vec3(1.,.9,.7);// 太阳核心的强烈光芒 +vec3 seaBaseColor=vec3(.05,.2,.5);// 深海蓝 +vec3 seaReflectColor=vec3(1.,.8,.6);// 海面反射的夕阳色彩 +vec3 cloudBaseColor=vec3(1.,.95,.9);// 云的基础色 +vec3 cloudShadowColor=vec3(.7,.7,.7);// 云的阴影部分 + +float sunRadius=.05;// 太阳半径比例调整 +float cloudDensity=.3;// 云密度调整(影响云的可见度) +float cloudSpeed=.1;// 云移动速度 + + +// 计算云彩噪声 +float noise(vec2 p) { + return fract(sin(dot(p, vec2(12.9898, 78.233))) * 43758.5453); +} + +// 太阳位置计算考虑时间变化 +vec2 getSunPosition(){ + return vec2(.5+.1*sin(u_time),.5+.1*cos(u_time)); +} + +// 云彩噪声函数,增加复杂度 +float fbm(vec2 p){ + float value=0.; + float freq=.5; + float amp=.5; + for(int i=0;i<4;i++){ + value+=noise(p*freq)*amp; + freq*=1.9; + amp*=.5; + } + return value; +} + +void main(){ + vec2 st=gl_FragCoord.xy/u_resolution; + vec3 color=vec3(0.); + + // 太阳核心 + vec2 sunPos=getSunPosition(); + float distToSun=length(st-sunPos); + if(distToSun.6){ + float waterDistort=fbm(vec2(st.x+u_time*cloudSpeed,st.y))*.02; + float reflectIntensity=smoothstep(.6,.7,st.y+waterDistort); + color=mix(color,seaReflectColor,reflectIntensity); + color=mix(color,seaBaseColor,1.-reflectIntensity); + } + + // 云彩 + float cloudNoise=fbm(vec2(st.x*10.+u_time*cloudSpeed,st.y*5.)); + float cloudAlpha=smoothstep(cloudDensity-.1,cloudDensity+.1,cloudNoise); + color=mix(color,cloudBaseColor,cloudAlpha); + color.rgb*=mix(vec3(1.),cloudShadowColor,.2*cloudAlpha);// 给云彩添加轻微阴影 + } + + gl_FragColor=vec4(color,1.); +} \ No newline at end of file diff --git a/src/shaders/others/sunset/sunsetjpg.jpg b/src/shaders/others/sunset/sunsetjpg.jpg new file mode 100644 index 0000000..4735807 Binary files /dev/null and b/src/shaders/others/sunset/sunsetjpg.jpg differ diff --git a/src/shaders/postprocessing/frag.glsl b/src/shaders/postprocessing/frag.glsl new file mode 100644 index 0000000..cb6e716 --- /dev/null +++ b/src/shaders/postprocessing/frag.glsl @@ -0,0 +1,52 @@ +#include "/node_modules/lygia/generative/random.glsl" + +//全局变量:时间,分辨率,鼠标位置,纹理,RGB偏移量,透明度,UV坐标 +uniform float iTime; //当前时间 +uniform vec2 iResolution; //视口分辨率 +uniform vec2 iMouse; //鼠标位置 + +uniform sampler2D tDiffuse; //输入的纹理 +uniform float uRGBShift; //RGB颜色偏移量 +uniform float uOpacity; //纹理的透明度 +varying vec2 vUv; //片元的UV坐标 + +/** + * 添加噪声颗粒效果到颜色中。 + * @param uv 片元的UV坐标 + * @param col 原始颜色 + * @return 添加了噪声颗粒效果的颜色 + */ +vec3 grain(vec2 uv, vec3 col) { + float noise = random(uv + iTime); //基于UV和时间的随机噪声 + col += (noise - .5) * .1; //将噪声融入颜色 + return col; +} + +/** + * 对纹理进行RGB偏移处理。 + * @param tex 输入的纹理 + * @param uv 片元的UV坐标 + * @param amount RGB偏移量的大小 + * @return 经过RGB偏移处理后的颜色 + */ +vec4 RGBShift(sampler2D tex, vec2 uv, float amount) { + vec2 rUv = uv; vec2 gUv = uv; vec2 bUv = uv; //初始化RGB的UV坐标 + float noise = random(uv + iTime) * .5 + .5; //基于UV和时间的随机噪声,用于计算偏移角度 + vec2 offset = amount * vec2(cos(noise), sin(noise)); //计算偏移量 + rUv += offset; //应用偏移量到R通道的UV + gUv += offset * .5; //应用偏移量到G通道的UV,量为R的一半 + bUv += offset * .25; //应用偏移量到B通道的UV,量为R的四分之一 + vec4 rTex = texture(tex, rUv); //采样R通道颜色 + vec4 gTex = texture(tex, gUv); //采样G通道颜色 + vec4 bTex = texture(tex, bUv); //采样B通道颜色 + vec4 col = vec4(rTex.r, gTex.g, bTex.b, gTex.a); //组合RGB颜色和G通道的透明度 + return col; +} + +void main() { + vec2 uv = vUv; //获取当前片元的UV坐标 + vec4 tex = RGBShift(tDiffuse, uv, uRGBShift); //对纹理进行RGB偏移处理 + vec3 col = tex.xyz; //获取处理后的颜色 + col = grain(uv, col); //添加噪声颗粒效果到颜色中 + gl_FragColor = vec4(col, 1.); //将最终颜色设置为片元颜色 +} \ No newline at end of file diff --git a/src/shaders/radar/fragment.glsl b/src/shaders/radar/fragment.glsl new file mode 100644 index 0000000..b0ba55c --- /dev/null +++ b/src/shaders/radar/fragment.glsl @@ -0,0 +1,50 @@ +//from https://www.shadertoy.com/view/3sBfzV# +uniform vec3 iResolution; // viewport resolution (in pixels) +uniform float iTime; // shader playback time (in seconds) + +#define n 10. + +// 定义一个基于输入p生成随机数的宏 +#define rand(p) fract(sin(sin(p) * mat2(12.9898, 78.233, 78.233, 12.9898)) * 143758.5453) + +// 定义一个计算点p到圆心的距离,并根据宽度w和半径r计算平滑步长的宏 +#define Circle(w, p, r) smoothstep( w, 0., abs(length(p) - r ) ) + +// 主渲染函数,输出颜色值到gl_FragColor +void main() +{ + vec2 R = iResolution.xy; // 获取屏幕分辨率 + vec2 uv = (gl_FragCoord.xy - 0.75 * R) / R.y; // 将屏幕坐标转换为归一化设备坐标 + float t = iTime; // 获取当前时间 + vec3 col = vec3(0.); // 初始化颜色值为黑色 + vec2 p = uv; // 将uv坐标赋值给p,用于后续计算 + vec2 p1 = vec2(sin(t), cos(t)); // 根据当前时间计算一个旋转的向量p1 + vec2 PtoP0P1 = p - dot(p1, p) * p1; // 计算p到原点的向量在p1方向上的投影 + float d = length(PtoP0P1); // 计算p到p1的垂直距离 + if (dot(p, p1) < 0.) { // 如果p在p1的反方向上 + d = length(p); // 则距离为p到原点的距离 + } + vec2 cl = vec2(0.5, 0.); // 定义颜色的基本值 + col = .006 / d * cl.yxy; // 根据距离调整颜色值,使其随距离增加而减弱 + float r = length(p1); // 计算p1的长度,即半径 + float i = round(n * length(p) / r); // 计算当前点在圆周上的索引 + float w = 2. * r / R.y; // 计算圆环的宽度 + float circle = Circle(w, p, r * i / n); // 根据索引计算当前点在圆周上的平滑步长值 + + col += circle * cl.yxy; // 将圆周上的颜色值累加到总颜色值上 + + // vec2 delay = vec2(1., 20.) * (1. + p1); // 计算延迟效果的参数 + // if (delay.x > 0.99) { // 如果延迟效果满足条件 + // float echoR = mix(r, 0., delay.y); // 计算回声效果的半径 + // float circle = Circle(w, p, echoR); // 根据回声半径计算圆周上的平滑步长值 + // col += circle * cl.yxy; // 将回声效果的颜色值累加到总颜色值上 + // } else { // 否则 + // vec2 enemy = vec2(-0.2 + 0.5 * cos(0.01 * floor(t))); // 计算一个随时间变化的敌对点位置 + // col += .005 / length(p - enemy) * cl.xyy; // 根据敌对点位置调整颜色值 + // } + + float dTargets = length(rand(p - 1e-6 * log(t + 100.))); // 计算当前点到随机目标点的距离 + col += .02 / dTargets * cl.yxy; // 根据距离调整颜色值,使其随距离增加而减弱 + + gl_FragColor = vec4(col, 1); // 将最终颜色值输出到gl_FragColor +} \ No newline at end of file diff --git a/src/shaders/raymarching-scene/frag.glsl b/src/shaders/raymarching-scene/frag.glsl new file mode 100644 index 0000000..a52ca86 --- /dev/null +++ b/src/shaders/raymarching-scene/frag.glsl @@ -0,0 +1,254 @@ +#define COLOR_1 vec3(.757,.765,.729) +#define COLOR_2 vec3(.553,.239,.227) +#define COLOR_3 vec3(.278,.039,.063) +#define COLOR_4 vec3(.001,.001,.001) +#define COLOR_5 vec3(.745,.596,.341) +#define COLOR_6 vec3(.302,.082,.098) + +// 定义基本的渲染参数 +#define RESOLUTION iResolution.xy// 分辨率 +#define RAYMARCH_SAMPLES 128// 光线步进采样次数 +#define RAYMARCH_MULTISAMPLE 1// 多重采样次数,用于抗锯齿 +#define RAYMARCH_BACKGROUND vec3(0.)// 背景颜色 +#define RAYMARCH_CAMERA_FOV 2.// 相机视场角 + +// 引入外部GLSL文件,用于计算屏幕比例 +#include "/node_modules/lygia/space/ratio.glsl" + +// 定义自定义材质函数的宏 +#define RAYMARCH_MATERIAL_FNC raymarchCustomMaterial +// 自定义材质函数,定义了材质的表现。 +vec3 raymarchCustomMaterial(vec3 ray,vec3 pos,vec3 nor,vec3 map); + +// 引入光线追踪和Signed Distance Function相关的GLSL代码 +#include "/node_modules/lygia/lighting/raymarch.glsl" +#include "/node_modules/lygia/sdf.glsl" +// 如果没有定义opRepeat,则使用opRepite操作 +#ifndef opRepeat +#define opRepeat opRepite +#endif + +/** +* 将世界坐标转换为“Jumpy Dumpty”空间中的坐标。 +* 这个函数主要用于场景中物体位置的动态调整,创造出跳跃和抖动的效果。 +* +* @param p 世界空间中的坐标 +* @return 转换后的“Jumpy Dumpty”空间坐标 +*/ +vec3 worldPosToJumpyDumpty(vec3 p){ + // 初始位置调整,创造抖动效果 + p.x-=1.5; + p.z-=iTime*2.; + p.y-=abs(sin(iTime*5.))*.2; + // 使用opRepeat函数进行周期性空间映射 + p=opRepeat(p,vec3(3.)); + return p; +} + +/** +* 自定义材质函数,用于光线映射过程中决定表面如何反射光线。 +* +* @param ray 光线向量,表示当前光线的方向。 +* @param pos 表面位置向量,表示当前光线击中的表面位置。 +* @param nor 表面法向量,表示与表面垂直的向量。 +* @param map 纹理映射向量,用于决定材质的表现。 +* @return 返回一个三元组,表示反射后的颜色。 +*/ +vec3 raymarchCustomMaterial(vec3 ray,vec3 pos,vec3 nor,vec3 map){ + vec3 posOrigin=pos; + + // 如果纹理映射的总和小于等于0,返回背景颜色。 + if(sum(map)<=0.){ + return RAYMARCH_BACKGROUND; + } + + vec3 col=vec3(0.); // 初始化颜色向量 + + // 应用基础颜色 + col+=map*.2; + + // 计算漫反射 + vec3 lightPos=vec3(10.); // 光源位置 + vec3 lightDir=normalize(lightPos-pos); // 光线方向 + float diff=max(dot(lightDir,nor),0.); // 漫反射系数 + float shadow=raymarchSoftShadow(pos,lightDir,.05,1.5); // 计算软阴影 + col+=map*diff*shadow; // 应用漫反射颜色 + + // 计算镜面反射和高光 + vec3 reflectDir=reflect(-lightDir,nor); // 计算反射方向 + vec3 viewDir=normalize(-ray); // 观察方向 + vec3 halfVec=normalize(lightDir+viewDir); // 半向量 + float spec=pow(max(dot(nor,halfVec),0.),32.); // 高光系数 + col+=map*spec; // 应用高光颜色 + + // 如果位置在y轴上高于2.,返回背景颜色 + if(pos.y>2.){ + return RAYMARCH_BACKGROUND; + } + + // 特殊位置处理 + pos=worldPosToJumpyDumpty(pos); + + // 根据不同的纹理映射,应用不同的特殊效果 + if(map==COLOR_1){ + // 头部效果处理 + + // 处理眼睛 + vec2 uv1=pos.xy; // 使用位置坐标初始化uv坐标 + uv1.x=abs(uv1.x); // 确保眼睛在X轴的正半轴 + uv1/=vec2(.75,.5); // 调整uv坐标的尺度 + uv1-=vec2(-.15,.4); // 移动眼睛的位置 + float c1=circleSDF(uv1); // 使用圆的Signed Distance Field函数计算眼睛区域 + float eye=1.-smoothstep(.15,.151,c1); // 使用平滑步长函数来柔和眼睛的边缘 + col=mix(col,COLOR_3,eye); // 将眼睛的颜色混合到最终颜色中 + + // 处理嘴巴 + vec2 uv2=pos.xy; // 同样使用位置坐标初始化uv坐标 + uv2.x=abs(uv2.x); // 确保嘴巴在X轴的正半轴 + uv2.y-=.4; // 调整嘴巴在Y轴上的位置 + uv2.y*=-1.; // 翻转Y轴方向,使得嘴巴在屏幕下方 + float c2=lineSDF(uv2,vec2(0.),vec2(.05)); // 使用线的Signed Distance Field函数计算嘴巴区域 + float mouth=1.-smoothstep(.0125,.01251,c2); // 使用平滑步长函数来柔和嘴巴的边缘 + col=mix(col,COLOR_3,mouth); // 将嘴巴的颜色混合到最终颜色中 + }else if(map==COLOR_4){ + // 腰带处理: 为当前位置应用腰带样式的处理效果。 + vec2 uv3=pos.xy; // 使用当前位置的xy坐标。 + uv3/=vec2(.4); // 缩小坐标,调整腰带的尺寸。 + uv3-=vec2(-.5,-.18); // 移动坐标,定位腰带的位置。 + uv3=fract(uv3); // 取余操作,确保坐标在[0,1)的范围内,适用于周期性图案。 + float c3=circleSDF(uv3); // 计算在当前坐标上的圆的Signed Distance Field(签距离场)。 + float polka=1.-smoothstep(.15,.151,c3); // 应用平滑步骤来确定像素是否属于圆点的一部分。 + col=mix(col,COLOR_5,polka); // 根据圆点的判断结果,混合颜色以添加腰带效果。 + }else if(map==COLOR_2){ + // 身体纹理处理 + // 对位置进行处理,生成身体的纹理效果 + vec2 uv4=pos.xy; + uv4/=vec2(.4); // 缩小并平移坐标 + uv4-=vec2(-.5,.05); + uv4.y/=.6; // 修改y轴缩放 + uv4.y*=-1.; // 翻转y轴 + float c4=triSDF(uv4); // 应用三角形 Signed Distance Field (SDF) 函数 + float tri=1.-smoothstep(1.8,1.81,c4); // 使用 smoothstep 函数平滑过渡 + col=mix(col,COLOR_6,tri); // 将纹理颜色与原颜色混合 + + // 身体条纹处理 + // 处理位置,生成身体上的条纹效果 + vec2 uv5=pos.xy; + uv5/=vec2(.4); // 缩小并平移坐标 + uv5-=vec2(-.5,-1.05); + float c5=uv5.y; // 获取y坐标值用于计算 + float stripe=smoothstep(.09,.1,c5)-smoothstep(.19,.2,c5); // 使用 smoothstep 函数创建条纹 + col=mix(col,COLOR_5,stripe); // 将条纹颜色与原颜色混合 + + // 心形纹理处理 + // 处理位置,生成心形纹理效果 + vec2 uv6=pos.xy; + uv6/=vec2(.4); // 缩小并平移坐标 + uv6-=vec2(-.7,-1.9); + uv6.y/=.7; // 修改y轴缩放 + uv6.x/=1.4; // 修改x轴缩放 + float c6=heartSDF(uv6); // 应用心形 SDF 函数 + float heart=1.-smoothstep(1.8,1.81,c6); // 使用 smoothstep 函数平滑过渡 + col=mix(col,COLOR_5,heart); // 将心形颜色与原颜色混合 + } + + // 雾效处理 + float fog=exp(-.000005*pow(posOrigin.z,6.)); + col=mix(col,RAYMARCH_BACKGROUND,1.-fog); + + return col; // 返回最终颜色 + } + + /** + * 计算并返回一个“跳跃的 Dumpty”形状的 vec4 值,包含形状的 sdf 值和颜色。 + * + * @param p 输入的三维坐标,代表当前点的位置。 + * @param res 初始的 vec4 结果,用于累积各个部分的 sdf 值和颜色。 + * @return 计算后的 vec4 结果,包含整个“跳跃的 Dumpty”形状的 sdf 值和颜色。 + */ + vec4 jumpyDumpty(vec3 p,vec4 res){ + // 计算头部 + vec3 p1=p; + float head=sphereSDF(p1,.69);// 头部球体 + head=opIntersection(head,boxSDF(p1-vec3(0.,1.3,0.),vec3(1.)));// 头部方体,用于给球体增加形状 + res=opUnion(res,vec4(COLOR_1,head));// 将头部的 sdf 值和颜色加入到累积结果中 + + // 计算耳朵 + vec3 p2=p; + p2.x=abs(p2.x);// 确保耳朵对称 + float ear=ellipsoidSDF(rotate(p2-vec3(.45,.7,0.),-PI/3.,vec3(0.,0.,1.)),vec3(.1,.25,.1));// 耳朵椭球体 + res=opUnion(res,vec4(COLOR_1,ear),.025);// 将耳朵的 sdf 值和颜色加入到累积结果中,.025 为混合权重 + + // 计算身体 + vec3 p3=p; + p3.y-=.3; + p3.y/=.8;// 调整身体的形状 + float body=coneSDF(p3-vec3(0.,-.6,0.),.75,.5,1.);// 身体圆锥体 + body=opIntersection(body,boxSDF(p3-vec3(0.,-1.,0.),vec3(1.)));// 身体下方的方体,用于给圆锥体增加形状 + body*=.8;// 调整身体的大小 + res=opUnion(res,vec4(COLOR_2,body));// 将身体的 sdf 值和颜色加入到累积结果中 + + // 计算裙带 + vec3 p4=p; + p4.y-=.14; + p4.y/=.8; + p4/=1.05; + p4.y*=-1.;// 调整裙带的形状 + float skirt=coneSDF(p4-vec3(0.,-.6,0.),.75,.5,1.);// 裙带圆锥体 + skirt=opIntersection(skirt,boxSDF(p4-vec3(0.,-1.,0.),vec3(1.)));// 裙带下方的方体,用于给圆锥体增加形状 + skirt*=.8;// 调整裙带的大小 + p4*=1.05; + skirt=opIntersection(skirt,boxSDF(p4-vec3(0.,.8,0.),vec3(1.)));// 与身体上部的方体相交,形成裙带的边缘 + res=opUnion(res,vec4(COLOR_2,skirt));// 将裙带的 sdf 值和颜色加入到累积结果中 + + // 计算腰带 + vec3 p5=p; + p5.y-=.24; + p5.y/=.8; + p5/=1.04; + float belt=coneSDF(p5-vec3(0.,-.6,0.),.75,.5,1.);// 腰带圆锥体 + belt=opIntersection(belt,boxSDF(p5-vec3(0.,-1.,0.),vec3(1.)));// 腰带下方的方体,用于给圆锥体增加形状 + belt*=.8;// 调整腰带的大小 + p5*=1.04; + belt=opIntersection(belt,boxSDF(p5-vec3(0.,.8,0.),vec3(1.)));// 与身体上部的方体相交,形成腰带的边缘 + res=opUnion(res,vec4(COLOR_4,belt));// 将腰带的 sdf 值和颜色加入到累积结果中 + + return res;// 返回最终的累积结果 + } + + // 定义SDF图层操作,用于光线映射。 + // 参数 p: 当前点的位置向量。 + // 返回值 res: 经过SDF图层操作后的结果,包含颜色和深度信息的向量。 + vec4 raymarchMap(vec3 p){ + vec4 res=vec4(1.);// 初始化结果向量 + // 将当前点转换到“跳跃 Dumpty”空间,并对结果进行处理。 + vec3 p1=p; + p1=worldPosToJumpyDumpty(p1); + res=jumpyDumpty(p1,res); + + // 处理平面SDF图层,并与之前的结果进行合并。 + vec3 p2=p; + res=opUnion(res,vec4(vec3(1.),planeSDF(p2)+.75)); + + return res;// 返回合并后的结果 + } + + // 主函数,负责渲染图像。 + // 参数 fragColor: 输出的像素颜色。 + // 参数 fragCoord: 当前像素的坐标。 + void mainImage(out vec4 fragColor,in vec2 fragCoord){ + // 计算当前像素的UV坐标,并调整其比例以适应屏幕。 + vec2 uv=fragCoord/iResolution.xy; + uv=ratio(uv,iResolution.xy); + + // 初始化颜色变量,并设置相机位置。 + vec3 col=vec3(0.); + // vec3 camera=vec3(0.,10.,30.); // 默认相机位置 + vec3 camera=vec3(-30.,15.,50.);// 设置新的相机位置 + + // 执行光线映射,并将结果赋值给颜色变量。 + col=raymarch(camera,uv).rgb; + + // 将最终颜色赋值给像素。 + fragColor=vec4(col,1.); + } \ No newline at end of file diff --git a/src/shaders/shader-record.md b/src/shaders/shader-record.md new file mode 100644 index 0000000..8710f9a --- /dev/null +++ b/src/shaders/shader-record.md @@ -0,0 +1,174 @@ +### introduce +a shader course from https://juejin.cn/book/7267462574734573604 + +### chatper1 +1. **技术平台与语言选择**:我们聚焦于WebGL平台,这是一种允许在网页浏览器中进行硬件加速3D图形渲染的技术。在此基础上,我们学习了GLSL(OpenGL Shading Language),这是用于编写WebGL着色器的专用编程语言。 + +2. **WebGL渲染管线理解**:WebGL的渲染流程主要包括几个核心步骤:顶点着色器处理顶点数据,进行位置变换等操作;随后是图元装配,将顶点组合成线、三角形等基本图元;接着是光栅化过程,将图元转换为屏幕上的像素;最后,片元着色器决定每个像素的最终颜色。作为程序员,我们直接编程控制的是顶点着色器和片元着色器。 + +3. **Shader开发环境**:学习和编写Shader代码可以通过在线网站或本地编辑器进行。在线平台提供了便捷性,而编辑器则通常需要安装额外的插件来支持Shader语言特性,如语法高亮、实时预览和代码格式化等功能,以提升开发效率。 + +4. **Shader基础结构**:在GLSL中,片元着色器(Fragment Shader)的核心函数是`mainImage()`(或更通用的`main()`),它接收两个主要参数:`fragColor`用于输出像素颜色,`fragCoord`提供了像素在屏幕上的坐标。通过操作这些参数,我们可以实现丰富的视觉效果。 + +5. **颜色输出与坐标处理**:我们了解到如何通过定义`vec`类型的变量并赋值给`fragColor`来输出颜色,颜色值需在0到1之间归一化。此外,掌握根据像素坐标(`fragCoord`)来动态计算颜色是Shader编程的核心技能,这使得我们可以根据屏幕位置创造出各种各样的视觉图案。 + +这段总结标志着Shader编程学习的初步探索,随着学习的深入,我们将进一步探索更高级的着色技术、纹理映射、光照模型、以及复杂的动画和交互效果,开启更为丰富多彩的视觉创作之旅。 + +### chatper2 +GLSL(OpenGL Shading Language)是专为图形处理器(GPU)设计的一种高级着色语言,以下是其基础知识的概览: + +1. **变量定义与初始化**: + - 变量定义遵循 `变量类型 变量名 = 值;` 的格式。 + - 标量类型包括 `float`(浮点数)、`int`(整数)、`bool`(布尔值)。 + - 向量类型如 `vec2`, `vec3`, `vec4` 分别代表二维至四维向量。 + - 矩阵类型如 `mat2`, `mat3`, `mat4` 用于二维至四维矩阵操作。 + - 向量分量可通过`.`访问,如 `vec3 pos;` 中的 `pos.x` 访问x分量。 + - 结构体 `struct` 可封装多个变量为单一变量。 + - 支持变量的先声明后赋值。 + +2. **运算符与表达式**: + - 包括基本的算术(`+`, `-`, `*`, `/`)、赋值(`+=`)、比较(`>`, `<`, `==`)、逻辑(`&&`, `||`, `!`)运算符。 + +3. **函数**: + - 支持函数定义与调用,需明确参数和返回值类型。 + +4. **控制流程**: + - 提供标准的控制结构,如 `if` 条件判断和 `for` 循环。 + +5. **变量限定符**: + - 使用限定符指定变量存储和使用特性,例如 `uniform` 表示全局且不可更改的变量,`const` 表示常量。 + +6. **宏定义**: + - 支持预处理宏指令,格式为 `#define 宏名 宏值`,**实现编译时文本替换**。 + +综上,GLSL不仅涵盖了基础的数据类型和运算逻辑,还具备高级编程特性,如函数封装、控制流程和宏定义,为开发者在GPU上实现复杂图形和着色效果提供了灵活的工具集。接下来的学习将深入探讨如何利用GLSL进行Shader图形绘画。 + +### chatper3 +关于图形学中使用UV坐标进行着色和图形绘制的摘要 + +1. **UV坐标转换与图形绘制**: + - UV坐标是将屏幕空间或纹理坐标系映射到特定范围(通常是[0,1]区间内)的坐标,便于纹理贴图和图形绘制。 + - 利用归一化的UV坐标,可以通过各种数学运算绘制不同的图形,如圆形,通过计算UV点到中心的距离,并应用`smoothstep`函数实现边缘平滑。 + +2. **图形效果调整**: + - `smoothstep`函数不仅用于圆形绘制,还能调整图形边缘模糊度,实现柔和过渡效果。 + - 反比例函数可以创造发光效果,增加视觉吸引力。 + +3. **SDF(Signed Distance Function)技术**: + - SDF是一种表示图形距离场的方法,可以高效地绘制图形并实现布尔运算。 + - SDF图形可通过`opRound`实现边缘圆滑(圆角效果)和`opOnion`实现图形镂空效果。 + - 布尔运算(并集、交集、差集)在SDF中用于组合图形,创造复杂设计,包括平滑布尔运算以优化边缘连接。 + +4. **图形变换与混合**: + - UV坐标可以通过基本的数学运算(如加减乘除、负值、矩阵乘法)进行平移、缩放、翻转和旋转等变换。 + - 使用`fract`函数可以创建重复图案,`abs`函数实现镜像效果。 + - `mix`函数作为混合工具,能够帮助创建渐变色、为图形上色,以及实现形状之间的平滑过渡。 + +5. **高级技巧**: + - 利用周期性函数如`fract`和`sin`,可以绘制出具有重复图案的效果。 + - 极坐标系统特别适用于圆形或环状图案的绘制。 + +6. **UV绘画的重要性**: + - UV绘画在Shader编程中占据核心地位,熟练掌握可大幅增强视觉效果创作能力,使开发者成为Shader设计高手。 + +总结中提到的这些概念和技术,是图形编程和Shader开发中的基础而强大的工具,适用于创建丰富多样的视觉效果和交互体验。 + +### chapter4 +本文要点概括如下: +1. **纹理引入方法**:Shader程序可通过多种方式集成纹理,选择最合适的方法依据具体需求而定。 +2. **纹理采样展示**:GLSL中的`texture`函数用于从纹理中进行采样,并将结果显示在屏幕上。 +3. **纹理扭曲技术**:通过调整纹理坐标UV来实现纹理形状的扭曲,常运用`sin`等数学函数计算扭曲坐标,创造动态效果。 +4. **可视化调试工具**:Graphtoy作为可视化调试工具,能够帮助开发者直观地调试Shader函数,提高效率。 +5. **转场效果实现**:转场效果基于2张纹理的混合,借助`mix`函数控制,利用用户交互(如鼠标位置)的`progress`变量调节转场进度。自定义遮罩可塑造转场的独特形态。 +6. **置换转场特效**:进一步应用纹理来改变另一纹理的UV坐标,实现创新的置换转场效果。 +7. **纹理的重要性与创意空间**:纹理在Shader编程中占据核心地位,提供了丰富的创意可能。鼓励积极探索,发掘更多新颖应用。 + +总之,纹理处理在Shader编程中极为关键,通过灵活运用各种技术和工具,能创造出丰富多样的视觉效果,激发无限创意潜力。 + +### chapter5 +本文要点总结如下: +1. **随机函数(Random)**:作为一种实现随机性的方法,随机函数能够生成带有噪点的视觉效果。它为图形增添不可预测的元素,适用于创造多样性和非规律性的视觉表现。 + +2. **噪声(Noise)**:与随机函数类似,噪声也被用来实现随机效果,但其产生的结果更为自然和平滑。通过在规则图形上叠加噪声,可以使图形呈现出有机的、不规则的外观,模仿自然界中的复杂细节。 + +3. **分形布朗运动(Fractional Brownian Motion, FBM)**:这是一种高级的随机过程,通过组合多个不同频率和振幅的噪声层来生成更为复杂的纹理。FBM特别适合于模拟自然界中的景象,如山脉地形、云朵或是火焰等,其层次感和细节丰富度远超单一噪声应用。利用FBM,可以创造出逼真的“消融”或渐变效果,为视觉效果增添深度和真实感。 + +4. **随机性的重要性**:在Shader编程中,随机性是创造独特和吸引人视觉效果的关键工具。无论是制造自然景观、模拟物理现象还是设计创意视觉特效,合理运用随机函数、噪声和分形技术都能极大地提升作品的艺术感和技术水平,使最终成果更加生动和引人入胜。掌握并巧妙运用这些随机化技巧,是提升Shader效果魅力和真实度的重要手段。 + +### chapter6 +总结一下,文中提及了几种滤镜的实现原理: + +1. **染色滤镜**:通过将图像的每个像素颜色与一个指定的颜色值进行乘法运算,改变图像的整体色调,实现染色效果。 + +2. **RGB位移滤镜**:对图像的红、绿、蓝三个颜色通道的UV坐标进行独立偏移,然后从原始图像中重新采样对应位置的颜色值,组合后形成新的色彩效果,产生位移扭曲的视觉感受。 + +3. **膨胀滤镜**:通过对UV坐标进行非线性变换,通常是基于距离的放大(使用pow函数),实现图像边缘向外扩张或通过计算距离的倒数实现内缩效果,以此达到图像膨胀或收缩的视觉效果。 + +4. **像素化滤镜**:利用`floor`函数将图像的UV坐标量化,使连续的颜色区域变成离散的色块,模拟低分辨率或像素艺术风格。 + +5. **晕影滤镜**:通过创建一个基于图像中心的径向渐变遮罩,并使用`smoothstep`函数平滑过渡边缘,为图像添加四周逐渐变暗的效果,营造出自然的阴影或聚焦中心的视觉感受。 + +每种滤镜都有其独特魅力,适合不同的应用场景和创意表达。对于喜好,虽然作为AI我没有个人偏好,但理解到用户追求的是能使图像变得更加吸引人、独特的效果,而这正是各种滤镜存在的意义——它们各自以不同的方式增强了图像的表现力和艺术感。 + +### chapter7 +本文概述了使用three和kokomi进行3D开发的关键技术和概念: + +1. **快速搭建3D世界**:结合three的库功能与kokomi的辅助工具,开发者能够高效地创建和定制3D环境。 + +2. **网格(Mesh)组件**:构成3D模型的基本单元,由几何体(Geometry)描述形状结构,材质(Material)定义外观。ShaderMaterial允许自定义着色逻辑,增强视觉表现力。 + +3. **变量传递机制**:通过`varying`关键字,可以在顶点着色器与片元着色器之间共享数据,实现复杂的效果过渡。 + +4. **kokomi的UniformInjector**:此工具简化了将Shadertoy中的uniform变量集成到自定义three材质的过程,提升了开发效率。 + +5. **顶点扭曲与噪声函数**:直接操作顶点位置如`position`变量,可以实现模型变形或动画效果。引入噪声函数为扭曲效果增加自然随机性。 + +6. **粒子系统(Points)应用**:作为three中的对象类型,用于创造大量微小图形,如粒子、星星等。通过调整`gl_PointSize`控制粒子尺寸,并利用材质属性增强视觉效果。 + +7. **自定义几何体(BufferGeometry)**:通过创建Float32Array和BufferAttribute,可以细致控制顶点、纹理坐标等几何数据,实现个性化形状设计。 + +8. **着色器核心作用**:顶点着色器与片元着色器是Shader编程的基础,共同决定了3D模型的形状与外观。掌握它们,开发者能够解锁丰富的视觉创意,制作出复杂的3D图形和动画。 + +综上所述,文章强调了利用现代WebGL库和技术进行3D开发的灵活性与创造性,特别是通过自定义着色和几何处理,能够实现高度定制化的视觉体验。 + +### **chapter8** +本文主要阐述了计算机图形学中光照技术的基本概念与几种重要的光照模型。要点总结如下: + +1. **Shader与着色本质**:Shader的核心功能在于计算物体表面亮度,实现方法基于光照模型,旨在模拟光线与物体表面交互效果。 + +2. **冯氏光照模型**:作为基本光照模型,它综合考虑了环境光(提供基础亮度)、漫反射(模拟光线均匀散射)和镜面反射(高光效果),构成物体表面光照的基础计算框架。 + +3. **Blinn-Phong光照模型**:这是对冯氏模型的优化,通过修改镜面反射计算方式提高效率和真实感,成为更常用的光照模型选择。 + +4. **IBL(Image-Based Lighting)镜面反射**:该技术利用环境贴图来实现物体表面的环境反射效果,使得反射更加自然,能够展示周围环境的倒影。 + +5. **菲涅尔反射**:用于模拟物体边缘因视角变化而产生的亮度变化现象,通过菲涅尔近似公式计算,增强画面的真实感和细节表现。 + +6. **法向量处理**:直接使用法向量可能会遇到光照不自然的问题,因此需要采取措施如法线贴图或修正算法来优化表面光照效果。 + +7. **光照模型的应用价值**:深入理解并灵活运用光照模型,开发者能创造出更为逼真和丰富的图形效果,这对于提升视觉体验和艺术表现力至关重要。 + +综上所述,光照模型是计算机图形渲染中的关键组成部分,通过对不同模型的学习和应用,可以极大地提升图形的真实感和视觉质量。 + +### **chapter9** +Ray Marching技术是一种强大的视觉渲染方法,它允许在二维平面上通过算法迭代模拟出三维空间的错觉和深度。这一技术的核心优势在于其高效性和灵活性,特别是在实时渲染和创意表达领域。以下是构建Ray Marching场景的关键流程和要素: + +1. **UV坐标调整**:首先,将屏幕上的像素坐标转换为归一化UV坐标,并进行适当的缩放与平移,确保坐标适配于渲染视图。 + +2. **光线初始化与方向计算**:确定相机位置,依据UV坐标计算每像素的观察向量(即光线的方向),为光线追踪建立基础。 + +3. **SDF(Signed Distance Function)构建**:设计一系列SDF函数来定义场景中的三维形状。这些函数能够计算空间中任意点到最近形状表面的距离,是Ray Marching的核心组件。 + +4. **光线步进与碰撞检测**:沿光线方向逐步前进,并通过SDF函数检测是否与任何形状表面相交,记录最短距离和碰撞点。 + +5. **法向量计算**:在碰撞点处计算表面法向量,这对于光照计算至关重要,影响最终渲染的明暗与质感表现。 + +6. **光照应用**:采用如环境光、漫反射、镜面反射和软阴影等光照模型,结合SDF布尔运算实现形状的混合和细节层次,增强场景的真实感和复杂性。 + +7. **材质区分**:通过在`map`函数中添加材质标识,可以区分不同物体的表面属性,为不同部分分配不同的材质和颜色,丰富视觉效果。 + +8. **软阴影计算**:利用`softshadow`函数模拟光线被遮挡时产生的渐变阴影效果,增加场景的立体感和真实度。 + +9. **抗锯齿技术**:通过超级采样(Super Sampling)技术,对每个像素进行多次渲染,每次以微小偏移量改变UV坐标,然后将结果合并以平滑边缘,减少锯齿现象。 + +综上所述,Ray Marching不仅是一种创造3D世界的高效技术,也凭借其对SDF的灵活运用和对光照、材质的精细处理,成为了一种新颖的图形设计和艺术表达手段。 diff --git a/src/shaders/slider/frag.glsl b/src/shaders/slider/frag.glsl new file mode 100644 index 0000000..002d5c1 --- /dev/null +++ b/src/shaders/slider/frag.glsl @@ -0,0 +1,32 @@ +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; + +uniform sampler2D uTexture; +uniform vec2 uMediaSize; +uniform float uOpacity; + +varying vec2 vUv; +// GLSL 函数:cover +// 说明:调整纹理坐标,以适应不同的宽高比。 +// 参数: +// - s: 目标尺寸(屏幕或画布尺寸) +// - i: 输入尺寸(纹理尺寸) +// - uv: 原始纹理坐标 +// 返回值:调整后的纹理坐标 +vec2 cover(vec2 s, vec2 i, vec2 uv){ + float rs = s.x / s.y; // 目标宽高比 + float ri = i.x / i.y; // 输入宽高比 + vec2 newSize = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x); // 调整后的尺寸 + vec2 offset = (rs < ri ? vec2((newSize.x - s.x) / 2., 0.): vec2(0., (newSize.y - s.y) / 2.)) / newSize; // 计算偏移量 + uv = uv * s / newSize + offset; // 应用尺寸调整和偏移 + return uv; +} + +void main(){ + vec2 uv = vUv; // 原始纹理坐标 + // uv = cover(iResolution.xy, uMediaSize.xy, uv); // 此行注释掉的代码用于调整纹理坐标以适应画布尺寸 + vec4 tex = texture(uTexture, uv); // 获取纹理颜色 + vec3 color = tex.rgb; // 提取纹理的RGB颜色 + gl_FragColor = vec4(color, uOpacity); // 设置最终的像素颜色,考虑不透明度 +} \ No newline at end of file diff --git a/src/shaders/slider/vert.glsl b/src/shaders/slider/vert.glsl new file mode 100644 index 0000000..5a65140 --- /dev/null +++ b/src/shaders/slider/vert.glsl @@ -0,0 +1,55 @@ +#include "/node_modules/lygia/math/const.glsl" + +// 引入全局变量:时间、分辨率、鼠标位置、各种动态参数 +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; +uniform float uVelocity; +uniform float uDistortX; +uniform float uDistortZ; +uniform float uProgress; // 过渡进度 +uniform vec2 uMeshSize; // 网格大小 +uniform vec2 uMeshPosition; // 网格位置 + +// 纹理坐标变量,用于顶点着色器和片元着色器之间的通信 +varying vec2 vUv; + +// 计算给定UV坐标周围的“ stagger”值 +float getStagger(vec2 uv){ + float left=uv.x; + float bottom=uv.y; + float right=1.-uv.x; + float top=1.-uv.y; + return top*right; +} + +// 过渡函数,用于平滑地调整物体位置和形状 +vec3 transition(vec3 p){ + float pr=uProgress; // 过渡进度的局部变量 + float stagger=getStagger(uv); // 获取UV坐标的“ stagger”值 + pr=smoothstep(stagger*.8,1.,pr); // 使用平滑步进来调整过渡的柔和度 + vec2 targetScale=iResolution.xy/uMeshSize.xy; // 目标缩放比例 + vec2 scale=mix(vec2(1.),targetScale,pr); // 混合当前和目标缩放比例 + p.xy*=scale; // 根据缩放比例调整位置 + p.xy+=-uMeshPosition*pr; // 根据过渡进度调整网格位置 + p.z+=pr; // 根据过渡进度调整深度 + return p; +} + +// 歪曲函数,用于对物体进行非线性的空间变形 +vec3 distort(vec3 p){ + p.x+=sin(uv.y*PI)*uVelocity*uDistortX; // 在x轴上应用扭曲 + p.z+=cos((p.x/iResolution.y)*PI)*abs(uVelocity)*uDistortZ; // 在z轴上应用扭曲 + return p; +} + +// 主函数,用于处理顶点着色逻辑 +void main(){ + vec3 p=position; // 默认位置 + p=transition(p); // 应用过渡效果 + vec4 mvPosition=modelViewMatrix*vec4(p,1.); // 计算模型视图矩阵乘以位置向量 + mvPosition.xyz=distort(mvPosition.xyz); // 对结果应用空间歪曲 + gl_Position=projectionMatrix*mvPosition; // 计算最终的屏幕位置 + + vUv=uv; // 传递纹理坐标 +} \ No newline at end of file diff --git a/src/shaders/stars/fragmentShader.glsl b/src/shaders/stars/fragmentShader.glsl new file mode 100644 index 0000000..3c56eed --- /dev/null +++ b/src/shaders/stars/fragmentShader.glsl @@ -0,0 +1,24 @@ +varying vec2 vUv; +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; +// 主函数:渲染像素颜色 +// 参数: +// - vUv: 传递给片段着色器的UV坐标 +// - iTime: 外部传入的当前时间 +// - iResolution: 外部传入的屏幕分辨率 +// - iMouse: 外部传入的鼠标位置 +// 返回值:无 +void main(){ + // 获取当前像素的UV坐标,并进行缩放处理 + vec2 uv=gl_PointCoord; + uv=(uv-.5)*2.; + + // 计算UV坐标的长度,并基于该长度调整颜色浓度 + float d=length(uv); + float c=.05/d; + c=pow(c,2.); + + // 设置像素颜色,颜色随距离中心的远近而变化 + gl_FragColor=vec4(vec3(1.),c); +} \ No newline at end of file diff --git a/src/shaders/stars/vertexShader.glsl b/src/shaders/stars/vertexShader.glsl new file mode 100644 index 0000000..c6d388a --- /dev/null +++ b/src/shaders/stars/vertexShader.glsl @@ -0,0 +1,46 @@ +#include "../common/glsl-noise/perlin/3d.glsl" +varying vec2 vUv; +uniform float iTime; +uniform vec3 iResolution; +uniform vec4 iMouse; +uniform float uPixelRatio; +// 定义一个用于扭曲坐标的函数 +// 参数 p: 输入的原始坐标 +// 返回值: 经过扭曲处理后的坐标 +vec3 distort(vec3 p){ + // 定义波动速度 + float speed=.1; + // 使用cnoise函数生成噪声 + float noise=cnoise(p)*.5; + // 根据时间、速度和噪声来扭曲x坐标 + p.x+=cos(iTime*speed+p.x*noise*100.)*.2; + // 根据时间、速度和噪声来扭曲y坐标 + p.y+=sin(iTime*speed+p.x*noise*100.)*.2; + // 根据时间、速度和噪声来扭曲z坐标 + p.z+=cos(iTime*speed+p.x*noise*100.)*.2; + return p; +} + +// 主函数 +void main(){ + // 传递UV坐标 + vUv=uv; + // 计算模型位置 + vec4 modelPosition=modelMatrix*vec4(position,1.); + // 计算视图位置 + vec4 viewPosition=viewMatrix*modelPosition; + // 计算投影位置 + vec4 projectedPosition=projectionMatrix*viewPosition; + // 初始化原始位置 + vec3 p=position; + // 应用扭曲函数 + p=distort(p); + // 设置最终的片元位置 + gl_Position=projectionMatrix*modelViewMatrix*vec4(p,1.); + // 设置点的大小,考虑像素比率 + gl_PointSize=50.*uPixelRatio; + // 根据视图和模型矩阵计算模型视图位置,用于调整点的大小 + vec4 mvPosition=modelViewMatrix*vec4(p,1.); + // 根据距离调整点的大小 + gl_PointSize*=(1./-mvPosition.z); +} \ No newline at end of file diff --git a/src/shaders/test/example.glsl b/src/shaders/test/example.glsl new file mode 100644 index 0000000..693161c --- /dev/null +++ b/src/shaders/test/example.glsl @@ -0,0 +1,34 @@ +/** + * 主要的图像处理函数。 + * + * @param fragColor 输出参数,代表像素的颜色,是一个vec4向量。 + * @param fragCoord 输入参数,代表当前处理的像素的坐标,是一个vec2向量。 + * 依据像素坐标的不同区间,为图像的不同部分赋予不同的颜色。 + */ +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + // 初始化几种颜色 + vec3 color = vec3(1., 0., 0.); + vec3 color1 = vec3(1., 0., 1.); + vec3 color2 = vec3(1., 1., 0.); + vec3 color3 = vec3(0., 0., 1.); + vec3 color4 = vec3(1., 0., 0.); + + // 如果当前像素位于屏幕的左四分之一部分,设置其颜色为color1 + if (fragCoord.x < iResolution.x * .25) { + fragColor = vec4(color1, 1.); + } + // 重复条件检查可能是代码错误,此处保持原样但不加注释 + + // 如果当前像素位于屏幕的右上四分之一部分,设置其颜色为color2 + else if (fragCoord.x >= iResolution.x * .25 && fragCoord.x < iResolution.x * .5) { + fragColor = vec4(color2, 1.); + } + // 如果当前像素位于屏幕的右下四分之一部分,设置其颜色为color3 + else if (fragCoord.x >= iResolution.x * .5 && fragCoord.x < iResolution.x * .75) { + fragColor = vec4(color3, 1.); + } + // 其他情况下,设置当前像素的颜色为color4 + else { + fragColor = vec4(color4, 1.); + } +} \ No newline at end of file diff --git a/src/shaders/test/example10.glsl b/src/shaders/test/example10.glsl new file mode 100644 index 0000000..b3c3fd5 --- /dev/null +++ b/src/shaders/test/example10.glsl @@ -0,0 +1,25 @@ +#iChannel0"../../assets/images/wallpaper/1626350753637.jpg" + +/** + * 主图像函数。 + * 应用一个滤镜效果到输入纹理上。 + * + * @param fragColor 输出颜色向量。 + * @param fragCoord 片元坐标。 + */ +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + // 计算UV坐标,通常需要归一化到[0, 1]范围内 + vec2 uv = fragCoord / iResolution.xy; + + // 从纹理中获取颜色 + vec3 col = texture(iChannel0, uv).rgb; + + // 定义滤镜颜色(这是一个蓝色调的滤镜) + vec3 tintColor = vec3(0.220, 0.380, 0.651); + + // 将原始颜色与滤镜颜色相乘以应用滤镜效果 + col *= tintColor; + + // 将结果赋值给输出颜色 + fragColor = vec4(col, 1.0); // 确保alpha值被设置,默认为全不透明 +} \ No newline at end of file diff --git a/src/shaders/test/example11.glsl b/src/shaders/test/example11.glsl new file mode 100644 index 0000000..1357c64 --- /dev/null +++ b/src/shaders/test/example11.glsl @@ -0,0 +1,39 @@ +#iChannel0"../../assets/images/wallpaper/1626438085277.jpg" + +// 生成一个基于二维坐标co的随机数 +// 返回值:随机浮点数 +highp float random(vec2 co) +{ + highp float a=12.9898; + highp float b=78.233; + highp float c=43758.5453; + highp float dt=dot(co.xy,vec2(a,b)); + highp float sn=mod(dt,3.14); + return fract(sin(sn)*c); +} + +/** +* 主图像函数。 +* 应用一个滤镜效果到输入纹理上。 +* +* @param fragColor 输出颜色向量。 +* @param fragCoord 片元坐标。 +*/ +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; // 将片元坐标转换为纹理坐标 + vec2 rUv=uv; + vec2 gUv=uv; + vec2 bUv=uv; + + // 生成噪声,并应用到红和蓝通道的纹理坐标上 + float noise=random(uv)*.5+.5; + vec2 offset=.0025*vec2(cos(noise),sin(noise)); // 噪声偏移量 + + rUv+=offset; // 红通道应用噪声偏移 + bUv-=offset; // 蓝通道反向应用噪声偏移 + vec4 rTex=texture(iChannel0,rUv); // 获取红通道纹理颜色 + vec4 gTex=texture(iChannel0,gUv); // 获取绿通道纹理颜色 + vec4 bTex=texture(iChannel0,bUv); // 获取蓝通道纹理颜色 + vec4 col=vec4(rTex.r,gTex.g,bTex.b,gTex.a); // 混合颜色 + fragColor=col; // 设置最终颜色 +} \ No newline at end of file diff --git a/src/shaders/test/example12.glsl b/src/shaders/test/example12.glsl new file mode 100644 index 0000000..56924b9 --- /dev/null +++ b/src/shaders/test/example12.glsl @@ -0,0 +1,49 @@ +// iChannel0引用了外部的图片资源,作为纹理使用 +#iChannel0"../../assets/images/rail-star/b1533de93c0ac43e2139bd93ec47419c_5547524982557108866.png" + +/** + * 对给定的二维向量应用一个凸起效果。 + * + * @param p 输入的二维向量,表示待处理的点坐标。 + * @return 返回经过凸起效果处理后的二维向量。 + */ +vec2 bulge(vec2 p){ + // 根据鼠标位置调整中心点 + vec2 center=iMouse.xy/iResolution.xy; + float radius=.9; // 凸起的半径 + float strength=1.1; // 凸起的力量 + + // 将输入点相对于中心点进行偏移 + p-=center; + + // 计算点到中心点的距离并调整 + float d=length(p); + d/=radius; // 根据半径缩放距离 + float dPow=pow(d,2.); // 距离的平方 + float dRev=strength/(dPow+1.); // 根据距离调整反转距离 + + // 根据调整后的距离反转向量p的大小 + p*=dRev; + + // 将p再次相对于中心点进行偏移,恢复原始坐标 + p+=center; + + return p; +} + +/** + * 主函数,负责处理图像渲染。 + * + * @param fragColor 输出颜色,代表处理后的像素颜色。 + * @param fragCoord 像素坐标,表示当前处理的像素位置。 + */ +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + // 计算当前像素相对于画布的UV坐标 + vec2 uv=fragCoord/iResolution.xy; + // 应用bulge函数,对UV坐标应用凸起效果 + uv=bulge(uv); + // 从纹理采样获取颜色 + vec3 tex=texture(iChannel0,uv).xyz; + // 设置最终像素颜色 + fragColor=vec4(tex,1.); +} \ No newline at end of file diff --git a/src/shaders/test/example13.glsl b/src/shaders/test/example13.glsl new file mode 100644 index 0000000..c886a20 --- /dev/null +++ b/src/shaders/test/example13.glsl @@ -0,0 +1,31 @@ +#iChannel0"../../assets/images/rail-star/b1533de93c0ac43e2139bd93ec47419c_5547524982557108866.png" + +// 定义主图像渲染函数 +// fragColor: 输出的像素颜色,是一个vec4类型 +// fragCoord: 像素坐标,输入参数,是一个vec2类型 +// iResolution: 外部定义的分辨率变量,用于计算像素比例,非输入参数,这里假定为全局变量 +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + // 计算当前像素相对于画布的UV坐标 + vec2 uv = fragCoord / iResolution.xy; + + // 下面的代码块是用于对UV坐标进行像素化处理的 + vec2 size = vec2(50., 50.); // 定义像素块的大小 + uv.x = floor(uv.x * size.x) / size.x; // 对U坐标进行像素化 + uv.y = floor(uv.y * size.y) / size.y; // 对V坐标进行像素化 + + // 从纹理采样器iChannel0中采样得到像素颜色 + vec3 tex = texture(iChannel0, uv).xyz; + vec3 col = vec3(1.); // 初始化一个颜色向量(全白色) + + // 计算当前像素点相对于中心点的距离 + vec2 p = uv - .5; // 中心点为.5,.5 + float d = length(p); // 距离计算 + // 使用smoothstep函数平滑的过渡d值,用于给纹理颜色混合一个软边 + float c = smoothstep(.8, .4, d); + + // 根据距离d的平滑值c,调整纹理颜色的强度 + tex *= c; + + // 将最终颜色封装到vec4中,并设置透明度为1 + fragColor = vec4(tex, 1.); +} \ No newline at end of file diff --git a/src/shaders/test/example14.glsl b/src/shaders/test/example14.glsl new file mode 100644 index 0000000..b739f7b --- /dev/null +++ b/src/shaders/test/example14.glsl @@ -0,0 +1,206 @@ +// 根据给定的点和半径,计算该点到球心的最短距离 +float sdSphere(vec3 p,float r) +{ + return length(p)-r; // 计算点到球心的距离并减去半径 +} + +// 根据给定的点、法向量和高度,计算点到平面的最短距离 +float sdPlane(vec3 p,vec3 n,float h) +{ + return dot(p,n)+h; // 计算点到平面的距离 +} + +// 计算两个形状的并集 +float opUnion(float d1,float d2) +{ + return min(d1,d2); // 返回两个距离中的较小值,代表并集的最短距离 +} + +// 计算两个二维距离的并集 +vec2 opUnion(vec2 d1,vec2 d2) +{ + return(d1.x0.)p=vec2(p.x-k*p.y,-k*p.x-p.y)/2.; + // 进一步调整点的位置,去除位于等边三角形外部的点 + p.x-=clamp(p.x,-2.*r,0.); + // 计算并返回点到等边三角形的距离 + return-length(p)*sign(p.y); +} + +/** + * 生成2D旋转矩阵。 + * + * @param angle 旋转角度(弧度制)。 + * @return 返回一个2x2的旋转矩阵。 + */ +mat2 rotation2d(float angle){ + float s=sin(angle); // 计算角度的正弦值 + float c=cos(angle); // 计算角度的余弦值 + + // 返回代表旋转的2x2矩阵 + return mat2( + c,-s, + s,c + ); +} + +/** + * 将2D向量按照给定角度旋转。 + * + * @param v 要旋转的2D向量。 + * @param angle 旋转角度(弧度制)。 + * @return 返回旋转后的2D向量。 + */ +vec2 rotate(vec2 v,float angle){ + // 应用旋转矩阵到向量上 + return rotation2d(angle)*v; +} + +const float PI=3.14159265359; // 定义圆周率PI +/** +* 主图像函数,负责渲染图像。 +* +* @param fragColor 输出的颜色,类型为 vec4。 +* @param fragCoord 片元的坐标,类型为 vec2。 +*/ +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + // 将片元坐标转换为屏幕空间下的坐标 + vec2 uv=fragCoord/iResolution.xy; + // 应用屏幕空间的缩放和位移 + uv=(uv-.5)*2.; + // 修正长宽比,确保渲染在不同尺寸显示器上比例一致 + uv.x*=iResolution.x/iResolution.y; + //旋转45° + // uv=rotate(uv,PI/2.); + // 持续旋转 + uv=rotate(uv,iTime); + + // 计算当前点到等边三角形的距离 + float d=sdEquilateralTriangle(uv,.5); + + // 应用平滑步进函数,用于过渡处理 + float c=smoothstep(0.,.02,d); + // 设置像素颜色 + fragColor=vec4(vec3(c),1.); +} \ No newline at end of file diff --git a/src/shaders/test/example4.glsl b/src/shaders/test/example4.glsl new file mode 100644 index 0000000..63affb0 --- /dev/null +++ b/src/shaders/test/example4.glsl @@ -0,0 +1,62 @@ +/** +* 函数opRound: 计算距离减去给定半径后的结果 +* @param d 输入的距离值 +* @param r 输入的半径值 +* @return 返回距离减去半径后的结果 +*/ +float opRound(in float d,in float r) +{ + return d-r; // 计算并返回d减去r的结果 +} + +/** +* 函数opOnion: 计算绝对值距离减去给定半径后的结果 +* @param d 输入的距离值 +* @param r 输入的半径值 +* @return 返回绝对值距离减去半径后的结果 +*/ +float opOnion(in float d,in float r) +{ + return abs(d)-r; // 计算并返回d的绝对值减去r的结果 +} + +// 定义一个计算等边三角形距离的函数 +// p: 输入的二维向量,表示点的位置 +// r: 输入的浮点数,表示等边三角形的半径 +// 返回值: 返回从点p到等边三角形边界的最短距离 +float sdEquilateralTriangle(in vec2 p,in float r) +{ + const float k=sqrt(3.);// 等边三角形的边长与高的比例系数 + p.x=abs(p.x)-r;// 调整点p的x坐标,以考虑三角形的平移 + p.y=p.y+r/k;// 调整点p的y坐标,以考虑三角形的平移 + + // 通过变换将点p映射到与等边三角形最近的象限 + if(p.x+k*p.y>0.)p=vec2(p.x-k*p.y,-k*p.x-p.y)/2.; + + // 进一步调整点p的x坐标,以确保它在正确的区间内 + p.x-=clamp(p.x,-2.*r,0.); + + // 计算并返回点p到等边三角形边界的最短距离 + return-length(p)*sign(p.y); +} + +// 主函数,用于生成图像 +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy;// 将像素坐标转换为归一化坐标 + + // 应用周期性平移 + uv=fract(uv*vec2(2.,2.)); + + // 调整坐标系,使中心对准屏幕中心,并拉伸以适应屏幕宽高比 + uv=(uv-.5)*2.; + uv.x*=iResolution.x/iResolution.y; + uv.y=abs(uv.y); + // 计算当前像素到等边三角形的距离 + float d=sdEquilateralTriangle(uv,.5); + d=opOnion(d,.1); + // d=opRound(d,.1); + // 应用平滑步长来确定像素是否在三角形内 + float c=smoothstep(0.,.02,d); + // 设置像素颜色,颜色强度由距离决定 + fragColor=vec4(vec3(c),1.); +} \ No newline at end of file diff --git a/src/shaders/test/example5.glsl b/src/shaders/test/example5.glsl new file mode 100644 index 0000000..1451f1e --- /dev/null +++ b/src/shaders/test/example5.glsl @@ -0,0 +1,117 @@ + +/* + * 计算点到盒子的距离。 + * + * @param p 点的坐标,类型为 vec2。 + * @param b 盒子的尺寸,类型为 vec2,其中b.x为盒子的宽度,b.y为盒子的高度。 + * @return 返回点到盒子最近边的距离。 + */ +float sdBox(in vec2 p,in vec2 b) +{ + // 计算点到盒子各边的距离 + vec2 d=abs(p)-b; + // 返回点到盒子的最近距离 + return length(max(d,0.))+min(max(d.x,d.y),0.); +} + +/** +* 计算两个距离值的并集。 +* @param d1 第一个距离值。 +* @param d2 第二个距离值。 +* @return 返回两个距离值中的较小值,代表并集的边界。 +*/ +float opUnion(float d1,float d2) +{ + return min(d1,d2); // 返回较小的距离值 +} + +/** +* 计算两个距离值的交集。 +* @param d1 第一个距离值。 +* @param d2 第二个距离值。 +* @return 返回两个距离值中的较大值,代表交集的边界。 +*/ +float opIntersection(float d1,float d2) +{ + return max(d1,d2); // 返回较大的距离值 +} + +/** +* 计算两个距离值的差集。 +* @param d1 第一个距离值。 +* @param d2 第二个距离值。 +* @return 返回d1的相反值与d2中的较大值,代表差集的边界。 +*/ +float opSubtraction(float d1,float d2) +{ + return max(-d1,d2);// 返回d2与d1的相反值中较大的值 +} + +/** + * 计算点到圆的距离 + * @param p 点的坐标(vec2) + * @param r 圆的半径(float) + * @return 点到圆边界的距离(float) + */ +float sdCircle(vec2 p,float r) +{ + // 计算点到圆心的距离并减去半径,得到点到圆边界的距离 + return length(p)-r; +} + +/** + * 平滑合并操作 + * @param d1 第一个距离值(float) + * @param d2 第二个距离值(float) + * @param k 平滑参数,控制过渡区域的宽度(float) + * @return 平滑合并后的距离值(float) + */ +float opSmoothUnion(float d1,float d2,float k){ + float h=clamp(.5+.5*(d2-d1)/k,0.,1.); + return mix(d2,d1,h)-k*h*(1.-h); +} + +/** + * 平滑减去操作 + * @param d1 第一个距离值(float) + * @param d2 第二个距离值(float) + * @param k 平滑参数,控制过渡区域的宽度(float) + * @return 平滑减去后的距离值(float) + */ +float opSmoothSubtraction(float d1,float d2,float k){ + float h=clamp(.5-.5*(d2+d1)/k,0.,1.); + return mix(d2,-d1,h)+k*h*(1.-h); +} + +/** + * 平滑交集操作 + * @param d1 第一个距离值(float) + * @param d2 第二个距离值(float) + * @param k 平滑参数,控制过渡区域的宽度(float) + * @return 平滑交集后的距离值(float) + */ +float opSmoothIntersection(float d1,float d2,float k){ + float h=clamp(.5-.5*(d2-d1)/k,0.,1.); + return mix(d2,d1,h)+k*h*(1.-h); +} + +/** + * 主图像函数 + * @param fragColor 出口颜色(vec4) + * @param fragCoord 片元坐标(vec2) + */ +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; + uv=(uv-.5)*2.; + uv.x*=iResolution.x/iResolution.y; + + float d1=sdCircle(uv,.5); + float d2=sdBox(uv,vec2(.6,.3)); + + float d=d1; + // d=opUnion(d1,d2); + // d=opSubtraction(d1,d2); + d=opSubtraction(d2,d1); + float c=smoothstep(0.,.02,d); + fragColor=vec4(vec3(c),1.); +} \ No newline at end of file diff --git a/src/shaders/test/example6.glsl b/src/shaders/test/example6.glsl new file mode 100644 index 0000000..bb9863d --- /dev/null +++ b/src/shaders/test/example6.glsl @@ -0,0 +1,27 @@ +/** + * 将笛卡尔坐标转换为极坐标 + * @param uv 输入的二维笛卡尔坐标(x, y) + * @return 返回包含角度(phi)和半径(r)的二维极坐标 + */ +vec2 cart2polar(vec2 uv){ + float phi=atan(uv.y,uv.x); // 计算角度 + float r=length(uv); // 计算半径 + return vec2(phi,r); +} + +/** + * 主图像函数,负责处理图像渲染 + * @param fragColor 输出的颜色值 + * @param fragCoord 片元的坐标 + */ +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; // 将片元坐标转换为归一化设备坐标 + uv=(uv-.5)*2.; // 应用镜头缩放和偏移 + uv.x*=iResolution.x/iResolution.y; // 修正长宽比 + uv=cart2polar(uv); // 将笛卡尔坐标转换为极坐标 + // 以下代码块用于调试和实验不同的颜色表现形式 + // fragColor=vec4(uv,0.,1.); // 直接使用极坐标作为颜色 + // float c=sin(uv.x*12.); // 试验正弦波颜色 + float c=sin(uv.y*20.+uv.x); // 使用复合正弦波生成颜色 + fragColor=vec4(vec3(c),1.); // 设置最终颜色 +} \ No newline at end of file diff --git a/src/shaders/test/example7.glsl b/src/shaders/test/example7.glsl new file mode 100644 index 0000000..7b349b6 --- /dev/null +++ b/src/shaders/test/example7.glsl @@ -0,0 +1,241 @@ + +// 定义全局纹理通道 +#iChannel0"../../assets/images/rail-star/trailblazer-female.png" +#iChannel1"../../assets/images/rail-star/trailblazer-male.png" + +// +// GLSL textureless classic 3D noise "cnoise", +// with an RSL-style periodic variant "pnoise". +// Author: Stefan Gustavson (stefan.gustavson@liu.se) +// Version: 2011-10-11 +// +// Many thanks to Ian McEwan of Ashima Arts for the +// ideas for permutation and gradient selection. +// +// Copyright (c) 2011 Stefan Gustavson. All rights reserved. +// Distributed under the MIT license. See LICENSE file. +// https://github.com/ashima/webgl-noise +// + +vec3 mod289(vec3 x) +{ + return x-floor(x*(1./289.))*289.; +} + +vec4 mod289(vec4 x) +{ + return x-floor(x*(1./289.))*289.; +} + +vec4 permute(vec4 x) +{ + return mod289(((x*34.)+1.)*x); +} + +vec4 taylorInvSqrt(vec4 r) +{ + return 1.79284291400159-.85373472095314*r; +} + +vec3 fade(vec3 t){ + return t*t*t*(t*(t*6.-15.)+10.); +} + +// Classic Perlin noise +float cnoise(vec3 P) +{ + vec3 Pi0=floor(P);// Integer part for indexing + vec3 Pi1=Pi0+vec3(1.);// Integer part + 1 + Pi0=mod289(Pi0); + Pi1=mod289(Pi1); + vec3 Pf0=fract(P);// Fractional part for interpolation + vec3 Pf1=Pf0-vec3(1.);// Fractional part - 1.0 + vec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x); + vec4 iy=vec4(Pi0.yy,Pi1.yy); + vec4 iz0=Pi0.zzzz; + vec4 iz1=Pi1.zzzz; + + vec4 ixy=permute(permute(ix)+iy); + vec4 ixy0=permute(ixy+iz0); + vec4 ixy1=permute(ixy+iz1); + + vec4 gx0=ixy0*(1./7.); + vec4 gy0=fract(floor(gx0)*(1./7.))-.5; + gx0=fract(gx0); + vec4 gz0=vec4(.5)-abs(gx0)-abs(gy0); + vec4 sz0=step(gz0,vec4(0.)); + gx0-=sz0*(step(0.,gx0)-.5); + gy0-=sz0*(step(0.,gy0)-.5); + + vec4 gx1=ixy1*(1./7.); + vec4 gy1=fract(floor(gx1)*(1./7.))-.5; + gx1=fract(gx1); + vec4 gz1=vec4(.5)-abs(gx1)-abs(gy1); + vec4 sz1=step(gz1,vec4(0.)); + gx1-=sz1*(step(0.,gx1)-.5); + gy1-=sz1*(step(0.,gy1)-.5); + + vec3 g000=vec3(gx0.x,gy0.x,gz0.x); + vec3 g100=vec3(gx0.y,gy0.y,gz0.y); + vec3 g010=vec3(gx0.z,gy0.z,gz0.z); + vec3 g110=vec3(gx0.w,gy0.w,gz0.w); + vec3 g001=vec3(gx1.x,gy1.x,gz1.x); + vec3 g101=vec3(gx1.y,gy1.y,gz1.y); + vec3 g011=vec3(gx1.z,gy1.z,gz1.z); + vec3 g111=vec3(gx1.w,gy1.w,gz1.w); + + vec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110))); + g000*=norm0.x; + g010*=norm0.y; + g100*=norm0.z; + g110*=norm0.w; + vec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111))); + g001*=norm1.x; + g011*=norm1.y; + g101*=norm1.z; + g111*=norm1.w; + + float n000=dot(g000,Pf0); + float n100=dot(g100,vec3(Pf1.x,Pf0.yz)); + float n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z)); + float n110=dot(g110,vec3(Pf1.xy,Pf0.z)); + float n001=dot(g001,vec3(Pf0.xy,Pf1.z)); + float n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z)); + float n011=dot(g011,vec3(Pf0.x,Pf1.yz)); + float n111=dot(g111,Pf1); + + vec3 fade_xyz=fade(Pf0); + vec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z); + vec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y); + float n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x); + return 2.2*n_xyz; +} + +/* ======================================================== + 引用代码分割线 +======================================================== */ + +/** +* 计算给定点到圆的最近距离 +* @param p 点的坐标(vec2) +* @param r 圆的半径(float) +* @return 点到圆的最近距离(float) +*/ +float sdCircle(vec2 p,float r) +{ + return length(p)-r; +} + +/** +* 对给定点进行扭曲变形 +* @param p 待变形的点的坐标(vec2) +* @return 变形后的点的坐标(vec2) +*/ +vec2 distort(vec2 p){ + p.x+=sin(p.y*10.+iTime)/50.; // 根据时间对点进行扭曲 + return p; +} + +/** +* 从纹理iChannel0中获取颜色 +* @param uv 纹理坐标(vec2) +* @return 从纹理中采样的颜色(vec4) +*/ +vec4 getFromColor(vec2 uv){ + return texture(iChannel0,uv); +} + +/** +* 从纹理iChannel1中获取颜色 +* @param uv 纹理坐标(vec2) +* @return 从纹理中采样的颜色(vec4) +*/ +vec4 getToColor(vec2 uv){ + return texture(iChannel1,uv); +} + +/** +* 过渡效果函数,混合“from”到“to”的颜色 +* @param uv 纹理坐标(vec2),代表在纹理上的位置 +* @return 混合后的颜色(vec4),这个颜色是根据过渡进度和屏幕位置计算得到的 +*/ +vec4 transition(vec2 uv){ + // 计算过渡的进度,基于鼠标在屏幕上的位置(x轴)和屏幕的宽度 + float progress=iMouse.x/iResolution.x; + // 计算屏幕的宽高比 + float ratio=iResolution.x/iResolution.y; + + // 准备调整纹理坐标p,首先将其中心化 + vec2 p=uv; + p-=.5; + // 根据屏幕的宽高比调整p的x坐标,以适应不同比例的屏幕 + p.x*=ratio; + + // 使用噪声函数为过渡添加一些随机性 + float noise=cnoise(vec3(p*10.,0.)); + // 计算最终的过渡位置,加入噪声影响 + float pr=progress+noise*.1; + + // 计算当前点到过渡圆圈的距离,并使用平滑步骤来柔和过渡 + float d=sdCircle(p,pr*sqrt(2.4)); + float c=smoothstep(-.1,-.05,d); + + // 根据距离混合“from”和“to”的颜色,越靠近圆圈中心,“to”颜色的权重越大 + return mix(getFromColor(uv),getToColor(uv),1.-c); +} + +/** +* 过渡效果函数 +* +* 该函数用于根据给定的屏幕坐标(uv)产生一个过渡效果的颜色。这个效果 +* 会根据鼠标在屏幕上的位置以及屏幕的分辨率来改变。它通过混合“to”颜色到 +* “from”颜色来实现过渡效果。 +* +* @param uv 输入的二维坐标,代表屏幕上的一个点(通常为归一化坐标)。 +* @return 返回一个vec4颜色值,代表在给定点上的过渡颜色。 +*/ +// vec4 transition(vec2 uv){ + // // 计算过渡的进度,基于鼠标在屏幕上的X坐标与屏幕宽度的比值。 + // float progress=iMouse.x/iResolution.x; + // // 计算屏幕宽度与高度的比例。 + // float ratio=iResolution.x/iResolution.y; + + // // 从纹理iChannel1中获取位移向量,并应用到uv坐标上。 + // vec2 dispVec=texture(iChannel1,uv).xy; + // // 定义位移的强度。 + // float strength=.6; + // // 计算过渡的起始和结束点的uv坐标。 + // vec2 uv1=vec2(uv.x-dispVec.x*progress*strength,uv.y); + // vec2 uv2=vec2(uv.x+dispVec.x*(1.-progress)*strength,uv.y); + + // // 根据进度,混合起始和结束点的颜色,并返回结果。 + // return mix(getFromColor(uv1),getToColor(uv2),progress); +// } + +/** +* 主要的图像处理函数。 +* +* @param fragColor 输出颜色,一个vec4变量,代表最终的像素颜色。 +* @param fragCoord 输入的像素坐标,一个vec2变量,表示当前处理的像素在图像中的坐标。 +*/ +// void mainImage(out vec4 fragColor, in vec2 fragCoord) { + // // 将像素坐标转换为归一化纹理坐标 + // vec2 uv = fragCoord / iResolution.xy; + // // 对归一化纹理坐标进行失真处理 + // uv = distort(uv); + // // 从纹理通道0中采样颜色 + // vec3 tex = texture(iChannel0, uv).xyz; + // // 设置最终的颜色为采样的颜色 + // fragColor = vec4(tex, 1.); +// } + +/** +* 主渲染函数 +* @param fragColor 输出的颜色(vec4) +* @param fragCoord 片元坐标(vec2) +*/ +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; + vec4 col=transition(uv);// 应用过渡效果 + fragColor=col;// 设置最终颜色 +} diff --git a/src/shaders/test/example8.glsl b/src/shaders/test/example8.glsl new file mode 100644 index 0000000..d816386 --- /dev/null +++ b/src/shaders/test/example8.glsl @@ -0,0 +1,27 @@ +#iChannel0"../../assets/images/textures/ie-tomb.jpg" + +/** + * 函数:random + * 功能:生成基于给定二维坐标co的随机浮点数。 + * 参数: + * - co: 一个vec2类型的二维坐标。 + * 返回值:返回一个基于坐标co计算出的随机浮点数。 + */ +highp float random(vec2 co) +{ + highp float a=12.9898; + highp float b=78.233; + highp float c=43758.5453; + highp float dt=dot(co.xy,vec2(a,b)); // 计算向量co与向量(a,b)的点积 + highp float sn=mod(dt,3.14); // 将点积结果对3.14取模,得到0到3.14之间的值 + return fract(sin(sn)*c); // 返回sn的正弦值乘以c后的分数部分 +} + +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; // 计算当前像素相对于分辨率的归一化坐标 + // float noise=random(uv); // 注释掉的代码,是使用时间不变的随机数 + float noise=random(uv+iTime); // 使用时间变化的随机数 + vec3 col=texture(iChannel0,uv).xyz; // 从纹理iChannel0中采样颜色 + col+=(noise-.5)*.2; // 将随机噪声融合到颜色中 + fragColor=vec4(col,1.); // 设置最终像素颜色 +} \ No newline at end of file diff --git a/src/shaders/test/example9.glsl b/src/shaders/test/example9.glsl new file mode 100644 index 0000000..e033d30 --- /dev/null +++ b/src/shaders/test/example9.glsl @@ -0,0 +1,217 @@ +#iChannel0"../../assets/images/wallpaper/1626178455372.jpg" +#iChannel1"../../assets/images/wallpaper/1626273086948.jpg" +// +// Description : Array and textureless GLSL 2D/3D/4D simplex +// noise functions. +// Author : Ian McEwan, Ashima Arts. +// Maintainer : ijm +// Lastmod : 20110822 (ijm) +// License : Copyright (C) 2011 Ashima Arts. All rights reserved. +// Distributed under the MIT License. See LICENSE file. +// https://github.com/ashima/webgl-noise +// + +vec3 mod289(vec3 x) { + return x - floor(x * (1.0 / 289.0)) * 289.0; +} + +vec4 mod289(vec4 x) { + return x - floor(x * (1.0 / 289.0)) * 289.0; +} + +vec4 permute(vec4 x) { + return mod289(((x*34.0)+1.0)*x); +} + +vec4 taylorInvSqrt(vec4 r) +{ + return 1.79284291400159 - 0.85373472095314 * r; +} + +float snoise(vec3 v) + { + const vec2 C = vec2(1.0/6.0, 1.0/3.0) ; + const vec4 D = vec4(0.0, 0.5, 1.0, 2.0); + +// First corner + vec3 i = floor(v + dot(v, C.yyy) ); + vec3 x0 = v - i + dot(i, C.xxx) ; + +// Other corners + vec3 g = step(x0.yzx, x0.xyz); + vec3 l = 1.0 - g; + vec3 i1 = min( g.xyz, l.zxy ); + vec3 i2 = max( g.xyz, l.zxy ); + + // x0 = x0 - 0.0 + 0.0 * C.xxx; + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + vec3 x1 = x0 - i1 + C.xxx; + vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y + vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y + +// Permutations + i = mod289(i); + vec4 p = permute( permute( permute( + i.z + vec4(0.0, i1.z, i2.z, 1.0 )) + + i.y + vec4(0.0, i1.y, i2.y, 1.0 )) + + i.x + vec4(0.0, i1.x, i2.x, 1.0 )); + +// Gradients: 7x7 points over a square, mapped onto an octahedron. +// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float n_ = 0.142857142857; // 1.0/7.0 + vec3 ns = n_ * D.wyz - D.xzx; + + vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7) + + vec4 x_ = floor(j * ns.z); + vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N) + + vec4 x = x_ *ns.x + ns.yyyy; + vec4 y = y_ *ns.x + ns.yyyy; + vec4 h = 1.0 - abs(x) - abs(y); + + vec4 b0 = vec4( x.xy, y.xy ); + vec4 b1 = vec4( x.zw, y.zw ); + + //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0; + //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; + vec4 s0 = floor(b0)*2.0 + 1.0; + vec4 s1 = floor(b1)*2.0 + 1.0; + vec4 sh = -step(h, vec4(0.0)); + + vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ; + vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ; + + vec3 p0 = vec3(a0.xy,h.x); + vec3 p1 = vec3(a0.zw,h.y); + vec3 p2 = vec3(a1.xy,h.z); + vec3 p3 = vec3(a1.zw,h.w); + +//Normalise gradients + vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + +// Mix final noise value + vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0); + m = m * m; + return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), + dot(p2,x2), dot(p3,x3) ) ); + } + +#pragma glslify: export(snoise) + +/* ======================================================== + 引用代码分割线 +======================================================== */ + +/** +* 从指定的纹理通道获取颜色。 +* @param uv UV坐标。 +* @return 返回在指定UV坐标处的颜色。 +*/ +vec4 getFromColor(vec2 uv){ + return texture(iChannel0,uv); +} + +/** +* 从另一个指定的纹理通道获取颜色。 +* @param uv UV坐标。 +* @return 返回在指定UV坐标处的颜色。 +*/ +vec4 getToColor(vec2 uv){ + return texture(iChannel1,uv); +} + +/** +* 将一个值从一个范围映射到另一个范围。 +* @param a 输入范围的最小值。 +* @param b 输入范围的最大值。 +* @param c 输出范围的最小值。 +* @param d 输出范围的最大值。 +* @param t 需要映射的当前值。 +* @return 返回映射后的值。 +*/ +float remap(float a,float b,float c,float d,float t) +{ + return clamp((t-a)/(b-a),0.,1.)*(d-c)+c; +} + +/** +* 生成分形噪声。 +* @param p 输入位置。 +* @return 返回在指定位置的分形噪声值。 +*/ +float fbm(vec3 p){ + + // 初始化变量: 总值、当前振幅、当前频率、 lacunarity(空隙度)、persistance(持久度)、缩放比例、octaves(振荡次数) + float value=0.; + float amplitude=1.; + float frequency=1.; + float lacunarity=2.; + float persistance=.5; + float scale=1.; + int octaves=8; + + // 对每个octave迭代,累加噪声值 + for(int i=0;i0.)p=vec2(p.x-k*p.y,-k*p.x-p.y)/2.; + p.x-=clamp(p.x,-2.*r,0.); + return-length(p)*sign(p.y); +} + +void mainImage(out vec4 fragColor,in vec2 fragCoord){ + vec2 uv=fragCoord/iResolution.xy; + uv=(uv-.5)*2.; + uv.x*=iResolution.x/iResolution.y; + + float d=sdEquilateralTriangle(uv,.5); + float c=smoothstep(0.,.02,d); + fragColor=vec4(vec3(c),1.); +} \ No newline at end of file diff --git a/src/shaders/the-book-of-shaders.md b/src/shaders/the-book-of-shaders.md new file mode 100644 index 0000000..7548a3b --- /dev/null +++ b/src/shaders/the-book-of-shaders.md @@ -0,0 +1,93 @@ +## 说明 +Shader,中文称为着色器,是一种特殊的程序,主要用于计算机图形学中,尤其是在实时渲染领域,如游戏开发、影视特效等。它的核心功能是告诉图形处理器(GPU)如何计算和应用颜色及视觉效果到场景中的每个像素或顶点上。 + +具体来说,Shader可以分为以下几类: + +1. **顶点着色器(Vertex Shader)**:处理3D模型的顶点信息,包括位置、颜色、纹理坐标等,可以实现顶点级别的变形、动画效果以及光照计算的初步设置。 +**** +2. **像素(片段)着色器(Pixel Shader / Fragment Shader)**:在顶点着色之后,负责计算每个像素的颜色和外观,包括光照、阴影、颜色混合、纹理贴图等细节效果。 + +除此之外,还有其他类型的Shader,如几何着色器(Geometry Shader)、计算着色器(Compute Shader)、 tessellation shader(细分曲面着色器)等,它们各自负责图形渲染流程的不同阶段,提供更高级别的控制和视觉效果。 + +Shader编写通常使用特定的编程语言,如HLSL(用于DirectX)、GLSL(用于OpenGL)或CG(一种跨平台的着色语言)。在游戏引擎中,如Unity或Unreal Engine,开发者可以使用这些语言编写自定义Shader,以达到独特的视觉效果,或者利用引擎提供的预置Shader。 + +简而言之,Shader是现代计算机图形渲染中不可或缺的一部分,它极大地丰富了数字内容的表现力,使得游戏和电影能够展现出令人惊叹的视觉效果。 + +## 基础 +Shader基础主要包括以下几个核心概念和组成部分: + +1. **着色器类型**: + - **顶点着色器(Vertex Shader)**:处理模型的顶点信息,可以改变顶点的位置、颜色、纹理坐标等属性,影响模型的形状和位置。 + - **片段(像素)着色器(Fragment/Pixel Shader)**:决定每个像素最终的颜色,负责纹理映射、光照计算、颜色混合等效果。 + - **几何着色器(Geometry Shader)**:允许创建、销毁或修改图元(如点、线、三角形)。 + - **计算着色器(Compute Shader)**:用于执行通用计算任务,不直接参与渲染管线,但可处理图像处理、物理模拟等计算密集型任务。 + - **表面着色器(Surface Shader)**(Unity特有):提供更高层次的抽象,简化编写过程,自动处理光照模型、阴影等,用户只需关注表面外观。 + +2. **Shader语言**:常见的Shader编程语言包括HLSL(用于DirectX)、GLSL(用于OpenGL)、Cg(跨平台,支持OpenGL和DirectX)等。在Unity中,使用ShaderLab语言编写,这是一种结合了Cg/HLSL代码片段的高级着色器语言。 + +3. **Shader结构**:基本的Shader结构通常包含定义(例如`Shader "Custom/MyShader"`)、属性(Properties块,定义艺术家可调整的参数)、子着色器(SubShader块,包含多个Pass块,描述渲染步骤)和备用着色器(Fallback,当当前硬件不支持主着色器时的备选方案)。 + +4. **渲染管线**:理解固定管线与可编程管线的概念,现代图形渲染大量依赖可编程管线,即通过顶点着色器和片段着色器自定义渲染过程。 + +5. **光照模型**:了解基本的光照模型,如Lambert(漫反射)、Blinn-Phong(镜面反射)等,以及PBR(基于物理的渲染)原则,这些影响物体表面如何响应光照。 + +6. **纹理与采样**:学习如何在Shader中使用纹理映射,包括纹理坐标、采样、纹理混合等技术。 + +7. **条件与循环**:掌握在Shader代码中使用条件语句(if-else)和循环(for, while)进行逻辑控制。 + +学习Shader编程时,从简单的颜色变化开始,逐步深入到复杂的光照、纹理和表面效果,是循序渐进的过程。Unity和Unreal Engine等游戏引擎提供了可视化Shader编辑器,便于初学者理解和实践,同时也有利于快速迭代和调试。 + +## 过程 +如果你是零基础开始学习Shader,以下是一些建议的学习路径和资源,帮助你逐步掌握这一技能: + +### 1. 基础理论学习 +- **理解图形渲染管线**:首先,了解图形渲染的基本原理,包括顶点处理、光栅化、像素着色等步骤。这有助于你明白Shader在整个渲染流程中的作用。 +- **学习图形学基础**:了解向量、矩阵运算、线性代数、色彩空间(RGB、HSV等)和基本的光照模型(如漫反射、高光反射)。 + +### 2. 选择学习平台和语言 +- **选择学习平台**:Unity和Unreal Engine是两个常用的游戏引擎,它们都支持Shader编写。对于初学者,Unity因其广泛的教程资源和用户友好的界面而成为不错的选择。 +- **学习Shader语言**:Unity主要使用ShaderLab和Cg/HLSL,而Unreal使用Unreal Material System和HLSL。开始时,可以从GLSL或HLSL入手,因为它们是更广泛使用的Shader语言。 + +### 3. 实践基础Shader +- **编写第一个Shader**:从最简单的改变物体颜色开始,理解如何在Shader中设置颜色,并将其应用于对象。 +- **纹理映射**:学习如何将纹理应用到3D模型上,理解纹理坐标和采样器的工作原理。 +- **光照基础**:实现基本的光照模型,如Lambertian漫反射,理解如何在Shader中处理光照信息。 + +### 4. 在线资源与教程 +- **官方文档**:Unity和Unreal Engine的官方文档提供了丰富的Shader教程和示例代码。 +- **在线课程**:网站如Udemy、Coursera、YouTube上有许多免费和付费的Shader编程课程,适合不同水平的学习者。 +- **书籍**:《Real-Time Rendering》、《The Book of Shaders》、《Unity Shader and Effects Cookbook》等书籍是深入学习的好资源。 +- **社区与论坛**:加入Unity论坛、Reddit的r/GraphicsProgramming等社区,遇到问题时寻求帮助,也能看到其他人的项目和经验分享。 + +### 5. 持续实践与项目 +- **模仿与创造**:尝试模仿现有的游戏或项目中的视觉效果,然后在此基础上创新,创建自己的Shader。 +- **小项目实践**:通过制作简单的小项目(如2D游戏特效、3D模型材质编辑)来应用所学知识。 + +记住,Shader编程是一个实践性很强的领域,理论学习结合大量的动手实践是进步的关键。随着经验的积累,你会逐渐掌握更高级的技术,如物理渲染(PBR)、体积渲染、屏幕后处理效果等。加油! + +## 调试 +要在Visual Studio Code (VSCode) 中运行和调试GLSL(OpenGL Shading Language)代码,你需要借助一些插件和配置来辅助完成。以下是一些基本步骤来帮助你在VSCode中运行GLSL: + +### 1. 安装必要的插件 +- **GLSL语言支持**:首先,确保你的VSCode安装了支持GLSL语法高亮和基本代码补全的插件。可以通过访问VSCode的扩展市场搜索“GLSL”来安装相关插件,如“GLSL”或“GLSL Sandbox”。 +- **Shader Playground**:可选地,你可以安装“Shader Playground”这样的插件,它允许你直接在编辑器内预览GLSL着色器的效果。 + +### 2. 配置任务运行 +虽然直接在VSCode中“运行”GLSL代码并不像运行常规脚本那样直接,因为GLSL代码需要在图形API(如OpenGL或WebGL)上下文中执行,但你可以通过以下方式设置: + +- 创建一个任务来编译或使用外部工具(如glslangValidator)验证你的GLSL代码。 +- 如果你想在WebGL环境中测试GLSL代码,可以设置一个任务来启动一个本地服务器,并在浏览器中查看效果。 + +### 3. 使用外部工具编译GLSL +- 安装`glslangValidator`或其他GLSL编译器,并将其添加到系统PATH中。 +- 在VSCode中创建一个新的任务(通过菜单栏的`Terminal` > `Configure Tasks`),编写一个任务来调用此编译器编译你的GLSL文件。 + +### 4. 集成WebGL或OpenGL应用 +- 对于WebGL,你可以编写一个简单的HTML和JavaScript文件来加载和运行你的着色器。使用Live Server插件在VSCode中实时预览这个页面。 +- 对于OpenGL应用,你需要一个运行时环境来编译和链接你的着色器。这通常涉及到一个外部项目,比如使用C++或其它语言编写的OpenGL应用。在VSCode中,你可以配置任务来编译和运行这个外部应用。 + +### 5. 调试 +- 虽然直接在VSCode中调试GLSL代码较为复杂,但对于WebGL,你可以在浏览器的开发者工具中调试着色器。 +- 对于更专业的调试需求,可能需要更复杂的设置,如使用外部调试器或特定于平台的工具。 + +综上所述,VSCode本身并不能直接“运行”GLSL代码,但你可以通过上述方式配置和整合工具,使编写、编译、预览和调试GLSL变得更加方便。 diff --git a/src/shaders/weather/medium-rain.glsl b/src/shaders/weather/medium-rain.glsl new file mode 100644 index 0000000..aa84374 --- /dev/null +++ b/src/shaders/weather/medium-rain.glsl @@ -0,0 +1,407 @@ +// From https://www.shadertoy.com/view/Mstczs + +precision highp float;// 添加精度定义 +uniform float iTime; +uniform vec3 iResolution; +uniform sampler2D iChannel3; + +// #iChannel3"./medium-rain3.png" + +// 定义一个saturate函数,用于将输入值限制在0到1的范围内 +#define saturate(x)clamp(x,0.,1.) + +// 定义一个rgb函数,用于将RGB值从整数 scale 转换为0到1之间的浮点数 +#define rgb(r,g,b)(vec3(r,g,b)/255.) + +// 函数 rand(float) - 生成基于单个浮点数的随机数 +// 参数 x: 用于生成随机数的种子值 +// 返回值: 返回范围在0到1之间的随机浮点数 +float rand(float x){return fract(sin(x)*71523.5413291);} + +// 函数 rand(vec2) - 生成基于二维向量的随机数 +// 参数 x: 一个二维向量,用于生成随机数的种子值 +// 返回值: 返回范围在0到1之间的随机浮点数 +float rand(vec2 x){return rand(dot(x,vec2(13.4251,15.5128)));} +// 噪声函数,输入一个二维向量,返回一个浮点数 +float noise(vec2 x) +{ + // 取整 + vec2 i=floor(x); + // 计算分数部分 + vec2 f=x-i; + // 使用Cosine插值近似 + f*=f*(3.-2.*f); + // 混合两个随机值 + return mix(mix(rand(i),rand(i+vec2(1,0)),f.x), + mix(rand(i+vec2(0,1)),rand(i+vec2(1,1)),f.x),f.y); +} + +// 分形噪声函数,输入一个二维向量,返回一个浮点数 +float fbm(vec2 x) +{ + float r=0.,s=1.,w=1.; + // 迭代5次 + for(int i=0;i<5;i++) + { + s*=2.;// 缩放因子 + w*=.5;// 权重 + r+=w*noise(s*x);// 累加噪声 + } + return r; +} + +// 生成云纹理的函数 +// 输入:uv - 坐标;scalex, scaley - x,y方向的缩放;density - 密度;sharpness - 锋利度;speed - 速度 +// 返回:云的不透明度 +float cloud(vec2 uv,float scalex,float scaley,float density,float sharpness,float speed) +{ + return pow(saturate(fbm(vec2(scalex,scaley)*(uv+vec2(speed,0)*iTime))-(1.-density)),1.-sharpness); +} + +// 定义可用灯光数量 +#define NUM_LIGHTS 12 + +// 灯光数组和颜色数组,用于存储灯光信息 +vec4 lightArray[NUM_LIGHTS]; // 存储灯光位置和类型等信息 +vec3 lightColours[NUM_LIGHTS]; // 存储灯光颜色 + +// 定义圆周率常量 +const float kPI=3.141592654; + +// 光线结构体,用于存储光线的起点和方向 +struct C_Ray +{ + vec3 vOrigin; // 光线起点 + vec3 vDir; // 光线方向 +}; +C_Ray ray; // 全局光线变量 + +// 坐标变量,可能用于表示屏幕坐标或纹理坐标 +vec2 coord; + +// 简化版的最小值函数 +float sMin(float a,float b) +{ + float k=1.5; + float h=clamp(.5+.5*(b-a)/k,0.,1.); + return mix(b,a,h)-k*h*(1.-h); +} + +// 绕Y轴旋转向量 +vec3 RotateY(const in vec3 vPos,const in float ang) +{ + float s=sin(ang); + float c=cos(ang); + vec3 vResult=vec3(c*vPos.x+s*vPos.z,vPos.y,-s*vPos.x+c*vPos.z); + return vResult; +} + +// 基于二维坐标生成随机数的函数 +float Hash(in vec2 p) +{ + return fract(sin(dot(p,vec2(27.16898,28.90563)))*44549.5473453); +} + +// 噪声函数的简化版本 +float Noise(in vec2 p) +{ + vec2 f; + f=fract(p);// 取小数部分 + p=floor(p); + f=f*f*(3.-2.*f);// 使用余弦插值近似 + float res=mix(mix(Hash(p), + Hash(p+vec2(1.,0.)),f.x), + mix(Hash(p+vec2(0.,1.)), + Hash(p+vec2(1.,1.)),f.x),f.y); + return res; +} + +// 计算包围盒边缘距离的函数 +float RoundBox(vec3 p,vec3 b) +{ + return length(max(abs(p)-b,0.))-.5; +} + +/** + * 计算给定点到包围盒表面的最短距离。 + * + * @param vPos 给定点的三维坐标。 + * @param vDimension 包围盒的尺寸,表示为长度为三的向量,分别对应x、y、z轴的尺寸。 + * @return 返回给定点到包围盒表面的最短距离。 + */ +float GetDistanceBox(const in vec3 vPos,const in vec3 vDimension) +{ + // 计算点到包围盒各个面的距离,使用绝对值和max函数确保距离非负,然后取长度。 + return length(max(abs(vPos)-vDimension,0.)); +} + +// MapToScene: 计算给定点到场景中各物体的最近距离。 +// 参数: +// vPos: 待计算距离的点的三维坐标。 +// 返回值: +// 返回从该点到场景中任何物体的最短距离。 +float MapToScene(const in vec3 vPos) +{ + float fResult=1000.; + + // 计算点到地面的距离 + float fFloorDist=vPos.y+3.2; + fResult=min(fResult,fFloorDist); + + // 计算点到建筑物2的距离 + vec3 vBuilding2Pos=vec3(60.,0.,55.); + const float fBuilding2Radius=100.; + vec3 vBuilding2Offset=vBuilding2Pos-vPos; + float fBuilding2Dist=length(vBuilding2Offset.xz)-fBuilding2Radius; + fBuilding2Dist=max(vBuilding2Offset.z-16.,-fBuilding2Dist);// 仅计算背面距离 + fResult=min(fResult,fBuilding2Dist); + + // 计算点到出租车的距离 + vec3 vCabDomain=vPos; + vCabDomain-=vec3(-1.4,-1.55,29.5); + vCabDomain=RotateY(vCabDomain,.1); + float fCabDist=RoundBox(vCabDomain+vec3(0.,.85,0.),vec3(.8,.54,2.5)); + fResult=min(fResult,fCabDist); + fCabDist=RoundBox(vCabDomain,vec3(.6,1.2,1.2)); + fResult=sMin(fResult,fCabDist); + + // 计算点到公交车的距离 + vec3 vBusDomain=vPos; + vBusDomain-=vec3(-15.,0.,29.5); + vBusDomain=RotateY(vBusDomain,.35); + float fBusDist=RoundBox(vBusDomain,vec3(.55,1.8,4.)); + + fResult=min(fResult,fBusDist); + + // 计算点到公交车站的距离 + vec3 vBusShelter=vPos; + vBusShelter-=vec3(7.5,-2.,30.); + vBusShelter=RotateY(vBusShelter,.3); + float fBusShelterDist=RoundBox(vBusShelter,vec3(.725,5.3,1.7)); + + fResult=min(fResult,fBusShelterDist); + + return fResult; +} + +// Raymarch: 执行光线步进算法,用于渲染。 +// 参数: +// ray: 入射光线的信息。 +// 返回值: +// 光线行进的距离。 +float Raymarch(const in C_Ray ray) +{ + float fDistance=.1; + bool hit=false; + for(int i=0;i<50;i++) + { + float fSceneDist=MapToScene(ray.vOrigin+ray.vDir*fDistance); + if(fSceneDist<=.01||fDistance>=150.) + { + hit=true; + break; + } + + fDistance=fDistance+fSceneDist; + } + + return fDistance; +} + +// GetCameraRay: 根据相机位置、朝向和世界基准向上方向,计算出相机光线。 +// 参数: +// vPos: 相机位置。 +// vForwards: 相机朝向。 +// vWorldUp: 世界基准的向上方向。 +// 输出参数: +// ray: 计算得到的相机光线。 +void GetCameraRay(const in vec3 vPos,const in vec3 vForwards,const in vec3 vWorldUp,out C_Ray ray) +{ + vec2 vUV=coord.xy; + vec2 vViewCoord=vUV*2.-1.; + + vViewCoord.y*=-1.; + + ray.vOrigin=vPos; + + vec3 vRight=normalize(cross(vWorldUp,vForwards)); + vec3 vUp=cross(vRight,vForwards); + + ray.vDir=normalize(vRight*vViewCoord.x+vUp*vViewCoord.y+vForwards); +} + +// GetCameraRayLookat: 根据相机位置和兴趣点位置,计算出相机光线。 +// 参数: +// vPos: 相机位置。 +// vInterest: 兴趣点位置。 +// 输出参数: +// ray: 计算得到的相机光线。 +void GetCameraRayLookat(const in vec3 vPos,const in vec3 vInterest,out C_Ray ray) +{ + vec3 vForwards=normalize(vInterest-vPos); + vec3 vUp=vec3(0.,1.,0.); + + GetCameraRay(vPos,vForwards,vUp,ray); +} + +//---------------------------------------------------------------------------------------- +// 生成给定浮点数x的哈希值 +float hash(float x) +{ + return fract(21654.6512*sin(385.51*x)); +} + +// 生成给定二维向量p的哈希值 +float hash(in vec2 p) +{ + return fract(sin(p.x*15.32+p.y*35.78)*43758.23); +} + +// 生成给定二维向量p的哈希值,版本2 +vec2 hash2(vec2 p) +{ + return vec2(hash(p*.754),hash(1.5743*p.yx+4.5891))-.5; +} + +// 另一个版本的生成给定二维向量p的哈希值 +vec2 hash2b(vec2 p) +{ + return vec2(hash(p*.754),hash(1.5743*p+4.5476351)); +} + +// 定义一个向量用于后续的噪声函数计算 +vec2 add=vec2(1.,0.); + +// 生成二维噪声 +vec2 noise2(vec2 x) +{ + vec2 p=floor(x);// 取整 + vec2 f=fract(x);// 取小数部分 + f=f*f*(3.-2.*f);// 使用smoothstep函数平滑过渡 + + // 使用线性插值混合四个哈希值以生成噪声 + vec2 res=mix(mix(hash2(p),hash2(p+add.xy),f.x), + mix(hash2(p+add.yx),hash2(p+add.xx),f.x),f.y); + return res; +} + +// 生成二维分形噪声,基于噪声2函数 +vec2 fbm2(vec2 x) +{ + vec2 r=vec2(0.); + float a=1.; + + // 层次叠加以生成分形噪声 + for(int i=0;i<8;i++) + { + r+=abs(noise2(x)+.5)*a; + x*=2.; + a*=.5; + } + + return r; +} + +// 计算给定两点在指定方向上的最短距离 +float dseg(vec2 ba,vec2 pa) +{ + // 将点pa投影到线段ba上,并计算投影点到pa的距离 + float h=clamp(dot(pa,ba)/dot(ba,ba),-.2,1.); + return length(pa-ba*h); +} + +// 计算给定点x到指定方向上的一段曲线的最短距离 +float arc(vec2 x,vec2 p,vec2 dir) +{ + vec2 r=p; + float d=10.; + + // 通过噪声生成一系列点,并测试它们到曲线的最短距离 + for(int i=0;i<5;i++) + { + vec2 s=noise2(r+iTime)+dir; + d=min(d,dseg(s,x-r)); + r+=s; + } + return d*3.; + +} + +// 计算给定点x到雷击路径的最短距离 +float thunderbolt(vec2 x,vec2 tgt) +{ + vec2 r=tgt; + float d=1000.; + + float dist=length(tgt-x);// 计算初始目标距离 + + // 通过一系列偏移生成雷击路径 + for(int i=0;i<19;i++) + { + if(r.y>x.y+.5)break;// 避免路径超出y轴范围 + vec2 s=(noise2(r+iTime)+vec2(0.,.7))*2.; + dist=dseg(s,x-r); + d=min(d,dist);// 更新最短距离 + + r+=s;// 更新路径点 + // 在特定间隔加入弧线形状以增加雷击效果的真实感 + if(i-(i/5)*5==0){ + if(i-(i/10)*10==0)d=min(d,arc(x,r,vec2(.3,.5))); + else d=min(d,arc(x,r,vec2(-.3,.5))); + } + } + // 使用指数函数平滑距离值,并添加一定基础值以避免全黑 + return exp(-5.*d)+.2*exp(-1.*dist); + +} + +//---------------------------------------------------------------------------------------- +void main() +{ + // 此函数为GLSL的主函数,负责处理每个像素的颜色渲染。 + // 使用了全局变量和一些内置函数来计算最终的像素颜色。 + + // 初始化相机位置和视角。 + vec3 vCameraPos=vec3(0.,0.,9.8);// 相机初始位置 + float ang=iTime*.3+3.4;// 时间和角度的函数,用于动态调整相机视角 + float head=pow(abs(sin(ang*8.)),1.5)*.15;// 根据角度计算相机的高度 + vCameraPos+=vec3(cos(ang)*2.5,head,sin(ang)*8.5);// 更新相机位置 + coord=gl_FragCoord.xy/iResolution.xy;// 将像素坐标标准化 + + // 计算相机的视锥光束。 + vec3 vCameraIntrest=vec3(-1.,head,25.);// 相机感兴趣的目标点 + GetCameraRayLookat(vCameraPos,vCameraIntrest,ray);// 获取相机到目标点的光线 + vec3 originalRayDir=ray.vDir;// 存储原始的光线方向 + + // 初始化颜色变量和法线变量,用于累加计算最终颜色。 + vec3 normal; + vec3 col=vec3(0.); + + // 处理十二层雨幕效果。 + vec2 q=gl_FragCoord.xy/iResolution.xy;// 规范化像素坐标 + float dis=1.;// 用于距离计算的变量 + col=mix(rgb(151.,176.,201.),rgb(105,117,135),coord.y);// 根据像素的y坐标混合天空颜色 + for(int i=0;i<2;i++)// 循环处理两层雨幕 + { + // 计算雨幕的纹理坐标和透明度。 + float f=1.; + vec2 st=f*(q*vec2(-3.5,.05)+vec2(-iTime*.1+q.y*.11,iTime*.07));// 风对雨幕的影响 + f=(texture(iChannel3,st*.5).x+texture(iChannel3,st*.5).y);// 从纹理中采样雨滴密度 + // 根据像素的y坐标和雨滴密度,调整雨的透明度。 + f=clamp(pow(abs(f)*.5,25.)*10.,0.,q.y*.4+.05); + // 根据雨的透明度和亮度,累加计算颜色。 + vec3 bri=vec3(.15);// 雨的亮度 + col+=bri*f; + } + + // 根据时间和坐标,混合云彩和天空的颜色,增加真实感。 + col=mix(col,vec3(.9),.7*cloud(coord,4.,10.,1.9,.95,.05)*cloud(coord,2.,2.,.5,.15,.025)*coord.y); + + // 在画面底部添加云层,增加深度感。 + float cpos2=coord.y-.2; + float cloudPos2=exp(-10.*cpos2*cpos2); + col=mix(col,vec3(.8),.8*cloud(coord,2.,2.5,.50,.15,.01)*cloudPos2); + + // 输出最终的颜色。 + gl_FragColor=vec4(col,1.); +} \ No newline at end of file diff --git a/src/shaders/weather/medium-rain1.png b/src/shaders/weather/medium-rain1.png new file mode 100644 index 0000000..4a422bd Binary files /dev/null and b/src/shaders/weather/medium-rain1.png differ diff --git a/src/shaders/weather/medium-rain2.png b/src/shaders/weather/medium-rain2.png new file mode 100644 index 0000000..7c90103 Binary files /dev/null and b/src/shaders/weather/medium-rain2.png differ diff --git a/src/shaders/weather/medium-rain3.png b/src/shaders/weather/medium-rain3.png new file mode 100644 index 0000000..7c90103 Binary files /dev/null and b/src/shaders/weather/medium-rain3.png differ diff --git a/src/shaders/weather/winter-snow.glsl b/src/shaders/weather/winter-snow.glsl new file mode 100644 index 0000000..d2bb70e --- /dev/null +++ b/src/shaders/weather/winter-snow.glsl @@ -0,0 +1,61 @@ +// From https://www.shadertoy.com/view/MscXD7 + +// Uniform变量声明,用于外部控制的全局变量 +uniform float iTime; // 时间统一变量,用于动画控制 +uniform vec3 iResolution; // 屏幕分辨率统一变量,用于正常化坐标 +uniform vec4 iMouse; // 鼠标位置统一变量,当前未使用 + +// 定义宏变量控制雪片的数量和层数 +#define _NUMSHEETS 10. // 层数 +#define _NUMFLAKES 40. // 每层雪片数量 + +vec2 uv; // 存储当前像素的归一化坐标 + +// GLSL经典随机函数 +float rnd(float x) +{ + // 使用噪声函数生成随机数 + return fract(sin(dot(vec2(x+47.49,38.2467/(x+2.3)),vec2(12.9898,78.233)))*(43758.5453)); +} + +// 画单个雪片的函数 +// 参数center: 雪片的中心位置 +// 参数radius: 雪片的半径 +// 返回值: 雪片在当前像素的遮挡量 +float drawFlake(vec2 center,float radius) +{ + // 使用平滑步长函数绘制雪片 + return 1.-sqrt(smoothstep(0.,radius,length(uv-center))); +} + +void main() +{ + // 计算当前像素的归一化坐标 + uv=gl_FragCoord.xy/iResolution.x; + // 初始化颜色 + vec3 col=vec3(.63,.85,.95); + // 层循环,用于绘制多层雪片 + for(float i=1.;i<=_NUMSHEETS;i++){ + // 雪片循环 + for(float j=1.;j<=_NUMFLAKES;j++){ + // 控制每层的雪片数量减少 + if(j>_NUMFLAKES/i)break; + + // 计算雪片大小和速度,随着层数增加而增加 + float size=.002*i*(1.+rnd(j)/2.); + float speed=size*.75+rnd(i)/1.5; + + // 计算雪片中心位置,引入随机性和时间因素 + vec2 center=vec2(0.,0.); + center.x=-.3+rnd(j*i)*1.4+.1*cos(iTime+sin(j*i)); + center.y=fract(sin(j)-speed*iTime)/1.3; + + // 预留用于添加Z轴抖动的占位符 + + // 根据层数和距离调整雪片的透明度 + col+=vec3((1.-i/_NUMSHEETS)*drawFlake(center,size)); + } + } + // 输出最终颜色 + gl_FragColor=vec4(col,1.); +} \ No newline at end of file diff --git a/src/styles/main.css b/src/styles/main.css new file mode 100644 index 0000000..8526806 --- /dev/null +++ b/src/styles/main.css @@ -0,0 +1,91 @@ +body { + margin: 0; + background-color: #000; + color: #fff; + font-family: Monospace; + font-size: 13px; + line-height: 24px; + overscroll-behavior: none; +} + +a { + color: #ff0; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +button { + cursor: pointer; + text-transform: uppercase; +} + +#info { + position: absolute; + top: 0px; + width: 100%; + padding: 10px; + box-sizing: border-box; + text-align: center; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + z-index: 1; /* TODO Solve this in HTML */ +} + +a, button, input, select { + pointer-events: auto; +} + +.lil-gui { + z-index: 2 !important; /* TODO Solve this in HTML */ +} + +@media all and ( max-width: 640px ) { + .lil-gui.root { + right: auto; + top: auto; + max-height: 50%; + max-width: 80%; + bottom: 0; + left: 0; + } +} + +#overlay { + position: absolute; + font-size: 16px; + z-index: 2; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + background: rgba(0,0,0,0.7); +} + + #overlay button { + background: transparent; + border: 0; + border: 1px solid rgb(255, 255, 255); + border-radius: 4px; + color: #ffffff; + padding: 12px 18px; + text-transform: uppercase; + cursor: pointer; + } + +#notSupported { + width: 50%; + margin: auto; + background-color: #f00; + margin-top: 20px; + padding: 10px; +} diff --git a/src/test/getting-started/index.html b/src/test/getting-started/index.html new file mode 100644 index 0000000..07da041 --- /dev/null +++ b/src/test/getting-started/index.html @@ -0,0 +1,14 @@ + + + + + Three with Custom GLSL Shaders + + + + + + \ No newline at end of file diff --git a/src/test/getting-started/index.ts b/src/test/getting-started/index.ts new file mode 100644 index 0000000..e8996bd --- /dev/null +++ b/src/test/getting-started/index.ts @@ -0,0 +1,50 @@ +import fragmentShaderSource from "@/shaders/getting-started/uniforms/example3.glsl"; +import * as THREE from "three"; +// 初始化场景、相机、渲染器 +const scene = new THREE.Scene(); +const camera = new THREE.PerspectiveCamera( + 75, + window.innerWidth / window.innerHeight, + 0.1, + 1000, +); +const renderer = new THREE.WebGLRenderer(); +renderer.setSize(window.innerWidth, window.innerHeight); +document.body.appendChild(renderer.domElement); +const uniforms = { + u_resolution: { + value: new THREE.Vector2(window.innerWidth, window.innerHeight), + }, + u_time: { + value: 0.0, + }, + u_mouse: { + value: new THREE.Vector2(0, 0), + }, +}; + +// 创建自定义着色器材质 +const customMaterial = new THREE.ShaderMaterial({ + // vertexShader:vertexShaderSource, //使用默认顶点着色器 + fragmentShader: fragmentShaderSource, + uniforms: uniforms, +}); + +// 创建一个简单的几何体并应用着色器材质 +const geometry = new THREE.BoxGeometry(1, 1, 1); +const cube = new THREE.Mesh(geometry, customMaterial); +scene.add(cube); + +// 设置相机位置 +camera.position.z = 5; +const clock = new THREE.Clock(); +animate(); +// 渲染循环 +function animate() { + requestAnimationFrame(animate); + uniforms.u_time.value = clock.getElapsedTime(); + cube.rotation.x += 0.01; + cube.rotation.y += 0.01; + renderer.render(scene, camera); +} +animate(); diff --git a/src/types/ammo.d.ts b/src/types/ammo.d.ts new file mode 100644 index 0000000..973a8bb --- /dev/null +++ b/src/types/ammo.d.ts @@ -0,0 +1,2225 @@ +export default Ammo; +declare function Ammo(target?: T): Promise; +declare module Ammo { + function destroy(obj: any): void; + function _malloc(size: number): number; + function _free(ptr: number): void; + const HEAP8: Int8Array; + const HEAP16: Int16Array; + const HEAP32: Int32Array; + const HEAPU8: Uint8Array; + const HEAPU16: Uint16Array; + const HEAPU32: Uint32Array; + const HEAPF32: Float32Array; + const HEAPF64: Float64Array; + class TopLevelFunctions { + quatRotate_(rotation: btQuaternion, v: btVector3): btVector3; + set_gContactAddedCallback(cb: unknown): void; + } + class AdapterFunctions { + setInternalTickCallback(world: btDynamicsWorld, cb: unknown, worldUserInfo?: unknown, isPreTick?: boolean): void; + } + class Clone { + Vector3(v: btVector3): btVector3; + Quaternion(q: btQuaternion): btQuaternion; + } + class btIDebugDraw { + drawLine(from: btVector3, to: btVector3, color: btVector3): void; + drawContactPoint(pointOnB: btVector3, normalOnB: btVector3, distance: number, lifeTime: number, color: btVector3): void; + reportErrorWarning(warningString: string): void; + draw3dText(location: btVector3, textString: string): void; + setDebugMode(debugMode: number): void; + getDebugMode(): number; + } + class DebugDrawer { + constructor(); + drawLine(from: btVector3, to: btVector3, color: btVector3): void; + drawContactPoint(pointOnB: btVector3, normalOnB: btVector3, distance: number, lifeTime: number, color: btVector3): void; + reportErrorWarning(warningString: string): void; + draw3dText(location: btVector3, textString: string): void; + setDebugMode(debugMode: number): void; + getDebugMode(): number; + } + class btVector3 { + constructor(); + constructor(x: number, y: number, z: number); + length(): number; + x(): number; + y(): number; + z(): number; + setX(x: number): void; + setY(y: number): void; + setZ(z: number): void; + setValue(x: number, y: number, z: number): void; + normalize(): void; + normalized(): btVector3; + rotate(wAxis: btVector3, angle: number): btVector3; + dot(v: btVector3): number; + angle(v: btVector3): number; + absolute(): btVector3; + cross(v: btVector3): btVector3; + triple(v1: btVector3, v2: btVector3): number; + minAxis(): number; + maxAxis(): number; + furthestAxis(): number; + closestAxis(): number; + setInterpolate3(v0: btVector3, v1: btVector3, rt: number): void; + op_mul(x: number): btVector3; + op_add(v: btVector3): btVector3; + op_sub(v: btVector3): btVector3; + } + class btVector4 extends btVector3 { + constructor(); + constructor(x: number, y: number, z: number, w: number); + w(): number; + absolute4(): btVector4; + maxAxis4(): number; + minAxis4(): number; + closestAxis4(): number; + op_set(v: btVector4): void; + length(): number; + x(): number; + y(): number; + z(): number; + setX(x: number): void; + setY(y: number): void; + setZ(z: number): void; + normalize(): void; + normalized(): btVector3; + rotate(wAxis: btVector3, angle: number): btVector3; + dot(v: btVector3): number; + angle(v: btVector3): number; + absolute(): btVector3; + cross(v: btVector3): btVector3; + triple(v1: btVector3, v2: btVector3): number; + minAxis(): number; + maxAxis(): number; + furthestAxis(): number; + closestAxis(): number; + setInterpolate3(v0: btVector3, v1: btVector3, rt: number): void; + op_mul(x: number): btVector3; + op_add(v: btVector3): btVector3; + op_sub(v: btVector3): btVector3; + } + class btQuadWord { + x(): number; + y(): number; + z(): number; + w(): number; + setX(x: number): void; + setY(y: number): void; + setZ(z: number): void; + setW(w: number): void; + } + class btQuaternion extends btQuadWord { + constructor(); + constructor(x: number, y: number, z: number, w: number); + setValue(x: number, y: number, z: number, w: number): void; + setEulerZYX(z: number, y: number, x: number): void; + setRotation(axis: btVector3, angle: number): void; + normalize(): void; + length2(): number; + length(): number; + dot(q: btQuaternion): number; + normalized(): btQuaternion; + getAxis(): btVector3; + inverse(): btQuaternion; + getAngle(): number; + getAngleShortestPath(): number; + angle(q: btQuaternion): number; + angleShortestPath(q: btQuaternion): number; + op_add(q: btQuaternion): btQuaternion; + op_sub(q: btQuaternion): btQuaternion; + op_mul(s: number): btQuaternion; + op_mulq(q: btQuaternion): btQuaternion; + op_div(s: number): btQuaternion; + } + class btMatrix3x3 { + setEulerZYX(ex: number, ey: number, ez: number): void; + getRotation(q: btQuaternion): void; + getRow(y: number): btVector3; + } + class btTransform { + constructor(); + constructor(q: btQuaternion, v: btVector3); + setIdentity(): void; + setOrigin(origin: btVector3): void; + setRotation(rotation: btQuaternion): void; + getOrigin(): btVector3; + getRotation(): btQuaternion; + getBasis(): btMatrix3x3; + setFromOpenGLMatrix(m: ReadonlyArray): void; + inverse(): btTransform; + op_mul(t: btTransform): btTransform; + } + class btMotionState { + getWorldTransform(worldTrans: btTransform): void; + setWorldTransform(worldTrans: btTransform): void; + } + class MotionState { + constructor(); + getWorldTransform(worldTrans: btTransform): void; + setWorldTransform(worldTrans: btTransform): void; + } + class btDefaultMotionState extends btMotionState { + constructor(startTrans?: btTransform, centerOfMassOffset?: btTransform); + get_m_graphicsWorldTrans(): btTransform; + set_m_graphicsWorldTrans(m_graphicsWorldTrans: btTransform): void; + m_graphicsWorldTrans: btTransform; + } + class btSpatialForceVector { + get_m_topVec(): btVector3; + set_m_topVec(m_topVec: btVector3): void; + m_topVec: btVector3; + get_m_bottomVec(): btVector3; + set_m_bottomVec(m_bottomVec: btVector3): void; + m_bottomVec: btVector3; + constructor(); + constructor(angular: btVector3, linear: btVector3); + setVector(angular: btVector3, linear: btVector3): void; + addVector(angular: btVector3, linear: btVector3): void; + getLinear(): btVector3; + getAngular(): btVector3; + setLinear(linear: btVector3): void; + setAngular(angular: btVector3): void; + addAngular(angular: btVector3): void; + addLinear(linear: btVector3): void; + setZero(): void; + op_add(vec: btSpatialForceVector): btSpatialForceVector; + op_sub(vec: btSpatialForceVector): btSpatialForceVector; + } + class btSpatialMotionVector { + get_m_topVec(): btVector3; + set_m_topVec(m_topVec: btVector3): void; + m_topVec: btVector3; + get_m_bottomVec(): btVector3; + set_m_bottomVec(m_bottomVec: btVector3): void; + m_bottomVec: btVector3; + constructor(); + constructor(angular: btVector3, linear: btVector3); + setVector(angular: btVector3, linear: btVector3): void; + addVector(angular: btVector3, linear: btVector3): void; + getAngular(): btVector3; + getLinear(): btVector3; + setAngular(angular: btVector3): void; + setLinear(linear: btVector3): void; + addAngular(angular: btVector3): void; + addLinear(linear: btVector3): void; + setZero(): void; + dot(b: btSpatialForceVector): number; + op_add(vec: btSpatialMotionVector): btSpatialMotionVector; + op_sub(vec: btSpatialMotionVector): btSpatialMotionVector; + } + class btSymmetricSpatialDyad { + get_m_topLeftMat(): btMatrix3x3; + set_m_topLeftMat(m_topLeftMat: btMatrix3x3): void; + m_topLeftMat: btMatrix3x3; + get_m_topRightMat(): btMatrix3x3; + set_m_topRightMat(m_topRightMat: btMatrix3x3): void; + m_topRightMat: btMatrix3x3; + get_m_bottomLeftMat(): btMatrix3x3; + set_m_bottomLeftMat(m_bottomLeftMat: btMatrix3x3): void; + m_bottomLeftMat: btMatrix3x3; + constructor(); + constructor(topLeftMat: btMatrix3x3, topRightMat: btMatrix3x3, bottomLeftMat: btMatrix3x3); + setMatrix(topLeftMat: btMatrix3x3, topRightMat: btMatrix3x3, bottomLeftMat: btMatrix3x3): void; + addMatrix(topLeftMat: btMatrix3x3, topRightMat: btMatrix3x3, bottomLeftMat: btMatrix3x3): void; + setIdentity(): void; + op_sub(mat: btSymmetricSpatialDyad): btSymmetricSpatialDyad; + } + type btCollisionObject_CollisionFlags = "btCollisionObject::CF_DYNAMIC_OBJECT" | "btCollisionObject::CF_STATIC_OBJECT" | "btCollisionObject::CF_KINEMATIC_OBJECT" | "btCollisionObject::CF_NO_CONTACT_RESPONSE" | "btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK" | "btCollisionObject::CF_CHARACTER_OBJECT" | "btCollisionObject::CF_DISABLE_VISUALIZE_OBJECT" | "btCollisionObject::CF_DISABLE_SPU_COLLISION_PROCESSING" | "btCollisionObject::CF_HAS_CONTACT_STIFFNESS_DAMPING" | "btCollisionObject::CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR" | "btCollisionObject::CF_HAS_FRICTION_ANCHOR" | "btCollisionObject::CF_HAS_COLLISION_SOUND_TRIGGER"; + type btCollisionObject_CollisionObjectTypes = "btCollisionObject::CO_COLLISION_OBJECT" | "btCollisionObject::CO_RIGID_BODY" | "btCollisionObject::CO_GHOST_OBJECT" | "btCollisionObject::CO_SOFT_BODY" | "btCollisionObject::CO_HF_FLUID" | "btCollisionObject::CO_USER_TYPE" | "btCollisionObject::CO_FEATHERSTONE_LINK"; + type btCollisionObject_AnisotropicFrictionFlags = "btCollisionObject::CF_ANISOTROPIC_FRICTION_DISABLED" | "btCollisionObject::CF_ANISOTROPIC_FRICTION" | "btCollisionObject::CF_ANISOTROPIC_ROLLING_FRICTION"; + class btCollisionObject { + getAnisotropicFriction(): btVector3; + setAnisotropicFriction(anisotropicFriction: btVector3, frictionMode: number): void; + hasAnisotropicFriction(frictionMode?: number): boolean; + getCollisionShape(): btCollisionShape; + getContactProcessingThreshold(): number; + setContactProcessingThreshold(contactProcessingThreshold: number): void; + getActivationState(): number; + setActivationState(newState: number): void; + forceActivationState(newState: number): void; + activate(forceActivation?: boolean): void; + setDeactivationTime(time: number): void; + getDeactivationTime(): number; + isActive(): boolean; + isKinematicObject(): boolean; + isStaticObject(): boolean; + isStaticOrKinematicObject(): boolean; + getRestitution(): number; + getFriction(): number; + getRollingFriction(): number; + getSpinningFriction(): number; + getContactStiffness(): number; + getContactDamping(): number; + setRestitution(rest: number): void; + setFriction(frict: number): void; + setRollingFriction(frict: number): void; + setSpinningFriction(frict: number): void; + setContactStiffnessAndDamping(stiffness: number, damping: number): void; + getWorldTransform(): btTransform; + getCollisionFlags(): number; + setCollisionFlags(flags: number): void; + setWorldTransform(worldTrans: btTransform): void; + setCollisionShape(collisionShape: btCollisionShape): void; + setCcdMotionThreshold(ccdMotionThreshold: number): void; + setCcdSweptSphereRadius(radius: number): void; + getUserIndex(): number; + getUserIndex2(): number; + getUserIndex3(): number; + setUserIndex(index: number): void; + setUserIndex2(index: number): void; + setUserIndex3(index: number): void; + getUserPointer(): unknown; + setUserPointer(userPointer: unknown): void; + getBroadphaseHandle(): btBroadphaseProxy; + } + class btCollisionObjectWrapper { + getWorldTransform(): btTransform; + getCollisionObject(): btCollisionObject; + getCollisionShape(): btCollisionShape; + } + class RayResultCallback { + hasHit(): boolean; + get_m_collisionFilterGroup(): number; + set_m_collisionFilterGroup(m_collisionFilterGroup: number): void; + m_collisionFilterGroup: number; + get_m_collisionFilterMask(): number; + set_m_collisionFilterMask(m_collisionFilterMask: number): void; + m_collisionFilterMask: number; + get_m_closestHitFraction(): number; + set_m_closestHitFraction(m_closestHitFraction: number): void; + m_closestHitFraction: number; + get_m_collisionObject(): btCollisionObject; + set_m_collisionObject(m_collisionObject: btCollisionObject): void; + m_collisionObject: btCollisionObject; + get_m_flags(): number; + set_m_flags(m_flags: number): void; + m_flags: number; + } + class ClosestRayResultCallback extends RayResultCallback { + constructor(from: btVector3, to: btVector3); + get_m_rayFromWorld(): btVector3; + set_m_rayFromWorld(m_rayFromWorld: btVector3): void; + m_rayFromWorld: btVector3; + get_m_rayToWorld(): btVector3; + set_m_rayToWorld(m_rayToWorld: btVector3): void; + m_rayToWorld: btVector3; + get_m_hitNormalWorld(): btVector3; + set_m_hitNormalWorld(m_hitNormalWorld: btVector3): void; + m_hitNormalWorld: btVector3; + get_m_hitPointWorld(): btVector3; + set_m_hitPointWorld(m_hitPointWorld: btVector3): void; + m_hitPointWorld: btVector3; + } + class btConstCollisionObjectArray { + size(): number; + at(n: number): btCollisionObject; + } + class btScalarArray { + size(): number; + at(n: number): number; + } + class AllHitsRayResultCallback extends RayResultCallback { + constructor(from: btVector3, to: btVector3); + get_m_collisionObjects(): btConstCollisionObjectArray; + set_m_collisionObjects(m_collisionObjects: btConstCollisionObjectArray): void; + m_collisionObjects: btConstCollisionObjectArray; + get_m_rayFromWorld(): btVector3; + set_m_rayFromWorld(m_rayFromWorld: btVector3): void; + m_rayFromWorld: btVector3; + get_m_rayToWorld(): btVector3; + set_m_rayToWorld(m_rayToWorld: btVector3): void; + m_rayToWorld: btVector3; + get_m_hitNormalWorld(): btVector3Array; + set_m_hitNormalWorld(m_hitNormalWorld: btVector3Array): void; + m_hitNormalWorld: btVector3Array; + get_m_hitPointWorld(): btVector3Array; + set_m_hitPointWorld(m_hitPointWorld: btVector3Array): void; + m_hitPointWorld: btVector3Array; + get_m_hitFractions(): btScalarArray; + set_m_hitFractions(m_hitFractions: btScalarArray): void; + m_hitFractions: btScalarArray; + } + class btManifoldPoint { + getPositionWorldOnA(): btVector3; + getPositionWorldOnB(): btVector3; + getAppliedImpulse(): number; + getDistance(): number; + get_m_localPointA(): btVector3; + set_m_localPointA(m_localPointA: btVector3): void; + m_localPointA: btVector3; + get_m_localPointB(): btVector3; + set_m_localPointB(m_localPointB: btVector3): void; + m_localPointB: btVector3; + get_m_positionWorldOnB(): btVector3; + set_m_positionWorldOnB(m_positionWorldOnB: btVector3): void; + m_positionWorldOnB: btVector3; + get_m_positionWorldOnA(): btVector3; + set_m_positionWorldOnA(m_positionWorldOnA: btVector3): void; + m_positionWorldOnA: btVector3; + get_m_normalWorldOnB(): btVector3; + set_m_normalWorldOnB(m_normalWorldOnB: btVector3): void; + m_normalWorldOnB: btVector3; + get_m_userPersistentData(): any; + set_m_userPersistentData(m_userPersistentData: any): void; + m_userPersistentData: any; + } + class ContactResultCallback { + addSingleResult(cp: btManifoldPoint, colObj0Wrap: btCollisionObjectWrapper, partId0: number, index0: number, colObj1Wrap: btCollisionObjectWrapper, partId1: number, index1: number): number; + } + class ConcreteContactResultCallback { + constructor(); + addSingleResult(cp: btManifoldPoint, colObj0Wrap: btCollisionObjectWrapper, partId0: number, index0: number, colObj1Wrap: btCollisionObjectWrapper, partId1: number, index1: number): number; + } + class LocalShapeInfo { + get_m_shapePart(): number; + set_m_shapePart(m_shapePart: number): void; + m_shapePart: number; + get_m_triangleIndex(): number; + set_m_triangleIndex(m_triangleIndex: number): void; + m_triangleIndex: number; + } + class LocalConvexResult { + constructor(hitCollisionObject: btCollisionObject, localShapeInfo: LocalShapeInfo, hitNormalLocal: btVector3, hitPointLocal: btVector3, hitFraction: number); + get_m_hitCollisionObject(): btCollisionObject; + set_m_hitCollisionObject(m_hitCollisionObject: btCollisionObject): void; + m_hitCollisionObject: btCollisionObject; + get_m_localShapeInfo(): LocalShapeInfo; + set_m_localShapeInfo(m_localShapeInfo: LocalShapeInfo): void; + m_localShapeInfo: LocalShapeInfo; + get_m_hitNormalLocal(): btVector3; + set_m_hitNormalLocal(m_hitNormalLocal: btVector3): void; + m_hitNormalLocal: btVector3; + get_m_hitPointLocal(): btVector3; + set_m_hitPointLocal(m_hitPointLocal: btVector3): void; + m_hitPointLocal: btVector3; + get_m_hitFraction(): number; + set_m_hitFraction(m_hitFraction: number): void; + m_hitFraction: number; + } + class ConvexResultCallback { + hasHit(): boolean; + get_m_collisionFilterGroup(): number; + set_m_collisionFilterGroup(m_collisionFilterGroup: number): void; + m_collisionFilterGroup: number; + get_m_collisionFilterMask(): number; + set_m_collisionFilterMask(m_collisionFilterMask: number): void; + m_collisionFilterMask: number; + get_m_closestHitFraction(): number; + set_m_closestHitFraction(m_closestHitFraction: number): void; + m_closestHitFraction: number; + } + class ClosestConvexResultCallback extends ConvexResultCallback { + constructor(convexFromWorld: btVector3, convexToWorld: btVector3); + get_m_hitCollisionObject(): btCollisionObject; + set_m_hitCollisionObject(m_hitCollisionObject: btCollisionObject): void; + m_hitCollisionObject: btCollisionObject; + get_m_convexFromWorld(): btVector3; + set_m_convexFromWorld(m_convexFromWorld: btVector3): void; + m_convexFromWorld: btVector3; + get_m_convexToWorld(): btVector3; + set_m_convexToWorld(m_convexToWorld: btVector3): void; + m_convexToWorld: btVector3; + get_m_hitNormalWorld(): btVector3; + set_m_hitNormalWorld(m_hitNormalWorld: btVector3): void; + m_hitNormalWorld: btVector3; + get_m_hitPointWorld(): btVector3; + set_m_hitPointWorld(m_hitPointWorld: btVector3): void; + m_hitPointWorld: btVector3; + } + class btCollisionShape { + setLocalScaling(scaling: btVector3): void; + getLocalScaling(): btVector3; + calculateLocalInertia(mass: number, inertia: btVector3): void; + setMargin(margin: number): void; + getMargin(): number; + } + class btConvexShape extends btCollisionShape { + } + class btConvexTriangleMeshShape extends btConvexShape { + constructor(meshInterface: btStridingMeshInterface, calcAabb?: boolean); + } + class btBoxShape extends btCollisionShape { + constructor(boxHalfExtents: btVector3); + setMargin(margin: number): void; + getMargin(): number; + } + class btCapsuleShape extends btCollisionShape { + constructor(radius: number, height: number); + setMargin(margin: number): void; + getMargin(): number; + getUpAxis(): number; + getRadius(): number; + getHalfHeight(): number; + } + class btCapsuleShapeX extends btCapsuleShape { + constructor(radius: number, height: number); + setMargin(margin: number): void; + getMargin(): number; + } + class btCapsuleShapeZ extends btCapsuleShape { + constructor(radius: number, height: number); + setMargin(margin: number): void; + getMargin(): number; + } + class btCylinderShape extends btCollisionShape { + constructor(halfExtents: btVector3); + setMargin(margin: number): void; + getMargin(): number; + } + class btCylinderShapeX extends btCylinderShape { + constructor(halfExtents: btVector3); + setMargin(margin: number): void; + getMargin(): number; + } + class btCylinderShapeZ extends btCylinderShape { + constructor(halfExtents: btVector3); + setMargin(margin: number): void; + getMargin(): number; + } + class btSphereShape extends btCollisionShape { + constructor(radius: number); + setMargin(margin: number): void; + getMargin(): number; + } + class btMultiSphereShape extends btCollisionShape { + constructor(positions: btVector3, radii: ReadonlyArray, numPoints: number); + } + class btConeShape extends btCollisionShape { + constructor(radius: number, height: number); + } + class btConeShapeX extends btConeShape { + constructor(radius: number, height: number); + } + class btConeShapeZ extends btConeShape { + constructor(radius: number, height: number); + } + class btIntArray { + size(): number; + at(n: number): number; + } + class btFace { + get_m_indices(): btIntArray; + set_m_indices(m_indices: btIntArray): void; + m_indices: btIntArray; + get_m_plane(): ReadonlyArray; + set_m_plane(m_plane: ReadonlyArray): void; + m_plane: ReadonlyArray; + } + class btVector3Array { + constructor(); + size(): number; + at(n: number): btVector3; + clear(): void; + pop_back(): void; + resize(newsize: number, fillData: btVector3): void; + expandNonInitializing(): btVector3; + expand(fillValue: btVector3): btVector3; + push_back(Val: btVector3): void; + capacity(): number; + reserve(Count: number): void; + } + class btQuaternionArray { + constructor(); + size(): number; + at(n: number): btQuaternion; + clear(): void; + pop_back(): void; + resize(newsize: number, fillData: btQuaternion): void; + expandNonInitializing(): btQuaternion; + expand(fillValue: btQuaternion): btQuaternion; + push_back(Val: btQuaternion): void; + capacity(): number; + reserve(Count: number): void; + } + class btMatrix3x3Array { + constructor(); + size(): number; + at(n: number): btMatrix3x3; + clear(): void; + pop_back(): void; + resize(newsize: number, fillData: btMatrix3x3): void; + expandNonInitializing(): btMatrix3x3; + expand(fillValue: btMatrix3x3): btMatrix3x3; + push_back(Val: btMatrix3x3): void; + capacity(): number; + reserve(Count: number): void; + } + class btFaceArray { + constructor(); + size(): number; + at(n: number): btFace; + clear(): void; + pop_back(): void; + resize(newsize: number, fillData: btFace): void; + expandNonInitializing(): btFace; + expand(fillValue: btFace): btFace; + push_back(Val: btFace): void; + capacity(): number; + reserve(Count: number): void; + } + class btConvexPolyhedron { + get_m_vertices(): btVector3Array; + set_m_vertices(m_vertices: btVector3Array): void; + m_vertices: btVector3Array; + get_m_faces(): btFaceArray; + set_m_faces(m_faces: btFaceArray): void; + m_faces: btFaceArray; + } + class btConvexHullShape extends btCollisionShape { + constructor(points?: ReadonlyArray, numPoints?: number); + addPoint(point: btVector3, recalculateLocalAABB?: boolean): void; + setMargin(margin: number): void; + getMargin(): number; + getNumVertices(): number; + initializePolyhedralFeatures(shiftVerticesByMargin: number): boolean; + recalcLocalAabb(): void; + getConvexPolyhedron(): btConvexPolyhedron; + } + class btShapeHull { + constructor(shape: btConvexShape); + buildHull(margin: number): boolean; + numVertices(): number; + getVertexPointer(): btVector3; + } + class btCompoundShape extends btCollisionShape { + constructor(enableDynamicAabbTree?: boolean); + addChildShape(localTransform: btTransform, shape: btCollisionShape): void; + removeChildShape(shape: btCollisionShape): void; + removeChildShapeByIndex(childShapeindex: number): void; + getNumChildShapes(): number; + getChildShape(index: number): btCollisionShape; + updateChildTransform(childIndex: number, newChildTransform: btTransform, shouldRecalculateLocalAabb?: boolean): void; + setMargin(margin: number): void; + getMargin(): number; + } + class btStridingMeshInterface { + setScaling(scaling: btVector3): void; + } + class btIndexedMesh { + get_m_numTriangles(): number; + set_m_numTriangles(m_numTriangles: number): void; + m_numTriangles: number; + } + class btIndexedMeshArray { + size(): number; + at(n: number): btIndexedMesh; + } + class btTriangleMesh extends btStridingMeshInterface { + constructor(use32bitIndices?: boolean, use4componentVertices?: boolean); + addTriangle(vertex0: btVector3, vertex1: btVector3, vertex2: btVector3, removeDuplicateVertices?: boolean): void; + addTriangleIndices(index1: number, index2: number, index3: number): void; + findOrAddVertex(vertex: btVector3, removeDuplicateVertices: boolean): number; + addIndex(index: number): void; + getIndexedMeshArray(): btIndexedMeshArray; + } + type PHY_ScalarType = "PHY_FLOAT" | "PHY_DOUBLE" | "PHY_INTEGER" | "PHY_SHORT" | "PHY_FIXEDPOINT88" | "PHY_UCHAR"; + class btTriangleCallback { + processTriangle(triangle: btVector3, partId: number, triangleIndex: number): void; + } + class btTriangleCallback_implJS { + processTriangle(triangle: btVector3, partId: number, triangleIndex: number): void; + } + class btConcaveShape extends btCollisionShape { + } + class btEmptyShape extends btConcaveShape { + constructor(); + } + class btStaticPlaneShape extends btConcaveShape { + constructor(planeNormal: btVector3, planeConstant: number); + } + class btTriangleMeshShape extends btConcaveShape { + } + class btBvhTriangleMeshShape extends btTriangleMeshShape { + constructor(meshInterface: btStridingMeshInterface, useQuantizedAabbCompression: boolean, buildBvh?: boolean); + performRaycast(callback: btTriangleCallback, raySource: btVector3, rayTarget: btVector3): void; + } + class btHeightfieldTerrainShape extends btConcaveShape { + constructor(heightStickWidth: number, heightStickLength: number, heightfieldData: unknown, heightScale: number, minHeight: number, maxHeight: number, upAxis: number, hdt: PHY_ScalarType, flipQuadEdges: boolean); + setMargin(margin: number): void; + getMargin(): number; + } + class btAABB { + constructor(V1: btVector3, V2: btVector3, V3: btVector3, margin: number); + invalidate(): void; + increment_margin(margin: number): void; + copy_with_margin(other: btAABB, margin: number): void; + } + class btPrimitiveTriangle { + constructor(); + } + class btTriangleShapeEx { + constructor(p1: btVector3, p2: btVector3, p3: btVector3); + getAabb(t: btTransform, aabbMin: btVector3, aabbMax: btVector3): void; + applyTransform(t: btTransform): void; + } + class btPrimitiveManagerBase { + is_trimesh(): boolean; + get_primitive_count(): number; + get_primitive_box(prim_index: number, primbox: btAABB): void; + get_primitive_triangle(prim_index: number, triangle: btPrimitiveTriangle): void; + } + type eGIMPACT_SHAPE_TYPE = "CONST_GIMPACT_COMPOUND_SHAPE" | "CONST_GIMPACT_TRIMESH_SHAPE_PART" | "CONST_GIMPACT_TRIMESH_SHAPE"; + class btTetrahedronShapeEx { + constructor(); + setVertices(v0: btVector3, v1: btVector3, v2: btVector3, v3: btVector3): void; + } + class btGImpactShapeInterface extends btConcaveShape { + updateBound(): void; + postUpdate(): void; + getShapeType(): number; + getName(): string; + getGImpactShapeType(): eGIMPACT_SHAPE_TYPE; + getPrimitiveManager(): btPrimitiveManagerBase; + getNumChildShapes(): number; + childrenHasTransform(): boolean; + needsRetrieveTriangles(): boolean; + needsRetrieveTetrahedrons(): boolean; + getBulletTriangle(prim_index: number, triangle: btTriangleShapeEx): void; + getBulletTetrahedron(prim_index: number, tetrahedron: btTetrahedronShapeEx): void; + getChildShape(index: number): btCollisionShape; + getChildTransform(index: number): btTransform; + setChildTransform(index: number, transform: btTransform): void; + } + class CompoundPrimitiveManager extends btPrimitiveManagerBase { + get_m_compoundShape(): btGImpactCompoundShape; + set_m_compoundShape(m_compoundShape: btGImpactCompoundShape): void; + m_compoundShape: btGImpactCompoundShape; + get_primitive_count(): number; + get_primitive_box(prim_index: number, primbox: btAABB): void; + get_primitive_triangle(prim_index: number, triangle: btPrimitiveTriangle): void; + } + class btGImpactCompoundShape extends btGImpactShapeInterface { + constructor(children_has_transform?: boolean); + childrenHasTransform(): boolean; + getPrimitiveManager(): btPrimitiveManagerBase; + getCompoundPrimitiveManager(): CompoundPrimitiveManager; + getNumChildShapes(): number; + addChildShape(localTransform: btTransform, shape: btCollisionShape): void; + getChildShape(index: number): btCollisionShape; + getChildAabb(child_index: number, t: btTransform, aabbMin: btVector3, aabbMax: btVector3): void; + getChildTransform(index: number): btTransform; + setChildTransform(index: number, transform: btTransform): void; + calculateLocalInertia(mass: number, inertia: btVector3): void; + getName(): string; + getGImpactShapeType(): eGIMPACT_SHAPE_TYPE; + } + class TrimeshPrimitiveManager extends btPrimitiveManagerBase { + get_m_margin(): number; + set_m_margin(m_margin: number): void; + m_margin: number; + get_m_meshInterface(): btStridingMeshInterface; + set_m_meshInterface(m_meshInterface: btStridingMeshInterface): void; + m_meshInterface: btStridingMeshInterface; + get_m_part(): number; + set_m_part(m_part: number): void; + m_part: number; + get_m_lock_count(): number; + set_m_lock_count(m_lock_count: number): void; + m_lock_count: number; + get_numverts(): number; + set_numverts(numverts: number): void; + numverts: number; + get_type(): PHY_ScalarType; + set_type(type: PHY_ScalarType): void; + type: PHY_ScalarType; + get_stride(): number; + set_stride(stride: number): void; + stride: number; + get_indexstride(): number; + set_indexstride(indexstride: number): void; + indexstride: number; + get_numfaces(): number; + set_numfaces(numfaces: number): void; + numfaces: number; + get_indicestype(): PHY_ScalarType; + set_indicestype(indicestype: PHY_ScalarType): void; + indicestype: PHY_ScalarType; + constructor(manager?: TrimeshPrimitiveManager); + lock(): void; + unlock(): void; + is_trimesh(): boolean; + get_vertex_count(): number; + get_indices(face_index: number, i0: number, i1: number, i2: number): void; + get_vertex(vertex_index: number, vertex: btVector3): void; + get_bullet_triangle(prim_index: number, triangle: btTriangleShapeEx): void; + } + class btGImpactMeshShapePart extends btGImpactShapeInterface { + constructor(meshInterface: btStridingMeshInterface, part: number); + getTrimeshPrimitiveManager(): TrimeshPrimitiveManager; + getVertexCount(): number; + getVertex(vertex_index: number, vertex: btVector3): void; + getPart(): number; + } + class btGImpactMeshShape extends btGImpactShapeInterface { + constructor(meshInterface: btStridingMeshInterface); + getMeshInterface(): btStridingMeshInterface; + getMeshPartCount(): number; + getMeshPart(index: number): btGImpactMeshShapePart; + calculateSerializeBufferSize(): number; + } + class btCollisionAlgorithmConstructionInfo { + constructor(); + constructor(dispatcher: btDispatcher, temp: number); + get_m_dispatcher1(): btDispatcher; + set_m_dispatcher1(m_dispatcher1: btDispatcher): void; + m_dispatcher1: btDispatcher; + get_m_manifold(): btPersistentManifold; + set_m_manifold(m_manifold: btPersistentManifold): void; + m_manifold: btPersistentManifold; + } + class btCollisionAlgorithm { + } + class btActivatingCollisionAlgorithm extends btCollisionAlgorithm { + } + class btGImpactCollisionAlgorithm extends btActivatingCollisionAlgorithm { + constructor(ci: btCollisionAlgorithmConstructionInfo, body0Wrap: btCollisionObjectWrapper, body1Wrap: btCollisionObjectWrapper); + registerAlgorithm(dispatcher: btCollisionDispatcher): void; + } + class btDefaultCollisionConstructionInfo { + constructor(); + } + class btDefaultCollisionConfiguration { + constructor(info?: btDefaultCollisionConstructionInfo); + } + class btPersistentManifold { + constructor(); + getBody0(): btCollisionObject; + getBody1(): btCollisionObject; + getNumContacts(): number; + getContactPoint(index: number): btManifoldPoint; + } + class btDispatcher { + getNumManifolds(): number; + getManifoldByIndexInternal(index: number): btPersistentManifold; + } + class btCollisionDispatcher extends btDispatcher { + constructor(conf: btDefaultCollisionConfiguration); + } + class btOverlappingPairCallback { + } + class btOverlappingPairCache { + setInternalGhostPairCallback(ghostPairCallback: btOverlappingPairCallback): void; + getNumOverlappingPairs(): number; + } + class btAxisSweep3 { + constructor(worldAabbMin: btVector3, worldAabbMax: btVector3, maxHandles?: number, pairCache?: btOverlappingPairCache, disableRaycastAccelerator?: boolean); + } + class btBroadphaseInterface { + getOverlappingPairCache(): btOverlappingPairCache; + } + class btCollisionConfiguration { + } + class btDbvtBroadphase extends btBroadphaseInterface { + constructor(); + } + class btBroadphaseProxy { + get_m_collisionFilterGroup(): number; + set_m_collisionFilterGroup(m_collisionFilterGroup: number): void; + m_collisionFilterGroup: number; + get_m_collisionFilterMask(): number; + set_m_collisionFilterMask(m_collisionFilterMask: number): void; + m_collisionFilterMask: number; + } + class btRigidBodyConstructionInfo { + constructor(mass: number, motionState: btMotionState, collisionShape: btCollisionShape, localInertia?: btVector3); + get_m_linearDamping(): number; + set_m_linearDamping(m_linearDamping: number): void; + m_linearDamping: number; + get_m_angularDamping(): number; + set_m_angularDamping(m_angularDamping: number): void; + m_angularDamping: number; + get_m_friction(): number; + set_m_friction(m_friction: number): void; + m_friction: number; + get_m_rollingFriction(): number; + set_m_rollingFriction(m_rollingFriction: number): void; + m_rollingFriction: number; + get_m_restitution(): number; + set_m_restitution(m_restitution: number): void; + m_restitution: number; + get_m_linearSleepingThreshold(): number; + set_m_linearSleepingThreshold(m_linearSleepingThreshold: number): void; + m_linearSleepingThreshold: number; + get_m_angularSleepingThreshold(): number; + set_m_angularSleepingThreshold(m_angularSleepingThreshold: number): void; + m_angularSleepingThreshold: number; + get_m_additionalDamping(): boolean; + set_m_additionalDamping(m_additionalDamping: boolean): void; + m_additionalDamping: boolean; + get_m_additionalDampingFactor(): number; + set_m_additionalDampingFactor(m_additionalDampingFactor: number): void; + m_additionalDampingFactor: number; + get_m_additionalLinearDampingThresholdSqr(): number; + set_m_additionalLinearDampingThresholdSqr(m_additionalLinearDampingThresholdSqr: number): void; + m_additionalLinearDampingThresholdSqr: number; + get_m_additionalAngularDampingThresholdSqr(): number; + set_m_additionalAngularDampingThresholdSqr(m_additionalAngularDampingThresholdSqr: number): void; + m_additionalAngularDampingThresholdSqr: number; + get_m_additionalAngularDampingFactor(): number; + set_m_additionalAngularDampingFactor(m_additionalAngularDampingFactor: number): void; + m_additionalAngularDampingFactor: number; + } + class btRigidBody extends btCollisionObject { + constructor(constructionInfo: btRigidBodyConstructionInfo); + getCenterOfMassTransform(): btTransform; + setCenterOfMassTransform(xform: btTransform): void; + setSleepingThresholds(linear: number, angular: number): void; + getLinearSleepingThreshold(): number; + getAngularSleepingThreshold(): number; + getLinearDamping(): number; + getAngularDamping(): number; + setDamping(lin_damping: number, ang_damping: number): void; + applyDamping(timeStep: number): void; + setMassProps(mass: number, inertia: btVector3): void; + getInvMass(): number; + getMass(): number; + getLinearFactor(): btVector3; + setLinearFactor(linearFactor: btVector3): void; + applyTorque(torque: btVector3): void; + applyForce(force: btVector3, rel_pos: btVector3): void; + applyCentralImpulse(impulse: btVector3): void; + applyTorqueImpulse(torque: btVector3): void; + applyImpulse(impulse: btVector3, rel_pos: btVector3): void; + applyPushImpulse(impulse: btVector3, rel_pos: btVector3): void; + getPushVelocity(): btVector3; + getTurnVelocity(): btVector3; + setPushVelocity(v: btVector3): void; + setTurnVelocity(v: btVector3): void; + applyCentralPushImpulse(impulse: btVector3): void; + applyTorqueTurnImpulse(torque: btVector3): void; + getCenterOfMassPosition(): btVector3; + getOrientation(): btQuaternion; + getTotalForce(): btVector3; + getTotalTorque(): btVector3; + getInvInertiaDiagLocal(): btVector3; + setInvInertiaDiagLocal(diagInvInertia: btVector3): void; + updateInertiaTensor(): void; + getLinearVelocity(): btVector3; + getAngularVelocity(): btVector3; + setLinearVelocity(lin_vel: btVector3): void; + setAngularVelocity(ang_vel: btVector3): void; + getVelocityInLocalPoint(rel_pos: btVector3): btVector3; + getPushVelocityInLocalPoint(rel_pos: btVector3): btVector3; + translate(v: btVector3): void; + getMotionState(): btMotionState; + setMotionState(motionState: btMotionState): void; + getAngularFactor(): btVector3; + setAngularFactor(angularFactor: btVector3): void; + upcast(colObj: btCollisionObject): btRigidBody; + getAabb(aabbMin: btVector3, aabbMax: btVector3): void; + applyGravity(): void; + clearGravity(): void; + getGravity(): btVector3; + setGravity(acceleration: btVector3): void; + getBroadphaseProxy(): btBroadphaseProxy; + clearForces(): void; + setFlags(flags: number): void; + getFlags(): number; + } + class btSolverBody { + get_m_worldTransform(): btTransform; + set_m_worldTransform(m_worldTransform: btTransform): void; + m_worldTransform: btTransform; + get_m_deltaLinearVelocity(): btVector3; + set_m_deltaLinearVelocity(m_deltaLinearVelocity: btVector3): void; + m_deltaLinearVelocity: btVector3; + get_m_deltaAngularVelocity(): btVector3; + set_m_deltaAngularVelocity(m_deltaAngularVelocity: btVector3): void; + m_deltaAngularVelocity: btVector3; + get_m_angularFactor(): btVector3; + set_m_angularFactor(m_angularFactor: btVector3): void; + m_angularFactor: btVector3; + get_m_linearFactor(): btVector3; + set_m_linearFactor(m_linearFactor: btVector3): void; + m_linearFactor: btVector3; + get_m_invMass(): btVector3; + set_m_invMass(m_invMass: btVector3): void; + m_invMass: btVector3; + get_m_pushVelocity(): btVector3; + set_m_pushVelocity(m_pushVelocity: btVector3): void; + m_pushVelocity: btVector3; + get_m_turnVelocity(): btVector3; + set_m_turnVelocity(m_turnVelocity: btVector3): void; + m_turnVelocity: btVector3; + get_m_linearVelocity(): btVector3; + set_m_linearVelocity(m_linearVelocity: btVector3): void; + m_linearVelocity: btVector3; + get_m_angularVelocity(): btVector3; + set_m_angularVelocity(m_angularVelocity: btVector3): void; + m_angularVelocity: btVector3; + get_m_externalForceImpulse(): btVector3; + set_m_externalForceImpulse(m_externalForceImpulse: btVector3): void; + m_externalForceImpulse: btVector3; + get_m_externalTorqueImpulse(): btVector3; + set_m_externalTorqueImpulse(m_externalTorqueImpulse: btVector3): void; + m_externalTorqueImpulse: btVector3; + get_m_originalBody(): btRigidBody; + set_m_originalBody(m_originalBody: btRigidBody): void; + m_originalBody: btRigidBody; + setWorldTransform(worldTransform: btTransform): void; + getWorldTransform(): btTransform; + getVelocityInLocalPointNoDelta(rel_pos: btVector3, velocity: btVector3): void; + getVelocityInLocalPointObsolete(rel_pos: btVector3, velocity: btVector3): void; + getAngularVelocity(angVel: btVector3): void; + applyImpulse(linearComponent: btVector3, angularComponent: btVector3, impulseMagnitude: number): void; + internalApplyPushImpulse(linearComponent: btVector3, angularComponent: btVector3, impulseMagnitude: number): void; + getDeltaLinearVelocity(): btVector3; + getDeltaAngularVelocity(): btVector3; + getPushVelocity(): btVector3; + getTurnVelocity(): btVector3; + } + class btSolverBodyArray { + size(): number; + at(n: number): btSolverBody; + } + class btConstraintSetting { + constructor(); + get_m_tau(): number; + set_m_tau(m_tau: number): void; + m_tau: number; + get_m_damping(): number; + set_m_damping(m_damping: number): void; + m_damping: number; + get_m_impulseClamp(): number; + set_m_impulseClamp(m_impulseClamp: number): void; + m_impulseClamp: number; + } + class btJointFeedback { + get_m_appliedForceBodyA(): btVector3; + set_m_appliedForceBodyA(m_appliedForceBodyA: btVector3): void; + m_appliedForceBodyA: btVector3; + get_m_appliedTorqueBodyA(): btVector3; + set_m_appliedTorqueBodyA(m_appliedTorqueBodyA: btVector3): void; + m_appliedTorqueBodyA: btVector3; + get_m_appliedForceBodyB(): btVector3; + set_m_appliedForceBodyB(m_appliedForceBodyB: btVector3): void; + m_appliedForceBodyB: btVector3; + get_m_appliedTorqueBodyB(): btVector3; + set_m_appliedTorqueBodyB(m_appliedTorqueBodyB: btVector3): void; + m_appliedTorqueBodyB: btVector3; + } + class btTypedConstraint { + getOverrideNumSolverIterations(): number; + setOverrideNumSolverIterations(overideNumIterations: number): void; + enableFeedback(needsFeedback: boolean): void; + needsFeedback(): boolean; + setJointFeedback(jointFeedback: btJointFeedback): void; + getJointFeedback(): btJointFeedback; + getAppliedImpulse(): number; + getConstraintType(): btTypedConstraintType; + getBreakingImpulseThreshold(): number; + setBreakingImpulseThreshold(threshold: number): void; + getParam(num: number, axis: number): number; + setParam(num: number, value: number, axis: number): void; + isEnabled(): boolean; + setEnabled(enabled: boolean): void; + getRigidBodyA(): btRigidBody; + getRigidBodyB(): btRigidBody; + getUserConstraintType(): number; + setUserConstraintType(userConstraintType: number): void; + getFixedBody(): btRigidBody; + } + type btTypedConstraintType = "POINT2POINT_CONSTRAINT_TYPE" | "HINGE_CONSTRAINT_TYPE" | "CONETWIST_CONSTRAINT_TYPE" | "D6_CONSTRAINT_TYPE" | "SLIDER_CONSTRAINT_TYPE" | "CONTACT_CONSTRAINT_TYPE" | "D6_SPRING_CONSTRAINT_TYPE" | "GEAR_CONSTRAINT_TYPE" | "FIXED_CONSTRAINT_TYPE" | "MAX_CONSTRAINT_TYPE"; + type btConstraintParams = "BT_CONSTRAINT_ERP" | "BT_CONSTRAINT_STOP_ERP" | "BT_CONSTRAINT_CFM" | "BT_CONSTRAINT_STOP_CFM"; + class btPoint2PointConstraint extends btTypedConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, pivotInA: btVector3, pivotInB: btVector3); + constructor(rbA: btRigidBody, pivotInA: btVector3); + setPivotA(pivotA: btVector3): void; + setPivotB(pivotB: btVector3): void; + getPivotInA(): btVector3; + getPivotInB(): btVector3; + get_m_setting(): btConstraintSetting; + set_m_setting(m_setting: btConstraintSetting): void; + m_setting: btConstraintSetting; + } + class btGeneric6DofConstraint extends btTypedConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, frameInA: btTransform, frameInB: btTransform, useLinearFrameReferenceFrameA: boolean); + constructor(rbB: btRigidBody, frameInB: btTransform, useLinearFrameReferenceFrameB: boolean); + setLinearLowerLimit(linearLower: btVector3): void; + setLinearUpperLimit(linearUpper: btVector3): void; + setAngularLowerLimit(angularLower: btVector3): void; + setAngularUpperLimit(angularUpper: btVector3): void; + getFrameOffsetA(): btTransform; + } + class btGeneric6DofSpringConstraint extends btGeneric6DofConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, frameInA: btTransform, frameInB: btTransform, useLinearFrameReferenceFrameA: boolean); + constructor(rbB: btRigidBody, frameInB: btTransform, useLinearFrameReferenceFrameB: boolean); + enableSpring(index: number, onOff: boolean): void; + setStiffness(index: number, stiffness: number): void; + setDamping(index: number, damping: number): void; + setEquilibriumPoint(index: number, val: number): void; + setEquilibriumPoint(index: number): void; + setEquilibriumPoint(): void; + } + class btSequentialImpulseConstraintSolver { + constructor(); + } + class btConeTwistConstraint extends btTypedConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, rbAFrame: btTransform, rbBFrame: btTransform); + constructor(rbA: btRigidBody, rbAFrame: btTransform); + setLimit(limitIndex: number, limitValue: number): void; + setAngularOnly(angularOnly: boolean): void; + setDamping(damping: number): void; + enableMotor(b: boolean): void; + setMaxMotorImpulse(maxMotorImpulse: number): void; + setMaxMotorImpulseNormalized(maxMotorImpulse: number): void; + setMotorTarget(q: btQuaternion): void; + setMotorTargetInConstraintSpace(q: btQuaternion): void; + } + class btHingeConstraint extends btTypedConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, pivotInA: btVector3, pivotInB: btVector3, axisInA: btVector3, axisInB: btVector3, useReferenceFrameA?: boolean); + constructor(rbA: btRigidBody, rbB: btRigidBody, rbAFrame: btTransform, rbBFrame: btTransform, useReferenceFrameA?: boolean); + constructor(rbA: btRigidBody, rbAFrame: btTransform, useReferenceFrameA?: boolean); + getHingeAngle(): number; + setLimit(low: number, high: number, softness: number, biasFactor: number, relaxationFactor?: number): void; + enableAngularMotor(enableMotor: boolean, targetVelocity: number, maxMotorImpulse: number): void; + setAngularOnly(angularOnly: boolean): void; + enableMotor(enableMotor: boolean): void; + setMaxMotorImpulse(maxMotorImpulse: number): void; + setMotorTarget(targetAngle: number, dt: number): void; + } + class btSliderConstraint extends btTypedConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, frameInA: btTransform, frameInB: btTransform, useLinearReferenceFrameA: boolean); + constructor(rbB: btRigidBody, frameInB: btTransform, useLinearReferenceFrameA: boolean); + getLinearPos(): number; + getAngularPos(): number; + setLowerLinLimit(lowerLimit: number): void; + setUpperLinLimit(upperLimit: number): void; + setLowerAngLimit(lowerAngLimit: number): void; + setUpperAngLimit(upperAngLimit: number): void; + setPoweredLinMotor(onOff: boolean): void; + setMaxLinMotorForce(maxLinMotorForce: number): void; + setTargetLinMotorVelocity(targetLinMotorVelocity: number): void; + } + class btFixedConstraint extends btTypedConstraint { + constructor(rbA: btRigidBody, rbB: btRigidBody, frameInA: btTransform, frameInB: btTransform); + } + type btConstraintSolverType = "BT_SEQUENTIAL_IMPULSE_SOLVER" | "BT_MLCP_SOLVER"; + class btConstraintSolver { + } + class btDispatcherInfo { + get_m_timeStep(): number; + set_m_timeStep(m_timeStep: number): void; + m_timeStep: number; + get_m_stepCount(): number; + set_m_stepCount(m_stepCount: number): void; + m_stepCount: number; + get_m_dispatchFunc(): number; + set_m_dispatchFunc(m_dispatchFunc: number): void; + m_dispatchFunc: number; + get_m_timeOfImpact(): number; + set_m_timeOfImpact(m_timeOfImpact: number): void; + m_timeOfImpact: number; + get_m_useContinuous(): boolean; + set_m_useContinuous(m_useContinuous: boolean): void; + m_useContinuous: boolean; + get_m_enableSatConvex(): boolean; + set_m_enableSatConvex(m_enableSatConvex: boolean): void; + m_enableSatConvex: boolean; + get_m_enableSPU(): boolean; + set_m_enableSPU(m_enableSPU: boolean): void; + m_enableSPU: boolean; + get_m_useEpa(): boolean; + set_m_useEpa(m_useEpa: boolean): void; + m_useEpa: boolean; + get_m_allowedCcdPenetration(): number; + set_m_allowedCcdPenetration(m_allowedCcdPenetration: number): void; + m_allowedCcdPenetration: number; + get_m_useConvexConservativeDistanceUtil(): boolean; + set_m_useConvexConservativeDistanceUtil(m_useConvexConservativeDistanceUtil: boolean): void; + m_useConvexConservativeDistanceUtil: boolean; + get_m_convexConservativeDistanceThreshold(): number; + set_m_convexConservativeDistanceThreshold(m_convexConservativeDistanceThreshold: number): void; + m_convexConservativeDistanceThreshold: number; + } + class btCollisionWorld { + getDispatcher(): btDispatcher; + rayTest(rayFromWorld: btVector3, rayToWorld: btVector3, resultCallback: RayResultCallback): void; + getPairCache(): btOverlappingPairCache; + getDispatchInfo(): btDispatcherInfo; + addCollisionObject(collisionObject: btCollisionObject, collisionFilterGroup?: number, collisionFilterMask?: number): void; + removeCollisionObject(collisionObject: btCollisionObject): void; + getBroadphase(): btBroadphaseInterface; + convexSweepTest(castShape: btConvexShape, from: btTransform, to: btTransform, resultCallback: ConvexResultCallback, allowedCcdPenetration: number): void; + contactPairTest(colObjA: btCollisionObject, colObjB: btCollisionObject, resultCallback: ContactResultCallback): void; + contactTest(colObj: btCollisionObject, resultCallback: ContactResultCallback): void; + updateSingleAabb(colObj: btCollisionObject): void; + setDebugDrawer(debugDrawer: btIDebugDraw): void; + getDebugDrawer(): btIDebugDraw; + debugDrawWorld(): void; + debugDrawObject(worldTransform: btTransform, shape: btCollisionShape, color: btVector3): void; + } + class btContactSolverInfo { + get_m_splitImpulse(): boolean; + set_m_splitImpulse(m_splitImpulse: boolean): void; + m_splitImpulse: boolean; + get_m_splitImpulsePenetrationThreshold(): number; + set_m_splitImpulsePenetrationThreshold(m_splitImpulsePenetrationThreshold: number): void; + m_splitImpulsePenetrationThreshold: number; + get_m_numIterations(): number; + set_m_numIterations(m_numIterations: number): void; + m_numIterations: number; + get_m_erp(): number; + set_m_erp(m_erp: number): void; + m_erp: number; + get_m_erp2(): number; + set_m_erp2(m_erp2: number): void; + m_erp2: number; + } + class btDynamicsWorld extends btCollisionWorld { + addAction(action: btActionInterface): void; + removeAction(action: btActionInterface): void; + getSolverInfo(): btContactSolverInfo; + } + class btDiscreteDynamicsWorld extends btDynamicsWorld { + constructor(dispatcher: btDispatcher, pairCache: btBroadphaseInterface, constraintSolver: btConstraintSolver, collisionConfiguration: btCollisionConfiguration); + setGravity(gravity: btVector3): void; + getGravity(): btVector3; + addRigidBody(body: btRigidBody): void; + addRigidBody(body: btRigidBody, group: number, mask: number): void; + removeRigidBody(body: btRigidBody): void; + addConstraint(constraint: btTypedConstraint, disableCollisionsBetweenLinkedBodies?: boolean): void; + removeConstraint(constraint: btTypedConstraint): void; + stepSimulation(timeStep: number, maxSubSteps?: number, fixedTimeStep?: number): number; + } + class btVehicleTuning { + constructor(); + get_m_suspensionStiffness(): number; + set_m_suspensionStiffness(m_suspensionStiffness: number): void; + m_suspensionStiffness: number; + get_m_suspensionCompression(): number; + set_m_suspensionCompression(m_suspensionCompression: number): void; + m_suspensionCompression: number; + get_m_suspensionDamping(): number; + set_m_suspensionDamping(m_suspensionDamping: number): void; + m_suspensionDamping: number; + get_m_maxSuspensionTravelCm(): number; + set_m_maxSuspensionTravelCm(m_maxSuspensionTravelCm: number): void; + m_maxSuspensionTravelCm: number; + get_m_frictionSlip(): number; + set_m_frictionSlip(m_frictionSlip: number): void; + m_frictionSlip: number; + get_m_maxSuspensionForce(): number; + set_m_maxSuspensionForce(m_maxSuspensionForce: number): void; + m_maxSuspensionForce: number; + } + class btVehicleRaycasterResult { + get_m_hitPointInWorld(): btVector3; + set_m_hitPointInWorld(m_hitPointInWorld: btVector3): void; + m_hitPointInWorld: btVector3; + get_m_hitNormalInWorld(): btVector3; + set_m_hitNormalInWorld(m_hitNormalInWorld: btVector3): void; + m_hitNormalInWorld: btVector3; + get_m_distFraction(): number; + set_m_distFraction(m_distFraction: number): void; + m_distFraction: number; + } + class btVehicleRaycaster { + castRay(from: btVector3, to: btVector3, result: btVehicleRaycasterResult): void; + } + class btDefaultVehicleRaycaster extends btVehicleRaycaster { + constructor(world: btDynamicsWorld); + } + class RaycastInfo { + get_m_contactNormalWS(): btVector3; + set_m_contactNormalWS(m_contactNormalWS: btVector3): void; + m_contactNormalWS: btVector3; + get_m_contactPointWS(): btVector3; + set_m_contactPointWS(m_contactPointWS: btVector3): void; + m_contactPointWS: btVector3; + get_m_suspensionLength(): number; + set_m_suspensionLength(m_suspensionLength: number): void; + m_suspensionLength: number; + get_m_hardPointWS(): btVector3; + set_m_hardPointWS(m_hardPointWS: btVector3): void; + m_hardPointWS: btVector3; + get_m_wheelDirectionWS(): btVector3; + set_m_wheelDirectionWS(m_wheelDirectionWS: btVector3): void; + m_wheelDirectionWS: btVector3; + get_m_wheelAxleWS(): btVector3; + set_m_wheelAxleWS(m_wheelAxleWS: btVector3): void; + m_wheelAxleWS: btVector3; + get_m_isInContact(): boolean; + set_m_isInContact(m_isInContact: boolean): void; + m_isInContact: boolean; + get_m_groundObject(): any; + set_m_groundObject(m_groundObject: any): void; + m_groundObject: any; + } + class btWheelInfoConstructionInfo { + get_m_chassisConnectionCS(): btVector3; + set_m_chassisConnectionCS(m_chassisConnectionCS: btVector3): void; + m_chassisConnectionCS: btVector3; + get_m_wheelDirectionCS(): btVector3; + set_m_wheelDirectionCS(m_wheelDirectionCS: btVector3): void; + m_wheelDirectionCS: btVector3; + get_m_wheelAxleCS(): btVector3; + set_m_wheelAxleCS(m_wheelAxleCS: btVector3): void; + m_wheelAxleCS: btVector3; + get_m_suspensionRestLength(): number; + set_m_suspensionRestLength(m_suspensionRestLength: number): void; + m_suspensionRestLength: number; + get_m_maxSuspensionTravelCm(): number; + set_m_maxSuspensionTravelCm(m_maxSuspensionTravelCm: number): void; + m_maxSuspensionTravelCm: number; + get_m_wheelRadius(): number; + set_m_wheelRadius(m_wheelRadius: number): void; + m_wheelRadius: number; + get_m_suspensionStiffness(): number; + set_m_suspensionStiffness(m_suspensionStiffness: number): void; + m_suspensionStiffness: number; + get_m_wheelsDampingCompression(): number; + set_m_wheelsDampingCompression(m_wheelsDampingCompression: number): void; + m_wheelsDampingCompression: number; + get_m_wheelsDampingRelaxation(): number; + set_m_wheelsDampingRelaxation(m_wheelsDampingRelaxation: number): void; + m_wheelsDampingRelaxation: number; + get_m_frictionSlip(): number; + set_m_frictionSlip(m_frictionSlip: number): void; + m_frictionSlip: number; + get_m_maxSuspensionForce(): number; + set_m_maxSuspensionForce(m_maxSuspensionForce: number): void; + m_maxSuspensionForce: number; + get_m_bIsFrontWheel(): boolean; + set_m_bIsFrontWheel(m_bIsFrontWheel: boolean): void; + m_bIsFrontWheel: boolean; + } + class btWheelInfo { + get_m_suspensionStiffness(): number; + set_m_suspensionStiffness(m_suspensionStiffness: number): void; + m_suspensionStiffness: number; + get_m_frictionSlip(): number; + set_m_frictionSlip(m_frictionSlip: number): void; + m_frictionSlip: number; + get_m_engineForce(): number; + set_m_engineForce(m_engineForce: number): void; + m_engineForce: number; + get_m_rollInfluence(): number; + set_m_rollInfluence(m_rollInfluence: number): void; + m_rollInfluence: number; + get_m_suspensionRestLength1(): number; + set_m_suspensionRestLength1(m_suspensionRestLength1: number): void; + m_suspensionRestLength1: number; + get_m_wheelsRadius(): number; + set_m_wheelsRadius(m_wheelsRadius: number): void; + m_wheelsRadius: number; + get_m_wheelsDampingCompression(): number; + set_m_wheelsDampingCompression(m_wheelsDampingCompression: number): void; + m_wheelsDampingCompression: number; + get_m_wheelsDampingRelaxation(): number; + set_m_wheelsDampingRelaxation(m_wheelsDampingRelaxation: number): void; + m_wheelsDampingRelaxation: number; + get_m_steering(): number; + set_m_steering(m_steering: number): void; + m_steering: number; + get_m_maxSuspensionForce(): number; + set_m_maxSuspensionForce(m_maxSuspensionForce: number): void; + m_maxSuspensionForce: number; + get_m_maxSuspensionTravelCm(): number; + set_m_maxSuspensionTravelCm(m_maxSuspensionTravelCm: number): void; + m_maxSuspensionTravelCm: number; + get_m_wheelsSuspensionForce(): number; + set_m_wheelsSuspensionForce(m_wheelsSuspensionForce: number): void; + m_wheelsSuspensionForce: number; + get_m_bIsFrontWheel(): boolean; + set_m_bIsFrontWheel(m_bIsFrontWheel: boolean): void; + m_bIsFrontWheel: boolean; + get_m_raycastInfo(): RaycastInfo; + set_m_raycastInfo(m_raycastInfo: RaycastInfo): void; + m_raycastInfo: RaycastInfo; + get_m_chassisConnectionPointCS(): btVector3; + set_m_chassisConnectionPointCS(m_chassisConnectionPointCS: btVector3): void; + m_chassisConnectionPointCS: btVector3; + constructor(ci: btWheelInfoConstructionInfo); + getSuspensionRestLength(): number; + updateWheel(chassis: btRigidBody, raycastInfo: RaycastInfo): void; + get_m_worldTransform(): btTransform; + set_m_worldTransform(m_worldTransform: btTransform): void; + m_worldTransform: btTransform; + get_m_wheelDirectionCS(): btVector3; + set_m_wheelDirectionCS(m_wheelDirectionCS: btVector3): void; + m_wheelDirectionCS: btVector3; + get_m_wheelAxleCS(): btVector3; + set_m_wheelAxleCS(m_wheelAxleCS: btVector3): void; + m_wheelAxleCS: btVector3; + get_m_rotation(): number; + set_m_rotation(m_rotation: number): void; + m_rotation: number; + get_m_deltaRotation(): number; + set_m_deltaRotation(m_deltaRotation: number): void; + m_deltaRotation: number; + get_m_brake(): number; + set_m_brake(m_brake: number): void; + m_brake: number; + get_m_clippedInvContactDotSuspension(): number; + set_m_clippedInvContactDotSuspension(m_clippedInvContactDotSuspension: number): void; + m_clippedInvContactDotSuspension: number; + get_m_suspensionRelativeVelocity(): number; + set_m_suspensionRelativeVelocity(m_suspensionRelativeVelocity: number): void; + m_suspensionRelativeVelocity: number; + get_m_skidInfo(): number; + set_m_skidInfo(m_skidInfo: number): void; + m_skidInfo: number; + } + class btActionInterface { + updateAction(collisionWorld: btCollisionWorld, deltaTimeStep: number): void; + } + class btKinematicCharacterController extends btActionInterface { + constructor(ghostObject: btPairCachingGhostObject, convexShape: btConvexShape, stepHeight: number, up?: btVector3); + getUp(): btVector3; + setUp(axis: btVector3): void; + setWalkDirection(walkDirection: btVector3): void; + setVelocityForTimeInterval(velocity: btVector3, timeInterval: number): void; + setAngularVelocity(velocity: btVector3): void; + getAngularVelocity(): btVector3; + setLinearVelocity(velocity: btVector3): void; + getLinearVelocity(): btVector3; + setLinearDamping(d: number): void; + getLinearDamping(): number; + setAngularDamping(d: number): void; + getAngularDamping(): number; + reset(collisionWorld: btCollisionWorld): void; + warp(origin: btVector3): void; + preStep(collisionWorld: btCollisionWorld): void; + playerStep(collisionWorld: btCollisionWorld, dt: number): void; + setStepHeight(h: number): void; + getStepHeight(): number; + setFallSpeed(fallSpeed: number): void; + getFallSpeed(): number; + setJumpSpeed(jumpSpeed: number): void; + getJumpSpeed(): number; + setMaxJumpHeight(maxJumpHeight: number): void; + canJump(): boolean; + jump(v?: btVector3): void; + applyImpulse(v: btVector3): void; + setGravity(gravity: btVector3): void; + getGravity(): btVector3; + setMaxSlope(slopeRadians: number): void; + getMaxSlope(): number; + setMaxPenetrationDepth(d: number): void; + getMaxPenetrationDepth(): number; + getGhostObject(): btPairCachingGhostObject; + setUseGhostSweepTest(useGhostObjectSweepTest: boolean): void; + onGround(): boolean; + setUpInterpolate(value: boolean): void; + } + class btRaycastVehicle extends btActionInterface { + constructor(tuning: btVehicleTuning, chassis: btRigidBody, raycaster: btVehicleRaycaster); + applyEngineForce(force: number, wheel: number): void; + setSteeringValue(steering: number, wheel: number): void; + getWheelTransformWS(wheelIndex: number): btTransform; + updateWheelTransform(wheelIndex: number, interpolatedTransform: boolean): void; + addWheel(connectionPointCS0: btVector3, wheelDirectionCS0: btVector3, wheelAxleCS: btVector3, suspensionRestLength: number, wheelRadius: number, tuning: btVehicleTuning, isFrontWheel: boolean): btWheelInfo; + getNumWheels(): number; + getRigidBody(): btRigidBody; + getWheelInfo(index: number): btWheelInfo; + setBrake(brake: number, wheelIndex: number): void; + setCoordinateSystem(rightIndex: number, upIndex: number, forwardIndex: number): void; + getCurrentSpeedKmHour(): number; + getChassisWorldTransform(): btTransform; + rayCast(wheel: btWheelInfo): number; + updateVehicle(step: number): void; + resetSuspension(): void; + getSteeringValue(wheel: number): number; + updateWheelTransformsWS(wheel: btWheelInfo, interpolatedTransform?: boolean): void; + setPitchControl(pitch: number): void; + updateSuspension(deltaTime: number): void; + updateFriction(timeStep: number): void; + getRightAxis(): number; + getUpAxis(): number; + getForwardAxis(): number; + getForwardVector(): btVector3; + getUserConstraintType(): number; + setUserConstraintType(userConstraintType: number): void; + setUserConstraintId(uid: number): void; + getUserConstraintId(): number; + } + class btGhostObject extends btCollisionObject { + constructor(); + getNumOverlappingObjects(): number; + getOverlappingObject(index: number): btCollisionObject; + } + class btPairCachingGhostObject extends btGhostObject { + constructor(); + } + class btGhostPairCallback { + constructor(); + } + type btMultibodyLink_eFeatherstoneJointType = "btMultibodyLink::eRevolute" | "btMultibodyLink::ePrismatic" | "btMultibodyLink::eSpherical" | "btMultibodyLink::ePlanar" | "btMultibodyLink::eFixed" | "btMultibodyLink::eInvalid"; + class btMultibodyLink { + get_m_mass(): number; + set_m_mass(m_mass: number): void; + m_mass: number; + get_m_inertiaLocal(): btVector3; + set_m_inertiaLocal(m_inertiaLocal: btVector3): void; + m_inertiaLocal: btVector3; + get_m_parent(): number; + set_m_parent(m_parent: number): void; + m_parent: number; + get_m_zeroRotParentToThis(): btQuaternion; + set_m_zeroRotParentToThis(m_zeroRotParentToThis: btQuaternion): void; + m_zeroRotParentToThis: btQuaternion; + get_m_dVector(): btVector3; + set_m_dVector(m_dVector: btVector3): void; + m_dVector: btVector3; + get_m_eVector(): btVector3; + set_m_eVector(m_eVector: btVector3): void; + m_eVector: btVector3; + get_m_absFrameTotVelocity(): btSpatialMotionVector; + set_m_absFrameTotVelocity(m_absFrameTotVelocity: btSpatialMotionVector): void; + m_absFrameTotVelocity: btSpatialMotionVector; + get_m_absFrameLocVelocity(): btSpatialMotionVector; + set_m_absFrameLocVelocity(m_absFrameLocVelocity: btSpatialMotionVector): void; + m_absFrameLocVelocity: btSpatialMotionVector; + setAxisTop(dof: number, axis: btVector3): void; + setAxisBottom(dof: number, axis: btVector3): void; + getAxisTop(dof: number): btVector3; + getAxisBottom(dof: number): btVector3; + get_m_dofOffset(): number; + set_m_dofOffset(m_dofOffset: number): void; + m_dofOffset: number; + get_m_cfgOffset(): number; + set_m_cfgOffset(m_cfgOffset: number): void; + m_cfgOffset: number; + get_m_cachedRotParentToThis(): btQuaternion; + set_m_cachedRotParentToThis(m_cachedRotParentToThis: btQuaternion): void; + m_cachedRotParentToThis: btQuaternion; + get_m_cachedRVector(): btVector3; + set_m_cachedRVector(m_cachedRVector: btVector3): void; + m_cachedRVector: btVector3; + get_m_cachedRotParentToThis_interpolate(): btQuaternion; + set_m_cachedRotParentToThis_interpolate(m_cachedRotParentToThis_interpolate: btQuaternion): void; + m_cachedRotParentToThis_interpolate: btQuaternion; + get_m_cachedRVector_interpolate(): btVector3; + set_m_cachedRVector_interpolate(m_cachedRVector_interpolate: btVector3): void; + m_cachedRVector_interpolate: btVector3; + get_m_appliedForce(): btVector3; + set_m_appliedForce(m_appliedForce: btVector3): void; + m_appliedForce: btVector3; + get_m_appliedTorque(): btVector3; + set_m_appliedTorque(m_appliedTorque: btVector3): void; + m_appliedTorque: btVector3; + get_m_appliedConstraintForce(): btVector3; + set_m_appliedConstraintForce(m_appliedConstraintForce: btVector3): void; + m_appliedConstraintForce: btVector3; + get_m_appliedConstraintTorque(): btVector3; + set_m_appliedConstraintTorque(m_appliedConstraintTorque: btVector3): void; + m_appliedConstraintTorque: btVector3; + get_m_collider(): btMultiBodyLinkCollider; + set_m_collider(m_collider: btMultiBodyLinkCollider): void; + m_collider: btMultiBodyLinkCollider; + get_m_flags(): number; + set_m_flags(m_flags: number): void; + m_flags: number; + get_m_dofCount(): number; + set_m_dofCount(m_dofCount: number): void; + m_dofCount: number; + get_m_posVarCount(): number; + set_m_posVarCount(m_posVarCount: number): void; + m_posVarCount: number; + get_m_jointType(): btMultibodyLink_eFeatherstoneJointType; + set_m_jointType(m_jointType: btMultibodyLink_eFeatherstoneJointType): void; + m_jointType: btMultibodyLink_eFeatherstoneJointType; + get_m_cachedWorldTransform(): btTransform; + set_m_cachedWorldTransform(m_cachedWorldTransform: btTransform): void; + m_cachedWorldTransform: btTransform; + get_m_linkName(): string; + set_m_linkName(m_linkName: string): void; + m_linkName: string; + get_m_jointName(): string; + set_m_jointName(m_jointName: string): void; + m_jointName: string; + get_m_userPtr(): unknown; + set_m_userPtr(m_userPtr: unknown): void; + m_userPtr: unknown; + get_m_jointDamping(): number; + set_m_jointDamping(m_jointDamping: number): void; + m_jointDamping: number; + get_m_jointFriction(): number; + set_m_jointFriction(m_jointFriction: number): void; + m_jointFriction: number; + get_m_jointLowerLimit(): number; + set_m_jointLowerLimit(m_jointLowerLimit: number): void; + m_jointLowerLimit: number; + get_m_jointUpperLimit(): number; + set_m_jointUpperLimit(m_jointUpperLimit: number): void; + m_jointUpperLimit: number; + get_m_jointMaxForce(): number; + set_m_jointMaxForce(m_jointMaxForce: number): void; + m_jointMaxForce: number; + get_m_jointMaxVelocity(): number; + set_m_jointMaxVelocity(m_jointMaxVelocity: number): void; + m_jointMaxVelocity: number; + constructor(); + } + class btMultiBodyLinkCollider extends btCollisionObject { + get_m_multiBody(): btMultiBody; + set_m_multiBody(m_multiBody: btMultiBody): void; + m_multiBody: btMultiBody; + get_m_link(): number; + set_m_link(m_link: number): void; + m_link: number; + constructor(multiBody: btMultiBody, link: number); + upcast(colObj: btCollisionObject): btMultiBodyLinkCollider; + checkCollideWithOverride(co: btCollisionObject): boolean; + } + class btMultiBody { + constructor(n_links: number, mass: number, inertia: btVector3, fixed_base_: boolean, can_sleep_: boolean, deprecatedMultiDof?: boolean); + setupFixed(i: number, mass: number, inertia: btVector3, parent: number, rotParentToThis: btQuaternion, parentComToThisPivotOffset: btVector3, thisPivotToThisComOffset: btVector3, deprecatedDisableParentCollision?: boolean): void; + setupPrismatic(i: number, mass: number, inertia: btVector3, parent: number, rot_parent_to_this: btQuaternion, joint_axis: btVector3, parentComToThisPivotOffset: btVector3, thisPivotToThisComOffset: btVector3, disableParentCollision: boolean): void; + setupRevolute(i: number, mass: number, inertia: btVector3, parent: number, zero_rot_parent_to_this: btQuaternion, joint_axis: btVector3, parent_axis_position: btVector3, my_axis_position: btVector3, disableParentCollision?: boolean): void; + setupSpherical(i: number, mass: number, inertia: btVector3, parent: number, rotParentToThis: btQuaternion, parentComToThisPivotOffset: btVector3, thisPivotToThisComOffset: btVector3, disableParentCollision?: boolean): void; + setupPlanar(i: number, mass: number, inertia: btVector3, parent: number, rotParentToThis: btQuaternion, rotationAxis: btVector3, parentComToThisComOffset: btVector3, disableParentCollision?: boolean): void; + getLink(index: number): btMultibodyLink; + setBaseCollider(collider: btMultiBodyLinkCollider): void; + getBaseCollider(): btMultiBodyLinkCollider; + getLinkCollider(index: number): btMultiBodyLinkCollider; + getParent(link_num: number): number; + getNumLinks(): number; + getNumDofs(): number; + getNumPosVars(): number; + getBaseMass(): number; + getBaseInertia(): btVector3; + getLinkMass(i: number): number; + getLinkInertia(i: number): btVector3; + setBaseMass(mass: number): void; + setBaseInertia(inertia: btVector3): void; + getBasePos(): btVector3; + getBaseVel(): btVector3; + getWorldToBaseRot(): btQuaternion; + getInterpolateBasePos(): btVector3; + getInterpolateWorldToBaseRot(): btQuaternion; + getBaseOmega(): btVector3; + setBasePos(pos: btVector3): void; + setInterpolateBasePos(pos: btVector3): void; + setBaseWorldTransform(tr: btTransform): void; + getBaseWorldTransform(): btTransform; + setInterpolateBaseWorldTransform(tr: btTransform): void; + getInterpolateBaseWorldTransform(): btTransform; + setBaseVel(vel: btVector3): void; + setWorldToBaseRot(rot: btQuaternion): void; + setInterpolateWorldToBaseRot(rot: btQuaternion): void; + setBaseOmega(omega: btVector3): void; + getJointPos(i: number): number; + getJointVel(i: number): number; + setJointPos(i: number, q: number): void; + setJointVel(i: number, qdot: number): void; + getRVector(i: number): btVector3; + getParentToLocalRot(i: number): btQuaternion; + getInterpolateRVector(i: number): btVector3; + getInterpolateParentToLocalRot(i: number): btQuaternion; + localPosToWorld(i: number, vec: btVector3): btVector3; + localDirToWorld(i: number, vec: btVector3): btVector3; + worldPosToLocal(i: number, vec: btVector3): btVector3; + worldDirToLocal(i: number, vec: btVector3): btVector3; + localFrameToWorld(i: number, local_frame: btMatrix3x3): btMatrix3x3; + clearForcesAndTorques(): void; + clearConstraintForces(): void; + clearVelocities(): void; + addBaseForce(f: btVector3): void; + addBaseTorque(t: btVector3): void; + addLinkForce(i: number, f: btVector3): void; + addLinkTorque(i: number, t: btVector3): void; + addBaseConstraintForce(f: btVector3): void; + addBaseConstraintTorque(t: btVector3): void; + addLinkConstraintForce(i: number, f: btVector3): void; + addLinkConstraintTorque(i: number, t: btVector3): void; + addJointTorque(i: number, Q: number): void; + addJointTorqueMultiDof(i: number, dof: number, Q: number): void; + getBaseForce(): btVector3; + getBaseTorque(): btVector3; + getLinkForce(i: number): btVector3; + getLinkTorque(i: number): btVector3; + getJointTorque(i: number): number; + computeAccelerationsArticulatedBodyAlgorithmMultiDof(dt: number, scratch_r: btScalarArray, scratch_v: btVector3Array, scratch_m: btMatrix3x3Array, isConstraintPass: boolean, jointFeedbackInWorldSpace: boolean, jointFeedbackInJointFrame: boolean): void; + setCanSleep(canSleep: boolean): void; + getCanSleep(): boolean; + getCanWakeup(): boolean; + setCanWakeup(canWakeup: boolean): void; + isAwake(): boolean; + wakeUp(): void; + goToSleep(): void; + checkMotionAndSleepIfRequired(timestep: number): void; + hasFixedBase(): boolean; + isBaseKinematic(): boolean; + isBaseStaticOrKinematic(): boolean; + setBaseDynamicType(dynamicType: number): void; + setFixedBase(fixedBase: boolean): void; + getCompanionId(): number; + setCompanionId(id: number): void; + setNumLinks(numLinks: number): void; + getLinearDamping(): number; + setLinearDamping(damp: number): void; + getAngularDamping(): number; + setAngularDamping(damp: number): void; + getUseGyroTerm(): boolean; + setUseGyroTerm(useGyro: boolean): void; + getMaxCoordinateVelocity(): number; + setMaxCoordinateVelocity(maxVel: number): void; + getMaxAppliedImpulse(): number; + setMaxAppliedImpulse(maxImp: number): void; + setHasSelfCollision(hasSelfCollision: boolean): void; + hasSelfCollision(): boolean; + finalizeMultiDof(): void; + useRK4Integration(use: boolean): void; + isUsingRK4Integration(): boolean; + useGlobalVelocities(use: boolean): void; + isUsingGlobalVelocities(): boolean; + setLinkDynamicType(i: number, type: number): void; + isLinkStaticOrKinematic(i: number): boolean; + isLinkKinematic(i: number): boolean; + isLinkAndAllAncestorsStaticOrKinematic(i: number): boolean; + isLinkAndAllAncestorsKinematic(i: number): boolean; + setSleepThreshold(sleepThreshold: number): void; + setSleepTimeout(sleepTimeout: number): void; + } + class btMultiBodyJacobianData { + get_m_jacobians(): btScalarArray; + set_m_jacobians(m_jacobians: btScalarArray): void; + m_jacobians: btScalarArray; + get_m_deltaVelocitiesUnitImpulse(): btScalarArray; + set_m_deltaVelocitiesUnitImpulse(m_deltaVelocitiesUnitImpulse: btScalarArray): void; + m_deltaVelocitiesUnitImpulse: btScalarArray; + get_m_deltaVelocities(): btScalarArray; + set_m_deltaVelocities(m_deltaVelocities: btScalarArray): void; + m_deltaVelocities: btScalarArray; + get_scratch_r(): btScalarArray; + set_scratch_r(scratch_r: btScalarArray): void; + scratch_r: btScalarArray; + get_scratch_v(): btVector3Array; + set_scratch_v(scratch_v: btVector3Array): void; + scratch_v: btVector3Array; + get_scratch_m(): btMatrix3x3Array; + set_scratch_m(scratch_m: btMatrix3x3Array): void; + scratch_m: btMatrix3x3Array; + get_m_solverBodyPool(): btSolverBodyArray; + set_m_solverBodyPool(m_solverBodyPool: btSolverBodyArray): void; + m_solverBodyPool: btSolverBodyArray; + get_m_fixedBodyId(): number; + set_m_fixedBodyId(m_fixedBodyId: number): void; + m_fixedBodyId: number; + } + class btMultiBodyConstraint { + getIslandIdA(): number; + getIslandIdB(): number; + getNumRows(): number; + getMultiBodyA(): btMultiBody; + getMultiBodyB(): btMultiBody; + getPosition(row: number): number; + setPosition(row: number, pos: number): void; + isUnilateral(): boolean; + getMaxAppliedImpulse(): number; + setMaxAppliedImpulse(maxImp: number): void; + } + class btMultiBodyMLCPConstraintSolver extends btMultiBodyConstraintSolver { + constructor(solver: btMLCPSolverInterface); + setMLCPSolver(solver: btMLCPSolverInterface): void; + getNumFallbacks(): number; + setNumFallbacks(num: number): void; + getSolverType(): btConstraintSolverType; + } + class btMultiBodyConstraintSolver extends btSequentialImpulseConstraintSolver { + constructor(); + } + class btMultiBodyDynamicsWorld extends btDiscreteDynamicsWorld { + constructor(dispatcher: btDispatcher, pairCache: btBroadphaseInterface, constraintSolver: btMultiBodyConstraintSolver, collisionConfiguration: btCollisionConfiguration); + addMultiBody(body: btMultiBody, group: number, mask: number): void; + removeMultiBody(body: btMultiBody): void; + addMultiBodyConstraint(constraint: btMultiBodyConstraint): void; + removeMultiBodyConstraint(constraint: btMultiBodyConstraint): void; + } + class btMultiBodyFixedConstraint extends btMultiBodyConstraint { + constructor(bodyA: btMultiBody, linkA: number, bodyB: btMultiBody, linkB: number, pivotInA: btVector3, pivotInB: btVector3, frameInA: btMatrix3x3, frameInB: btMatrix3x3); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + getPivotInA(): btVector3; + setPivotInA(pivotInA: btVector3): void; + getPivotInB(): btVector3; + setPivotInB(pivotInB: btVector3): void; + getFrameInA(): btMatrix3x3; + setFrameInA(frameInA: btMatrix3x3): void; + getFrameInB(): btMatrix3x3; + setFrameInB(frameInB: btMatrix3x3): void; + } + class btMultiBodyGearConstraint extends btMultiBodyConstraint { + constructor(bodyA: btMultiBody, linkA: number, bodyB: btMultiBody, linkB: number, pivotInA: btVector3, pivotInB: btVector3, frameInA: btMatrix3x3, frameInB: btMatrix3x3); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + getPivotInA(): btVector3; + setPivotInA(pivotInA: btVector3): void; + getPivotInB(): btVector3; + setPivotInB(pivotInB: btVector3): void; + getFrameInA(): btMatrix3x3; + setFrameInA(frameInA: btMatrix3x3): void; + getFrameInB(): btMatrix3x3; + setFrameInB(frameInB: btMatrix3x3): void; + setGearRatio(gearRatio: number): void; + setGearAuxLink(gearAuxLink: number): void; + setRelativePositionTarget(relPosTarget: number): void; + setErp(erp: number): void; + } + class btMultiBodyJointLimitConstraint extends btMultiBodyConstraint { + constructor(body: btMultiBody, link: number, lower: number, upper: number); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + getLowerBound(): number; + getUpperBound(): number; + setLowerBound(lower: number): void; + setUpperBound(upper: number): void; + } + class btMultiBodyJointMotor extends btMultiBodyConstraint { + constructor(body: btMultiBody, link: number, linkDoF: number, desiredVelocity: number, maxMotorImpulse: number); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + setVelocityTarget(velTarget: number, kd?: number): void; + setPositionTarget(posTarget: number, kp?: number): void; + setErp(erp: number): void; + getErp(): number; + setRhsClamp(rhsClamp: number): void; + } + class btMultiBodyPoint2Point extends btMultiBodyConstraint { + constructor(body: btMultiBody, link: number, bodyB: btRigidBody, pivotInA: btVector3, pivotInB: btVector3); + constructor(bodyA: btMultiBody, linkA: number, bodyB: btMultiBody, linkB: number, pivotInA: btVector3, pivotInB: btVector3); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + getPivotInB(): btVector3; + setPivotInB(pivotInB: btVector3): void; + } + class btMultiBodySliderConstraint extends btMultiBodyConstraint { + constructor(body: btMultiBody, link: number, bodyB: btRigidBody, pivotInA: btVector3, pivotInB: btVector3, frameInA: btMatrix3x3, frameInB: btMatrix3x3, jointAxis: btVector3); + constructor(bodyA: btMultiBody, linkA: number, bodyB: btMultiBody, linkB: number, pivotInA: btVector3, pivotInB: btVector3, frameInA: btMatrix3x3, frameInB: btMatrix3x3, jointAxis: btVector3); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + getPivotInA(): btVector3; + setPivotInA(pivotInA: btVector3): void; + getPivotInB(): btVector3; + setPivotInB(pivotInB: btVector3): void; + getFrameInA(): btMatrix3x3; + setFrameInA(frameInA: btMatrix3x3): void; + getFrameInB(): btMatrix3x3; + setFrameInB(frameInB: btMatrix3x3): void; + getJointAxis(): btVector3; + setJointAxis(jointAxis: btVector3): void; + } + class btMultiBodySphericalJointLimit extends btMultiBodyConstraint { + constructor(body: btMultiBody, link: number, swingxRange: number, swingyRange: number, twistRange: number, maxAppliedImpulse: number); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + setVelocityTarget(velTarget: btVector3, kd?: number): void; + setVelocityTargetMultiDof(velTarget: btVector3, kd?: btVector3): void; + setPositionTarget(posTarget: btQuaternion, kp?: number): void; + setPositionTargetMultiDof(posTarget: btQuaternion, kp?: btVector3): void; + setErp(erp: number): void; + getErp(): number; + setRhsClamp(rhsClamp: number): void; + getMaxAppliedImpulseMultiDof(i: number): number; + setMaxAppliedImpulseMultiDof(maxImp: btVector3): void; + } + class btMultiBodySphericalJointMotor extends btMultiBodyConstraint { + constructor(body: btMultiBody, link: number, maxMotorImpulse: number); + finalizeMultiDof(): void; + getIslandIdA(): number; + getIslandIdB(): number; + createConstraintRows(constraintRows: btMultiBodyConstraintArray, data: btMultiBodyJacobianData, infoGlobal: btContactSolverInfo): void; + setVelocityTarget(velTarget: btVector3, kd?: number): void; + setVelocityTargetMultiDof(velTarget: btVector3, kd?: btVector3): void; + setPositionTarget(posTarget: btQuaternion, kp?: number): void; + setPositionTargetMultiDof(posTarget: btQuaternion, kp?: btVector3): void; + setErp(erp: number): void; + getErp(): number; + setRhsClamp(rhsClamp: number): void; + getMaxAppliedImpulseMultiDof(i: number): number; + setMaxAppliedImpulseMultiDof(maxImp: btVector3): void; + getDamping(i: number): number; + setDamping(damping: btVector3): void; + } + class btMultiBodySolverConstraint { + get_m_deltaVelAindex(): number; + set_m_deltaVelAindex(m_deltaVelAindex: number): void; + m_deltaVelAindex: number; + get_m_relpos1CrossNormal(): btVector3; + set_m_relpos1CrossNormal(m_relpos1CrossNormal: btVector3): void; + m_relpos1CrossNormal: btVector3; + get_m_contactNormal1(): btVector3; + set_m_contactNormal1(m_contactNormal1: btVector3): void; + m_contactNormal1: btVector3; + get_m_jacAindex(): number; + set_m_jacAindex(m_jacAindex: number): void; + m_jacAindex: number; + get_m_deltaVelBindex(): number; + set_m_deltaVelBindex(m_deltaVelBindex: number): void; + m_deltaVelBindex: number; + get_m_contactNormal2(): btVector3; + set_m_contactNormal2(m_contactNormal2: btVector3): void; + m_contactNormal2: btVector3; + get_m_relpos2CrossNormal(): btVector3; + set_m_relpos2CrossNormal(m_relpos2CrossNormal: btVector3): void; + m_relpos2CrossNormal: btVector3; + get_m_jacBindex(): number; + set_m_jacBindex(m_jacBindex: number): void; + m_jacBindex: number; + get_m_angularComponentA(): btVector3; + set_m_angularComponentA(m_angularComponentA: btVector3): void; + m_angularComponentA: btVector3; + get_m_angularComponentB(): btVector3; + set_m_angularComponentB(m_angularComponentB: btVector3): void; + m_angularComponentB: btVector3; + get_m_friction(): number; + set_m_friction(m_friction: number): void; + m_friction: number; + get_m_jacDiagABInv(): number; + set_m_jacDiagABInv(m_jacDiagABInv: number): void; + m_jacDiagABInv: number; + get_m_rhs(): number; + set_m_rhs(m_rhs: number): void; + m_rhs: number; + get_m_cfm(): number; + set_m_cfm(m_cfm: number): void; + m_cfm: number; + get_m_lowerLimit(): number; + set_m_lowerLimit(m_lowerLimit: number): void; + m_lowerLimit: number; + get_m_upperLimit(): number; + set_m_upperLimit(m_upperLimit: number): void; + m_upperLimit: number; + get_m_rhsPenetration(): number; + set_m_rhsPenetration(m_rhsPenetration: number): void; + m_rhsPenetration: number; + get_m_overrideNumSolverIterations(): number; + set_m_overrideNumSolverIterations(m_overrideNumSolverIterations: number): void; + m_overrideNumSolverIterations: number; + get_m_frictionIndex(): number; + set_m_frictionIndex(m_frictionIndex: number): void; + m_frictionIndex: number; + get_m_solverBodyIdA(): number; + set_m_solverBodyIdA(m_solverBodyIdA: number): void; + m_solverBodyIdA: number; + get_m_multiBodyA(): btMultiBody; + set_m_multiBodyA(m_multiBodyA: btMultiBody): void; + m_multiBodyA: btMultiBody; + get_m_linkA(): number; + set_m_linkA(m_linkA: number): void; + m_linkA: number; + get_m_solverBodyIdB(): number; + set_m_solverBodyIdB(m_solverBodyIdB: number): void; + m_solverBodyIdB: number; + get_m_multiBodyB(): btMultiBody; + set_m_multiBodyB(m_multiBodyB: btMultiBody): void; + m_multiBodyB: btMultiBody; + get_m_linkB(): number; + set_m_linkB(m_linkB: number): void; + m_linkB: number; + } + class btMultiBodyConstraintArray { + constructor(); + size(): number; + at(n: number): btMultiBodySolverConstraint; + clear(): void; + pop_back(): void; + resize(newsize: number, fillData: btMultiBodySolverConstraint): void; + expandNonInitializing(): btMultiBodySolverConstraint; + expand(fillValue: btMultiBodySolverConstraint): btMultiBodySolverConstraint; + push_back(Val: btMultiBodySolverConstraint): void; + capacity(): number; + reserve(Count: number): void; + } + class btMLCPSolverInterface { + } + class btDantzigSolver extends btMLCPSolverInterface { + constructor(); + } + class btSolveProjectedGaussSeidel extends btMLCPSolverInterface { + constructor(); + } + class btLemkeSolver extends btMLCPSolverInterface { + constructor(); + } + class btMLCPSolver extends btSequentialImpulseConstraintSolver { + constructor(solver: btMLCPSolverInterface); + setMLCPSolver(solver: btMLCPSolverInterface): void; + getNumFallbacks(): number; + setNumFallbacks(num: number): void; + getSolverType(): btConstraintSolverType; + } + class btSoftBodyWorldInfo { + constructor(); + get_air_density(): number; + set_air_density(air_density: number): void; + air_density: number; + get_water_density(): number; + set_water_density(water_density: number): void; + water_density: number; + get_water_offset(): number; + set_water_offset(water_offset: number): void; + water_offset: number; + get_m_maxDisplacement(): number; + set_m_maxDisplacement(m_maxDisplacement: number): void; + m_maxDisplacement: number; + get_water_normal(): btVector3; + set_water_normal(water_normal: btVector3): void; + water_normal: btVector3; + get_m_broadphase(): btBroadphaseInterface; + set_m_broadphase(m_broadphase: btBroadphaseInterface): void; + m_broadphase: btBroadphaseInterface; + get_m_dispatcher(): btDispatcher; + set_m_dispatcher(m_dispatcher: btDispatcher): void; + m_dispatcher: btDispatcher; + get_m_gravity(): btVector3; + set_m_gravity(m_gravity: btVector3): void; + m_gravity: btVector3; + } + class Face { + get_m_n(): ReadonlyArray; + set_m_n(m_n: ReadonlyArray): void; + m_n: ReadonlyArray; + get_m_normal(): btVector3; + set_m_normal(m_normal: btVector3): void; + m_normal: btVector3; + get_m_ra(): number; + set_m_ra(m_ra: number): void; + m_ra: number; + } + class tFaceArray { + size(): number; + at(n: number): Face; + } + class Node { + get_m_x(): btVector3; + set_m_x(m_x: btVector3): void; + m_x: btVector3; + get_m_q(): btVector3; + set_m_q(m_q: btVector3): void; + m_q: btVector3; + get_m_v(): btVector3; + set_m_v(m_v: btVector3): void; + m_v: btVector3; + get_m_f(): btVector3; + set_m_f(m_f: btVector3): void; + m_f: btVector3; + get_m_n(): btVector3; + set_m_n(m_n: btVector3): void; + m_n: btVector3; + get_m_im(): number; + set_m_im(m_im: number): void; + m_im: number; + get_m_area(): number; + set_m_area(m_area: number): void; + m_area: number; + } + class tNodeArray { + size(): number; + at(n: number): Node; + } + class Material { + get_m_kLST(): number; + set_m_kLST(m_kLST: number): void; + m_kLST: number; + get_m_kAST(): number; + set_m_kAST(m_kAST: number): void; + m_kAST: number; + get_m_kVST(): number; + set_m_kVST(m_kVST: number): void; + m_kVST: number; + get_m_flags(): number; + set_m_flags(m_flags: number): void; + m_flags: number; + } + class tMaterialArray { + size(): number; + at(n: number): Material; + } + class Anchor { + get_m_node(): Node; + set_m_node(m_node: Node): void; + m_node: Node; + get_m_local(): btVector3; + set_m_local(m_local: btVector3): void; + m_local: btVector3; + get_m_body(): btRigidBody; + set_m_body(m_body: btRigidBody): void; + m_body: btRigidBody; + get_m_influence(): number; + set_m_influence(m_influence: number): void; + m_influence: number; + get_m_c0(): btMatrix3x3; + set_m_c0(m_c0: btMatrix3x3): void; + m_c0: btMatrix3x3; + get_m_c1(): btVector3; + set_m_c1(m_c1: btVector3): void; + m_c1: btVector3; + get_m_c2(): number; + set_m_c2(m_c2: number): void; + m_c2: number; + } + class tAnchorArray { + size(): number; + at(n: number): Anchor; + clear(): void; + push_back(val: Anchor): void; + pop_back(): void; + } + class Config { + get_kVCF(): number; + set_kVCF(kVCF: number): void; + kVCF: number; + get_kDP(): number; + set_kDP(kDP: number): void; + kDP: number; + get_kDG(): number; + set_kDG(kDG: number): void; + kDG: number; + get_kLF(): number; + set_kLF(kLF: number): void; + kLF: number; + get_kPR(): number; + set_kPR(kPR: number): void; + kPR: number; + get_kVC(): number; + set_kVC(kVC: number): void; + kVC: number; + get_kDF(): number; + set_kDF(kDF: number): void; + kDF: number; + get_kMT(): number; + set_kMT(kMT: number): void; + kMT: number; + get_kCHR(): number; + set_kCHR(kCHR: number): void; + kCHR: number; + get_kKHR(): number; + set_kKHR(kKHR: number): void; + kKHR: number; + get_kSHR(): number; + set_kSHR(kSHR: number): void; + kSHR: number; + get_kAHR(): number; + set_kAHR(kAHR: number): void; + kAHR: number; + get_kSRHR_CL(): number; + set_kSRHR_CL(kSRHR_CL: number): void; + kSRHR_CL: number; + get_kSKHR_CL(): number; + set_kSKHR_CL(kSKHR_CL: number): void; + kSKHR_CL: number; + get_kSSHR_CL(): number; + set_kSSHR_CL(kSSHR_CL: number): void; + kSSHR_CL: number; + get_kSR_SPLT_CL(): number; + set_kSR_SPLT_CL(kSR_SPLT_CL: number): void; + kSR_SPLT_CL: number; + get_kSK_SPLT_CL(): number; + set_kSK_SPLT_CL(kSK_SPLT_CL: number): void; + kSK_SPLT_CL: number; + get_kSS_SPLT_CL(): number; + set_kSS_SPLT_CL(kSS_SPLT_CL: number): void; + kSS_SPLT_CL: number; + get_maxvolume(): number; + set_maxvolume(maxvolume: number): void; + maxvolume: number; + get_timescale(): number; + set_timescale(timescale: number): void; + timescale: number; + get_viterations(): number; + set_viterations(viterations: number): void; + viterations: number; + get_piterations(): number; + set_piterations(piterations: number): void; + piterations: number; + get_diterations(): number; + set_diterations(diterations: number): void; + diterations: number; + get_citerations(): number; + set_citerations(citerations: number): void; + citerations: number; + get_collisions(): number; + set_collisions(collisions: number): void; + collisions: number; + } + class btSoftBody extends btCollisionObject { + constructor(worldInfo: btSoftBodyWorldInfo, node_count: number, x: btVector3, m: ReadonlyArray); + get_m_cfg(): Config; + set_m_cfg(m_cfg: Config): void; + m_cfg: Config; + get_m_nodes(): tNodeArray; + set_m_nodes(m_nodes: tNodeArray): void; + m_nodes: tNodeArray; + get_m_faces(): tFaceArray; + set_m_faces(m_faces: tFaceArray): void; + m_faces: tFaceArray; + get_m_materials(): tMaterialArray; + set_m_materials(m_materials: tMaterialArray): void; + m_materials: tMaterialArray; + get_m_anchors(): tAnchorArray; + set_m_anchors(m_anchors: tAnchorArray): void; + m_anchors: tAnchorArray; + checkLink(node0: number, node1: number): boolean; + checkFace(node0: number, node1: number, node2: number): boolean; + appendMaterial(): Material; + appendNode(x: btVector3, m: number): void; + appendLink(node0: number, node1: number, mat: Material, bcheckexist: boolean): void; + appendFace(node0: number, node1: number, node2: number, mat: Material): void; + appendTetra(node0: number, node1: number, node2: number, node3: number, mat: Material): void; + appendAnchor(node: number, body: btRigidBody, disableCollisionBetweenLinkedBodies: boolean, influence: number): void; + addForce(force: btVector3): void; + addForce(force: btVector3, node: number): void; + addAeroForceToNode(windVelocity: btVector3, nodeIndex: number): void; + getTotalMass(): number; + setTotalMass(mass: number, fromfaces: boolean): void; + setMass(node: number, mass: number): void; + transform(trs: btTransform): void; + translate(trs: btVector3): void; + rotate(rot: btQuaternion): void; + scale(scl: btVector3): void; + generateClusters(k: number, maxiterations?: number): number; + generateBendingConstraints(distance: number, mat: Material): number; + upcast(colObj: btCollisionObject): btSoftBody; + getRestLengthScale(): number; + setRestLengthScale(restLength: number): void; + } + class btSoftBodyRigidBodyCollisionConfiguration extends btDefaultCollisionConfiguration { + constructor(info?: btDefaultCollisionConstructionInfo); + } + class btSoftBodySolver { + } + class btDefaultSoftBodySolver extends btSoftBodySolver { + constructor(); + } + class btSoftBodyArray { + size(): number; + at(n: number): btSoftBody; + } + class btSoftRigidDynamicsWorld extends btDiscreteDynamicsWorld { + constructor(dispatcher: btDispatcher, pairCache: btBroadphaseInterface, constraintSolver: btConstraintSolver, collisionConfiguration: btCollisionConfiguration, softBodySolver: btSoftBodySolver); + addSoftBody(body: btSoftBody, collisionFilterGroup: number, collisionFilterMask: number): void; + removeSoftBody(body: btSoftBody): void; + removeCollisionObject(collisionObject: btCollisionObject): void; + getWorldInfo(): btSoftBodyWorldInfo; + getSoftBodyArray(): btSoftBodyArray; + } + class btSoftBodyHelpers { + constructor(); + CreateRope(worldInfo: btSoftBodyWorldInfo, from: btVector3, to: btVector3, res: number, fixeds: number): btSoftBody; + CreatePatch(worldInfo: btSoftBodyWorldInfo, corner00: btVector3, corner10: btVector3, corner01: btVector3, corner11: btVector3, resx: number, resy: number, fixeds: number, gendiags: boolean): btSoftBody; + CreatePatchUV(worldInfo: btSoftBodyWorldInfo, corner00: btVector3, corner10: btVector3, corner01: btVector3, corner11: btVector3, resx: number, resy: number, fixeds: number, gendiags: boolean, tex_coords: ReadonlyArray): btSoftBody; + CreateEllipsoid(worldInfo: btSoftBodyWorldInfo, center: btVector3, radius: btVector3, res: number): btSoftBody; + CreateFromTriMesh(worldInfo: btSoftBodyWorldInfo, vertices: ReadonlyArray, triangles: ReadonlyArray, ntriangles: number, randomizeConstraints: boolean): btSoftBody; + CreateFromConvexHull(worldInfo: btSoftBodyWorldInfo, vertices: btVector3, nvertices: number, randomizeConstraints: boolean): btSoftBody; + } +} diff --git a/src/types/asset.d.ts b/src/types/asset.d.ts new file mode 100644 index 0000000..a8e3be5 --- /dev/null +++ b/src/types/asset.d.ts @@ -0,0 +1,89 @@ +declare module "*.gltf" { + const value: string; + export default value; +} +declare module "*.glb" { + const value: string; + export default value; +} + +// 声明图片资源的类型 +declare module "*.png" { + const src: string; + export default src; +} +declare module "*.jpg" { + const src: string; + export default src; +} + +// 通用 JSON 接口 +interface JsonData { + [key: string]: any; +} + +// 声明模块类型 +declare module "*.json" { + const value: JsonData; + export default value; +} +declare module "*.json" { + const value: any; + export default value; +} +declare module "*.jpeg" { + const src: string; + export default src; +} +declare module "*.gif" { + const src: string; + export default src; +} +declare module "*.bmp" { + const src: string; + export default src; +} +declare module "*.woff2" { + const src: string; + export default src; +} +declare module "*.ttf" { + const src: string; + export default src; +} +declare module "*.eot" { + const src: string; + export default src; +} +declare module "*.svg" { + const src: string; + export default src; +} +declare module "*.mp4" { + const src: string; + export default src; +} +declare module "*.webm" { + const src: string; + export default src; +} +declare module "*.otf" { + const src: string; + export default src; +} +declare module "*.mp3" { + const src: string; + export default src; +} +declare module "*.wav" { + const src: string; + export default src; +} +declare module "*.flac" { + const src: string; + export default src; +} +declare module "*.woff" { + const src: string; + export default src; +} diff --git a/src/types/extend.d.ts b/src/types/extend.d.ts new file mode 100644 index 0000000..50d626a --- /dev/null +++ b/src/types/extend.d.ts @@ -0,0 +1,6 @@ +import Ammo from 'ammojs3' +declare global { + interface Window { + Ammo: Ammo; + } +} diff --git a/src/types/glsl.d.ts b/src/types/glsl.d.ts new file mode 100644 index 0000000..35e0469 --- /dev/null +++ b/src/types/glsl.d.ts @@ -0,0 +1,4 @@ +declare module "*.glsl" { + const value: string; + export default value; +} diff --git a/src/utils/color.ts b/src/utils/color.ts new file mode 100644 index 0000000..a3c1b2c --- /dev/null +++ b/src/utils/color.ts @@ -0,0 +1,81 @@ +/** + * 将RGB颜色值转换为HSV颜色值 + * @param {number} r - 红色通道的值,范围为0-255 + * @param {number} g - 绿色通道的值,范围为0-255 + * @param {number} b - 蓝色通道的值,范围为0-255 + * @returns {Array} - 返回HSV颜色值的数组,范围分别为[0,360]、[0,100]、[0,100] + */ +export function rgbToHsv(r: number, g: number, b: number) { + // 标准化RGB值到0-1范围 + r /= 255; + g /= 255; + b /= 255; + + // 寻找RGB中的最大值和最小值,以及确定明度v + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + let [h, s, v] = [max, max, max]; + + // 计算色调和饱和度 + const delta = max - min; + s = max === 0 ? 0 : delta / max; + + // 根据最大值和最小值计算色调h + if (max === min) { + h = 0; // 无色 + } else { + switch (max) { + case r: + h = (g - b) / delta + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / delta + 2; + break; + case b: + h = (r - g) / delta + 4; + break; + } + h /= 6; + } + + // 返回HSV颜色值 + return [h * 360, s * 100, v * 100]; +} + +/** + * 将HSV颜色值转换为RGB颜色值 + * @param {number} h - 色调值,范围为0-360 + * @param {number} s - 饱和度值,范围为0-100 + * @param {number} v - 明度值,范围为0-100 + * @returns {Array} - 返回RGB颜色值的数组,范围分别为0-255 + */ +export function hsvToRgb(h: number, s: number, v: number) { + // 调整色调、饱和度和明度到合适的范围 + h /= 60; // 色调转换到[0,6]区间 + s /= 100; // 饱和度转换到[0,1] + v /= 100; // 明度转换到[0,1] + + // 计算RGB值 + let i = Math.floor(h); + + let f = h - i; + let p = v * (1 - s); + let q = v * (1 - s * f); + let t = v * (1 - s * (1 - f)); + + // 根据色调值i和剩余部分f,计算RGB颜色 + switch (i % 6) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + default: + return [v, p, q]; + } +} diff --git a/src/utils/common.ts b/src/utils/common.ts new file mode 100644 index 0000000..504410e --- /dev/null +++ b/src/utils/common.ts @@ -0,0 +1,14 @@ +export function getRandomColor() { + // 生成6位随机的16进制颜色代码 + let color = "#"; + for (let i = 0; i < 6; i++) { + color += Math.floor(Math.random() * 16).toString(16); + } + return color; +} +export function getFileNameFromLocalUrl(localUrl: string) { + // 从路径中提取文件名 + const fileName = localUrl.split("/").pop(); // 使用pop方法直接取出最后一部分作为文件名 + // 返回文件名 + return fileName; +} diff --git a/src/utils/three/animate.ts b/src/utils/three/animate.ts new file mode 100644 index 0000000..3e19d70 --- /dev/null +++ b/src/utils/three/animate.ts @@ -0,0 +1,133 @@ +import * as THREE from "three"; +import Base from "./init"; + +/** + * 设置鼠标拖动旋转立方体的事件监听器 + */ +export function setupMouseControls( + object3D: THREE.Object3D, + sensitivity: number = 0.005, +) { + let isDragging = false; + let lastMouseX = 0; + let lastMouseY = 0; + const onDocumentMouseDown = (event: MouseEvent) => { + event.preventDefault(); + isDragging = true; + lastMouseX = event.clientX; + lastMouseY = event.clientY; + }; + const onDocumentMouseMove = (event: MouseEvent) => { + if (isDragging) { + const mouseX = event.clientX; + const mouseY = event.clientY; + const deltaX = (mouseX - lastMouseX) * sensitivity; + const deltaY = (mouseY - lastMouseY) * sensitivity; + object3D.rotation.x += deltaY; + object3D.rotation.y += deltaX; + lastMouseX = mouseX; + lastMouseY = mouseY; + } + }; + const onDocumentMouseUp = (event: MouseEvent) => { + isDragging = false; + }; + document.addEventListener("mousedown", onDocumentMouseDown); + document.addEventListener("mousemove", onDocumentMouseMove); + document.addEventListener("mouseup", onDocumentMouseUp); +} + +/** + * 设置three立方体自旋转的事件监听器 + */ +export function setupAutoRotate( + object3D: THREE.Object3D, + axis: "X" | "Y" | "Z" = "Y", + speed: number = 0.001, +) { + let lastTime = 0; + + // 定义旋转轴向量 + let rotationAxis; + switch (axis.toUpperCase()) { + case "X": + rotationAxis = new THREE.Vector3(1, 0, 0); + break; + case "Y": + rotationAxis = new THREE.Vector3(0, 1, 0); + break; + case "Z": + rotationAxis = new THREE.Vector3(0, 0, 1); + break; + default: + rotationAxis = new THREE.Vector3(0, 1, 0); + } + const quaternion = new THREE.Quaternion(); + const onAnimationFrame: FrameRequestCallback = (time) => { + const deltaTime = time - lastTime; + // 使用四元数旋转,以避免万向节锁问题 + quaternion.setFromAxisAngle(rotationAxis, speed * deltaTime); + object3D.quaternion.multiply(quaternion); + lastTime = time; + requestAnimationFrame(onAnimationFrame); + }; + requestAnimationFrame(onAnimationFrame); +} + +/** + * 设置并启动模型的飞行动画。 + * @param {Object} base 包含renderer,scene,camera的对象。 + * @param {THREE.Object3D} model 要飞行的3D模型。 + * @param {THREE.Object3D} [modelBody] 物理引擎中的模型体(可选)。 + */ +export function setupModelFlying( + base: Base, + model: THREE.Object3D, + modelBody?: THREE.Object3D, +) { + // 参数有效性验证 + if (!base || !base.renderer || !base.scene || !base.camera || !model) { + return; + } + const { renderer, scene, camera } = base; + + // 模型的初始位置 + const lastPosition = model.position.clone(); + const currentPosition = new THREE.Vector3(); + const initY = model.position.y; + + /** + * 动画循环函数 + * @param {number} time 当前时间戳(毫秒) + */ + const animate: FrameRequestCallback = (time) => { + requestAnimationFrame(animate); + const rotationSpeed = Math.PI / 2; // 每秒旋转的弧度数 + const radius = 5; // 旋转半径 + const angle = rotationSpeed * (time / 1000); // 根据时间计算旋转角度 + const x = lastPosition.x + radius * Math.cos(angle); + const z = lastPosition.z + radius * Math.sin(angle); + currentPosition.set(x, initY, z); + + // 使用平滑插值更新模型位置 + model.position.lerpVectors(lastPosition, currentPosition, 0.1); + + // 计算并更新模型头部朝向 + const direction = currentPosition.clone().sub(lastPosition).normalize(); + model.lookAt(direction); + + // 更新上一次的位置 + lastPosition.copy(model.position); + // 如果存在物理体,更新其位置和旋转 + if (modelBody) { + modelBody.position.copy(model.position); + modelBody.quaternion.copy(model.quaternion); + } + + // 渲染场景 + renderer.render(scene, camera); + }; + + // 启动动画 + requestAnimationFrame(animate); +} diff --git a/src/utils/three/environment.ts b/src/utils/three/environment.ts new file mode 100644 index 0000000..cc576cb --- /dev/null +++ b/src/utils/three/environment.ts @@ -0,0 +1,212 @@ +import * as THREE from "three"; +import Base from "./init"; +import Firework from "@src/effect/firework"; +import { Sky } from "three-stdlib"; +import { RoomEnvironment } from "three-stdlib"; + +/** + * 向场景中添加烟花效果。 + * @param {Object} base - 包含场景(scene)等THREE相关对象的示例实例,用于添加和管理烟花对象。 + */ +export function addFireWork(base: Base) { + const fireworkController = new Firework(base); + // 添加键盘事件监听器 + document.addEventListener("keydown", (event) => { + // 检查是否为空格键被按下 + if (event.code === "Space") { + const position = new THREE.Vector3( + Math.random() * 10 - 5, + 0, + Math.random() * 10 - 5, + ); + fireworkController.launch(position); // 用户按下空格键时创建新的烟花 + } + }); + return fireworkController.fireworks; +} + +/** + * 在给定的场景中添加指定数量的星星。 + * @param {Object} base 包含场景(scene)等Three相关对象和数据的示例对象。 + * @param {number} count 要添加的星星数量。 + */ +export function addStars(base: Base, count: number) { + // 加载星星纹理 + const textureLoader = new THREE.TextureLoader(); + const starTexture = textureLoader.load( + "/src/assets/images/textures/star_texture.png", + ); // 替换为实际星星纹理的路径 + + // 创建星星材质 + const starMaterial = new THREE.PointsMaterial({ + map: starTexture, + size: 0.1, + // 可根据需要调整星星的大小 + color: 0xffffff, + transparent: true, + blending: THREE.AdditiveBlending, // 使用加性混合让星星更亮 + }); + const stars: THREE.Points< + THREE.SphereGeometry, + THREE.PointsMaterial, + THREE.Object3DEventMap + >[] = []; + // 循环创建指定数量的星星并添加到场景中 + for (let i = 0; i < count; i++) { + const geometry = new THREE.SphereGeometry(0.01, 32, 32); // 使用小球几何体作为星星的形状 + const star = new THREE.Points(geometry, starMaterial); + + // 随机定位星星 + const [x, y, z] = Array(3) + .fill(Math.E) + .map(() => THREE.MathUtils.randFloatSpread(1000)); // 调整范围以适应你的场景大小 + star.position.set(x, y, z); + stars.push(star); + base.scene.add(star); + } + return stars; +} + +export function addFog(base: Base) { + base.scene.fog = new THREE.Fog(0xffffff, 0.2, 0); + base.renderer.setClearColor((base.scene.fog as THREE.Fog).color); + if (base.gui) { + // 创建雾效颜色控制器 + const fogColorController = base.gui + .addColor(base.scene.fog!, "color") + .name("Fog Color"); + fogColorController.onChange((value: THREE.Color) => { + base.scene.fog!.color.set(value); + }); + + // 创建雾效范围控制器 + const fogRangeController = base.gui + .add(base.scene.fog!, "near", 0, 0.5) + .step(0.1) + .name("Fog Near"); + fogRangeController.onChange((value: number) => { + (base.scene.fog as THREE.Fog).near = value; + }); + // 通过GUI界面控制器动态调整场景雾化效果的远距离参数。 + const fogFarController = base.gui + .add(base.scene.fog!, "far", 0, 1000) + .step(1) + .name("Fog Far"); + + // 当雾化远距离值发生变化时,更新场景的雾化远距离参数。 + fogFarController.onChange((value: number) => { + (base.scene.fog as THREE.Fog).far = value; + }); + } + +} + +/** + * 设置天空盒环境。 + * 该函数初始化一个天空盒,并允许通过图形用户界面(GUI)来调节天空的外观参数,如湍流度、瑞利散射系数等。 + * 此外,还能动态更新太阳的位置,以实现不同时间的天空光照效果。 + * + * @this {Object} 包含场景(scene)、相机(camera)、渲染器(renderer)和GUI控制器(gui)等属性的对象。 + */ +export function addSkyBox(base: Base) { + const { scene, camera, renderer } = base; + const sky = new Sky(); // 创建天空对象 + sky.scale.setScalar(450000); // 设置天空对象的规模 + scene.add(sky); // 将天空对象添加到场景中 + + // 初始化天空参数,用于渲染天空盒。参数基于物理模型,可调整天空的外观。 + const skyParameters = { + turbidity: 10, + // 湍流度,影响天空的总体颜色温度 + rayleigh: 3, + // 瑞利散射系数,影响天空的蓝色强度 + mieCoefficient: 0.005, + // 米散射系数,影响天空的红色和橙色强度 + mieDirectionalG: 0.95, + // 米散射的定向因子,影响云彩的形状 + elevation: -2.2, + // 观察者的海拔高度,正值表示向上看,负值表示向下看 + azimuth: 180, + // 观察者的方位角,0为正北,90为正东,180为正南,270为正西 + exposure: renderer.toneMappingExposure, // 曝光设置,用于调整最终渲染图像的亮度 + }; + const sun = new THREE.Vector3(); // 定义太阳位置变量 + + // 更新天空材质参数和太阳位置的函数 + const updateSky = () => { + const uniforms = (sky.material as THREE.ShaderMaterial).uniforms; + uniforms["turbidity"].value = skyParameters.turbidity; + uniforms["rayleigh"].value = skyParameters.rayleigh; + uniforms["mieCoefficient"].value = skyParameters.mieCoefficient; + uniforms["mieDirectionalG"].value = skyParameters.mieDirectionalG; + + // 计算太阳在天空中的位置 + const phi = THREE.MathUtils.degToRad(90 - skyParameters.elevation); + const theta = THREE.MathUtils.degToRad(skyParameters.azimuth); + sun.setFromSphericalCoords(1, phi, theta); + uniforms["sunPosition"].value.copy(sun); + + // 更新渲染器的曝光设置 + renderer.toneMappingExposure = skyParameters.exposure; + renderer.render(scene, camera); // 渲染场景 + }; + if (base.gui) { + // 使用GUI来控制天空参数,包括湍流度、瑞利散射系数等,并在参数改变时更新天空渲染 + base.gui + .add(skyParameters, "turbidity") + .min(0) + .max(20) + .step(0.1) + .onChange(updateSky); + base.gui + .add(skyParameters, "rayleigh") + .min(0) + .max(4) + .step(0.001) + .onChange(updateSky); + base.gui + .add(skyParameters, "mieCoefficient") + .min(0) + .max(0.1) + .step(0.001) + .onChange(updateSky); + base.gui + .add(skyParameters, "mieDirectionalG") + .min(0) + .max(1) + .step(0.001) + .onChange(updateSky); + base.gui + .add(skyParameters, "elevation") + .min(-3) + .max(2) + .step(0.01) + .onChange(updateSky); + base.gui + .add(skyParameters, "azimuth") + .min(-180) + .max(180) + .step(0.1) + .onChange(updateSky); + base.gui + .add(skyParameters, "exposure") + .min(0) + .max(1) + .step(0.00001) + .onChange(updateSky); + + } + // 初始调用,用于设置初始天空状态 + updateSky(); +} + +/** + * 设置场景的环境贴图。 + */ +export function addRoomEnvironmentDefault(base: Base) { + const pmremGenerator = new THREE.PMREMGenerator(this.renderer); + base.scene.environment = pmremGenerator.fromScene( + RoomEnvironment(), + 0.04, + ).texture; +} diff --git a/src/utils/three/font.ts b/src/utils/three/font.ts new file mode 100644 index 0000000..674583b --- /dev/null +++ b/src/utils/three/font.ts @@ -0,0 +1,56 @@ +import { FontLoader, TextGeometry, TextGeometryParameters } from "three-stdlib"; +import * as THREE from "three"; +interface customTextGeometryParameters + extends Omit { + bevelSegments: number; +} +export function addText3D( + base: { + scene: THREE.Scene; + }, + text: string = "hello world", + position: THREE.Vector3 = new THREE.Vector3(0, 10, 0), + textMaterialOptions: THREE.MeshPhongMaterialParameters = { + color: 0xffffff, + }, + textGeometryOption: customTextGeometryParameters = { + size: 1, + height: 0.1, + bevelEnabled: true, + // 启用斜面以获得更平滑的边缘 + bevelThickness: 0.05, + bevelSize: 0.05, + bevelOffset: 0, + bevelSegments: 5, + }, + fontUrl: string = "https://unpkg.com/three@0.77.0/examples/fonts/helvetiker_regular.typeface.json", +): Promise { + return new Promise((resolve, reject) => { + // 创建字体加载器 + const fontLoader = new FontLoader(); + fontLoader.load( + fontUrl, + (font) => { + // 创建3D文本几何体 + const parameters: TextGeometryParameters = { + font: font, + ...textGeometryOption, + }; + const textGeometry = new TextGeometry(text, parameters); + // textGeometry.userData.text = text + // textGeometry.userData.parameters = parameters + // 创建材质并应用到文本上 + const textMaterial = new THREE.MeshPhongMaterial(textMaterialOptions); + const textMesh = new THREE.Mesh(textGeometry, textMaterial); + base.scene.add(textMesh); + position.x = position.x - text.length / 2; + textMesh.position.copy(position); + resolve(textMesh); + }, + undefined, + (err) => { + reject(err); + }, + ); + }); +} diff --git a/src/utils/three/init.ts b/src/utils/three/init.ts new file mode 100644 index 0000000..67aeb7c --- /dev/null +++ b/src/utils/three/init.ts @@ -0,0 +1,245 @@ +import GUI from "lil-gui"; +import { OrbitControls } from "three-stdlib"; +import Stats from "stats.js"; +import * as THREE from "three"; +interface ThreeDemoConfig { + isSetUpStats?: boolean; + isSetUpControls?: boolean; + isAddAxesHelper?: boolean; + isAddGridHelper?: boolean; + isAddCameraHelper?: boolean; + isSetUpGUI?: boolean; +} + +/** + * ThreeDemo类用于创建和管理一个Three的3D渲染场景。 + * @param {string} containerId - 用于包裹Three渲染循环的HTML容器元素的ID,默认为"container"。 + * @returns {Base} 返回ThreeDemo的实例。 + */ +export default class Base { + container: HTMLElement | null; + width: number; + height: number; + aspectRatio: number; + devicePixelRatio: number; + resolution: THREE.Vector3; + gui: GUI; // 使用 ? 标记为可能未初始化的属性 + scene: THREE.Scene; + camera: THREE.PerspectiveCamera; + renderer: THREE.WebGLRenderer; + config: ThreeDemoConfig; + directionalLight: THREE.DirectionalLight; + constructor(config: ThreeDemoConfig, containerId?: string); + constructor(config: ThreeDemoConfig = {}, containerId: string = "container") { + // 获取HTML容器元素,基于窗口大小初始化画布尺寸和宽高比。 + this.container = document.getElementById(containerId); + if (!this.container) { + throw new Error("Container element not found."); + } + this.width = window.innerWidth; + this.height = window.innerHeight; + this.aspectRatio = this.width / this.height; + this.devicePixelRatio = window.devicePixelRatio; + this.resolution = new THREE.Vector3( + window.innerWidth, + window.innerHeight, + 1, + ); + // 初始化Three场景、相机和渲染器相关的属性。 + // 配置对象,用于控制各种设置的开启或关闭。 + this.config = { + isSetUpStats: false, + isSetUpControls: false, + isAddAxesHelper: false, + isAddGridHelper: false, + isAddCameraHelper: false, + isSetUpGUI: false, + ...config, + }; + this.init(); + } + + /** + * 初始化 GUI 控制面板。 + */ + setUpGUI() { + const gui = new GUI(); + this.gui = gui; + } + + /** + * 添加坐标轴辅助线,帮助识别场景中 XYZ 坐标的方向。 + * + * @param {number} [size=5] 辅助线的长度 + */ + addAxesHelper(size = 5) { + const axesHelper = new THREE.AxesHelper(size); + this.scene.add(axesHelper); + } + + /** + * 添加网格辅助,帮助定位和对齐物体。 + * + * @param {number} [size=100] 网格大小 + * @param {number} [divisions=10] 网格分割数(每边的细分数量) + */ + addGridHelper(size = 100, divisions = 10) { + const gridHelper = new THREE.GridHelper(size, divisions); + this.scene.add(gridHelper); + } + + /** + * 添加相机辅助,以线框形式展示相机的视椎体和视野范围。 + * + * @param {THREE.Camera} camera 需要显示辅助的相机对象 + */ + addCameraHelper(camera: THREE.Camera) { + const cameraHelper = new THREE.CameraHelper(camera); + this.scene.add(cameraHelper); + } + + /** + * 处理窗口大小改变事件,动态调整相机视角和渲染器尺寸。 + */ + handleWindowResize() { + window.addEventListener("resize", () => { + // 当窗口大小改变时,更新相机的宽高比并重新设置渲染器的大小 + this.camera.aspect = window.innerWidth / window.innerHeight; + this.camera.updateProjectionMatrix(); + this.renderer.setSize(window.innerWidth, window.innerHeight); + }); + } + + /** + * 设置并初始化Three渲染器。 + */ + setUpRenderer() { + // 创建WebGL渲染器并设置抗锯齿选项 + const renderer = new THREE.WebGLRenderer({ + antialias: true, + logarithmicDepthBuffer: true, + }); + // 获取场景和相机引用 + const scene = this.scene; + const camera = this.camera; + // 设置渲染器,并配置其输出编码、大小、像素比和清屏颜色 + this.renderer = renderer; + this.renderer.outputColorSpace = THREE.SRGBColorSpace; + this.renderer.setSize(this.width, this.height); + this.renderer.setPixelRatio(this.devicePixelRatio); + + // 动态渲染循环 + function updateRender() { + requestAnimationFrame(() => { + renderer.render(scene, camera); + updateRender(); + }); + } + updateRender(); + } + + /** + * 设置并初始化相机。 + */ + setUpCamera() { + // 创建透视相机并设置其初始位置和参数 + this.camera = new THREE.PerspectiveCamera(90, this.aspectRatio, 0.1, 100); + this.camera.position.set(5, 2, 8); + this.camera.aspect = this.aspectRatio; + // 将相机添加到场景中 + this.scene.add(this.camera); + } + + /** + * 设置并初始化相机控制。 + */ + async setUpControls() { + // 创建并配置OrbitControls对象 + const controls = new OrbitControls(this.camera, this.renderer.domElement); + controls.enableDamping = true; + controls.dampingFactor = 0.05; + controls.enableZoom = true; + + // 动态更新控制 + function updateControls() { + requestAnimationFrame(() => { + controls.update(); + updateControls(); + }); + } + updateControls(); + } + + /** + * 设置Three场景,配置雾效。 + */ + setUpScene() { + // 创建新的场景并设置雾效 + this.scene = new THREE.Scene(); + } + + /** + * 设置并初始化性能统计器。 + */ + setUpStats() { + // 创建Stats对象用于性能统计,并将其添加到页面中 + const stats = new Stats(); + this.container!.appendChild(stats.dom); + + // 动态更新统计信息 + function updateStats() { + requestAnimationFrame(() => { + stats.update(); + updateStats(); + }); + } + updateStats(); + } + + /** + * 初始化函数,用于设置3D场景的各种配置和元素。 + * @param {Object} config 配置对象,包含各种可选设置如是否设置控制、是否添加辅助轴等。 + * 具体结构取决于应用需求。 + * @returns {undefined} 该函数没有返回值。 + */ + async init() { + // 初始化场景、相机、光照和渲染器 + this.setUpScene(); + this.setUpCamera(); + this.setUpRenderer(); + + // 根据配置,异步设置控制项 + if (this.config.isSetUpControls) { + await this.setUpControls(); + } + + // 根据配置,异步添加坐标轴辅助工具 + if (this.config.isAddAxesHelper) { + await this.addAxesHelper(); + } + + // 根据配置,添加网格辅助工具 + if (this.config.isAddGridHelper) { + this.addGridHelper(200, 20); + } + + // 根据配置,添加相机辅助工具 + if (this.config.isAddCameraHelper) { + this.addCameraHelper(this.camera); + } + + // 根据配置,设置图形用户界面 + if (this.config.isSetUpGUI) { + this.setUpGUI(); + } + + // 根据配置,设置性能统计 + if (this.config.isSetUpStats) { + this.setUpStats(); + } + + // 处理窗口大小调整事件,并将渲染器的DOM元素添加到容器中 + this.handleWindowResize(); + this.container!.appendChild(this.renderer.domElement); + } +} diff --git a/src/utils/three/light.ts b/src/utils/three/light.ts new file mode 100644 index 0000000..f57ad85 --- /dev/null +++ b/src/utils/three/light.ts @@ -0,0 +1,37 @@ + +import * as THREE from "three"; +import Base from './init' +/** + * 设置场景光照。 + */ +export function addAmbientLightDefault(base: Base) { + // 添加环境光和方向光到场景中 + const light = new THREE.AmbientLight(0xffffff, 2); + base.scene.add(light); + return light; +} + +export function addDirectionalLightDefault(base: Base) { + // 创建并配置方向光 + const directionalLight = new THREE.DirectionalLight(0xffffff, 2); + directionalLight.position.set(1, 1, 1).normalize(); + base.scene.add(directionalLight); + if (base.gui) { + // 创建光照颜色控制器 + const lightColorController = base.gui + .addColor(directionalLight, "color") + .name("Directional Light Color"); + lightColorController.onChange((value: THREE.Color) => { + directionalLight.color.set(value); + }); + // 创建光照强度控制器 + const lightIntensityController = base.gui + .add(directionalLight, "intensity", 0, 5) + .step(0.1) + .name("Directional Light Intensity"); + lightIntensityController.onChange((value: number) => { + directionalLight.intensity = value; + }); + } + return directionalLight; +} diff --git a/src/utils/three/loader.ts b/src/utils/three/loader.ts new file mode 100644 index 0000000..615178a --- /dev/null +++ b/src/utils/three/loader.ts @@ -0,0 +1,110 @@ +import { DRACOLoader, GLTF, GLTFLoader } from "three-stdlib"; + +/** + * 加载指定URL的图像资源 + * + * @param {string} imageUrl - 图像文件URL + * @returns {Promise} - 返回加载完成的图像元素 + */ +import * as THREE from "three"; +export function loadImage(imageUrl: string): Promise { + return new Promise((resolve, reject) => { + new THREE.ImageLoader().load(imageUrl, resolve, undefined, reject); + }); +} + +/** + * 从纹理图集加载指定数量的贴图 + * + * @param {string} atlasPrefix - 图集文件名前缀,格式如 'path/to/atlas-' + * @param {number} tilesNum - 贴图数量 + * @returns {Promise} - 返回一个包含所有加载完成的纹理的数组 + */ +export async function loadTexturesFromAtlas( + atlasPrefix: string, + tilesNum: number, +) { + const textures = []; + // 遍历所需贴图数量,依次加载每个贴图 + for (let i = 1; i <= tilesNum; i++) { + const url = `${atlasPrefix}${i}.png`; + const image = await loadImage(url); + + // 创建一个新的纹理对象,并将加载的图像赋值给它 + const texture = new THREE.Texture(image); + texture.needsUpdate = true; + textures.push(texture); + } + return textures; +} + +// 定义 GLTFLoader 加载完成后的回调函数类型 +type OnModelLoadedCallback = (gltf: GLTF) => void; + +// 定义 GLTFLoader 加载失败时的回调函数类型 +type OnModelErrorCallback = (error: ErrorEvent) => void; + +// 定义 loadGltfModelFunc 函数的类型 +type LoadGltfModelFunc = ( + modelUrl: string, + initialPosition?: THREE.Vector3, + initialScale?: THREE.Vector3, +) => Promise>; + +// 定义 useGltfLoader 函数的类型,它返回一个 loadGltfModelFunc 函数 +type UseGltfLoaderFunc = () => LoadGltfModelFunc; + +// 实现 useGltfLoader 函数 +export const useGltfLoader: UseGltfLoaderFunc = () => { + // 初始化DRACO解码器和GLTF加载器 + const dracoLoader = new DRACOLoader(); + dracoLoader.setDecoderPath("../../assets/libs/draco/"); // 设置DRACO解码器的路径 + const gltfLoader = new GLTFLoader(); + gltfLoader.setDRACOLoader(dracoLoader); // 将DRACO解码器设置给GLTF加载器 + + // 实现 loadGltfModelFunc 函数 + const loadGltfModelFunc: LoadGltfModelFunc = ( + modelUrl, + initialPosition = new THREE.Vector3(0, 1, 0), + initialScale = new THREE.Vector3(0.01, 0.01, 0.01), + ) => { + return new Promise>( + (resolve, reject) => { + // 模型加载成功时的处理函数 + const onModelLoaded: OnModelLoadedCallback = (gltf) => { + const model = gltf.scene; + model.position.copy(initialPosition); // 设置模型的初始位置 + model.scale.copy(initialScale); // 设置模型的初始缩放 + + // 初始化并播放模型动画 + const clock = new THREE.Clock(); + const mixer = new THREE.AnimationMixer(model); + if (gltf.animations.length > 0) { + const action = mixer.clipAction(gltf.animations[0]); + action.play(); + } + + // 动画循环,用于更新动画状态 + function animate() { + requestAnimationFrame(animate); + if (gltf.animations.length > 0) { + const delta = clock.getDelta(); + mixer.update(delta); + } + } + animate(); + resolve(model); // 模型加载成功,解决 Promise + }; + + // 模型加载失败时的处理函数 + const onModelError: OnModelErrorCallback = (error) => { + reject(error); // 模型加载失败,拒绝 Promise + }; + + // 启动模型加载 + gltfLoader.load(modelUrl, onModelLoaded, undefined, onModelError); + }, + ); + }; + return loadGltfModelFunc; // 返回加载 GLTF 模型的函数 +}; diff --git a/src/utils/three/physics.ts b/src/utils/three/physics.ts new file mode 100644 index 0000000..316a1ed --- /dev/null +++ b/src/utils/three/physics.ts @@ -0,0 +1,337 @@ +import * as CANNON from "cannon-es"; +import * as THREE from "three"; +// 定义 Cannon 物理材质的接口 +interface CannonMaterialOptions { + // 这里可以添加物理材质的属性,例如摩擦力等 + friction?: number; + restitution?: number; +} + +/** + * 直接初始化并配置一个默认的Cannon物理世界。 + * @returns {CANNON.World} 创建的物理世界实例,已含默认地面。 + */ +export function createDefaultPhysicsWorld(): CANNON.World { + const cannonWorld = new CANNON.World(); + cannonWorld.gravity.set(0, -9.82, 0); + cannonWorld.broadphase = new CANNON.NaiveBroadphase(); + cannonWorld.allowSleep = true; + return cannonWorld; +} +export function addPhysicsForMesh( + mesh: THREE.Mesh | THREE.Group, + materialOptions?: CannonMaterialOptions, + mass: number = 1, +) { + const meshBodyMaterial = new CANNON.Material(materialOptions); + const meshBody = new CANNON.Body({ + mass: mass, + material: meshBodyMaterial, + }); + meshBody.position.copy(mesh.position as unknown as CANNON.Vec3); + meshBody.quaternion.copy(mesh.quaternion as unknown as CANNON.Quaternion); + meshBody.updateMassProperties(); + + /** + * 动画函数,用于每帧更新立方体的网格位置和旋转,以匹配物理体的状态。 + */ + function animate() { + requestAnimationFrame(() => { + mesh.position.copy(meshBody.position); // 更新位置 + mesh.quaternion.copy(meshBody.quaternion); // 更新旋转 + animate(); + }); + } + if (mass != 0) { + animate(); // 如果质量不为0,则开始动画 + } + return { + meshBody, + meshBodyMaterial, + }; +} + +// 定义 createGround 函数的参数接口 +interface CreateGroundOptions { + size?: number; + depth?: number; + meshMaterialOptions?: THREE.MeshPhysicalMaterialParameters; + physicsMaterialOptions?: CannonMaterialOptions; +} + +/** + * 创建一个地面对象,包括地面的物理模拟和渲染。 + * + * @param {Object} options 配置项对象,可包含以下属性: + * - size: 地面的尺寸,默认为25。 + * - color: 地面的颜色,默认为0x808080(灰色)。 + * - yOffset: 地面在Y轴上的偏移,默认为0。 + * - meshMaterialOptions: 用于创建地面网格材质的选项对象,默认为空对象。 + * - physicsMaterialOptions: 用于创建地面物理材质的选项对象,默认为空。 + * @returns {Object} 包含以下属性的对象: + * - groundBody: CANNON中的地面物理体对象。 + * - groundMesh: THREE中的地面渲染网格对象。 + * - groundPhysMat: 地面的物理材质对象。 + */ +export function createGround({ + size = 25, + depth = 0.01, + meshMaterialOptions = { + color: 0x808080, + }, + physicsMaterialOptions, +}: CreateGroundOptions = {}): { + groundBody: CANNON.Body; + groundMesh: THREE.Mesh; + groundPhysMat: CANNON.Material; +} { + // 创建一个立方体几何体作为地面的基础形状 + const groundGeo = new THREE.BoxGeometry(size, depth, size); + + // 使用提供的颜色和额外的材质选项创建地面的渲染材质 + const groundMaterial = new THREE.MeshPhysicalMaterial({ + ...meshMaterialOptions, + }); + + // 创建地面的Three网格对象,并设置其接收阴影的属性 + const groundMesh = new THREE.Mesh(groundGeo, groundMaterial); + groundMesh.receiveShadow = true; + groundMesh.position.set(0, 0, 0); + const { meshBody: groundBody, meshBodyMaterial: groundPhysMat } = + addPhysicsForMesh(groundMesh, physicsMaterialOptions, 0); + const shape = new CANNON.Box(new CANNON.Vec3(size / 2, depth / 2, size / 2)); + groundBody.addShape(shape); + return { + groundMesh, + groundBody, + groundPhysMat, + }; +} + +// 定义 createCube 函数的参数接口 +interface CreateCubeOptions { + size?: number; + position?: THREE.Vector3; + mass?: number; + meshMaterialOptions?: THREE.MeshPhysicalMaterialParameters; + physicsMaterialOptions?: CannonMaterialOptions; +} + +/** + * 创建一个带有物理模拟的立方体。 + * + * @param {Object} options 配置对象,包含立方体的各种属性。 + * @param {number} options.size 立方体的尺寸,默认为1。 + * @param {THREE.Vector3} options.position 立方体的初始位置,默认为(5, 5, 5)。 + * @param {number} options.mass 立方体的质量,默认为1。 + * @param {number|string} options.color 立方体的颜色,默认为红色(0xff0000)。 + * @param {Object} options.meshMaterialOptions 立方体网格材质的额外选项,默认为空对象。 + * @param {Object} options.physicsMaterialOptions 立方体物理材质的额外选项,默认为空。 + * @returns {Object} 返回一个包含立方体网格(cubeMesh)、立方体物理体(cubeBody)和立方体物理材质(cubePhysMat)的对象。 + */ +export function createCube({ + size = 1, + position = new THREE.Vector3(5, 5, 5), + mass = 1, + meshMaterialOptions = { + color: 0xff0000, + }, + physicsMaterialOptions, +}: CreateCubeOptions = {}): { + cubeMesh: THREE.Mesh; + cubeBody: CANNON.Body; + cubePhysMat: CANNON.Material; +} { + // 创建立方体几何体 + const cubeGeo = new THREE.BoxGeometry(size, size, size); + + // 创建立方体材质 + const cubeMaterial = new THREE.MeshPhysicalMaterial({ + ...meshMaterialOptions, + }); + + // 创建立方体的Three网格 + const cubeMesh = new THREE.Mesh(cubeGeo, cubeMaterial); + cubeMesh.castShadow = true; // 立方体投射阴影 + cubeMesh.position.copy(position); // 初始位置设置 + const { meshBody: cubeBody, meshBodyMaterial: cubePhysMat } = + addPhysicsForMesh(cubeMesh, physicsMaterialOptions, mass); + const shape = new CANNON.Box(new CANNON.Vec3(size / 2, size / 2, size / 2)); + cubeBody.addShape(shape); + return { + cubeMesh, + cubeBody, + cubePhysMat, + }; +} + +// 定义 createSphere 函数的参数接口 +interface CreateSphereOptions { + radius?: number; + position?: THREE.Vector3; + velocity?: THREE.Vector3; + angularVelocity?: THREE.Vector3; + mass?: number; + meshMaterialOptions?: THREE.MeshPhysicalMaterialParameters; + physicsMaterialOptions?: CannonMaterialOptions; +} + +/** + * 创建一个带有物理模拟的球体。 + * + * @param {Object} 参数对象,包含球体的各种属性。 + * @param {number} radius 球体的半径,默认为0.5。 + * @param {THREE.Vector3} position 球体的初始位置,默认为新的THREE.Vector3()。 + * @param {THREE.Vector3} velocity 球体的初始速度,默认为新的THREE.Vector3()。 + * @param {THREE.Vector3} angularVelocity 球体的初始角速度,默认为新的THREE.Vector3()。 + * @param {number} color 球体的颜色,默认为绿色(0x00ff00)。 + * @param {number} mass 球体的质量,默认为1。 + * @param {Object} meshMaterialOptions 球体网格材质的选项,默认为空对象。 + * @param {Object} physicsMaterialOptions 球体物理材质的选项,默认为空。 + * @returns {Object} 返回一个包含球体物理体、网格和物理材质的对象。 + */ +export function createSphere({ + radius = 0.5, + position = new THREE.Vector3(), + velocity = new THREE.Vector3(), + angularVelocity = new THREE.Vector3(), + mass = 1, + meshMaterialOptions = { + color: "0x00ff00", + }, + physicsMaterialOptions, +}: CreateSphereOptions): { + sphereMesh: THREE.Mesh; + sphereBody: CANNON.Body; + spherePhysMat: CANNON.Material; +} { + // 创建球体几何体 + const sphereGeo = new THREE.SphereGeometry(radius, 32, 32); + + // 创建球体材质 + const sphereMaterial = new THREE.MeshPhysicalMaterial({ + ...meshMaterialOptions, + }); + const sphereMesh = new THREE.Mesh(sphereGeo, sphereMaterial); + sphereMesh.castShadow = true; // 球体投射阴影 + sphereMesh.position.copy(position); // 初始位置设置 + + const { meshBody: sphereBody, meshBodyMaterial: spherePhysMat } = + addPhysicsForMesh(sphereMesh, physicsMaterialOptions, mass); + const shape = new CANNON.Sphere(radius); + sphereBody.addShape(shape); + sphereBody.velocity.copy(velocity as unknown as CANNON.Vec3); + sphereBody.angularVelocity.copy(angularVelocity as unknown as CANNON.Vec3); + + /** + * 动画函数,用于每帧更新球体的网格位置和旋转,以匹配其物理体的状态。 + */ + function animate() { + requestAnimationFrame(() => { + sphereMesh.position.copy(sphereBody.position); + sphereMesh.quaternion.copy(sphereBody.quaternion); + animate(); + }); + } + if (mass != 0) { + animate(); // 如果球体有质量,则开始动画更新 + } + return { + sphereBody, + sphereMesh, + spherePhysMat, + }; +} + +// 定义 configureContactMaterials 函数的参数接口 +interface ConfigureContactMaterialsOptions { + friction?: number; + restitution?: number; + contactEquationStiffness?: number; + contactEquationRelaxation?: number; + frictionStiffness?: number; + frictionRelaxation?: number; + // 可以根据 CANNON 的 ContactMaterial 选项添加更多属性 +} + +/** + * 配置两种材质之间的接触属性。 + * + * @param {CANNON.World} world - Cannon物理世界的实例。 + * @param {CANNON.Material} materialA - 第一种物理材质。 + * @param {CANNON.Material} materialB - 第二种物理材质。 + * @param {Object} [options] - 配置选项,包含摩擦、恢复系数等。 + * @param {number} [options.friction=0.3] - 接触摩擦系数,默认为0.3。 + * @param {number} [options.restitution=0.3] - 接触恢复系数(弹性),默认为0.3。 + */ +export function configureContactMaterials( + world: CANNON.World, + materialA: CANNON.Material, + materialB: CANNON.Material, + options: ConfigureContactMaterialsOptions = {}, +): void { + const { friction = 0.3, restitution = 0.3 } = options; + const contactMaterial = new CANNON.ContactMaterial(materialA, materialB, { + friction, + restitution, + ...options, + }); + world.addContactMaterial(contactMaterial); +} + +/** + * 为给定的模型创建物理属性和物理体,使其能够在物理模拟中运行。 + * @param {Object} model - 用于物理模拟的三维模型。 + * @param {Object} materialOptions - 物理材质的选项。 + * @param {number} [mass=1] - 物理体的质量,默认为1。 + * @returns {Object} 包含模型、物理体和物理材质的对象。 + */ +export function addPhysicsForModel( + model: THREE.Group, + materialOptions?: CannonMaterialOptions, + mass: number = 1, +): { + model: THREE.Group; + gltfBody: CANNON.Body; + gltfBodyMaterial: CANNON.Material; +} { + // 计算模型的包围盒并创建相应的物理形状 + const box = new THREE.Box3().setFromObject(model); + const size = box.getSize(new THREE.Vector3()); + const halfExtents = new CANNON.Vec3(size.x / 2, size.y / 2, size.z / 2); + const { meshBody: gltfBody, meshBodyMaterial: gltfBodyMaterial } = + addPhysicsForMesh(model, materialOptions, mass); + gltfBody.addShape(new CANNON.Box(halfExtents)); + gltfBody.addEventListener("collide", () => { }); + return { + model, + gltfBody, + gltfBodyMaterial, + }; +} + +export function addPhysicsForFont( + mesh: THREE.Mesh, + materialOptions?: CannonMaterialOptions, + mass: number = 1, +): { + mesh: THREE.Mesh; + meshBody: CANNON.Body; + meshBodyMaterial: CANNON.Material; +} { + // 计算模型的包围盒并创建相应的物理形状 + const box = new THREE.Box3().setFromObject(mesh); + const size = box.getSize(new THREE.Vector3()); + const fullExtents = new CANNON.Vec3(size.x, size.y, size.z); + const { meshBody, meshBodyMaterial: meshBodyMaterial } = addPhysicsForMesh( + mesh, + materialOptions, + mass, + ); + meshBody.addShape(new CANNON.Box(fullExtents)); + return { + mesh, + meshBody, + meshBodyMaterial, + }; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..475ec78 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,69 @@ +{ + "compilerOptions": { + // 目标ECMAScript版本,'ES3/ES5/ES6/ES2015/ES2016/ES2017/ES2018/ES2019/ES2020/ESNext'等 + "target": "ES6", + "allowJs": true, + "moduleResolution": "node", + "baseUrl": "./", // 基础目录,用于解析所有模块的入口点 + "paths": { + "*": ["./node_modules/*"], + "@/*": ["src/*"], + "@src/*": ["src/*"] + }, + // 指定要包含在编译中的库文件 + "lib": [ + "DOM", + "ESNext", + "DOM.Iterable" + ], + // 跳过声明文件的类型检查 + "skipLibCheck": true, + // 禁止对同一文件的不一致大小写引用 + "forceConsistentCasingInFileNames": true, + // 指定使用哪个模块代码生成:'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'ESNext' 等 + "module": "ESNext", + // 启用所有严格类型检查选项 + "strict": true, + // 启用对JS文件的类型检查 + "checkJs": false, + // 启用对声明文件(`.d.ts`文件)的生成 + "declaration": true, + // 指定输出目录 + "outDir": "./dist", + // 指定源文件的根目录 + "rootDir": "./src", + // 启用/关闭保留值的原始类型信息 + "preserveConstEnums": true, + // 启用/禁用对未声明的变量的值的推断 + "noImplicitAny": true, + // 启用/禁用只从检查的文件中排除声明合并 + "isolatedModules": false, + // 启用/禁用对未使用的本地变量的错误 + "noUnusedLocals": true, + // 启用/禁用对未使用的参数的错误 + "noUnusedParameters": true, + // 启用/禁用对可能错误的函数返回值的推断 + "noImplicitReturns": true, + // 启用/禁用对未声明的全局变量的错误 + "noImplicitThis": false, + // 启用/禁用严格模式 + "strictFunctionTypes": true, + // 启用/禁用严格属性初始化 + "strictPropertyInitialization": false, + // 启用/禁用对null和undefined的类型守卫 + "strictNullChecks": true, + // 启用/禁用对所有位置的未类型化位置的检查 + "strictBindCallApply": true, + // 启用/禁用对导入的模块的类型声明文件的解析 + "esModuleInterop": true, + // 启用/禁用对JSX的类型检查 + "jsx": "react" + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules", + "**/*.spec.ts" + ] +} \ No newline at end of file diff --git a/vite.config.mjs b/vite.config.mjs new file mode 100644 index 0000000..f652cad --- /dev/null +++ b/vite.config.mjs @@ -0,0 +1,32 @@ +import { + defineConfig +} from 'vite'; +import path from 'path'; + +import glsl from "vite-plugin-glsl"; +export default defineConfig({ + // 项目根目录 + root: process.cwd(), + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), // 定义 @ 指向 src 目录 + '@src': path.resolve(__dirname, './src') // 定义 @ 指向 src 目录 + }, + }, + server: { + host: '0.0.0.0', + port: 3000, + open: true, + }, + build: { + target: 'esnext', + minify: false, + outDir: './dist', // 输出目录 + emptyOutDir: true, // 是否清空输出目录 + sourcemap: true, // 是否生成 source map + }, + optimizeDeps: { + include: ['three'], + }, + plugins: [glsl()], +});

>>0?(r=q+(l<<2)|0,(r|0)!=(o|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=n;t=k;v=j}else{s=n;t=k;v=j}else{Ci(g,l-p|0);p=f[h>>2]|0;s=p;t=p;v=f[i>>2]|0}p=v-t|0;l=p>>2;f[c>>2]=0;j=c+4|0;f[j>>2]=0;k=c+8|0;f[k>>2]=0;if(l|0){if((p|0)<0)aq(c);p=((l+-1|0)>>>5)+1|0;n=ln(p<<2)|0;f[c>>2]=n;f[k>>2]=p;f[j>>2]=l;j=l>>>5;sj(n|0,0,j<<2|0)|0;p=l&31;l=n+(j<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=0;j=s;s=t;t=v;while(1){if(l>>>0>2>>>0){w=0;x=0;y=l;z=s;A=j}else{B=25;break}while(1){v=x>>>5;n=1<<(x&31);do if(!(f[(f[c>>2]|0)+(v<<2)>>2]&n)){k=f[A+(x<<2)>>2]|0;if((f[k+8>>2]|0)!=(f[k+4>>2]|0)){r=0;o=1;m=A;q=k;while(1){k=f[(f[q+4>>2]|0)+(r<<2)>>2]|0;C=0;D=m;while(1){E=f[D+(x<<2)>>2]|0;if((C|0)>=(Ra[f[(f[E>>2]|0)+24>>2]&127](E,k)|0)){F=o;break}E=f[(f[h>>2]|0)+(x<<2)>>2]|0;G=Sa[f[(f[E>>2]|0)+28>>2]&31](E,k,C)|0;if((G|0)!=(x|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=C+1|0;D=f[h>>2]|0}r=r+1|0;m=f[h>>2]|0;q=f[m+(x<<2)>>2]|0;if(r>>>0>=(f[q+8>>2]|0)-(f[q+4>>2]|0)>>2>>>0)break;else o=F}o=m;if(F)H=o;else{I=w;J=y;K=o;break}}else H=z;f[(f[g>>2]|0)+(y<<2)>>2]=x;o=(f[c>>2]|0)+(v<<2)|0;f[o>>2]=f[o>>2]|n;I=1;J=y+1|0;K=H}else{I=w;J=y;K=z}while(0);x=x+1|0;L=f[i>>2]|0;M=L-K>>2;A=K;if(x>>>0>=M>>>0)break;else{w=I;y=J;z=K}}if(J>>>0>>0&(I^1)){N=0;break}else{l=J;j=A;s=K;t=L}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;L=f[a+4>>2]|0;a=(f[L+12>>2]|0)-(f[L+8>>2]|0)|0;L=a>>2;f[e>>2]=0;K=e+4|0;f[K>>2]=0;A=e+8|0;f[A>>2]=0;if(L|0){if((a|0)<0)aq(e);a=((L+-1|0)>>>5)+1|0;J=ln(a<<2)|0;f[e>>2]=J;f[A>>2]=a;f[K>>2]=L;K=L>>>5;sj(J|0,0,K<<2|0)|0;a=L&31;L=J+(K<<2)|0;if(a|0)f[L>>2]=f[L>>2]&~(-1>>>(32-a|0))}a:do if((t|0)==(s|0))O=1;else{a=0;L=j;K=s;J=t;while(1){A=f[(f[g>>2]|0)+(a<<2)>>2]|0;l=f[L+(A<<2)>>2]|0;I=(f[l+8>>2]|0)-(f[l+4>>2]|0)|0;l=I>>2;if((I|0)<8){P=K;Q=J}else{I=f[B>>2]|0;M=f[d>>2]|0;z=I-M>>2;y=M;M=I;if(l>>>0<=z>>>0)if(l>>>0>>0?(I=y+(l<<2)|0,(I|0)!=(M|0)):0){f[B>>2]=M+(~((M+-4-I|0)>>>2)<<2);R=0}else R=0;else{Ci(d,l-z|0);R=0}while(1){if((R|0)<(l|0)){S=0;T=0;U=R}else break;while(1){z=f[(f[h>>2]|0)+(A<<2)>>2]|0;I=f[(f[z+4>>2]|0)+(S<<2)>>2]|0;M=S>>>5;y=1<<(S&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){w=0;x=1;H=z;while(1){if((w|0)>=(Ra[f[(f[H>>2]|0)+24>>2]&127](H,I)|0)){V=x;break}z=f[(f[h>>2]|0)+(A<<2)>>2]|0;F=Sa[f[(f[z>>2]|0)+28>>2]&31](z,I,w)|0;z=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=x&z;if(!z){V=F;break}w=w+1|0;x=F;H=f[(f[h>>2]|0)+(A<<2)>>2]|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=S;H=(f[e>>2]|0)+(M<<2)|0;f[H>>2]=f[H>>2]|y;W=1;X=U+1|0}else{W=T;X=U}}else{W=T;X=U}S=S+1|0;if((S|0)>=(l|0))break;else{T=W;U=X}}if(W|(X|0)>=(l|0))R=X;else{O=0;break a}}bg(f[(f[h>>2]|0)+(A<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}a=a+1|0;if(a>>>0>=Q-P>>2>>>0){O=1;break}else{L=P;K=P;J=Q}}}while(0);Q=f[e>>2]|0;if(Q|0)Oq(Q);Q=f[d>>2]|0;if(Q|0){d=f[B>>2]|0;if((d|0)!=(Q|0))f[B>>2]=d+(~((d+-4-Q|0)>>>2)<<2);Oq(Q)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}Oq(O);u=b;return N|0}function yc(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[4788]|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[4789]|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[4786]=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[4784]=f[4784]&~(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=19440+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4785]=f[4785]&~(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[4790]|0)==(e|0)){r=(f[4787]|0)+m|0;f[4787]=r;f[4790]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4789]|0))return;f[4789]=0;f[4786]=0;return}if((f[4789]|0)==(e|0)){r=(f[4786]|0)+m|0;f[4786]=r;f[4789]=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[4784]=f[4784]&~(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=19440+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4785]=f[4785]&~(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[4789]|0)){f[4786]=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=19176+(m<<1<<2)|0;a=f[4784]|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=19440+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4785]|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[4785]=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[4792]|0)+-1|0;f[4792]=l;if(!l)D=19592;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4792]=-1;return}function zc(a){a=a|0;var c=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;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+52|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;ci(j,f[l>>2]|0)|0;ci(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=ln(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15598;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=Yj(m,e,0)|0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}mf(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=0;r=m;while(1){s=f[r+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(q*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=w;z=t;A=x}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Me(t,e,h,o)|0;t=f[l>>2]|0;x=t+16|0;y=f[x>>2]|0;z=t;A=f[x+4>>2]|0}b[h>>0]=f[s+(q*12|0)+4>>2];if((A|0)>0|(A|0)==0&y>>>0>0){B=A;C=y;D=z}else{f[g>>2]=f[z+4>>2];f[e>>2]=f[g>>2];Me(z,e,h,p)|0;x=f[l>>2]|0;t=x+16|0;B=f[t+4>>2]|0;C=f[t>>2]|0;D=x}b[h>>0]=f[s+(q*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Me(D,e,h,n)|0}s=q+1|0;if(s>>>0>=j>>>0)break;q=s;r=f[i>>2]|0}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=0;C=m;while(1){B=f[C+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(D*12|0)>>2];z=p+16|0;y=f[z>>2]|0;A=f[z+4>>2]|0;if((A|0)>0|(A|0)==0&y>>>0>0){E=A;F=y;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,h,n)|0;p=f[l>>2]|0;y=p+16|0;E=f[y+4>>2]|0;F=f[y>>2]|0;G=p}d[h>>1]=f[B+(D*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Me(G,e,h,q)|0;p=f[l>>2]|0;y=p+16|0;H=f[y+4>>2]|0;I=f[y>>2]|0;J=p}d[h>>1]=f[B+(D*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Me(J,e,h,r)|0}B=D+1|0;if(B>>>0>=j>>>0)break;D=B;C=f[i>>2]|0}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=0;L=m}else{u=c;return 1}while(1){a=f[L+96>>2]|0;ci(f[a+(K*12|0)>>2]|0,f[l>>2]|0)|0;ci(f[a+(K*12|0)+4>>2]|0,f[l>>2]|0)|0;ci(f[a+(K*12|0)+8>>2]|0,f[l>>2]|0)|0;a=K+1|0;if(a>>>0>=j>>>0)break;K=a;L=f[i>>2]|0}u=c;return 1}if(!C){u=c;return 1}C=0;L=m;while(1){m=(f[L+96>>2]|0)+(C*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Me(K,e,m,m+12|0)|0}m=C+1|0;if(m>>>0>=j>>>0)break;C=m;L=f[i>>2]|0}u=c;return 1}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,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,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+28|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=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+32>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)aq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+48>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+52|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+48>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+44|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>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];mb(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)){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);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;B=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)aq(d);else{P=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+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,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=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+28|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+32>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)aq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>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);r=a+52|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+52|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;A=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)aq(d);else{O=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Cc(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,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,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;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=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)aq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+72|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+68>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+64|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>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];mb(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)){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);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;B=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)aq(d);else{P=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Dc(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,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=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)aq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;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);r=a+72|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+72|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;A=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)aq(d);else{O=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}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,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=Oa,F=Oa,G=Oa,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(!(Vk(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(!(Vk(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=ln(24)|0;pj(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;ei(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 Fc(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,m=0,n=0,o=0,p=0.0,q=0.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.0,G=0.0,H=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Si(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=1.0;q=0.0;r=0;s=k;t=l;u=0;v=0;w=0;x=0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Si(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Si(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Si(a)|0;z=Vn(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=1;o=0;p=1.0;q=0.0;r=0;s=A;t=1;u=0;v=0;w=z;x=B;break}}}else{n=1;o=0;p=1.0;q=0.0;r=0;s=y;t=l;u=0;v=0;w=0;x=0}}while(1){l=s+-48|0;y=s|32;if(l>>>0>=10){A=(s|0)==46;if(!(A|(y+-97|0)>>>0<6)){C=s;break}if(A)if(!n){D=1;E=o;F=p;G=q;H=r;J=t;K=v;L=u;M=v;N=u}else{C=46;break}else m=20}else m=20;if((m|0)==20){m=0;A=(s|0)>57?y+-87|0:l;do if(!((u|0)<0|(u|0)==0&v>>>0<8))if((u|0)<0|(u|0)==0&v>>>0<14){O=p*.0625;P=o;Q=O;R=q+O*+(A|0);S=r;break}else{l=(o|0)!=0|(A|0)==0;P=l?o:1;Q=p;R=l?q:q+p*.5;S=r;break}else{P=o;Q=p;R=q;S=A+(r<<4)|0}while(0);A=Vn(v|0,u|0,1,0)|0;D=n;E=P;F=Q;G=R;H=S;J=1;K=w;L=x;M=A;N=I}A=f[g>>2]|0;if(A>>>0<(f[j>>2]|0)>>>0){f[g>>2]=A+1;n=D;o=E;p=F;q=G;r=H;s=h[A>>0]|0;t=J;u=N;v=M;w=K;x=L;continue}else{n=D;o=E;p=F;q=G;r=H;s=Si(a)|0;t=J;u=N;v=M;w=K;x=L;continue}}do if(!t){L=(f[j>>2]|0)==0;if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(!((n|0)==0|L))f[g>>2]=(f[g>>2]|0)+-1}else Ym(a,0);T=+(d|0)*0.0}else{L=(n|0)==0;K=L?v:w;M=L?u:x;if((u|0)<0|(u|0)==0&v>>>0<8){L=r;N=v;J=u;while(1){s=L<<4;H=N;N=Vn(N|0,J|0,1,0)|0;if(!((J|0)<0|(J|0)==0&H>>>0<7)){U=s;break}else{L=s;J=I}}}else U=r;if((C|32|0)==112){J=Re(a,e)|0;L=I;if((J|0)==0&(L|0)==-2147483648){if(!e){Ym(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=J;W=L}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}L=Tn(K|0,M|0,2)|0;J=Vn(L|0,I|0,-32,-1)|0;L=Vn(J|0,I|0,V|0,W|0)|0;J=I;if(!U){T=+(d|0)*0.0;break}N=0-c|0;s=((N|0)<0)<<31>>31;if((J|0)>(s|0)|(J|0)==(s|0)&L>>>0>N>>>0){N=Vq()|0;f[N>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}N=c+-106|0;s=((N|0)<0)<<31>>31;if((J|0)<(s|0)|(J|0)==(s|0)&L>>>0>>0){N=Vq()|0;f[N>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){G=q;N=U;s=L;H=J;while(1){E=!(G>=.5);o=N<<1|(E^1)&1;F=G+(E?G:G+-1.0);E=Vn(s|0,H|0,-1,-1)|0;D=I;if((o|0)>-1){G=F;N=o;s=E;H=D}else{X=F;Y=o;Z=E;_=D;break}}}else{X=q;Y=U;Z=L;_=J}H=((b|0)<0)<<31>>31;s=Xn(32,0,c|0,((c|0)<0)<<31>>31|0)|0;N=Vn(s|0,I|0,Z|0,_|0)|0;s=I;if((s|0)<(H|0)|(s|0)==(H|0)&N>>>0>>0)if((N|0)>0){$=N;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){G=+(d|0);ca=+rq(+bk(1.0,ba),G);da=aa;ea=G}N=(Y&1|0)==0&(X!=0.0&(da|0)<32);G=(N?0.0:X)*ea+(ca+ea*+((Y+(N&1)|0)>>>0))-ca;if(!(G!=0.0)){N=Vq()|0;f[N>>2]=34}T=+sq(G,Z)}while(0);return +T}function Gc(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,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Gh(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)Oq(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)Oq(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=0;r=d;do{f[i>>2]=(q>>>0)/3|0;f[h>>2]=f[i>>2];d=_j(r,h)|0;r=f[l>>2]|0;do if(!d){s=f[(f[r+12>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(q>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(q&31);t=q+1|0;v=((t>>>0)%3|0|0)==0?q+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((v|0)==-1)x=-1;else x=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=q>>>0){v=q+1|0;t=((v>>>0)%3|0|0)==0?q+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(q&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?q+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((B|0)==-1)Q=-1;else Q=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);q=q+1|0}while(q>>>0<(f[r+4>>2]|0)-(f[r>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Qc(a,c,e);j=1;u=g;return j|0}else{md(a,0,0);j=1;u=g;return j|0}return 0}function Hc(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;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=n;n=f[b>>2]|0;while(1){if((n|0)==(f[c>>2]|0))break;o=k+16|0;f[o>>2]=f[n+16>>2];if((k|0)!=(n|0)){f[h>>2]=f[n+20>>2];f[i>>2]=n+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k+20|0,g,e)}p=k+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(k|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[o>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=22;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=25;break}else z=x}s=z}if((y|0)==22){y=0;B=s;C=s;break}else if((y|0)==25){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[k>>2]=0;f[k+4>>2]=0;f[p>>2]=B;f[C>>2]=k;q=f[f[a>>2]>>2]|0;if(!q)D=k;else{f[a>>2]=q;D=f[C>>2]|0}Oe(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[n+4>>2]|0;if(!q){o=n+8|0;r=f[o>>2]|0;if((f[r>>2]|0)==(n|0))E=r;else{r=o;do{o=f[r>>2]|0;r=o+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(o|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=t;n=E}}n=f[k+8>>2]|0;if(!n)F=k;else{m=n;while(1){n=f[m+8>>2]|0;if(!n)break;else m=n}F=m}Oj(a,F)}while(0);F=f[b>>2]|0;E=f[c>>2]|0;if((F|0)==(E|0)){u=d;return}c=a+4|0;t=a+4|0;D=F;while(1){Kg(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=43;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=46;break}else G=z}A=G}if((y|0)==43){y=0;I=A;J=A;K=C;break}else if((y|0)==46){y=0;I=A;J=H;K=C;break}}else{I=c;J=c;K=f[e>>2]|0}while(0);f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=I;f[J>>2]=K;F=f[f[a>>2]>>2]|0;if(!F)L=K;else{f[a>>2]=F;L=f[J>>2]|0}Oe(f[t>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(E|0))break;else D=M}u=d;return}function Ic(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;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=Lq(l)|0;sj(m|0,0,l|0)|0;n=Lq(l)|0;sj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=s;H=F;I=q}else{J=o;aq(J)}while(1){F=f[I+(H<<2)>>2]|0;if(t)sj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=0;L=F;while(1){M=f[s+(L<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>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)<(H|0)&(R|0)<(H|0)&(Q|0)<(H|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=K+1|0}else U=K}else U=K;Q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);L=(V|0)==(F|0)?-1:V;if((L|0)==-1)break;else K=U}K=X(H,e)|0;if(!U){W=K;Y=30}else{if(t){L=0;do{F=m+(L<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(K<<2)|0;F=c+(K<<2)|0;s=f[L+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Od(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(H,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(G+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;L=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=P;Od(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((G|0)<=2)break a;Q=f[l>>2]|0;I=f[Q>>2]|0;P=H+-1|0;if((f[Q+4>>2]|0)-I>>2>>>0<=P>>>0){J=Q;break}else{Q=H;H=P;G=Q}}aq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;Mq(n);Mq(m);u=g;return 1}sj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;Mq(n);Mq(m);u=g;return 1}function Jc(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,T=0;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=Lq(d)|0;sj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=0;y=h;A=C;while(1){if((A|0)>0){C=0;do{H=f[y+(C<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(C<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(C<<2)>>2]=(H|0)<(J|0)?J:H;K=I}C=C+1|0}while((C|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;C=(f[D+(E<<2)>>2]|0)-(f[L+(E<<2)>>2]|0)|0;I=B+(E<<2)|0;f[I>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){M=C-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+C|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}E=E+1|0;A=f[g>>2]|0;if((E|0)>=(A|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,A=c+(z<<2)|0,E=f[g>>2]|0,(E|0)>0):0){B=0;D=b+((X(x+-2|0,e)|0)<<2)|0;I=E;while(1){if((I|0)>0){E=0;do{C=f[D+(E<<2)>>2]|0;H=f[n>>2]|0;if((C|0)>(H|0)){J=f[o>>2]|0;f[J+(E<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(E<<2)>>2]=(C|0)<(J|0)?J:C;O=H}E=E+1|0}while((E|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;E=(f[y+(B<<2)>>2]|0)-(f[P+(B<<2)>>2]|0)|0;H=A+(B<<2)|0;f[H>>2]=E;if((E|0)>=(f[q>>2]|0)){if((E|0)>(f[s>>2]|0)){Q=E-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+E|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}B=B+1|0;I=f[g>>2]|0;if((B|0)>=(I|0))break;else D=P}}if((x|0)<=2)break a}aq(i)}while(0);if((e|0)>0)sj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=0;K=h;G=e;while(1){if((G|0)>0){e=0;do{F=f[K+(e<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(e<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(e<<2)>>2]=(F|0)<(l|0)?l:F;R=d}e=e+1|0}while((e|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[S+(a<<2)>>2]|0)|0;d=c+(a<<2)|0;f[d>>2]=e;if((e|0)>=(f[O>>2]|0)){if((e|0)>(f[M>>2]|0)){T=e-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+e|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}a=a+1|0;G=f[g>>2]|0;if((a|0)>=(G|0))break;else K=S}Mq(h);return 1}function Kc(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;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=Lq(l)|0;sj(m|0,0,l|0)|0;n=Lq(l)|0;sj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=s;I=G;J=q}else{K=o;aq(K)}while(1){G=f[J+(I<<2)>>2]|0;if(t)sj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=0;M=G;while(1){if(((f[s+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(I|0)&(S|0)<(I|0)&(R|0)<(I|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=L+1|0}else T=L;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);M=(U|0)==(G|0)?-1:U;if((M|0)==-1)break;else L=T}L=X(I,e)|0;if(!T){V=L;W=28}else{if(t){M=0;do{G=m+(M<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;G=c+(L<<2)|0;s=f[M+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[M>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Od(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(I,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(H+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;M=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=M;f[x>>2]=Q;Od(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((H|0)<=2)break a;R=f[l>>2]|0;J=f[R>>2]|0;Q=I+-1|0;if((f[R+4>>2]|0)-J>>2>>>0<=Q>>>0){K=R;break}else{R=I;I=Q;H=R}}aq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;Mq(n);Mq(m);u=g;return 1}sj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;Mq(n);Mq(m);u=g;return 1}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,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;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=Lq(d)|0;sj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=0;z=h;C=D;while(1){if((C|0)>0){D=0;do{G=f[z+(D<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(D<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(D<<2)>>2]=(G|0)<(I|0)?I:G;J=H}D=D+1|0}while((D|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;D=(f[E+(F<<2)>>2]|0)-(f[K+(F<<2)>>2]|0)|0;H=B+(F<<2)|0;f[H>>2]=D;if((D|0)>=(f[q>>2]|0)){if((D|0)>(f[s>>2]|0)){L=D-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+D|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}F=F+1|0;C=f[g>>2]|0;if((F|0)>=(C|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,C=c+(A<<2)|0,F=f[g>>2]|0,(F|0)>0):0){B=0;E=b+((X(y+-2|0,e)|0)<<2)|0;H=F;while(1){if((H|0)>0){F=0;do{D=f[E+(F<<2)>>2]|0;G=f[n>>2]|0;if((D|0)>(G|0)){I=f[o>>2]|0;f[I+(F<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(F<<2)>>2]=(D|0)<(I|0)?I:D;N=G}F=F+1|0}while((F|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;F=(f[z+(B<<2)>>2]|0)-(f[O+(B<<2)>>2]|0)|0;G=C+(B<<2)|0;f[G>>2]=F;if((F|0)>=(f[q>>2]|0)){if((F|0)>(f[s>>2]|0)){P=F-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+F|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}B=B+1|0;H=f[g>>2]|0;if((B|0)>=(H|0))break;else E=O}}if((y|0)<=2)break a}aq(i)}while(0);if((e|0)>0)sj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=0;J=h;d=e;while(1){if((d|0)>0){e=0;do{l=f[J+(e<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(e<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(e<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}e=e+1|0}while((e|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[R+(a<<2)>>2]|0)|0;j=c+(a<<2)|0;f[j>>2]=e;if((e|0)>=(f[N>>2]|0)){if((e|0)>(f[L>>2]|0)){S=e-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+e|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}a=a+1|0;d=f[g>>2]|0;if((a|0)>=(d|0))break;else J=R}Mq(h);return 1}function Mc(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,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;gk(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(r<<2)>>2]|0;do{v=f[a+(s+r<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>o>>>0?t:o;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ri(k,i);r=r+p|0;if((r|0)>=(c|0)){x=v;break}else o=v}}else{o=0;r=0;while(1){v=f[a+(o<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>r>>>0?v:r;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ri(k,i);o=o+p|0;if((o|0)>=(c|0)){x=w;break}else r=w}}f[l>>2]=0;r=l+4|0;f[r>>2]=0;f[l+8>>2]=0;o=f[k>>2]|0;q=(f[d>>2]|0)-o|0;w=q>>2;if(w){if(w>>>0>1073741823)aq(l);s=ln(q)|0;f[r>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;kh(s|0,o|0,q|0)|0;f[r>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;o=0;v=0;while(1){D=Vn(o|0,v|0,f[s+(y<<2)>>2]|0,0)|0;E=I;y=y+1|0;if(y>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{o=D;v=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Jg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=Tn(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;v=un(B|0,C|0,p|0,0)|0;C=Vn(F|0,z|0,v|0,I|0)|0;v=Vn(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[r>>2]|0;if((l|0)!=(w|0))f[r>>2]=l+(~((l+-4-w|0)>>>2)<<2);Oq(w)}w=Jg(a,c,x,i)|0;l=f[i>>2]|0;r=((x-l|0)/64|0)+l<<3;C=l<<3;z=Vn(w|0,I|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Vn(z|0,I|0,r|0,((r|0)<0)<<31>>31|0)|0;r=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=ln(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=15964;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=(Jh(e,i)|0)==0;if((b[i+11>>0]|0)<0)Oq(f[i>>2]|0);if(!w){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=ln(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=15964;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=Mk(e,i)|0;if((b[i+11>>0]|0)<0)Oq(f[i>>2]|0);H=w}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(r|0)|(A|0)==(r|0)&v>>>0>=C>>>0)&1;b[m>>0]=H;C=g+16|0;v=f[C+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[C>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Me(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=td(a,c,p,k,g)|0;break}case 1:{J=Tc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);Oq(g)}n=J;u=h;return n|0}function Nc(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;Oq(k)}Oq(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);Oq(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;Oq(m)}Oq(n)}Oq(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;Oq(p)}Oq(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);Oq(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;Oq(e)}Oq(j)}Oq(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){bj(g);Oq(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){bj(p);Oq(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{im(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 Oc(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;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=j;j=f[c>>2]|0;while(1){if((j|0)==(f[d>>2]|0))break;k=g+16|0;am(k,j+16|0)|0;am(g+28|0,j+28|0)|0;l=g+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(g|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[k+11>>0]|0;o=n<<24>>24<0;s=o?f[g+20>>2]|0:n&255;n=o?f[k>>2]|0:k;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=Vk(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=22;else y=24;else if(s>>>0>>0)y=22;else y=24;if((y|0)==22){y=0;w=f[o>>2]|0;if(!w){y=23;break}else z=w}else if((y|0)==24){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=26;break}else z=w}o=z}if((y|0)==23){y=0;B=o;C=o;break}else if((y|0)==26){y=0;B=A;C=o;break}}else{B=h;C=h}while(0);f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=C;f[B>>2]=g;m=f[f[a>>2]>>2]|0;if(!m)D=g;else{f[a>>2]=m;D=f[B>>2]|0}Oe(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[j+4>>2]|0;if(!m){k=j+8|0;s=f[k>>2]|0;if((f[s>>2]|0)==(j|0))E=s;else{s=k;do{k=f[s>>2]|0;s=k+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(k|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=p;j=E}}j=f[g+8>>2]|0;if(!j)F=g;else{i=j;while(1){j=f[i+8>>2]|0;if(!j)break;else i=j}F=i}Ej(a,F)}while(0);F=f[c>>2]|0;E=f[d>>2]|0;if((F|0)==(E|0))return;else G=F;while(1){bf(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;p=f[d>>2]|0;if((f[p>>2]|0)==(G|0))H=p;else{p=d;do{d=f[p>>2]|0;p=d+8|0;e=f[p>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{p=F;while(1){i=f[p>>2]|0;if(!i)break;else p=i}H=p}f[c>>2]=H;if((H|0)==(E|0))break;else G=H}return}function Pc(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>112){f[e>>2]=g+-113;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{im(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;Oo(s,16035);f[s>>2]=7256;va(s|0,1112,110)}s=ln(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{Oq(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;Oo(g,16035);f[g>>2]=7256;va(g|0,1112,110)}g=ln(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=ln(4068)|0;f[d>>2]=k;Ag(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;ug(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)Oq(z);u=b;return}if((x|0)!=(h|0)){h=ln(4068)|0;f[c>>2]=h;Ag(a,c);u=b;return}h=ln(4068)|0;f[c>>2]=h;ug(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{im(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;Oo(t,16035);f[t>>2]=7256;va(t|0,1112,110)}t=ln(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{Oq(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 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,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 Ri(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))Ri(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 Ri(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ri(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 Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.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,D=0,E=0,F=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Si(a)|0}while((eq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Si(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[18546+l>>0]|0)){q=l;r=n;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Si(a)|0;break}}else t=n;while(0);s=l+1|0;if(s>>>0<8){l=s;n=t}else{q=s;r=t;break}}c:do switch(q|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&q>>>0>3)if((q|0)==8)break c;else{i=23;break c}d:do if(!q){l=0;s=r;while(1){if((s|32|0)!=(b[18555+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Si(a)|0;break}}else x=s;while(0);w=l+1|0;if(w>>>0<3){l=w;s=x}else{u=w;v=x;break}}}else{u=q;v=r}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Si(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Si(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=Vq()|0;f[l>>2]=22;Ym(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((v|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Si(a)|0;if((E|32|0)==120){j=+Fc(a,g,e,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=v;j=+nb(a,F,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=Vq()|0;f[s>>2]=22;Ym(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&q>>>0>3){n=q;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Sc(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,I=0,J=0;g=u;u=u+16|0;h=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=ln(16)|0;f[h>>2]=i;f[h+8>>2]=-2147483632;f[h+4>>2]=15;j=i;k=14479;l=j+15|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+15>>0]=0;i=Hk(c,h,-1)|0;if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);switch(i|0){case 0:{m=ln(52)|0;j=m;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(m);n=4044;o=m;break}case -1:{if((mi(c)|0)==10){m=ln(52)|0;j=m;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(m);n=4044;o=m}else p=6;break}default:p=6}a:do if((p|0)==6){m=d+8|0;q=d+12|0;r=f[q>>2]|0;s=f[m>>2]|0;b:do if((r-s|0)>0){t=h+8|0;v=h+4|0;w=c+16|0;x=h+11|0;y=0;z=s;A=r;c:while(1){B=f[(f[z+(y<<2)>>2]|0)+28>>2]|0;switch(B|0){case 9:{p=12;break}case 6:case 5:case 4:case 2:{C=z;D=A;break}default:{if((B|2|0)!=3)break c;if((B|0)==9)p=12;else{C=z;D=A}}}if((p|0)==12){p=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;B=ln(32)|0;f[h>>2]=B;f[t>>2]=-2147483616;f[v>>2]=17;j=B;k=14495;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[B+17>>0]=0;E=f[w>>2]|0;if(E){F=w;G=E;d:while(1){E=G;while(1){if((f[E+16>>2]|0)>=0)break;H=f[E+4>>2]|0;if(!H){I=F;break d}else E=H}G=f[E>>2]|0;if(!G){I=E;break}else F=E}if(((I|0)!=(w|0)?(f[I+16>>2]|0)<=0:0)?(F=I+20|0,(Jh(F,h)|0)!=0):0)J=Hk(F,h,-1)|0;else p=21}else p=21;if((p|0)==21){p=0;J=Hk(c,h,-1)|0}if((b[x>>0]|0)<0)Oq(f[h>>2]|0);if((J|0)<1)break;C=f[m>>2]|0;D=f[q>>2]|0}y=y+1|0;if((y|0)>=(D-C>>2|0))break b;else{z=C;A=D}}if((i|0)!=1){A=ln(52)|0;j=A;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(A);n=4044;o=A;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=ln(32)|0;f[h>>2]=z;f[h+8>>2]=-2147483616;f[h+4>>2]=24;j=z;k=14513;l=j+24|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[z+24>>0]=0;f[a>>2]=-1;pj(a+4|0,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}while(0);q=ln(52)|0;j=q;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(q);n=3988;o=q}while(0);f[o>>2]=n;ip(o,d);Md(a,o,c,e);Va[f[(f[o>>2]|0)+4>>2]&127](o);u=g;return}function Tc(a,c,d,e,g,h){a=a|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,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=ln(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=15987;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Jh(g,j)|0)==0;if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);if(!r){r=ln(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=15987;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Mk(g,j)|0;if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Me(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=ue(a,c,d,h)|0;u=i;return n|0}case 2:{n=te(a,c,d,h)|0;u=i;return n|0}case 3:{n=se(a,c,d,h)|0;u=i;return n|0}case 4:{n=re(a,c,d,h)|0;u=i;return n|0}case 5:{n=qe(a,c,d,h)|0;u=i;return n|0}case 6:{n=pe(a,c,d,h)|0;u=i;return n|0}case 7:{n=oe(a,c,d,h)|0;u=i;return n|0}case 8:{n=ne(a,c,d,h)|0;u=i;return n|0}case 9:{n=me(a,c,d,h)|0;u=i;return n|0}case 10:{n=le(a,c,d,h)|0;u=i;return n|0}case 11:{n=ke(a,c,d,h)|0;u=i;return n|0}case 12:{n=ie(a,c,d,h)|0;u=i;return n|0}case 13:{n=he(a,c,d,h)|0;u=i;return n|0}case 14:{n=ge(a,c,d,h)|0;u=i;return n|0}case 15:{n=fe(a,c,d,h)|0;u=i;return n|0}case 16:{n=ee(a,c,d,h)|0;u=i;return n|0}case 17:{n=de(a,c,d,h)|0;u=i;return n|0}case 18:{n=ce(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Uc(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Vc(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Wc(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Xc(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Yc(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Zc(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*524288.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==524288){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;m=x;while(1){v=524288.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==524288){C=p;D=524288;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*1.9073486328125e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function _c(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*262144.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==262144){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;m=x;while(1){v=262144.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==262144){C=p;D=262144;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*3.814697265625e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function $c(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*65536.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==65536){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;m=x;while(1){v=65536.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==65536){C=p;D=65536;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.0000152587890625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ad(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*32768.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==32768){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;m=x;while(1){v=32768.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==32768){C=p;D=32768;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000030517578125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function bd(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*8192.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==8192){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;m=x;while(1){v=8192.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==8192){C=p;D=8192;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.0001220703125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function cd(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function dd(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ed(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function fd(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Lb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function hd(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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Mb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Nb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}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,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ob(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function kd(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;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=Lq(j)|0;sj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=q;F=D;G=o}else{H=m;aq(H)}while(1){D=f[G+(F<<2)>>2]|0;q=X(F,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(F|0)&(M|0)<(F|0)&(L|0)<(F|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(E+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Od(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((E|0)<=2)break a;M=f[l>>2]|0;G=f[M>>2]|0;I=F+-1|0;if((f[M+4>>2]|0)-G>>2>>>0<=I>>>0){H=M;break}else{M=F;F=I;E=M}}aq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;Mq(k);u=g;return 1}sj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;Mq(k);u=g;return 1}function ld(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,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=Vn(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=Vn(l|0,k|0,(l|0)==0&(k|0)==0&1|0,0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=n+((n|0)==0&1)&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)aq(i);p=ln(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=j;j=p;do{b[j>>0]=0;j=(f[l>>2]|0)+1|0;f[l>>2]=j;q=q+-1|0}while((q|0)!=0);o=f[i>>2]|0}q=a+28|0;j=(f[q>>2]|0)+-1|0;a:do if((j|0)>-1){p=a+24|0;r=j;s=4096;t=0;v=k;while(1){w=(f[p>>2]&1<>>0>>0){y=t;z=s}else{b[o+t>>0]=s;y=t+1|0;z=s>>>8}un(f[4092+(x<<3)>>2]|0,0,z|0,0)|0;A=z+(w?0:0-v&255)+(X((z+I|0)>>>(f[4092+(x<<3)+4>>2]|0),256-x|0)|0)|0;x=r+-1|0;if((x|0)<=-1){B=A;C=y;break a}r=x;s=A;t=y;v=b[h>>0]|0}}else{B=4096;C=0}while(0);y=f[m>>2]|0;if((f[n>>2]|0)==(y|0)){D=B;E=C}else{z=B;B=C;C=y;while(1){C=C+-4|0;y=f[C>>2]|0;k=31;j=z;v=B;while(1){t=b[h>>0]|0;s=(1<>>0>>0){F=v;G=j}else{b[o+v>>0]=j;F=v+1|0;G=j>>>8}un(f[4092+(r<<3)>>2]|0,0,G|0,0)|0;j=G+(s?0:0-t&255)+(X((G+I|0)>>>(f[4092+(r<<3)+4>>2]|0),256-r|0)|0)|0;if((k|0)<=0)break;else{k=k+-1|0;v=F}}if((f[n>>2]|0)==(C|0)){D=j;E=F;break}else{z=j;B=F}}}F=D+-4096|0;do if(F>>>0>=64){if(F>>>0<16384){B=o+E|0;z=D+12288|0;b[B>>0]=z;H=2;J=z>>>8;K=B+1|0;L=25;break}if(F>>>0<4194304){B=o+E|0;z=D+8384512|0;b[B>>0]=z;b[B+1>>0]=z>>>8;H=3;J=z>>>16;K=B+2|0;L=25}else M=E}else{H=1;J=F;K=o+E|0;L=25}while(0);if((L|0)==25){b[K>>0]=J;M=H+E|0}E=c+16|0;H=E;J=f[H+4>>2]|0;if(!((J|0)>0|(J|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}ci(M,c)|0;h=f[i>>2]|0;H=E;E=f[H+4>>2]|0;if(!((E|0)>0|(E|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+M|0)|0}M=e;f[M>>2]=0;f[M+4>>2]=0;qf(a,2,e);e=f[a+12>>2]|0;M=f[m>>2]|0;if((M|0)!=(e|0))f[m>>2]=M+(~((M+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[q>>2]=0;q=f[i>>2]|0;if(!q){u=d;return}if((f[l>>2]|0)!=(q|0))f[l>>2]=q;Oq(q);u=d;return}function md(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))Ri(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))Ri(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))Ri(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ri(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 nd(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;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){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=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(n<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(m<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((m|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=1;w=r;while(1){r=f[t>>2]|0;x=f[(f[r>>2]|0)+36>>2]|0;f[e>>2]=(w>>>0)/3|0;f[d>>2]=f[e>>2];if(Ra[x&127](r,d)|0){y=v;break}r=w+1|0;x=((r>>>0)%3|0|0)==0?w+-2|0:r;if((x|0)==-1){z=12;break}w=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=v+1|0;if((w|0)==-1){y=x;break}else v=x}if((z|0)==12)y=v+1|0;A=y;B=f[k>>2]|0;C=f[l>>2]|0}else{A=1;B=q;C=o}f[B+(f[C+(f[i>>2]<<2)>>2]<<2)>>2]=A;A=a+108|0;i=f[A>>2]|0;C=i-B>>2;B=i;if((n|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(i|0)!=-1):0){n=a+64|0;y=1;v=i;while(1){i=f[n>>2]|0;w=f[(f[i>>2]|0)+36>>2]|0;f[g>>2]=(v>>>0)/3|0;f[d>>2]=f[g>>2];if(Ra[w&127](i,d)|0){D=y;break}i=v+1|0;f[(f[l>>2]|0)+((((i>>>0)%3|0|0)==0?v+-2|0:i)<<2)>>2]=C;i=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((i|0)==-1){z=20;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;i=y+1|0;if((v|0)==-1){D=i;break}else y=i}if((z|0)==20)D=y+1|0;E=D;F=f[A>>2]|0}else{E=1;F=B}f[d>>2]=E;if(F>>>0<(f[a+112>>2]|0)>>>0){f[F>>2]=E;f[A>>2]=F+4}else Ri(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;m=f[k>>2]|0;if((m|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3724+(m<<2)>>2]|0;f[d>>2]=a;m=o+(s*12|0)+4|0;G=f[m>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[m>>2]=G+4}else Ri(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function od(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;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=Lq(j)|0;sj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=q;G=E;H=o}else{I=m;aq(I)}while(1){E=f[H+(G<<2)>>2]|0;q=X(G,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(G|0)&(N|0)<(G|0)&(M|0)<(G|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(F+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Od(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((F|0)<=2)break a;N=f[l>>2]|0;H=f[N>>2]|0;K=G+-1|0;if((f[N+4>>2]|0)-H>>2>>>0<=K>>>0){I=N;break}else{N=G;G=K;F=N}}aq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;Mq(k);u=g;return 1}sj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;Mq(k);u=g;return 1}function pd(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;switch(c|0){case 1:{c=ln(60)|0;f[c>>2]=1544;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];fk(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]=2076;i=c;f[a>>2]=i;return}case 2:{c=ln(60)|0;f[c>>2]=1544;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];fk(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]=2132;i=c;f[a>>2]=i;return}case 4:{c=ln(168)|0;Ti(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=ln(88)|0;f[c>>2]=1544;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];fk(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]=2188;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(104)|0;f[c>>2]=1544;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];fk(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]=2244;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=ln(140)|0;f[c>>2]=1544;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];fk(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]=2300;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]=2356;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;wn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qd(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;switch(c|0){case 1:{c=ln(60)|0;f[c>>2]=1544;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];fk(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]=1656;i=c;f[a>>2]=i;return}case 2:{c=ln(60)|0;f[c>>2]=1544;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];fk(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]=1712;i=c;f[a>>2]=i;return}case 4:{c=ln(168)|0;Ui(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=ln(88)|0;f[c>>2]=1544;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];fk(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]=1768;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(104)|0;f[c>>2]=1544;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];fk(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]=1824;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=ln(140)|0;f[c>>2]=1544;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];fk(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]=1880;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]=1936;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;wn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function rd(a,b){a=a|0;b=b|0;var c=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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);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;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=e;B=x;while(1){C=B+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=A;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=A;break d}if((d[v>>1]|0)!=(d[B+12>>1]|0)){y=A;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=c;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=d[w>>1]|0;B=e;z=q;while(1){D=z+8|0;if(A<<16>>16!=(d[D>>1]|0)){G=B;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=B;break e}if((d[u>>1]|0)!=(d[z+12>>1]|0)){G=B;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);c=f[p>>2]|0;if(!c){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function sd(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,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(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){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=e;B=x;while(1){C=B+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=A;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=A;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=A;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=d;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=b[w>>0]|0;B=e;z=q;while(1){D=z+8|0;if(A<<24>>24!=(b[D>>0]|0)){G=B;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=B;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=B;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);d=f[p>>2]|0;if(!d){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function td(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|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,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;sj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=Vn(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Gn(m);r=Tn(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;fd(n,l,32,g)|0;l=n+16|0;s=Tn(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=Vn(s|0,I|0,39,0)|0;s=Yn(o|0,I|0,3)|0;o=Vn(s|0,I|0,8,0)|0;s=Vn(o|0,I|0,t|0,0)|0;Cl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;zi(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=0;K=f[H>>2]|0;do{L=K>>>3;M=K&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(1<>0]|0);N=(f[G>>2]|0)+L|0;b[N>>0]=(F>>>J&1)<>0]|0);K=(f[H>>2]|0)+1|0;f[H>>2]=K;J=J+1|0}while((J|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}_f(n,g);eg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Me(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);Oq(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)Oq(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;Oq(n);u=i;return 1}function ud(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,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(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){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=d;z=v;while(1){if((x|0)!=(f[z+8>>2]|0)){w=y;break d}if((f[p>>2]|0)!=(f[z+12>>2]|0)){w=y;break d}if((f[t>>2]|0)!=(f[z+16>>2]|0)){w=y;break d}if((f[u>>2]|0)!=(f[z+20>>2]|0)){w=y;break d}A=f[z>>2]|0;if(!A){w=z;break}else{B=z;z=A;y=B}}}while(0);f[i>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=c;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(j|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=D;s=u;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{y=f[d+8>>2]|0;z=d;x=v;while(1){if((y|0)!=(f[x+8>>2]|0)){E=z;break e}if((f[u>>2]|0)!=(f[x+12>>2]|0)){E=z;break e}if((f[t>>2]|0)!=(f[x+16>>2]|0)){E=z;break e}if((f[p>>2]|0)!=(f[x+20>>2]|0)){E=z;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;z=A}}}while(0);f[i>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);c=f[o>>2]|0;if(!c){C=43;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){C=43;break}else{j=r;k=q;m=q}}if((C|0)==43)return}function vd(a,b){a=a|0;b=b|0;var c=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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);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;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=e;A=v;while(1){B=A+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=z;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=z;break d}if((d[u>>1]|0)!=(d[A+12>>1]|0)){w=z;break d}B=f[A>>2]|0;if(!B){w=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=E;t=u;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=d[u>>1]|0;A=u+2|0;y=e;x=q;while(1){C=x+8|0;if(z<<16>>16!=(d[C>>1]|0)){F=y;break e}if((d[A>>1]|0)!=(d[C+2>>1]|0)){F=y;break e}if((d[v>>1]|0)!=(d[x+12>>1]|0)){F=y;break e}C=f[x>>2]|0;if(!C){F=x;break}else{B=x;x=C;y=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);c=f[p>>2]|0;if(!c){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function wd(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,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(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){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=e;A=w;while(1){B=A+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=z;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=z;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=z;break d}B=f[A>>2]|0;if(!B){x=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=d;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(k|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=E;t=v;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=b[v>>0]|0;A=e;y=q;while(1){C=y+8|0;if(z<<24>>24!=(b[C>>0]|0)){F=A;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=A;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=A;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;A=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);d=f[p>>2]|0;if(!d){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function xd(a,b){a=+a;b=+b;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,q=0,r=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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=Yn(c|0,d|0,52)|0;i=h&2047;h=Yn(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=Tn(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=yo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=Tn(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=Tn(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=Tn(q|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=Tn(c|0,d|0,1-r|0)|0;t=r;u=o;v=I}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=Tn(e|0,g|0,12)|0;q=I;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=Tn(m|0,o|0,1)|0;o=I;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=Tn(e|0,g|0,1-w|0)|0;x=w;y=n;z=I}else{x=j;y=e;z=g&1048575|1048576}n=Xn(u|0,v|0,y|0,z|0)|0;m=I;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}H=Tn(F|0,G|0,1)|0;J=I;K=q+-1|0;L=Xn(H|0,J|0,y|0,z|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=H;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=H;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=Tn(n|0,o|0,1)|0;D=I;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=Vn(Y|0,Z|0,0,-1048576)|0;n=I;m=Tn(X|0,0,52)|0;_=n|I;$=o|m}else{m=Yn(Y|0,Z|0,1-X|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function yd(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;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=ln(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14495;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Jh(c,e)|0)!=0):0)q=Hk(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Hk(i,e,-1)|0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;i=(_((1<>>0<=28){f[e>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[e+8>>2]=i;f[e+12>>2]=(i|0)/2|0}switch(Xi(f[j>>2]|0,f[h>>2]|0)|0){case 6:{i=f[j>>2]|0;q=f[h>>2]|0;c=f[(f[(f[q+4>>2]|0)+8>>2]|0)+(i<<2)>>2]|0;do if((Qa[f[(f[q>>2]|0)+8>>2]&127](q)|0)==1){Hf(g,q,6,i,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=21;break}else{t=g;v=p;break}}else{s=g;r=21}while(0);if((r|0)==21){i=ln(24)|0;f[i+4>>2]=c;c=i+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[i>>2]=2560;c=i;f[g>>2]=c;t=s;v=c}f[a>>2]=v;f[t>>2]=0;u=d;return}case 0:{t=f[j>>2]|0;j=f[h>>2]|0;h=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0;do if((Qa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Hf(g,j,0,t,e,514);v=f[g>>2]|0;if(!v){f[g>>2]=0;w=g;r=28;break}else{x=g;y=v;break}}else{w=g;r=28}while(0);if((r|0)==28){r=ln(24)|0;f[r+4>>2]=h;h=r+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[r>>2]=2560;e=r;f[g>>2]=e;x=w;y=e}f[a>>2]=y;f[x>>2]=0;u=d;return}default:{f[a>>2]=0;u=d;return}}}function zd(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,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(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){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=d;y=u;while(1){if((w|0)!=(f[y+8>>2]|0)){v=x;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){v=x;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){v=x;break d}z=f[y>>2]|0;if(!z){v=y;break}else{A=y;y=z;x=A}}}while(0);f[i>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=c;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(j|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=C;s=t;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{x=f[d+8>>2]|0;y=d;w=u;while(1){if((x|0)!=(f[w+8>>2]|0)){D=y;break e}if((f[t>>2]|0)!=(f[w+12>>2]|0)){D=y;break e}if((f[p>>2]|0)!=(f[w+16>>2]|0)){D=y;break e}A=f[w>>2]|0;if(!A){D=w;break}else{z=w;w=A;y=z}}}while(0);f[i>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);c=f[o>>2]|0;if(!c){B=41;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){B=41;break}else{j=r;k=q;m=q}}if((B|0)==41)return}function Ad(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=ln(40)|0;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];h=c+24|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]=2980;i=c;f[a>>2]=i;return}case 2:{c=ln(40)|0;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];h=c+24|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]=3036;i=c;f[a>>2]=i;return}case 4:{c=ln(152)|0;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];h=c+24|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]=3092;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Zm(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=ln(68)|0;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];h=c+24|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]=3148;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(84)|0;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];h=c+24|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]=3204;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|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=ln(120)|0;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];e=c+24|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]=3260;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|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+40>>2]=3316;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;wn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}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,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)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(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?Vk(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 Cd(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=ln(40)|0;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];h=c+24|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]=2616;i=c;f[a>>2]=i;return}case 2:{c=ln(40)|0;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];h=c+24|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]=2672;i=c;f[a>>2]=i;return}case 4:{c=ln(152)|0;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];h=c+24|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]=2728;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Zm(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=ln(68)|0;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];h=c+24|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]=2784;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(84)|0;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];h=c+24|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]=2840;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|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=ln(120)|0;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];e=c+24|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]=2896;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|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+40>>2]=2952;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;wn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Dd(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=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+44|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+40|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Fj(d)}j=a+56|0;ci(f[j>>2]|0,b)|0;if(f[j>>2]|0){wn(d);tk(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+52|0;i=h;do{fj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;fj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Fj(d)}i=a+68|0;ci(f[i>>2]|0,b)|0;if(f[i>>2]|0){wn(d);tk(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+64|0;h=j;do{fj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Fj(d)}h=a+80|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+76|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Fj(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}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;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+64|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+60|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Fj(d)}j=a+76|0;ci(f[j>>2]|0,b)|0;if(f[j>>2]|0){wn(d);tk(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+72|0;i=h;do{fj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;fj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Fj(d)}i=a+88|0;ci(f[i>>2]|0,b)|0;if(f[i>>2]|0){wn(d);tk(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+84|0;h=j;do{fj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Fj(d)}h=a+100|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+96|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Fj(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Fd(a,b){a=a|0;b=b|0;var c=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;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);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;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=e;z=u;while(1){A=z+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=y;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=d[u>>1]|0;z=u+2|0;x=e;w=q;while(1){B=w+8|0;if(y<<16>>16!=(d[B>>1]|0)){E=x;break e}if((d[z>>1]|0)!=(d[B+2>>1]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);c=f[p>>2]|0;if(!c){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Gd(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)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(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){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=e;z=u;while(1){A=z+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=y;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=d;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=b[u>>0]|0;z=u+1|0;x=e;w=q;while(1){B=w+8|0;if(y<<24>>24!=(b[B>>0]|0)){E=x;break e}if((b[z>>0]|0)!=(b[B+1>>0]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);d=f[p>>2]|0;if(!d){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Hd(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}}lp(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];ph(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=ln(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}Oe(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Ej(h+4|0,f[k>>2]|0);Ej(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Id(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(!(Vk(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(!(Vk(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 Jd(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+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(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){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=d;x=t;while(1){if((v|0)!=(f[x+8>>2]|0)){u=w;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){u=w;break d}y=f[x>>2]|0;if(!y){u=x;break}else{z=x;x=y;w=z}}}while(0);f[i>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=c;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=B;s=p;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{w=f[d+8>>2]|0;x=d;v=t;while(1){if((w|0)!=(f[v+8>>2]|0)){C=x;break e}if((f[p>>2]|0)!=(f[v+12>>2]|0)){C=x;break e}z=f[v>>2]|0;if(!z){C=v;break}else{y=v;v=z;x=y}}}while(0);f[i>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);c=f[o>>2]|0;if(!c){A=39;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){A=39;break}else{j=r;k=q;m=q}}if((A|0)==39)return}function Kd(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=Vk(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=Vk(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=Vk(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