diff --git a/TypeScript/dist/LICENSE.txt b/TypeScript/dist/LICENSE.txt new file mode 100644 index 00000000..83707c52 --- /dev/null +++ b/TypeScript/dist/LICENSE.txt @@ -0,0 +1,57 @@ +typescript +Apache-2.0 +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/TypeScript/package-lock.json b/TypeScript/package-lock.json index 4a876a04..4a9a19c3 100644 --- a/TypeScript/package-lock.json +++ b/TypeScript/package-lock.json @@ -13,6 +13,7 @@ "@types/node": "^24.2.0", "ansi-styles": "^6.2.1", "glob": "^11.0.3", + "license-webpack-plugin": "^4.0.2", "path-browserify": "^1.0.1", "typescript": "^5.9.2", "undici-types": "^7.13.0", @@ -1248,6 +1249,23 @@ "node": ">=0.10.0" } }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "license": "ISC", + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", diff --git a/TypeScript/package.json b/TypeScript/package.json index bbb8bed9..6321c13a 100644 --- a/TypeScript/package.json +++ b/TypeScript/package.json @@ -19,6 +19,7 @@ "@types/node": "^24.2.0", "ansi-styles": "^6.2.1", "glob": "^11.0.3", + "license-webpack-plugin": "^4.0.2", "path-browserify": "^1.0.1", "typescript": "^5.9.2", "undici-types": "^7.13.0", diff --git a/TypeScript/webpack.config.mjs b/TypeScript/webpack.config.mjs index e5cbced5..943e5235 100644 --- a/TypeScript/webpack.config.mjs +++ b/TypeScript/webpack.config.mjs @@ -2,6 +2,7 @@ import path from "path"; import { fileURLToPath } from "url"; import TerserPlugin from "terser-webpack-plugin"; import UnicodeEscapePlugin from "@dapplets/unicode-escape-webpack-plugin"; +import { LicenseWebpackPlugin } from "license-webpack-plugin"; import * as PathBrowserify from "path-browserify"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -24,6 +25,10 @@ const commonConfig = { new UnicodeEscapePlugin({ test: /\.(js|jsx|ts|tsx)$/, // Escape Unicode in JavaScript and TypeScript files }), + new LicenseWebpackPlugin({ + perChunkOutput: true, + outputFilename: "LICENSE.txt", + }), ], optimization: { minimizer: [ diff --git a/jsdom-d3-startup/dist/LICENSE.txt b/jsdom-d3-startup/dist/LICENSE.txt new file mode 100644 index 00000000..30c4ec47 --- /dev/null +++ b/jsdom-d3-startup/dist/LICENSE.txt @@ -0,0 +1,2845 @@ +@asamuzakjp/css-color +MIT +MIT License + +Copyright (c) 2024 asamuzaK (Kazz) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +@csstools/color-helpers +MIT-0 +MIT No Attribution (MIT-0) + +Copyright © CSSTools Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +@csstools/css-calc +MIT +The MIT License (MIT) + +Copyright 2022 Romain Menke, Antonio Laguna + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@csstools/css-color-parser +MIT +The MIT License (MIT) + +Copyright 2022 Romain Menke, Antonio Laguna + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@csstools/css-parser-algorithms +MIT +The MIT License (MIT) + +Copyright 2022 Romain Menke, Antonio Laguna + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@csstools/css-tokenizer +MIT +The MIT License (MIT) + +Copyright 2022 Romain Menke, Antonio Laguna + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +agent-base +MIT +(The MIT License) + +Copyright (c) 2013 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +assert +MIT +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +available-typed-arrays +MIT +MIT License + +Copyright (c) 2020 Inspect JS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +base64-js +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jameson Little + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +buffer +MIT +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh, and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +builtin-status-codes +MIT +The MIT License (MIT) + +Copyright (c) Ben Drucker (bendrucker.me) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +call-bind +MIT +MIT License + +Copyright (c) 2020 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +call-bind-apply-helpers +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +call-bound +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +cssstyle +MIT +Copyright (c) Chad Walker + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +d3 +ISC +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-array +ISC +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-brush +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-color +ISC +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-delaunay +ISC +Copyright 2018-2021 Observable, Inc. +Copyright 2021 Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-dispatch +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-dsv +ISC +Copyright 2013-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-ease +BSD-3-Clause +Copyright 2010-2021 Mike Bostock +Copyright 2001 Robert Penner +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +d3-geo +ISC +Copyright 2010-2024 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +This license applies to GeographicLib, versions 1.12 and later. + +Copyright 2008-2012 Charles Karney + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +d3-interpolate +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-selection +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-timer +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-transition +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-zoom +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +data-urls +MIT +Copyright © Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +debug +MIT +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk +Copyright (c) 2018-2021 Josh Junon + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +decimal.js +MIT +The MIT Licence. + +Copyright (c) 2025 Michael Mclaughlin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +define-data-property +MIT +MIT License + +Copyright (c) 2023 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +define-properties +MIT +The MIT License (MIT) + +Copyright (C) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +delaunator +ISC +ISC License + +Copyright (c) 2021, Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +dunder-proto +MIT +MIT License + +Copyright (c) 2024 ECMAScript Shims + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +entities +BSD-2-Clause +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +es-define-property +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +es-errors +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +es-object-atoms +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +events +MIT +MIT + +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. + + +for-each +MIT +The MIT License (MIT) + +Copyright (c) 2012 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +function-bind +MIT +Copyright (c) 2013 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +get-intrinsic +MIT +MIT License + +Copyright (c) 2020 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +get-proto +MIT +MIT License + +Copyright (c) 2025 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +gopd +MIT +MIT License + +Copyright (c) 2022 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +has-property-descriptors +MIT +MIT License + +Copyright (c) 2022 Inspect JS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +has-symbols +MIT +MIT License + +Copyright (c) 2016 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +has-tostringtag +MIT +MIT License + +Copyright (c) 2021 Inspect JS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +hasown +MIT +MIT License + +Copyright (c) Jordan Harband and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +html-encoding-sniffer +MIT +Copyright © Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +http-proxy-agent +MIT +(The MIT License) + +Copyright (c) 2013 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +https-proxy-agent +MIT +(The MIT License) + +Copyright (c) 2013 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +iconv-lite +MIT +Copyright (c) 2011 Alexander Shtuchkin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +ieee754 +BSD-3-Clause +Copyright 2008 Fair Oaks Labs, Inc. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +inherits +ISC +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + + +is-arguments +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +is-callable +MIT +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +is-generator-function +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +is-nan +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +is-potential-custom-element-name +MIT +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +is-regex +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +is-typed-array +MIT +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +jetstream +SEE LICENSE IN LICENSE + +Copyright (C) 2007-2024 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +jsdom +MIT +Copyright (c) 2010 Elijah Insua + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +lru-cache +ISC +The ISC License + +Copyright (c) 2010-2023 Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +math-intrinsics +MIT +MIT License + +Copyright (c) 2024 ECMAScript Shims + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +ms +MIT +The MIT License (MIT) + +Copyright (c) 2020 Vercel, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +nwsapi +MIT +Copyright (c) 2007-2025 Diego Perini (http://www.iport.it/) + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +object-inspect +MIT +MIT License + +Copyright (c) 2013 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +object-is +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +object-keys +MIT +The MIT License (MIT) + +Copyright (C) 2013 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +object.assign +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +os-browserify +MIT +The MIT License (MIT) + +Copyright (c) 2017 CoderPuppy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +parse5 +MIT +Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +path-browserify +MIT +MIT License + +Copyright (c) 2013 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +possible-typed-array-names +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +process +MIT +(The MIT License) + +Copyright (c) 2013 Roman Shtylman + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +punycode +MIT +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +qs +BSD-3-Clause +BSD 3-Clause License + +Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +readable-stream +MIT +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + + +robust-predicates +Unlicense +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + + +rrweb-cssom +MIT +Copyright (c) Nikita Vasilyev + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +safe-buffer +MIT +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +safe-regex-test +MIT +MIT License + +Copyright (c) 2022 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +safer-buffer +MIT +MIT License + +Copyright (c) 2018 Nikita Skovoroda + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +saxes +ISC + +set-function-length +MIT +MIT License + +Copyright (c) Jordan Harband and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +side-channel +MIT +MIT License + +Copyright (c) 2019 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +side-channel-list +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +side-channel-map +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +side-channel-weakmap +MIT +MIT License + +Copyright (c) 2019 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +stream-browserify +MIT +MIT License + +Copyright (c) James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +stream-http +MIT +The MIT License + +Copyright (c) 2015 John Hiesey + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +string_decoder +MIT +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + + + +symbol-tree +MIT +The MIT License (MIT) + +Copyright (c) 2015 Joris van der Wel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +tldts +MIT +Copyright (c) 2017 Thomas Parisot, 2018 Rémi Berson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +tldts-core +MIT +Copyright (c) 2017 Thomas Parisot, 2018 Rémi Berson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +topojson-client +ISC +Copyright 2012-2019 Michael Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +tough-cookie +BSD-3-Clause +Copyright (c) 2015, Salesforce.com, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +tr46 +MIT +The MIT License (MIT) + +Copyright (c) Sebastian Mayr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +url +MIT +The MIT License (MIT) + +Copyright 2014 Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +util +MIT +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +util-deprecate +MIT +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +w3c-xmlserializer +MIT +The MIT License (MIT) +===================== + +Copyright © Sebastian Mayr + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the “Software”), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +webidl-conversions +BSD-2-Clause +# The BSD 2-Clause License + +Copyright (c) 2014, Domenic Denicola +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +whatwg-encoding +MIT +Copyright © Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +whatwg-mimetype +MIT +Copyright © Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +whatwg-url +MIT +The MIT License (MIT) + +Copyright (c) Sebastian Mayr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +which-typed-array +MIT +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +ws +MIT +Copyright (c) 2011 Einar Otto Stangvik +Copyright (c) 2013 Arnout Kazemier and contributors +Copyright (c) 2016 Luigi Pinca and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +xml-name-validator +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +xmlchars +MIT +Copyright Louis-Dominique Dubeau and contributors to xmlchars + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +xtend +MIT +The MIT License (MIT) +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/jsdom-d3-startup/dist/bundle.js b/jsdom-d3-startup/dist/bundle.js index 92dbccba..0f3d6f6a 100644 --- a/jsdom-d3-startup/dist/bundle.js +++ b/jsdom-d3-startup/dist/bundle.js @@ -1,4 +1,3 @@ -/*! For license information please see bundle.js.LICENSE.txt */ (()=>{var __webpack_modules__={15:module=>{"use strict";module.exports=EvalError},414:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";const conversions=__webpack_require__(40630),utils=__webpack_require__(65554),Node=__webpack_require__(13079),ceReactionsPreSteps_helpers_custom_elements=__webpack_require__(91984).ceReactionsPreSteps,ceReactionsPostSteps_helpers_custom_elements=__webpack_require__(91984).ceReactionsPostSteps,implSymbol=utils.implSymbol,ctorRegistrySymbol=utils.ctorRegistrySymbol;function makeWrapper(globalObject,newTarget){ /*ThouShaltNotCache*/ let proto;return void 0!==newTarget&&(proto=newTarget.prototype),utils.isObject(proto)||(proto=globalObject[ctorRegistrySymbol].DocumentFragment.prototype),Object.create(proto)}exports.is=value=>utils.isObject(value)&&utils.hasOwn(value,implSymbol)&&value[implSymbol]instanceof Impl.implementation,exports.isImpl=value=>utils.isObject(value)&&value instanceof Impl.implementation,exports.convert=(globalObject,value,{context="The provided value"}={})=>{ diff --git a/jsdom-d3-startup/dist/bundle.js.LICENSE.txt b/jsdom-d3-startup/dist/bundle.js.LICENSE.txt deleted file mode 100644 index 74015285..00000000 --- a/jsdom-d3-startup/dist/bundle.js.LICENSE.txt +++ /dev/null @@ -1,354 +0,0 @@ -/*! - * decimal.js v10.6.0 - * An arbitrary-precision Decimal type for JavaScript. - * https://github.com/MikeMcl/decimal.js - * Copyright (c) 2025 Michael Mclaughlin - * MIT Licence - */ - -/*! - * Copyright (c) 2015-2020, Salesforce.com, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of Salesforce.com nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -/*! For license information, please see bundle.js.LICENSE.txt */ - -/*! https://mths.be/punycode v1.4.1 by @mathias */ - -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ - -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ - -/** - * Convert an array of a98-rgb values in the range 0.0 - 1.0 - * to linear light (un-companded) form. Negative values are also now accepted - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * @description Calculate deltaE OK which is the simple root sum of squares - * @param {number[]} reference - Array of OKLab values: L as 0..1, a and b as -1..1 - * @param {number[]} sample - Array of OKLab values: L as 0..1, a and b as -1..1 - * @return {number} How different a color sample is from reference - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/deltaEOK.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/deltaEOK.js - */ - -/** - * @license MIT https://github.com/facelessuser/coloraide/blob/main/LICENSE.md - */ - -/** - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * - * XYZ <-> LMS matrices recalculated for consistent reference white - * @see https://github.com/w3c/csswg-drafts/issues/6642#issuecomment-943521484 - */ - -/** - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js - */ - -/** - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * @param {number} hue - Hue as degrees 0..360 - * @param {number} white - Whiteness as percentage 0..100 - * @param {number} black - Blackness as percentage 0..100 - * @return {number[]} Array of RGB components 0..1 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/hwbToRgb.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/hwbToRgb.js - */ - -/** - * @param {number} hue - Hue as degrees 0..360 - * @param {number} sat - Saturation as percentage 0..100 - * @param {number} light - Lightness as percentage 0..100 - * @return {number[]} Array of sRGB components; in-gamut colors in range [0..1] - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/hslToRgb.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/hslToRgb.js - */ - -/** - * Assuming XYZ is relative to D50, convert to CIE Lab - * from CIE standard, which now defines these as a rational fraction - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Bradford chromatic adaptation from D50 to D65 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Bradford chromatic adaptation from D65 to D50 - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html - */ - -/** - * Character class utilities for XML NS 1.0 edition 3. - * - * @author Louis-Dominique Dubeau - * @license MIT - * @copyright Louis-Dominique Dubeau - */ - -/** - * Character classes and associated utilities for the 2nd edition of XML 1.1. - * - * @author Louis-Dominique Dubeau - * @license MIT - * @copyright Louis-Dominique Dubeau - */ - -/** - * Character classes and associated utilities for the 5th edition of XML 1.0. - * - * @author Louis-Dominique Dubeau - * @license MIT - * @copyright Louis-Dominique Dubeau - */ - -/** - * Convert D50 XYZ to linear-light prophoto-rgb - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - */ - -/** - * Convert Lab to D50-adapted XYZ - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - */ - -/** - * Convert XYZ to linear-light P3 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert XYZ to linear-light rec2020 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of display-p3 RGB values in the range 0.0 - 1.0 - * to linear light (un-companded) form. - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of gamma-corrected sRGB values in the 0.0 to 1.0 range to HSL. - * - * @param {Color} RGB [r, g, b] - * - Red component 0..1 - * - Green component 0..1 - * - Blue component 0..1 - * @return {number[]} Array of HSL values: Hue as degrees 0..360, Saturation and Lightness as percentages 0..100 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/utilities.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/better-rgbToHsl.js - */ - -/** - * Convert an array of linear-light a98-rgb in the range 0.0-1.0 - * to gamma corrected form. Negative values are also now accepted - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of linear-light a98-rgb values to CIE XYZ - * http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - * has greater numerical precision than section 4.3.5.3 of - * https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf - * but the values below were calculated from first principles - * from the chromaticity coordinates of R G B W - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - * @see https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/matrixmaker.html - */ - -/** - * Convert an array of linear-light display-p3 RGB in the range 0.0-1.0 - * to gamma corrected form - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of linear-light display-p3 values to CIE XYZ - * using D65 (no chromatic adaptation) - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - */ - -/** - * Convert an array of linear-light prophoto-rgb in the range 0.0-1.0 - * to gamma corrected form. - * Transfer curve is gamma 1.8 with a small linear portion. - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of linear-light prophoto-rgb values to CIE D50 XYZ. - * Matrix cannot be expressed in rational form, but is calculated to 64 bit accuracy. - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see see https://github.com/w3c/csswg-drafts/issues/7675 - */ - -/** - * Convert an array of linear-light rec2020 RGB in the range 0.0-1.0 - * to gamma corrected form ITU-R BT.2020-2 p.4 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of linear-light rec2020 values to CIE XYZ - * using D65 (no chromatic adaptation) - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - */ - -/** - * Convert an array of linear-light sRGB values in the range 0.0-1.0 to gamma corrected form - * Extended transfer function: - * For negative values, linear portion extends on reflection - * of axis, then uses reflected pow below that - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://en.wikipedia.org/wiki/SRGB - */ - -/** - * Convert an array of linear-light sRGB values to CIE XYZ - * using sRGB's own white, D65 (no chromatic adaptation) - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of of sRGB values where in-gamut values are in the range - * [0 - 1] to linear light (un-companded) form. - * Extended transfer function: - * For negative values, linear portion is extended on reflection of axis, - * then reflected power function is used. - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://en.wikipedia.org/wiki/SRGB - */ - -/** - * Convert an array of prophoto-rgb values where in-gamut Colors are in the - * range [0.0 - 1.0] to linear light (un-companded) form. Transfer curve is - * gamma 1.8 with a small linear portion. Extended transfer function - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Convert an array of rec2020 RGB values in the range 0.0 - 1.0 - * to linear light (un-companded) form. - * ITU-R BT.2020-2 p.4 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - */ - -/** - * Given OKLab, convert to XYZ relative to D65 - * - * @license W3C https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document - * @copyright This software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang). - * @see https://github.com/w3c/csswg-drafts/blob/main/css-color-4/conversions.js - */ diff --git a/jsdom-d3-startup/dist/bundle.js.map b/jsdom-d3-startup/dist/bundle.js.map index f4d6e5ae..290cb8d2 100644 --- a/jsdom-d3-startup/dist/bundle.js.map +++ b/jsdom-d3-startup/dist/bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.js","mappings":"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QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMotD,wBAAwBptD,aAAa45B,WACzCt3B,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,EAEFX,OAAOwD,iBAAiBspD,gBAAgBhtD,UAAW,CACjD,CAAC4D,OAAOC,aAAc,CAAExD,MAAO,kBAAmBgB,cAAc,KAElEU,aAA0B,gBAAIirD,gBAE9B9sD,OAAOkB,eAAexB,aA5FF,kBA4F+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO2sD,mBAIX,MAAMzsD,KAAOnB,oBAAQ,K,6BCrGrBJ,OAAOC,QAAU,CACf,uBACA,eACA,qBACA,qBACA,qBACA,gBACA,sBACA,sBACA,sBACA,aACA,mBACA,mBACA,mBACA,aACA,4BACA,eACA,qBACA,qBACA,qBACA,0BACA,mBACA,cACA,qBACA,sBACA,sBACA,oBACA,aACA,kBACA,iBACA,aACA,YACA,YACA,kBACA,iBACA,YACA,wBACA,yBACA,SACA,iBACA,gBACA,eACA,wBACA,gBACA,yBACA,yBACA,kBACA,aACA,eACA,sBACA,UACA,oBACA,oBACA,qBACA,gBACA,gBACA,kBACA,wBACA,wBACA,uBACA,wBACA,uBACA,kBACA,kBACA,gBACA,gBACA,sCACA,qBACA,oBACA,qBACA,oBACA,YACA,qBACA,gBACA,iBACA,cACA,gBACA,uBACA,uBACA,qBACA,sBACA,sBACA,kBACA,eACA,aACA,sBACA,6BACA,sBACA,kBACA,gBACA,mBACA,cACA,oBACA,oBACA,YACA,qBACA,qBACA,qBACA,YACA,cACA,OACA,cACA,eACA,oBACA,qBACA,QACAuL,IAAKyiD,MAAS,WAAWA,O,4EC/G3B,MAAM9tD,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEtBH,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,IA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AAK6vD,eAAe,KAAM,QACnC,CAGA,UAAIssD;;AACF,MAAM41E,UAAY/xL,KAAKkkB,eAAe,KAAM,SAC5C,GAAkB,OAAd6tK,UAAoB,CACtB,MAAM0qB,YAAcxtJ,yBAAyB8iI,WAC7C,GAAoB,OAAhB0qB,aAAwBA,YAAc,EACxC,OAAOA,WAEX,CACA,OAAO,CACT,CAGA,iBAAIC;;AACF,MAAM3+M,MAAQiC,KAAKm8G,OACnB,OAAOp+G,MAAQiC,KAAKktH,cAAgBltH,KAAKktH,cAAgBnvH,KAC3D,CAGA,iBAAImvH;;AACF,MAAMyvF,QAAU38M,KAAKkkB,eAAe,KAAM,OAC1C,GAAgB,OAAZy4L,QAAkB,CACpB,MAAMC,UAAY3tJ,yBAAyB0tJ,SAC3C,GAAkB,OAAdC,WAAsBA,UAAY,EACpC,OAAOA,SAEX,CACA,OAAO,CACT,CAEA,SAAI7+M;;AACF,OAAIiC,KAAKw8M,eACAx8M,KAAK08M,cAEP,CACT,CACA,SAAI3+M,CAAMA;;AACRiC,KAAKokB,eAAe,KAAM,QAASrmB,MACrC,CAEA,YAAIqxD;;AACF,OAAKpvD,KAAKw8M,eAIHx8M,KAAK08M,cAAgB18M,KAAKktH,eAHvB,CAIZ,CAEA,UAAI9P;;AACF,OAAOsQ,sBAAsB1tH,KAC/B,G,6EChEF,MAAM,cAAe,qBAA0BlD,oBAAQ,OAGjD23F,OAAS,IAAIt1F,IAAI,CACrB,QACA,WACA,cACA,cACA,eACA,OACA,SACA,UACA,iBACA,SACA,QACA,QACA,cACA,cACA,kBACA,OACA,YACA,MACA,WACA,OACA,UACA,YACA,YACA,WACA,YACA,OACA,iBACA,UACA,QACA,QACA,QACA,WACA,QACA,UACA,UACA,WACA,QACA,OACA,aACA,iBACA,YACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,QACA,QACA,OACA,UACA,WACA,aACA,QACA,SACA,SACA,YACA,0BACA,SACA,UACA,SACA,aACA,UACA,SACA,UACA,aACA,SACA,eACA,UACA,qBACA,2BACA,uBACA,sBACA,QACA,aACA,WACA,YACA,gBAGF,MAAMkK,wBACJM,iBAAAA;;AACE3J,KAAKq6J,oBAAsB,IAAIl7J,IAC/Ba,KAAKo6J,eAAiBx8J,OAAOC,OAAO,KACtC,CAEAg/M,sBAAAA;;AACE,OAAO78M,IACT,CAEAm6J,mBAAAA,CAAoBr3H;;AAClB,MAAMj9B,OAAS7F,KAAK68M,uBAAuB/5K,OAC3C,OAAKj9B,OAIEA,OAAOu0J,eAAet3H,OAHpB,IAIX,CAEAy9E,mBAAAA,CAAoBz9E,MAAOwgF;;AACzB,MAAMz9G,OAAS7F,KAAK68M,uBAAuB/5K,OACtCj9B,SAIAA,OAAOw0J,oBAAoB76J,IAAIsjC,QAAsB,OAAZwgF,UAC5Cz9G,OAAOw0J,oBAAoBz3J,IAAIkgC,OAC/B82H,cAAc/zJ,OAAQi9B,QAExBj9B,OAAOu0J,eAAet3H,OAASwgF,QACjC,CAEAt5G,mBAAAA,CAAoB84B;;AAClB,MAAMg6K,SAAW,KAAOh6K,MACxB,KAAMg6K,YAAY98M,MAChB,OAMF,GAAmB,iBADA,gBAAiBA,KAAOA,KAAK6iB,aAAe7iB,KAAKmL,eAAesiD,cAAgB,CAAC,GAAG5qC,aAErG,OAGF,MAAMnD,IAAM1f,KAAKkkB,eAAe,KAAM44L,UAChCx5F,QAAkB,OAAR5jG,IAAe,KAAO,CAAEg8E,KAAMh8E,KAC9C1f,KAAKugH,oBAAoBz9E,MAAOwgF,QAClC,EAGF,IAAK,MAAMxgF,SAAS2xD,OAClBmK,oBAAoBv1F,wBAAwB3L,UAAWolC,OAGzDpmC,OAAOC,QAAU,CACfuB,eAAgBmL,wB,6EC7IEvM,oBAAQ,OAA5B,MACMC,MAAQD,oBAAQ,OAEhBsI,yCAA2CtI,oBAAAA,OAAAA,gBAC3CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAqC,gBAAEM,WAGvDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,8CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAM+8H,wBAAwB/8H,aAAa+H,YACzCzF,WAAAA;;AACE,OAAOwF,yCAAyC9H,aApFhC,6BAqFlB,EAEFM,OAAOwD,iBAAiBi5H,gBAAgB38H,UAAW,CACjD,CAAC4D,OAAOC,aAAc,CAAExD,MAAO,kBAAmBgB,cAAc,KAElEU,aAA0B,gBAAI46H,gBAE9Bz8H,OAAOkB,eAAexB,aA5FF,kBA4F+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOs8H,mBAIX,MAAMp8H,KAAOnB,oBAAQ,M,6EC3GrB,MAAMgxD,UAAYhxD,oBAAQ,QAEpB,UAAeA,oBAAQ,QACvB,SAAcA,oBAAQ,QACtB,eAAoBA,oBAAQ,QAC5B,eAAgB,gCAAqCA,oBAAQ,OAI7DigN,wBAA0B,IAAI59M,IAAI,CACtC,UACA,QACA,aACA,OACA,MACA,SACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,OACA,MACA,IACA,UACA,SASF,SAAS69M,OAAOC;;AACd,OAAOr5M,QAAQq5M,UAAY,aAAcA,SAC3C,CAIA,SAASrxH,aAAaqxH;;AACpB,OAAOr5M,QAAQq5M,UAAYA,SAAS5jL,WAAay0B,UAAU8M,wBAA0B,SAAUqiJ,SACjG,CAGA,SAASC,WAAWD;;AAClB,OAAOA,WAAaA,SAAS5jL,WAAay0B,UAAUx0B,cAAgB2jL,SAAS5jL,WAAay0B,UAAUuM,UACtG,CAEA,SAAS8iJ,OAAOF;;AACd,OAAOA,UAAmC,SAAvBA,SAASvyM,WAAwBuyM,SAAS3+I,gBAAkBC,OACjF,CAGA,SAAS6+I,0BAA0BnK,SAAUhoM;;AAC3C,KAAO+xM,OAAO/xM,OAAO,CACnB,GAAIA,OAASgoM,SACX,OAAO,EAIPhoM,KADE2gF,aAAa3gF,MACRA,KAAKtE,KAEL2D,cAAcC,OAAOU,KAEhC,CAEA,OAAO,CACT,CA6CA,SAASoyM,eAAejrH;;AACtB,MAAMkrH,UAAYC,aAAanrH,MAE/B,IAAIorH,sBAAuB,EAE3B,GAAIF,UAAUp9M,SAAWkyF,KAAK85C,eAAehsI,OAC3Cs9M,sBAAuB,OAEvB,IAAK,IAAI/8M,EAAI,EAAGA,EAAI68M,UAAUp9M,OAAQO,IACpC,GAAI68M,UAAU78M,KAAO2xF,KAAK85C,eAAezrI,GAAI,CAC3C+8M,sBAAuB,EACvB,KACF,CAIAA,sBACFC,iBAAiBrrH,MAGnBA,KAAK85C,eAAiBoxE,UAEtB,IAAK,MAAMI,YAAYJ,UACrBI,SAASC,cAAgBvrH,IAE7B,CAYA,SAASmrH,aAAanrH;;AACpB,MAAMl9D,OAAS,GAETmC,KAAO+hC,SAASg5B,MACtB,IAAKxG,aAAav0D,MAChB,OAAOnC,OAGT,IAAK,MAAMwoL,YAAYpzM,cAAc8uB,aAAa/B,KAAK1wB,MAAO,CAC1Ci3M,SAASF,YAETtrH,MAChBl9D,OAAO50B,KAAKo9M,SAEhB,CAEA,OAAOxoL,MACT,CAkCA,SAAS0oL,SAASF,SAAUG;;AAC1B,MAAQ5xM,WAAY1B,QAAWmzM,SAE/B,IAAKnzM,OACH,OAAO,KAGT,MAAM+mL,OAAS/mL,OAAOgnL,YAEtB,IAAKD,QAAWusB,UAA4B,SAAhBvsB,OAAO/qD,KACjC,OAAO,KAGT,IAAK,MAAMzqD,SAASxxE,cAAc8uB,aAAak4J,QAC7C,GAAI6rB,OAAOrhI,QAAUA,MAAM/zE,OAAS21M,SAASI,cAC3C,OAAOhiI,MAIX,OAAO,IACT,CAGA,SAAS2hI,iBAAiBrrH;;AACnBhC,eAAe9wF,KAAK6F,OAASA,QAAUitF,OAC1ChC,eAAe9vF,KAAK8xF,MAGtBT,gCACF,CAGA,SAAUoM,4CAA4C9yF,YAC9CA,KAEFA,KAAKsmL,oBACAxzF,4CAA4C9yF,KAAKsmL,cAG1D,IAAK,MAAMz1G,SAASxxE,cAAc0uF,iBAAiB/tF,YAC1C8yF,4CAA4CjiB,MAEvD,CAaAp/E,OAAOC,QAAU,CACfohN,uBArOF,SAAgCh2M;;AAC9B,OAAOg1M,wBAAwBv9M,IAAIuI,KACrC,EAqOEi1M,OACAE,WACAC,OACAvxH,aAEAwxH,0BACA72D,SAlMF,SAAkBrjI,EAAG7B;;AACnB,OAAa,CACX,IAAK27L,OAAO95L,GACV,OAAOA,EAGT,MAAM86L,MAAQ5kJ,SAASl2C,GACvB,IACG0oE,aAAaoyH,QACbhB,OAAO37L,IAAM+7L,0BAA0BY,MAAO38L,GAE/C,OAAO6B,EAGTA,EAAIk2C,SAASl2C,GAAGvc,IAClB,CACF,EAmLEs3M,qBAhLF,SAA8BC,YAAap7K;;AAIzC,OAAOo7K,YAAYxlH,cAAgBwlH,YAAYxlH,cAAc51D,OAAS,IACxE,EA4KEq7K,oBAzKF,SAASA,oBAAoBlzM;;AAC3B,MAAMosB,KAAO+hC,SAASnuD,MACtB,OAAO2gF,aAAav0D,MAAQ8mL,oBAAoB9mL,KAAK1wB,MAAQ0wB,IAC/D,EAwKE+mL,WArKF,SAAoBV;;AAClB,MAAMtrH,KAAOwrH,SAASF,UAElBtrH,MACFirH,eAAejrH,KAEnB,EAgKEirH,eACAlxE,sBAlIF,SAA+B90G;;AAC7B,IAAK,MAAM+6D,QAAQ9nF,cAAc8uB,aAAa/B,MACxC8lL,OAAO/qH,OACTirH,eAAejrH,KAGrB,EA8HEwrH,SACAvxE,uBAxGF,SAASA,uBAAuBj6C;;AAC9B,MAAMl9D,OAAS,GAGf,IAAK02D,aADQxyB,SAASg5B,OAEpB,OAAOl9D,OAGT,MAAMooL,UAAYC,aAAanrH,MAE/B,GAAyB,IAArBkrH,UAAUp9M,OACZ,IAAK,MAAM47E,SAASxxE,cAAc0uF,iBAAiB5G,MAC7C8qH,WAAWphI,QACbwhI,UAAUh9M,KAAKw7E,OAKrB,IAAK,MAAM7wE,QAAQqyM,UACjB,GAAIH,OAAOlyM,OAAS2gF,aAAaxyB,SAASnuD,OAAQ,CAChD,MAAMozM,gBAAkBhyE,uBAAuBphI,MAC/CiqB,OAAO50B,QAAQ+9M,gBACjB,MACEnpL,OAAO50B,KAAK2K,MAIhB,OAAOiqB,MACT,EA8EEuoL,iBAEA1/G,4CACAugH,mCAjCF,UAA6CrzM;;AACvCA,KAAKsmL,oBACAxzF,4CAA4C9yF,KAAKsmL,cAG1D,IAAK,MAAMz1G,SAASxxE,cAAc0uF,iBAAiB/tF,YAC1C8yF,4CAA4CjiB,MAEvD,E,6ECjQA,IAAIpyB,MAAQ,CACXE,QAAS9sD,oBAAAA,OAAAA,QACT6sD,oBAAqB7sD,oBAAAA,OAAAA,oBAStB4sD,gBAAwB;;AACvBA,MAAME,QAAQ3hD,KAAKjI,MACnBA,KAAK+rL,QAAU,GACf/rL,KAAK6pD,MAAQ,IAAIH,MAAMC,oBACvB3pD,KAAK6pD,MAAMC,WAAa9pD,IACzB,GAEA0pD,MAAMoiI,gBAAgBpuL,UAAY,IAAIgsD,MAAME,QAC5CF,MAAMoiI,gBAAgBpuL,UAAUkC,YAAc8pD,MAAMoiI,gBACpDpiI,MAAMoiI,gBAAgBpuL,UAAU0J,KAAO,EAMvCxJ,OAAOkB,eAAe4qD,MAAMoiI,gBAAgBpuL,UAAW,UAAW,CAChEuP,IAAK;;AACH,OAAOjN,KAAK+rL,QAAU,KAAO/rL,KAAK6pD,MAAM1/C,QAAU,IACpD,IAKFxN,QAAQmvL,gBAAkBpiI,MAAMoiI,e,gECnChCpvL,OAAOC,QAAU,oBAAjBD,OAAAA,Y,6ECEA,MAAMiV,gBAAkB7U,oBAAAA,OAAAA,eAIxBJ,OAAOC,QAAU,CACfuB,eAHF,cAAgCyT,kB,6ECHhC,MAAMy6I,WAAatvJ,oBAAQ,OAE3BH,QAAQuB,eAAiB,MACvB0B,WAAAA,CAAYtC,aAAckB,iBAAiB,iBAAoB;;AAC7D,IAAIS,KAAOT,gBAAgB,GAQ3B,GAPAwB,KAAKkkF,MAAQ,GACblkF,KAAKy0H,KAAO,KAEP+3B,iBAAmC,iBAATvtJ,MAAiC,MAAZA,KAAK,KACvDA,KAAOA,KAAK2J,MAAM,IAGhBjB,MAAMirB,QAAQ3zB,MAChB,IAAK,MAAMkyB,QAAQlyB,KAAM,CACvB,GAAoB,IAAhBkyB,KAAKjxB,OACP,MAAM,IAAI3B,UAAU,gHAGtByB,KAAKkkF,MAAM5jF,KAAK,CAAC6wB,KAAK,GAAIA,KAAK,IACjC,MACK,GAAoB,iBAATlyB,MAAqD,OAAhCrB,OAAOkQ,eAAe7O,MAC3D,IAAK,MAAM8I,QAAQnK,OAAO2J,KAAKtI,MAAO,CACpC,MAAMlB,MAAQkB,KAAK8I,MACnB/H,KAAKkkF,MAAM5jF,KAAK,CAACyH,KAAMhK,OACzB,MAEAiC,KAAKkkF,MAAQkoE,WAAWM,sBAAsBztJ,KAElD,CAEAm4H,YAAAA;;AACE,GAAkB,OAAdp3H,KAAKy0H,KAAe,CACtB,IAAI8pF,gBAAkBnyD,WAAWoyD,oBAAoBx+M,KAAKkkF,OAClC,KAApBq6H,kBACFA,gBAAkB,MAGpBv+M,KAAKy0H,KAAKA,KAAKt6B,MAAQokH,eACzB,CACF,CAEA,QAAIjlM;;AACF,OAAOtZ,KAAKkkF,MAAMhkF,MACpB,CAEAQ,MAAAA,CAAOqH,KAAMhK;;AACXiC,KAAKkkF,MAAM5jF,KAAK,CAACyH,KAAMhK,QACvBiC,KAAKo3H,cACP,CAEAz0H,OAAOoF,KAAMhK;;AACX,IAAI0C,EAAI,EACR,KAAOA,EAAIT,KAAKkkF,MAAMhkF,QAChBF,KAAKkkF,MAAMzjF,GAAG,KAAOsH,WAAmBtK,IAAVM,OAAuBiC,KAAKkkF,MAAMzjF,GAAG,KAAO1C,MAG5E0C,IAFAT,KAAKkkF,MAAMhhF,OAAOzC,EAAG,GAKzBT,KAAKo3H,cACP,CAEAnqH,GAAAA,CAAIlF;;AACF,IAAK,MAAMm3K,SAASl/K,KAAKkkF,MACvB,GAAIg7F,MAAM,KAAOn3K,KACf,OAAOm3K,MAAM,GAGjB,OAAO,IACT,CAEAt/F,MAAAA,CAAO73E;;AACL,MAAM24E,OAAS,GACf,IAAK,MAAMw+F,SAASl/K,KAAKkkF,MACnBg7F,MAAM,KAAOn3K,MACf24E,OAAOpgF,KAAK4+K,MAAM,IAGtB,OAAOx+F,MACT,CAEAlhF,GAAAA,CAAIuI,KAAMhK;;AACR,IAAK,MAAMmhL,SAASl/K,KAAKkkF,MACvB,GAAIg7F,MAAM,KAAOn3K,YAAmBtK,IAAVM,OAAuBmhL,MAAM,KAAOnhL,OAC5D,OAAO,EAGX,OAAO,CACT,CAEAmI,GAAAA,CAAI6B,KAAMhK;;AACR,IAAI0gN,OAAQ,EACRh+M,EAAI,EACR,KAAOA,EAAIT,KAAKkkF,MAAMhkF,QAChBF,KAAKkkF,MAAMzjF,GAAG,KAAOsH,KACnB02M,MACFz+M,KAAKkkF,MAAMhhF,OAAOzC,EAAG,IAErBg+M,OAAQ,EACRz+M,KAAKkkF,MAAMzjF,GAAG,GAAK1C,MACnB0C,KAGFA,IAGCg+M,OACHz+M,KAAKkkF,MAAM5jF,KAAK,CAACyH,KAAMhK,QAEzBiC,KAAKo3H,cACP,CAEAl1E,IAAAA;;AACEliD,KAAKkkF,MAAMhiC,KAAK,CAACh/B,EAAG7B;;AACd6B,EAAE,GAAK7B,EAAE,IACH,EAEN6B,EAAE,GAAK7B,EAAE,GACJ,EAEF,GAGTrhB,KAAKo3H,cACP,CAEA,CAAC91H,OAAOkM;;AACN,OAAOxN,KAAKkkF,MAAM5iF,OAAOkM,WAC3B,CAEAlH,QAAAA;;AACE,OAAO8lJ,WAAWoyD,oBAAoBx+M,KAAKkkF,MAC7C,E,0FCnIF,MAAM,sBAA2BpnF,oBAAQ,OA2EzCJ,OAAOC,QAAU,CACfuB,eA1EF,MACEs9B,MAAAA;;AACOx7B,KAAKiM,YAIVjM,KAAKiM,WAAWykD,QAAQ1wD,KAC1B,CAEAwvF,KAAAA,IAASiB;;AACP,MAAMlmF,OAASvK,KAAKiM,WACpB,GAAI1B,OAAQ,CACV,IAAIm0M,kBAAoB1+M,KAAK44D,YACzB8Z,IAAMgsI,kBAAoBjuH,MAAMnsF,QAAQo6M,oBAAsB,EAElE,MAAgB,IAAThsI,MACLgsI,kBAAoBA,kBAAkB9lJ,YACjC8lJ,oBAGLhsI,IAAM+d,MAAMnsF,QAAQo6M,mBAGtBn0M,OAAO2mL,WAAW5N,qBAAqBtjL,KAAKmL,eAAgBslF,OAAQiuH,kBACtE,CACF,CAEAnvH,MAAAA,IAAUkB;;AACR,MAAMlmF,OAASvK,KAAKiM,WACpB,GAAI1B,OAAQ,CACV,IAAIo0M,sBAAwB3+M,KAAKs4B,gBAC7Bo6C,IAAMisI,sBAAwBluH,MAAMnsF,QAAQq6M,wBAA0B,EAE1E,MAAgB,IAATjsI,MACLisI,sBAAwBA,sBAAsBrmL,gBACzCqmL,wBAGLjsI,IAAM+d,MAAMnsF,QAAQq6M,uBAGtBp0M,OAAO2mL,WACL5N,qBAAqBtjL,KAAKmL,eAAgBslF,OAC1CkuH,sBAAwBA,sBAAsB/lJ,YAAcruD,OAAOmxD,WAEvE,CACF,CAEA+zB,WAAAA,IAAegB;;AACb,MAAMlmF,OAASvK,KAAKiM,WACpB,GAAI1B,OAAQ,CACV,IAAIm0M,kBAAoB1+M,KAAK44D,YACzB8Z,IAAMgsI,kBAAoBjuH,MAAMnsF,QAAQo6M,oBAAsB,EAElE,MAAgB,IAAThsI,MACLgsI,kBAAoBA,kBAAkB9lJ,YACjC8lJ,oBAGLhsI,IAAM+d,MAAMnsF,QAAQo6M,mBAGtB,MAAMzzM,KAAOq4K,qBAAqBtjL,KAAKmL,eAAgBslF,OAEnDzwF,KAAKiM,aAAe1B,OACtBA,OAAOsxF,SAAS5wF,KAAMjL,MAEtBuK,OAAO2mL,WAAWjmL,KAAMyzM,kBAE5B,CACF,G,6ECxEF,MAAM7hN,YAAcC,oBAAQ,OACdA,oBAAQ,OAEtBH,QAAQq+E,gBAAkB,CAAC19E,aAAc2U,IAAKmvB,KAAO/iC,QAAU,sBAAyB,CAAC;;AACvF,CACE,MAAM6P,IAAM,UACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,OACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CAAEM,QAASA,QAAU,6BAA8BgC,QAAS/C,eAElG8jC,IAAIlzB,KAAOnQ,OAEXqjC,IAAIlzB,MAAO,CAEf,GAGFvR,QAAQyB,QAAU,CAACd,aAAc2U,KAAO5T,QAAU,sBAAyB,CAAC;;AAC1E,QAAYZ,IAARwU,KAAoC,iBAARA,KAAmC,mBAARA,IACzD,MAAM,IAAI3U,aAAaiB,UAAU,GAAGF,6BAGtC,MAAM+iC,IAAMxjC,OAAOC,OAAO,MAE1B,OADAlB,QAAQq+E,gBAAgB19E,aAAc2U,IAAKmvB,IAAK,CAAE/iC,UAC3C+iC,I,6ECxBT,MAAMvkC,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBsI,yCAA2CtI,oBAAAA,OAAAA,gBAC3CG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAsC,iBAAEM,WAGxDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,+CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMo7H,yBAAyBp7H,aAAa+H,YAC1CzF,WAAAA;;AACE,OAAOwF,yCAAyC9H,aApFhC,8BAqFlB,CAEA,WAAIgkE;;AACF,MAAMvhE,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJtB,4CAA4CK,cAC5C,IACE,OAAyE,OAAlEyC,QAAQ5C,YAAYqI,+BAA+B,UAC5D,CAAE,QACAtI,6CAA6CI,aAC/C,CACF,CAEA,WAAIgkE,CAAQ77D;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJkH,EAAI5I,YAAqB,QAAE4I,EAAG,CAC5BpH,QAAS,iFACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACMmI,EACF1F,QAAQ5C,YAAYuI,+BAA+B,UAAW,IAE9D3F,QAAQ5C,YAAYiJ,kCAAkC,UAE1D,CAAE,QACAlJ,6CAA6CI,aAC/C,CACF,CAEA,QAAI8J;;AACF,MAAMrH,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJtB,4CAA4CK,cAC5C,IACE,MAAMS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,QACjE,OAAiB,OAAVzH,MAAiB,GAAKA,KAC/B,CAAE,QACAb,6CAA6CI,aAC/C,CACF,CAEA,QAAI8J,CAAK3B;;AACP,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,8EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,OAAQD,EAC7D,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,EAEFM,OAAOwD,iBAAiBs3H,iBAAiBh7H,UAAW,CAClD4jE,QAAS,CAAEjgE,YAAY,GACvB+F,KAAM,CAAE/F,YAAY,GACpB,CAACC,OAAOC,aAAc,CAAExD,MAAO,mBAAoBgB,cAAc,KAEnEU,aAA0B,iBAAIi5H,iBAE9B96H,OAAOkB,eAAexB,aAjLF,mBAiL+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO26H,oBAIX,MAAMz6H,KAAOnB,oBAAQ,M,6ECnMrB,MAAM,OAAYA,oBAAQ,MACpB61F,SAAW71F,oBAAAA,OAAAA,eACXiyM,cAAgBjyM,oBAAAA,OAAAA,eAEhBgxD,UAAYhxD,oBAAQ,OAE1B,MAAM8hN,yBAAyBjsH,SAC7B/yF,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B+K,MAAMlM,aAAc6C,KAAM1B,aAE1BuB,KAAKq5B,SAAWy0B,UAAUiL,mBAE1B/4D,KAAK+H,KAAOtJ,YAAYsJ,KACxB/H,KAAK+hJ,SAAWtjJ,YAAYsjJ,SAC5B/hJ,KAAKgiJ,SAAWvjJ,YAAYujJ,QAC9B,EAGFl3I,MAAM8zM,iBAAiBlhN,UAAWqxM,cAAcrxM,WAEhDhB,OAAOC,QAAU,CACfuB,eAAgB0gN,iB,6ECpBlB,MAAMp+I,qBAAuB1jE,oBAAAA,MAAAA,eAY7BJ,OAAOC,QAAU,CACfuB,eAXF,cAAmCsiE,qBACjC,cAAIo6G;;AACF,OAAO,CACT,CAEA,eAAIC;;AACF,OAAO,CACT,G,8BCTF,MAAMgkC,KAAOv9M,SACPw9M,KAAOx9M,SACPy9M,KAAOz9M,SACP09M,aAAe19M,SAErB,MAAM29M,aACEr/M,WAAAA,CAAYs/M,KAAM7nL,KAAM4xB,YAAak2J;;AAC7Bn/M,KAAK6+M,MAAQK,KACbl/M,KAAK8+M,MAAQznL,KACbr3B,KAAK++M,MAAQ91J,YACbjpD,KAAKg/M,cAAgBG,eAC7B,CAEA7jM,IAAAA;;AACQ,MAAM4jM,KAAOl/M,KAAK6+M,MACZO,YAAcp/M,KAAKg/M,cACnB3nL,KAAOr3B,KAAK8+M,MAElB,IAAK9+M,KAAK++M,MACF,MAAO,CACC51J,MAAM,EACNprD,MAAOs5B,MAIvB,MAAMt5B,MAAQiC,KAAK++M,MAkBnB,OAfQ/+M,KAAK++M,MADO,IAAhBK,YACiBF,KAAKG,MAAMthN,OAAOu6B,gBAEd,IAAhB8mL,YACYF,KAAKG,MAAMthN,OAAO66D,YAEd,IAAhBwmJ,YACYF,KAAKG,MAAMthN,OAAOwM,OAEd,IAAhB60M,YACYF,KAAKxmL,UAAU36B,MAAO,CAACs5B,OAGvB6nL,KAAK9mL,UAAUr6B,MAAO,CAACs5B,OAGrC,CACC8xB,MAAM,EACNprD,MAEhB,EAGRH,OAAOkB,eAAemgN,aAAavhN,UAAW4D,OAAOkM,SAAU,CACvDzP,MAAO;;AACC,OAAOiC,IACf,EACA0B,UAAU,IAGlBu9M,aAAaK,KAAO,EACpBL,aAAaF,KAAO,EACpBE,aAAaM,OAAS,EACtBN,aAAa11J,UAAY,EACzB01J,aAAaz1J,UAAY,EAEzB5rD,OAAOi3B,OAAOoqL,cACdrhN,OAAOi3B,OAAOoqL,aAAavhN,WAE3BhB,OAAOC,QAAUsiN,Y,6EClEjB,MAAM7zM,aAAetO,oBAAQ,MAEvBgxD,UAAYhxD,oBAAQ,QACpB,WAAY,UAAeA,oBAAQ,QACnC,eAAoBA,oBAAQ,QAC5B,+BAAoCA,oBAAQ,QAE5C,sBAAuB,qBAA0BA,oBAAQ,MAEzD27D,MAAQ37D,oBAAQ,QAChB,gBAAqBA,oBAAQ,QAC7B,aAAkBA,oBAAQ,OAG1B0iN,6BACM,EADNA,+BAEQ,EAFRA,kCAGW,EAgVjB9iN,OAAOC,QAAU,CACfuB,eA7UF,MACE0B,WAAAA,CAAYtC;;AACV0C,KAAKy/M,OAAS,KACdz/M,KAAK0/M,WAAaF,kCAElBx/M,KAAKqL,cAAgB/N,YACvB,CAGA,cAAI0pI;;AACF,MAAM24E,OAAS3/M,KAAK4/M,QACpB,OAAOD,OAASA,OAAO10M,KAAO,IAChC,CAGA,gBAAIg8H;;AACF,MAAM04E,OAAS3/M,KAAK4/M,QACpB,OAAOD,OAASA,OAAO7mJ,OAAS,CAClC,CAGA,aAAIouE;;AACF,MAAM71E,MAAQrxD,KAAK6/M,OACnB,OAAOxuJ,MAAQA,MAAMpmD,KAAO,IAC9B,CAGA,eAAIk8H;;AACF,MAAM91E,MAAQrxD,KAAK6/M,OACnB,OAAOxuJ,MAAQA,MAAMyH,OAAS,CAChC,CAGA,eAAIyuE;;AACF,OAAuB,OAAhBvnI,KAAKy/M,QAAmBz/M,KAAKy/M,OAAO3kJ,SAC7C,CAGA,cAAI0sE;;AACF,OAAOxnI,KAAK8/M,WAAa,EAAI,CAC/B,CAGA,QAAI14M;;AACF,OAAIpH,KAAK8/M,WACA,OACE9/M,KAAKy/M,OAAO3kJ,UACd,QAGF,OACT,CAGA0rE,UAAAA,CAAWl5H;;AACT,GAAc,IAAVA,OAAetN,KAAK8/M,WACtB,MAAM10M,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,uBAAwB,mBAGzE,OAAOrL,KAAKy/M,MACd,CAGAh5E,QAAAA,CAASvtE;;AACHA,MAAMG,QAAU/6D,eAAe0B,KAAKqL,cAAcxH,YAAkC,IAApB7D,KAAKwnI,YACvExnI,KAAK+/M,gBAAgB7mJ,MAEzB,CAGAwtE,WAAAA,CAAYxtE;;AACV,GAAIA,QAAUl5D,KAAKy/M,OACjB,MAAMr0M,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,iBAAkB,kBAGnErL,KAAK+/M,gBAAgB,KACvB,CAGAp5E,eAAAA;;AACE3mI,KAAK+/M,gBAAgB,KACvB,CAGA3xF,KAAAA;;AACEpuH,KAAK2mI,iBACP,CAGA9pE,QAAAA,CAAS5xD,KAAM6tD;;AACb,GAAa,OAAT7tD,KAEF,YADAjL,KAAK2mI,kBAIP,GAAI17H,KAAKouB,WAAay0B,UAAUiL,mBAC9B,MAAM3tD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,qDACA,yBAIJ,GAAIytD,OAASE,WAAW/tD,MACtB,MAAMG,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,uBAAwB,mBAGzE,GAAI+tD,SAASnuD,QAAU3M,eAAe0B,KAAKqL,cAAcxH,WACvD,OAGF,MAAMm8M,SAAWvnJ,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CACxDuR,MAAO,CAAE3R,KAAM6tD,OAAQ,GACvB1yC,IAAK,CAAEnb,KAAM6tD,OAAQ,KAGvBG,sBAAsB+mJ,SAAU/0M,KAAM6tD,QACtCY,oBAAoBsmJ,SAAU/0M,KAAM6tD,QAEpC94D,KAAK+/M,gBAAgBC,SACvB,CAGAp5E,WAAAA,CAAY37H,KAAM6tD;;AAChB94D,KAAK68D,SAAS5xD,KAAM6tD,OACtB,CAGA+tE,eAAAA;;AACE,GAAI7mI,KAAK8/M,WACP,MAAM10M,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,qCAAsC,sBAGvF,MAAM,KAAM,QAAarL,KAAKy/M,OAAO9lJ,OAC/BqmJ,SAAWvnJ,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CACxDuR,MAAO,CAAE3R,KAAM6tD,QACf1yC,IAAK,CAAEnb,KAAM6tD,UAGf94D,KAAK+/M,gBAAgBC,SACvB,CAGAl5E,aAAAA;;AACE,GAAI9mI,KAAK8/M,WACP,MAAM10M,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,qCAAsC,sBAGvF,MAAM,KAAM,QAAarL,KAAKy/M,OAAOlmJ,KAC/BymJ,SAAWvnJ,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CACxDuR,MAAO,CAAE3R,KAAM6tD,QACf1yC,IAAK,CAAEnb,KAAM6tD,UAGf94D,KAAK+/M,gBAAgBC,SACvB,CAGAx1H,MAAAA,CAAOv/E,KAAM6tD;;AACX,GAAIM,SAASnuD,QAAU3M,eAAe0B,KAAKqL,cAAcxH,WACvD,OAGF,GAAI7D,KAAK8/M,WACP,MAAM10M,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,mCAAoC,sBAGrF,MAAQu0M,QAASK,WAAcjgN,KACzBkgN,SAAW,CAAEj1M,KAAM6tD,QAEnBknJ,SAAWvnJ,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CACxDuR,MAAO,CAAE3R,KAAM6tD,OAAQ,GACvB1yC,IAAK,CAAEnb,KAAM6tD,OAAQ,KAGnBM,SAASnuD,QAAUjL,KAAKy/M,OAAOpmJ,OACjCJ,sBAAsB+mJ,SAAUE,SAASj1M,KAAMi1M,SAASpnJ,QACxDY,oBAAoBsmJ,SAAUE,SAASj1M,KAAMi1M,SAASpnJ,SAC7CQ,8BAA8B2mJ,UAAWC,WAAa,GAC/DjnJ,sBAAsB+mJ,SAAUC,UAAUh1M,KAAMg1M,UAAUnnJ,QAC1DY,oBAAoBsmJ,SAAUE,SAASj1M,KAAMi1M,SAASpnJ,UAEtDG,sBAAsB+mJ,SAAUE,SAASj1M,KAAMi1M,SAASpnJ,QACxDY,oBAAoBsmJ,SAAUC,UAAUh1M,KAAMg1M,UAAUnnJ,SAG1D94D,KAAK+/M,gBAAgBC,UAErBhgN,KAAK0/M,YAAqE,IAAxDpmJ,8BAA8B4mJ,SAAUD,WACxDT,8BACAA,4BACJ,CAGAz4E,gBAAAA,CAAiBC,WAAYC,aAAcC,UAAWC;;AACpD,GAAIF,aAAejuE,WAAWguE,aAAeG,YAAcnuE,WAAWkuE,WACpE,MAAM97H,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,kCAAmC,mBAGpF,MAAM7H,SAAWlF,eAAe0B,KAAKqL,cAAcxH,WACnD,GAAIL,WAAa41D,SAAS4tE,aAAexjI,WAAa41D,SAAS8tE,WAC7D,OAGF,MAAMy4E,OAAS,CAAE10M,KAAM+7H,WAAYluE,OAAQmuE,cACrC51E,MAAQ,CAAEpmD,KAAMi8H,UAAWpuE,OAAQquE,aAEzC,IAAI64E,SAEFA,UADoD,IAAlD1mJ,8BAA8BqmJ,OAAQtuJ,OAC7BoH,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CAClDuR,MAAO,CAAE3R,KAAM00M,OAAO10M,KAAM6tD,OAAQ6mJ,OAAO7mJ,QAC3C1yC,IAAK,CAAEnb,KAAMomD,MAAMpmD,KAAM6tD,OAAQzH,MAAMyH,UAG9BL,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CAClDuR,MAAO,CAAE3R,KAAMomD,MAAMpmD,KAAM6tD,OAAQzH,MAAMyH,QACzC1yC,IAAK,CAAEnb,KAAM00M,OAAO10M,KAAM6tD,OAAQ6mJ,OAAO7mJ,UAI7C94D,KAAK+/M,gBAAgBC,UAErBhgN,KAAK0/M,YAA+D,IAAlDpmJ,8BAA8BjI,MAAOsuJ,QACrDH,8BACAA,4BACJ,CAGAp4E,iBAAAA,CAAkBn8H;;AAChB,GAAIA,KAAKouB,WAAay0B,UAAUiL,mBAC9B,MAAM3tD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,qDACA,yBAKJ,GADiB/M,eAAe0B,KAAKqL,cAAcxH,aAClCu1D,SAASnuD,MACxB,OAGF,MAAM/K,OAASoK,cAAc61M,cAAcl1M,MAErC+0M,SAAWvnJ,MAAM75D,WAAWoB,KAAKqL,cAAe,GAAI,CACxDuR,MAAO,CAAE3R,KAAM6tD,OAAQ,GACvB1yC,IAAK,CAAEnb,KAAM6tD,OAAQ,KAGvBG,sBAAsB+mJ,SAAU/0M,KAAM,GACtCyuD,oBAAoBsmJ,SAAU/0M,KAAM/K,QAEpCF,KAAK+/M,gBAAgBC,SACvB,CAGA34E,kBAAAA;;AACOrnI,KAAK8/M,YACR9/M,KAAKy/M,OAAOniJ,gBAEhB,CAGAgqE,YAAAA,CAAar8H,KAAMm1M;;AACjB,GAAIpgN,KAAK8/M,YAAc1mJ,SAASnuD,QAAU3M,eAAe0B,KAAKqL,cAAcxH,WAC1E,OAAO,EAGT,MAAM,OAAQ,MAAW7D,KAAKy/M,OAExBY,mBAAoF,IAAhE/mJ,8BAA8BK,OAAQ,CAAE1uD,KAAM6tD,OAAQ,IAC1EwnJ,eAA6F,IAA5EhnJ,8BAA8BC,KAAM,CAAEtuD,KAAM6tD,OAAQE,WAAW/tD,QAEtF,OAAOm1M,wBACLC,mBAAqBC,eACrBD,mBAAqBC,cACzB,CAGAh6M,QAAAA;;AACE,OAAOtG,KAAKy/M,OAASz/M,KAAKy/M,OAAOn5M,WAAa,EAChD,CAGAw5M,QAAAA;;AACE,OAAuB,OAAhB9/M,KAAKy/M,MACd,CAGA,WAAIG;;AACF,OAAK5/M,KAAKy/M,OAIHz/M,KAAK0/M,aAAeF,6BACzBx/M,KAAKy/M,OAAO9lJ,OACZ35D,KAAKy/M,OAAOlmJ,KALL,IAMX,CAGA,UAAIsmJ;;AACF,OAAK7/M,KAAKy/M,OAIHz/M,KAAK0/M,aAAeF,6BACzBx/M,KAAKy/M,OAAOlmJ,KACZv5D,KAAKy/M,OAAO9lJ,OALL,IAMX,CAEAomJ,eAAAA,CAAgBC;;AACd,MAAMO,mBAAqBvgN,KAAKy/M,SAAWO,WAG1B,OAAbA,UACgB,OAAhBhgN,KAAKy/M,QAEkE,IAAvEnmJ,8BAA8B0mJ,SAASrmJ,OAAQ35D,KAAKy/M,OAAO9lJ,SACQ,IAAnEL,8BAA8B0mJ,SAASzmJ,KAAMv5D,KAAKy/M,OAAOlmJ,OAM7D,GAJAv5D,KAAKy/M,OAASO,SACdhgN,KAAK0/M,WAA0B,OAAbM,SAAoBR,kCAAoCA,6BAGtEe,mBAAoB,CAEtB,MAAM/8M,SAAWxD,KAAKqL,cAAcxH,UACpCnB,WAAW;;AACTsC,YAAY,kBAAmB1G,eAAekF,YAC7C,EACL,CACF,G,4hCC/RF9G,OAAOC,QAAU82E,UACjB,IAAIn2C,eAAiBxgC,oBAAAA,OAAAA,EACnB2gC,2BAA6BH,eAAeG,2BAC5Cu2J,sBAAwB12J,eAAe02J,sBACvCwsB,mCAAqCljL,eAAekjL,mCACpDC,4BAA8BnjL,eAAemjL,4BAC3Cl7L,OAASzoB,oBAAQ,MAErB,SAAS4jN,eAAejgM,GAAI6S;;AAC1B,IAAIqtL,GAAK3gN,KAAK4gN,gBACdD,GAAGE,cAAe,EAClB,IAAI/vM,GAAK6vM,GAAG7rB,QACZ,GAAW,OAAPhkL,GACF,OAAO9Q,KAAKkgC,KAAK,QAAS,IAAI8zJ,uBAEhC2sB,GAAGG,WAAa,KAChBH,GAAG7rB,QAAU,KACD,MAARxhK,MAEFtzB,KAAKM,KAAKgzB,MACZxiB,GAAG2P,IACH,IAAIsgM,GAAK/gN,KAAKumB,eACdw6L,GAAGziL,SAAU,GACTyiL,GAAGviL,cAAgBuiL,GAAG7gN,OAAS6gN,GAAG16L,gBACpCrmB,KAAKm/B,MAAM4hL,GAAG16L,cAElB,CACA,SAASotD,UAAU5jE;;AACjB,KAAM7P,gBAAgByzE,WAAY,OAAO,IAAIA,UAAU5jE,SACvD0V,OAAOtd,KAAKjI,KAAM6P,SAClB7P,KAAK4gN,gBAAkB,CACrBF,eAAgBA,eAAen9K,KAAKvjC,MACpCghN,eAAe,EACfH,cAAc,EACd/rB,QAAS,KACTgsB,WAAY,KACZG,cAAe,MAIjBjhN,KAAKumB,eAAeiY,cAAe,EAKnCx+B,KAAKumB,eAAegY,MAAO,EACvB1uB,UAC+B,mBAAtBA,QAAQqxM,YAA0BlhN,KAAKmhN,WAAatxM,QAAQqxM,WAC1C,mBAAlBrxM,QAAQuxM,QAAsBphN,KAAKqhN,OAASxxM,QAAQuxM,QAIjEphN,KAAKizB,GAAG,YAAaojK,UACvB,CACA,SAASA;;AACP,IAAI/yJ,MAAQtjC,KACe,mBAAhBA,KAAKqhN,QAA0BrhN,KAAKumB,eAAeC,UAK5D2iC,KAAKnpD,KAAM,KAAM,MAJjBA,KAAKqhN,OAAO,SAAU5gM,GAAI6S;;AACxB61B,KAAK7lB,MAAO7iB,GAAI6S,KAClB,EAIJ,CAiDA,SAAS61B,KAAKtrB,OAAQpd,GAAI6S;;AACxB,GAAI7S,GAAI,OAAOod,OAAOqC,KAAK,QAASzf,IAQpC,GAPY,MAAR6S,MAEFuK,OAAOv9B,KAAKgzB,MAKVuK,OAAO9X,eAAe7lB,OAAQ,MAAM,IAAIugN,4BAC5C,GAAI5iL,OAAO+iL,gBAAgBC,aAAc,MAAM,IAAIL,mCACnD,OAAO3iL,OAAOv9B,KAAK,KACrB,CArHAxD,oBAAQ,MAARA,CAAoB22E,UAAWluD,QAyD/BkuD,UAAU/1E,UAAU4C,KAAO,SAAUg/B,MAAO5J;;AAE1C,OADA11B,KAAK4gN,gBAAgBI,eAAgB,EAC9Bz7L,OAAO7nB,UAAU4C,KAAK2H,KAAKjI,KAAMs/B,MAAO5J,SACjD,EAYA+9C,UAAU/1E,UAAUyjN,WAAa,SAAU7hL,MAAO5J,SAAU5kB;;AAC1DA,GAAG,IAAI2sB,2BAA2B,gBACpC,EACAg2C,UAAU/1E,UAAU+3L,OAAS,SAAUn2J,MAAO5J,SAAU5kB;;AACtD,IAAI6vM,GAAK3gN,KAAK4gN,gBAId,GAHAD,GAAG7rB,QAAUhkL,GACb6vM,GAAGG,WAAaxhL,MAChBqhL,GAAGM,cAAgBvrL,UACdirL,GAAGE,aAAc,CACpB,IAAIE,GAAK/gN,KAAKumB,gBACVo6L,GAAGK,eAAiBD,GAAGviL,cAAgBuiL,GAAG7gN,OAAS6gN,GAAG16L,gBAAermB,KAAKm/B,MAAM4hL,GAAG16L,cACzF,CACF,EAKAotD,UAAU/1E,UAAUyhC,MAAQ,SAAU1mB;;AACpC,IAAIkoM,GAAK3gN,KAAK4gN,gBACQ,OAAlBD,GAAGG,YAAwBH,GAAGE,aAMhCF,GAAGK,eAAgB,GALnBL,GAAGE,cAAe,EAClB7gN,KAAKmhN,WAAWR,GAAGG,WAAYH,GAAGM,cAAeN,GAAGD,gBAMxD,EACAjtI,UAAU/1E,UAAU0hC,SAAW,SAAU/tB,IAAKP;;AAC5CyU,OAAO7nB,UAAU0hC,SAASn3B,KAAKjI,KAAMqR,IAAK,SAAUiwM;;AAClDxwM,GAAGwwM,KACL,EACF,C,8BC7KA5kN,OAAOC,QAAU+b,KAAKK,G,6ECDtB,MAAMlc,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBsI,yCAA2CtI,oBAAAA,OAAAA,gBAC3CykN,6BAA+BzkN,oBAAAA,MAAAA,aAC/BG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAmC,cAAEM,WAGrDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,4CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMs7H,sBAAsBt7H,aAAa+H,YACvCzF,WAAAA;;AACE,OAAOwF,yCAAyC9H,aApFhC,2BAqFlB,CAEA,SAAIS;;AACF,MAAMgC,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJtB,4CAA4CK,cAC5C,IACE,IAAIS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,SAC/D,OAAc,OAAVzH,QACFA,MAAQwjN,6BAA6BxjN,OACvB,OAAVA,OAAkBlB,YAAYwjE,KAAKtiE,SAAWA,OACzCA,MAGJ,CACT,CAAE,QACAb,6CAA6CI,aAC/C,CACF,CAEA,SAAIS,CAAM0H;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJkH,EAAI5I,YAAkB,KAAE4I,EAAG,CACzBpH,QAAS,4EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,QAAS6+B,OAAO9+B,GACrE,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,QAAI8J;;AACF,MAAMrH,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJtB,4CAA4CK,cAC5C,IACE,MAAMS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,QACjE,OAAiB,OAAVzH,MAAiB,GAAKA,KAC/B,CAAE,QACAb,6CAA6CI,aAC/C,CACF,CAEA,QAAI8J,CAAK3B;;AACP,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,2EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,OAAQD,EAC7D,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,EAEFM,OAAOwD,iBAAiBw3H,cAAcl7H,UAAW,CAC/CK,MAAO,CAAEsD,YAAY,GACrB+F,KAAM,CAAE/F,YAAY,GACpB,CAACC,OAAOC,aAAc,CAAExD,MAAO,gBAAiBgB,cAAc,KAEhEU,aAA0B,cAAIm5H,cAE9Bh7H,OAAOkB,eAAexB,aApLF,gBAoL+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO66H,iBAIX,MAAM36H,KAAOnB,oBAAQ,K,6ECtMrB,MAAM2nF,eAAiB3nF,oBAAQ,OACzB6U,gBAAkB7U,oBAAAA,OAAAA,gBAElB,wBAA6BA,oBAAQ,OAY3CJ,OAAOC,QAAU,CACfuB,eAXF,cAAsCyT,gBAEpC,WAAI9B;;AACF,OAAO40E,eAAe7lF,WAAWoB,KAAKqL,cAAe,GAAI,CACvDykD,QAAS9vD,KACTm6F,MAAOA,IAAMmlG,uBAAuBt/L,KAAM,WAE9C,G,6ECbF,MAAMwhN,eAAiB1kN,oBAAQ,OAE/BJ,OAAOC,QAAU,cAAiC6kN,eAChDjgM,KAAAA;;AACE,OAAO,IACT,E,steCJkBzkB,oBAAQ,OAA5B,MACMC,MAAQD,oBAAQ,OAEhBK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3Bi/H,0BAA4Bv/H,oBAAQ,OAiB1C,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAA0C,qBAAEM,WAG5DE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,mDAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC++H,0BAA0Bx9H,eAAeH,QAASpB,eAGpDX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,SAAU,kBAAmB,iBAEtDxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMg/H,6BAA6Bh/H,aAAa++H,0BAC9Cz8H,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,EAEFX,OAAOwD,iBAAiBk7H,qBAAqB5+H,UAAW,CACtD,CAAC4D,OAAOC,aAAc,CAAExD,MAAO,uBAAwBgB,cAAc,KAEvEU,aAA0B,qBAAI68H,qBAE9B1+H,OAAOkB,eAAexB,aA5FF,uBA4F+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOu+H,wBAIX,MAAMr+H,KAAOnB,oBAAQ,M,6EC3GrBc,OAAOkB,eAAenC,QAAS,aAAc,CAAEoB,OAAO,IACtDpB,QAAQyjJ,UAAYzjJ,QAAQwjJ,mBAAgB,EAC5C,MAAMshE,kBAAoB3kN,oBAAQ,OAC5B4kN,aAAe5kN,oBAAQ,OACvB8/J,WAAa9/J,oBAAQ,OACrB6kN,SAAW7kN,oBAAQ,OACnBqkJ,iBAAmBrkJ,oBAAQ,OAC3B6/J,UAAY7/J,oBAAQ,OAE1B,IAAI8kN,MA4FJ,SAASC,aAAaliB;;AAClB,OAAOA,IAAM+hB,aAAajoC,YAAYqoC,iBAAmBniB,IAAM+hB,aAAajoC,YAAYsoC,eAC5F,CAIA,SAASC,cAAcriB;;AACnB,OAJJ,SAAsBA;;AAClB,OAAOA,IAAM+hB,aAAajoC,YAAYwoC,eAAiBtiB,IAAM+hB,aAAajoC,YAAYyoC,aAC1F,CAEWC,CAAaxiB,KAAOkiB,aAAaliB,GAC5C,CACA,SAASyiB,oBAAoBziB;;AACzB,OAAOqiB,cAAcriB,KAbzB,SAAsBA;;AAClB,OAAOA,IAAM+hB,aAAajoC,YAAY4oC,SAAW1iB,IAAM+hB,aAAajoC,YAAY6oC,OACpF,CAWgCC,CAAa5iB,GAC7C,CACA,SAAS6iB,aAAa7iB;;AAClB,OAAOA,GAAK,EAChB,CACA,SAAS/qD,aAAa+qD;;AAClB,OAAOA,KAAO+hB,aAAajoC,YAAYgpC,OAAS9iB,KAAO+hB,aAAajoC,YAAYC,WAAaimB,KAAO+hB,aAAajoC,YAAYipC,YAAc/iB,KAAO+hB,aAAajoC,YAAYkpC,SAC/K,CACA,SAASC,oCAAoCjjB;;AACzC,OAAO/qD,aAAa+qD,KAAOA,KAAO+hB,aAAajoC,YAAYopC,SAAWljB,KAAO+hB,aAAajoC,YAAYqpC,iBAC1G,EA/GA,SAAWlB;;AACPA,MAAMA,MAAY,KAAI,GAAK,OAC3BA,MAAMA,MAAc,OAAI,GAAK,SAC7BA,MAAMA,MAAe,QAAI,GAAK,UAC9BA,MAAMA,MAAmB,YAAI,GAAK,cAClCA,MAAMA,MAAiB,UAAI,GAAK,YAChCA,MAAMA,MAAgB,SAAI,GAAK,WAC/BA,MAAMA,MAAoB,aAAI,GAAK,eACnCA,MAAMA,MAAgB,SAAI,GAAK,WAC/BA,MAAMA,MAA6B,sBAAI,GAAK,wBAC5CA,MAAMA,MAA2B,oBAAI,GAAK,sBAC1CA,MAAMA,MAA2B,oBAAI,IAAM,sBAC3CA,MAAMA,MAA8B,uBAAI,IAAM,yBAC9CA,MAAMA,MAA4B,qBAAI,IAAM,uBAC5CA,MAAMA,MAA4B,qBAAI,IAAM,uBAC5CA,MAAMA,MAAkC,2BAAI,IAAM,6BAClDA,MAAMA,MAAgC,yBAAI,IAAM,2BAChDA,MAAMA,MAAgC,yBAAI,IAAM,2BAChDA,MAAMA,MAAgC,yBAAI,IAAM,2BAChDA,MAAMA,MAAqC,8BAAI,IAAM,gCACrDA,MAAMA,MAA2B,oBAAI,IAAM,sBAC3CA,MAAMA,MAAgC,yBAAI,IAAM,2BAChDA,MAAMA,MAAqC,8BAAI,IAAM,gCACrDA,MAAMA,MAA0C,mCAAI,IAAM,qCAC1DA,MAAMA,MAAwC,iCAAI,IAAM,mCACxDA,MAAMA,MAAwC,iCAAI,IAAM,mCACxDA,MAAMA,MAAuC,gCAAI,IAAM,kCACvDA,MAAMA,MAAkC,2BAAI,IAAM,6BAClDA,MAAMA,MAAuC,gCAAI,IAAM,kCACvDA,MAAMA,MAA4C,qCAAI,IAAM,uCAC5DA,MAAMA,MAAiD,0CAAI,IAAM,4CACjEA,MAAMA,MAAqC,8BAAI,IAAM,gCACrDA,MAAMA,MAA6B,sBAAI,IAAM,wBAC7CA,MAAMA,MAAsB,eAAI,IAAM,iBACtCA,MAAMA,MAA4B,qBAAI,IAAM,uBAC5CA,MAAMA,MAA8B,uBAAI,IAAM,yBAC9CA,MAAMA,MAAqC,8BAAI,IAAM,gCACrDA,MAAMA,MAAqC,8BAAI,IAAM,gCACrDA,MAAMA,MAAgC,yBAAI,IAAM,2BAChDA,MAAMA,MAAoC,6BAAI,IAAM,+BACpDA,MAAMA,MAA8B,uBAAI,IAAM,yBAC9CA,MAAMA,MAAqB,cAAI,IAAM,gBACrCA,MAAMA,MAA+B,wBAAI,IAAM,0BAC/CA,MAAMA,MAAqB,cAAI,IAAM,gBACrCA,MAAMA,MAA0B,mBAAI,IAAM,qBAC1CA,MAAMA,MAAe,QAAI,IAAM,UAC/BA,MAAMA,MAA8B,uBAAI,IAAM,yBAC9CA,MAAMA,MAAmC,4BAAI,IAAM,8BACnDA,MAAMA,MAAwC,iCAAI,IAAM,mCACxDA,MAAMA,MAA6C,sCAAI,IAAM,wCAC7DA,MAAMA,MAAwB,iBAAI,IAAM,mBACxCA,MAAMA,MAAmB,YAAI,IAAM,cACnCA,MAAMA,MAAwB,iBAAI,IAAM,mBACxCA,MAAMA,MAAe,QAAI,IAAM,UAC/BA,MAAMA,MAA2B,oBAAI,IAAM,sBAC3CA,MAAMA,MAAoB,aAAI,IAAM,eACpCA,MAAMA,MAA0B,mBAAI,IAAM,qBAC1CA,MAAMA,MAAoC,6BAAI,IAAM,+BACpDA,MAAMA,MAAwC,iCAAI,IAAM,mCACxDA,MAAMA,MAA+C,wCAAI,IAAM,0CAC/DA,MAAMA,MAA+C,wCAAI,IAAM,0CAC/DA,MAAMA,MAAuC,gCAAI,IAAM,kCACvDA,MAAMA,MAAqD,8CAAI,IAAM,gDACrEA,MAAMA,MAAoC,6BAAI,IAAM,+BACpDA,MAAMA,MAAwC,iCAAI,IAAM,mCACxDA,MAAMA,MAA+C,wCAAI,IAAM,0CAC/DA,MAAMA,MAA+C,wCAAI,IAAM,0CAC/DA,MAAMA,MAAuC,gCAAI,IAAM,kCACvDA,MAAMA,MAAqB,cAAI,IAAM,gBACrCA,MAAMA,MAAqB,cAAI,IAAM,gBACrCA,MAAMA,MAA6B,sBAAI,IAAM,wBAC7CA,MAAMA,MAAyB,kBAAI,IAAM,oBACzCA,MAAMA,MAA2B,oBAAI,IAAM,sBAC3CA,MAAMA,MAA2B,oBAAI,IAAM,qBAC9C,CA1ED,CA0EGA,QAAUA,MAAQ,CAAC,IAEtBjlN,QAAQwjJ,cAAgB,CACpB4iE,KAAMnB,MAAMmB,KACZrgD,OAAQk/C,MAAMl/C,OACdE,QAASg/C,MAAMh/C,QACfM,YAAa0+C,MAAM1+C,YACnBgL,UAAW0zC,MAAM1zC,UACjB80C,cAAepB,MAAMoB,eA4jFzBrmN,QAAQyjJ,UA3gFR,MACIxgJ,WAAAA,CAAYiQ,QAASyzG;;AACjBtjH,KAAK6P,QAAUA,QACf7P,KAAKsjH,QAAUA,QACftjH,KAAK4+B,QAAS,EAEd5+B,KAAKijN,QAAS,EAOdjjN,KAAKsyK,eAAgB,EACrBtyK,KAAKkjN,iBAAmB,GACxBljN,KAAKmjN,QAAS,EACdnjN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKojN,YAAcxB,MAAMmB,KACzB/iN,KAAKqjN,eAAiB,EACtBrjN,KAAKsjN,uBAAyB,EAC9BtjN,KAAKujN,sBAAwB,KAC7BvjN,KAAKsxK,aAAe,KACpBtxK,KAAKwjN,YAAc,CAAEz7M,KAAM,GAAIhK,MAAO,IACtCiC,KAAKyjN,aAAe,IAAIhC,kBAAkBiC,aAAapgG,SACvDtjH,KAAK2jN,gBAAkB3jN,KAAK4jN,oBAAoB,GAChD5jN,KAAK6jN,cAAgB,IAAIlC,SAASmC,cAAcnC,SAASoC,eAAgB,CAACpkB,GAAIqkB;;AAG1EhkN,KAAKyjN,aAAa9uG,IAAM30G,KAAKqjN,eAAiBW,SAAW,EACzDhkN,KAAKikN,4CAA4CtkB,KAClDr8E,QAAQ4xB,aACL,CACEgvE,wCAAyCA;;AACrClkN,KAAK61H,KAAKsrB,iBAAiBC,IAAI8iE,wCAAyC,IAE5EC,2CAA6CH;;AACzChkN,KAAK61H,KAAKsrB,iBAAiBC,IAAI+iE,2CAA4CnkN,KAAKqjN,eAAiBrjN,KAAKyjN,aAAa9uG,IAAMqvG,WAE7HI,kCAAoClvM;;AAChC,MAAMoC,MA1D1B,SAA8CpC;;AAC1C,OAAIA,OAASwsM,aAAajoC,YAAY4qC,KAC3BljE,iBAAiBC,IAAIkjE,uBAEvBpvM,KAAO,QACLisI,iBAAiBC,IAAImjE,uCAEvB,EAAI7C,aAAaltE,aAAat/H,MAC5BisI,iBAAiBC,IAAIojE,6BAEvB,EAAI9C,aAAa3hB,sBAAsB7qL,MACrCisI,iBAAiBC,IAAIqjE,gCAEvB,EAAI/C,aAAa5hB,oBAAoB5qL,OAASA,OAASwsM,aAAajoC,YAAYirC,gBAC9EvjE,iBAAiBC,IAAIujE,0BAEzB,IACX,CAyCkCC,CAAqC1vM,MAC/CoC,OACAtX,KAAK61H,KAAKv+G,MAAO,UAG3B7Z,EACV,CAEAo4H,IAAAA,CAAK3gH,KAAM2vM,SAAW;;AAClB,IAAI1yC,GAAIE,GACoC,QAA3CA,IAAMF,GAAKnyK,KAAKsjH,SAAS4xB,oBAAiC,IAAPm9B,IAAyBA,GAAGpqK,KAAKkqK,GAAInyK,KAAKyjN,aAAaqB,SAAS5vM,KAAM2vM,UAC9H,CAEAjB,kBAAAA,CAAmB9qJ;;AACf,OAAK94D,KAAK6P,QAAQy2I,uBAGX,CACHyW,UAAW/8J,KAAKyjN,aAAa53F,KAC7BmxC,SAAUh9J,KAAKyjN,aAAasB,IAAMjsJ,OAClCoB,YAAal6D,KAAKyjN,aAAa3qJ,OAASA,OACxCmkG,SAAU,EACVC,QAAS,EACT1mC,WAAY,GARL,IAUf,CACAwuF,eAAAA;;AACI,IAAIhlN,KAAKijN,OAAT,CAGA,IADAjjN,KAAKijN,QAAS,EACPjjN,KAAKmjN,SAAWnjN,KAAK4+B,QAAQ,CAChC5+B,KAAKsjN,sBAAwB,EAC7B,MAAM3jB,GAAK3/L,KAAKilN,WACXjlN,KAAKklN,sBACNllN,KAAKmlN,WAAWxlB,GAExB,CACA3/L,KAAKijN,QAAS,CATJ,CAUd,CAEApgL,KAAAA;;AACI7iC,KAAK4+B,QAAS,CAClB,CACAoC,MAAAA,CAAOokL;;AACH,IAAKplN,KAAK4+B,OACN,MAAM,IAAI7uB,MAAM,8BAEpB/P,KAAK4+B,QAAS,EAEV5+B,KAAKijN,SAETjjN,KAAKglN,kBACAhlN,KAAK4+B,QACNwmL,qBAA8DA,gBAEtE,CACAplL,KAAAA,CAAMV,MAAO+lL,YAAaD;;AACtBplN,KAAKmjN,QAAS,EACdnjN,KAAKyjN,aAAazjL,MAAMV,MAAO+lL,aAC/BrlN,KAAKglN,kBACAhlN,KAAK4+B,QACNwmL,qBAA8DA,eAEtE,CACAE,sBAAAA,CAAuBhmL;;AACnBt/B,KAAKmjN,QAAS,EACdnjN,KAAKyjN,aAAa6B,uBAAuBhmL,OACzCt/B,KAAKglN,iBACT,CAEAE,kBAAAA;;AACI,QAAIllN,KAAKyjN,aAAa8B,gBAClBvlN,KAAKyjN,aAAa+B,QAAQxlN,KAAKsjN,uBAC/BtjN,KAAKsjN,sBAAwB,EAC7BtjN,KAAKmjN,QAAS,GACP,EAGf,CAEA8B,QAAAA;;AAEI,OADAjlN,KAAKsjN,wBACEtjN,KAAKyjN,aAAagC,SAC7B,CACAC,UAAAA,CAAWjyL;;AACPzzB,KAAKsjN,uBAAyB7vL,MAC9B,IAAK,IAAIhzB,EAAI,EAAGA,EAAIgzB,MAAOhzB,IACvBT,KAAKyjN,aAAagC,SAE1B,CACAE,uBAAAA,CAAwBv8E,QAASw8E;;AAC7B,QAAI5lN,KAAKyjN,aAAa15M,WAAWq/H,QAASw8E,iBAEtC5lN,KAAK0lN,WAAWt8E,QAAQlpI,OAAS,IAC1B,EAGf,CAEA2lN,oBAAAA;;AACI7lN,KAAKsxK,aAAe,CAChBlqK,KAAMw1J,WAAWzjH,UAAU6rH,UAC3BzrE,QAAS,GACT0kE,MAAOtB,UAAUS,OAAOsR,QACxB9D,aAAa,EACbrI,gBAAgB,EAChB5zB,MAAO,GACPz1C,SAAUl5F,KAAK4jN,mBAAmB,GAE1C,CACAkC,kBAAAA;;AACI9lN,KAAKsxK,aAAe,CAChBlqK,KAAMw1J,WAAWzjH,UAAU8rH,QAC3B1rE,QAAS,GACT0kE,MAAOtB,UAAUS,OAAOsR,QACxB9D,aAAa,EACbrI,gBAAgB,EAChB5zB,MAAO,GACPz1C,SAAUl5F,KAAK4jN,mBAAmB,GAE1C,CACAmC,mBAAAA,CAAoBjtJ;;AAChB94D,KAAKsxK,aAAe,CAChBlqK,KAAMw1J,WAAWzjH,UAAUL,QAC3BxlB,KAAM,GACN4lE,SAAUl5F,KAAK4jN,mBAAmB9qJ,QAE1C,CACAktJ,mBAAAA,CAAoBC;;AAChBjmN,KAAKsxK,aAAe,CAChBlqK,KAAMw1J,WAAWzjH,UAAUs7H,QAC3B1sK,KAAMk+M,YACN5vC,aAAa,EACbt0B,SAAU,KACVC,SAAU,KACV9oD,SAAUl5F,KAAK2jN,gBAEvB,CACAuC,qBAAAA,CAAsB9+M,KAAMosK;;AACxBxzK,KAAKujN,sBAAwB,CACzBn8M,KACAosK,MACAt6E,SAAUl5F,KAAK2jN,gBAEvB,CAEAwC,WAAAA,CAAYC;;AACRpmN,KAAKwjN,YAAc,CACfz7M,KAAMq+M,gBACNroN,MAAO,IAEXiC,KAAK2jN,gBAAkB3jN,KAAK4jN,mBAAmB,EACnD,CACAyC,cAAAA;;AACI,IAAIl0C,GACAE,GACJ,MAAM92I,MAAQv7B,KAAKsxK,aACnB,GAAmE,QAA/D,EAAI1U,WAAWnuB,cAAclzG,MAAOv7B,KAAKwjN,YAAYz7M,OAErD,GADAwzB,MAAMozG,MAAMruI,KAAKN,KAAKwjN,aAClBjoL,MAAM29D,UAAYl5F,KAAK2jN,gBAAiB,EACsB,QAAtCxxC,IAAME,GAAK92I,MAAM29D,UAAUy1C,aAA0B,IAAPwjC,GAAgBA,GAAME,GAAG1jC,MAAQ/wI,OAAOC,OAAO,OACvGmC,KAAKwjN,YAAYz7M,MAAQ/H,KAAK2jN,gBAE5C3jN,KAAKsmN,iBACT,OAGAtmN,KAAK61H,KAAKsrB,iBAAiBC,IAAImlE,mBAEvC,CACAD,eAAAA;;AACQtmN,KAAK2jN,kBACL3jN,KAAK2jN,gBAAgB1mD,QAAUj9J,KAAKyjN,aAAa53F,KACjD7rH,KAAK2jN,gBAAgBzmD,OAASl9J,KAAKyjN,aAAasB,IAChD/kN,KAAK2jN,gBAAgBntF,UAAYx2H,KAAKyjN,aAAa3qJ,OAE3D,CAEA0tJ,YAAAA,CAAaC;;AACTzmN,KAAK0mN,2BAA2BD,GAAGvtH,UACnCl5F,KAAKsxK,aAAe,KAChBm1C,GAAGvtH,WACHutH,GAAGvtH,SAAS+jE,QAAUj9J,KAAKyjN,aAAa53F,KACxC46F,GAAGvtH,SAASgkE,OAASl9J,KAAKyjN,aAAasB,IAAM,EAC7C0B,GAAGvtH,SAASs9B,UAAYx2H,KAAKyjN,aAAa3qJ,OAAS,GAEvD94D,KAAK2jN,gBAAkB3jN,KAAK4jN,oBAAoB,EACpD,CACA+C,mBAAAA;;AACI,MAAMF,GAAKzmN,KAAKsxK,aAChBtxK,KAAKwmN,aAAaC,IAClBA,GAAGxoD,OAAQ,EAAItB,UAAU+C,UAAU+mD,GAAGltH,SAClCktH,GAAGr/M,OAASw1J,WAAWzjH,UAAU6rH,WACjChlK,KAAKkjN,iBAAmBuD,GAAGltH,QAC3Bv5F,KAAKsjH,QAAQozD,WAAW+vC,MAGpBA,GAAG93E,MAAMzuI,OAAS,GAClBF,KAAK61H,KAAKsrB,iBAAiBC,IAAIwlE,sBAE/BH,GAAG77C,aACH5qK,KAAK61H,KAAKsrB,iBAAiBC,IAAIylE,2BAEnC7mN,KAAKsjH,QAAQqxD,SAAS8xC,KAE1BzmN,KAAKyjN,aAAaqD,iBACtB,CACAC,kBAAAA,CAAmBN;;AACfzmN,KAAKwmN,aAAaC,IAClBzmN,KAAKsjH,QAAQkxD,UAAUiyC,IACvBzmN,KAAKyjN,aAAaqD,iBACtB,CACAE,kBAAAA,CAAmBP;;AACfzmN,KAAKwmN,aAAaC,IAClBzmN,KAAKsjH,QAAQoxD,UAAU+xC,IACvBzmN,KAAKyjN,aAAaqD,iBACtB,CACAJ,0BAAAA,CAA2BO;;AACvB,GAAIjnN,KAAKujN,sBAAuB,CAQ5B,OALI0D,cAAgBjnN,KAAKujN,sBAAsBrqH,WAC3Cl5F,KAAKujN,sBAAsBrqH,SAAS+jE,QAAUgqD,aAAalqD,UAC3D/8J,KAAKujN,sBAAsBrqH,SAASgkE,OAAS+pD,aAAajqD,SAC1Dh9J,KAAKujN,sBAAsBrqH,SAASs9B,UAAYywF,aAAa/sJ,aAEzDl6D,KAAKujN,sBAAsBn8M,MAC/B,KAAKw1J,WAAWzjH,UAAUyrH,UACtB5kK,KAAKsjH,QAAQ+wD,YAAYr0K,KAAKujN,uBAC9B,MAEJ,KAAK3mD,WAAWzjH,UAAUm7H,eACtBt0K,KAAKsjH,QAAQixD,gBAAgBv0K,KAAKujN,uBAClC,MAEJ,KAAK3mD,WAAWzjH,UAAU2rH,qBACtB9kK,KAAKsjH,QAAQuxD,sBAAsB70K,KAAKujN,uBAIhDvjN,KAAKujN,sBAAwB,IACjC,CACJ,CACA2D,aAAAA;;AACI,MAAMhuH,SAAWl5F,KAAK4jN,mBAAmB,GACrC1qH,WACAA,SAAS+jE,QAAU/jE,SAAS6jE,UAC5B7jE,SAASgkE,OAAShkE,SAAS8jE,SAC3B9jE,SAASs9B,UAAYt9B,SAASh/B,aAElCl6D,KAAK0mN,2BAA2BxtH,UAChCl5F,KAAKsjH,QAAQsxD,MAAM,CAAExtK,KAAMw1J,WAAWzjH,UAAUa,IAAKk/C,WACrDl5F,KAAKmjN,QAAS,CAClB,CAUAgE,kCAAAA,CAAmC//M,KAAMiwD;;AACrC,GAAIr3D,KAAKujN,sBAAuB,CAC5B,GAAIvjN,KAAKujN,sBAAsBn8M,OAASA,KAEpC,YADApH,KAAKujN,sBAAsB/vC,OAASn8G,IAIpCr3D,KAAK2jN,gBAAkB3jN,KAAK4jN,mBAAmB,GAC/C5jN,KAAK0mN,2BAA2B1mN,KAAK2jN,iBACrC3jN,KAAKyjN,aAAaqD,iBAE1B,CACA9mN,KAAKkmN,sBAAsB9+M,KAAMiwD,GACrC,CACA+vJ,cAAAA,CAAeznB;;AACX,MAAMv4L,KAAOwtI,aAAa+qD,IACpB/iC,WAAWzjH,UAAU2rH,qBACrB66B,KAAO+hB,aAAajoC,YAAY4qC,KAC5BznD,WAAWzjH,UAAUm7H,eACrB1X,WAAWzjH,UAAUyrH,UAC/B5kK,KAAKmnN,mCAAmC//M,KAAMm9B,OAAOw8C,cAAc4+G,IACvE,CAGA0nB,UAAAA,CAAWhwJ;;AACPr3D,KAAKmnN,mCAAmCvqD,WAAWzjH,UAAUyrH,UAAWvtG,GAC5E,CAEAiwJ,wBAAAA;;AACItnN,KAAKojN,YAAcpjN,KAAKwE,MACxBxE,KAAKwE,MAAQo9M,MAAM2F,oBACnBvnN,KAAKqjN,eAAiBrjN,KAAKyjN,aAAa9uG,IACxC30G,KAAK6jN,cAAc2D,YAAYxnN,KAAKynN,mCAAqC9F,SAAS+F,aAAaC,UAAYhG,SAAS+F,aAAaE,OACrI,CACAH,gCAAAA;;AACI,OAAQznN,KAAKojN,cAAgBxB,MAAMiG,+BAC/B7nN,KAAKojN,cAAgBxB,MAAMkG,+BAC3B9nN,KAAKojN,cAAgBxB,MAAMmG,wBACnC,CACA9D,2CAAAA,CAA4CtkB;;AACpC3/L,KAAKynN,mCACLznN,KAAKwjN,YAAYzlN,OAASwmC,OAAOw8C,cAAc4+G,IAG/C3/L,KAAKonN,eAAeznB,GAE5B,CAEAwlB,UAAAA,CAAWxlB;;AACP,OAAQ3/L,KAAKwE,OACT,KAAKo9M,MAAMmB,KACP/iN,KAAKgoN,WAAWroB,IAChB,MAEJ,KAAKiiB,MAAMl/C,OACP1iK,KAAKioN,aAAatoB,IAClB,MAEJ,KAAKiiB,MAAMh/C,QACP5iK,KAAKkoN,cAAcvoB,IACnB,MAEJ,KAAKiiB,MAAM1+C,YACPljK,KAAKmoN,iBAAiBxoB,IACtB,MAEJ,KAAKiiB,MAAM1zC,UACPluK,KAAKooN,gBAAgBzoB,IACrB,MAEJ,KAAKiiB,MAAMyG,SACProN,KAAKsoN,cAAc3oB,IACnB,MAEJ,KAAKiiB,MAAM2G,aACPvoN,KAAKwoN,iBAAiB7oB,IACtB,MAEJ,KAAKiiB,MAAM6G,SACPzoN,KAAK0oN,cAAc/oB,IACnB,MAEJ,KAAKiiB,MAAM+G,sBACP3oN,KAAK4oN,yBAAyBjpB,IAC9B,MAEJ,KAAKiiB,MAAMiH,oBACP7oN,KAAK8oN,uBAAuBnpB,IAC5B,MAEJ,KAAKiiB,MAAMmH,oBACP/oN,KAAKgpN,uBAAuBrpB,IAC5B,MAEJ,KAAKiiB,MAAMqH,uBACPjpN,KAAKkpN,0BAA0BvpB,IAC/B,MAEJ,KAAKiiB,MAAMuH,qBACPnpN,KAAKopN,wBAAwBzpB,IAC7B,MAEJ,KAAKiiB,MAAMyH,qBACPrpN,KAAKspN,wBAAwB3pB,IAC7B,MAEJ,KAAKiiB,MAAM2H,2BACPvpN,KAAKwpN,6BAA6B7pB,IAClC,MAEJ,KAAKiiB,MAAM6H,yBACPzpN,KAAK0pN,2BAA2B/pB,IAChC,MAEJ,KAAKiiB,MAAM+H,yBACP3pN,KAAK4pN,2BAA2BjqB,IAChC,MAEJ,KAAKiiB,MAAMiI,yBACP7pN,KAAK8pN,4BAA4BnqB,IACjC,MAEJ,KAAKiiB,MAAMmI,8BACP/pN,KAAKgqN,gCAAgCrqB,IACrC,MAEJ,KAAKiiB,MAAMqI,oBACPjqN,KAAKkqN,wBAAwBvqB,IAC7B,MAEJ,KAAKiiB,MAAMuI,yBACPnqN,KAAKoqN,4BAA4BzqB,IACjC,MAEJ,KAAKiiB,MAAMyI,8BACPrqN,KAAKsqN,gCAAgC3qB,IACrC,MAEJ,KAAKiiB,MAAM2I,mCACPvqN,KAAKwqN,oCAAoC7qB,IACzC,MAEJ,KAAKiiB,MAAM6I,iCACPzqN,KAAK0qN,kCAAkC/qB,IACvC,MAEJ,KAAKiiB,MAAM+I,iCACP3qN,KAAK4qN,kCAAkCjrB,IACvC,MAEJ,KAAKiiB,MAAMiJ,gCACP7qN,KAAK8qN,kCAAkCnrB,IACvC,MAEJ,KAAKiiB,MAAMmJ,2BACP/qN,KAAKgrN,8BAA8BrrB,IACnC,MAEJ,KAAKiiB,MAAMqJ,gCACPjrN,KAAKkrN,kCAAkCvrB,IACvC,MAEJ,KAAKiiB,MAAMuJ,qCACPnrN,KAAKorN,sCAAsCzrB,IAC3C,MAEJ,KAAKiiB,MAAMyJ,0CACPrrN,KAAKsrN,0CAA0C3rB,IAC/C,MAEJ,KAAKiiB,MAAM2J,8BACPvrN,KAAKwrN,gCAAgC7rB,IACrC,MAEJ,KAAKiiB,MAAM6J,sBACPzrN,KAAK0rN,0BAA0B/rB,IAC/B,MAEJ,KAAKiiB,MAAM+J,eACP3rN,KAAK4rN,oBAAoBjsB,IACzB,MAEJ,KAAKiiB,MAAMiK,qBACP7rN,KAAK8rN,yBAAyBnsB,IAC9B,MAEJ,KAAKiiB,MAAMmK,uBACP/rN,KAAKgsN,2BAA2BrsB,IAChC,MAEJ,KAAKiiB,MAAMiG,8BACP7nN,KAAKisN,iCAAiCtsB,IACtC,MAEJ,KAAKiiB,MAAMkG,8BACP9nN,KAAKksN,iCAAiCvsB,IACtC,MAEJ,KAAKiiB,MAAMmG,yBACP/nN,KAAKmsN,6BAA6BxsB,IAClC,MAEJ,KAAKiiB,MAAMwK,6BACPpsN,KAAKqsN,gCAAgC1sB,IACrC,MAEJ,KAAKiiB,MAAM0K,uBACPtsN,KAAKusN,0BAA0B5sB,IAC/B,MAEJ,KAAKiiB,MAAM4K,cACPxsN,KAAKysN,mBAAmB9sB,IACxB,MAEJ,KAAKiiB,MAAM8K,wBACP1sN,KAAK2sN,4BAA4BhtB,IACjC,MAEJ,KAAKiiB,MAAMgL,cACP5sN,KAAK6sN,mBAAmBltB,IACxB,MAEJ,KAAKiiB,MAAMkL,mBACP9sN,KAAK+sN,uBAAuBptB,IAC5B,MAEJ,KAAKiiB,MAAM9oK,QACP94C,KAAKgtN,cAAcrtB,IACnB,MAEJ,KAAKiiB,MAAMqL,uBACPjtN,KAAKktN,0BAA0BvtB,IAC/B,MAEJ,KAAKiiB,MAAMuL,4BACPntN,KAAKotN,8BAA8BztB,IACnC,MAEJ,KAAKiiB,MAAMyL,iCACPrtN,KAAKstN,kCAAkC3tB,IACvC,MAEJ,KAAKiiB,MAAM2L,sCACPvtN,KAAKwtN,sCAAsC7tB,IAC3C,MAEJ,KAAKiiB,MAAM6L,iBACPztN,KAAK0tN,qBAAqB/tB,IAC1B,MAEJ,KAAKiiB,MAAM+L,YACP3tN,KAAK4tN,iBAAiBjuB,IACtB,MAEJ,KAAKiiB,MAAMiM,iBACP7tN,KAAK8tN,qBAAqBnuB,IAC1B,MAEJ,KAAKiiB,MAAMntC,QACPz0K,KAAK+tN,cAAcpuB,IACnB,MAEJ,KAAKiiB,MAAMoM,oBACPhuN,KAAKiuN,wBAAwBtuB,IAC7B,MAEJ,KAAKiiB,MAAMsM,aACPluN,KAAKmuN,kBAAkBxuB,IACvB,MAEJ,KAAKiiB,MAAMwM,mBACPpuN,KAAKquN,uBAAuB1uB,IAC5B,MAEJ,KAAKiiB,MAAM0M,6BACPtuN,KAAKuuN,gCAAgC5uB,IACrC,MAEJ,KAAKiiB,MAAM4M,iCACPxuN,KAAKyuN,oCAAoC9uB,IACzC,MAEJ,KAAKiiB,MAAM8M,wCACP1uN,KAAK2uN,0CAA0ChvB,IAC/C,MAEJ,KAAKiiB,MAAMgN,wCACP5uN,KAAK6uN,0CAA0ClvB,IAC/C,MAEJ,KAAKiiB,MAAMkN,gCACP9uN,KAAK+uN,mCAAmCpvB,IACxC,MAEJ,KAAKiiB,MAAMoN,8CACPhvN,KAAKivN,+CAA+CtvB,IACpD,MAEJ,KAAKiiB,MAAMsN,6BACPlvN,KAAKmvN,gCAAgCxvB,IACrC,MAEJ,KAAKiiB,MAAMwN,iCACPpvN,KAAKqvN,oCAAoC1vB,IACzC,MAEJ,KAAKiiB,MAAM0N,wCACPtvN,KAAKuvN,0CAA0C5vB,IAC/C,MAEJ,KAAKiiB,MAAM4N,wCACPxvN,KAAKyvN,0CAA0C9vB,IAC/C,MAEJ,KAAKiiB,MAAM8N,gCACP1vN,KAAK2vN,mCAAmChwB,IACxC,MAEJ,KAAKiiB,MAAMgO,cACP5vN,KAAK6vN,mBAAmBlwB,IACxB,MAEJ,KAAKiiB,MAAMoB,cACPhjN,KAAK8vN,mBAAmBnwB,IACxB,MAEJ,KAAKiiB,MAAMmO,sBACP/vN,KAAKgwN,0BAA0BrwB,IAC/B,MAEJ,KAAKiiB,MAAMqO,kBACPjwN,KAAKkwN,sBAAsBvwB,IAC3B,MAEJ,KAAKiiB,MAAM2F,oBACPvnN,KAAKmwN,2BACL,MAEJ,KAAKvO,MAAMwO,oBACPpwN,KAAKqwN,yBAAyB1wB,IAC9B,MAEJ,QACI,MAAM,IAAI5vL,MAAM,iBAG5B,CAIAi4M,UAAAA,CAAWroB;;AACP,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAMyG,SACnB,MAEJ,KAAK3G,aAAajoC,YAAY82C,UAC1BvwN,KAAKsnN,2BACL,MAEJ,KAAK5F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKonN,eAAeznB,IACpB,MAEJ,KAAK+hB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAsoB,YAAAA,CAAatoB;;AACT,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY82C,UAC1BvwN,KAAKsnN,2BACL,MAEJ,KAAK5F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAM+G,sBACnB,MAEJ,KAAKjH,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAuoB,aAAAA,CAAcvoB;;AACV,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAMqH,uBACnB,MAEJ,KAAKvH,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAwoB,gBAAAA,CAAiBxoB;;AACb,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAM2H,2BACnB,MAEJ,KAAK7H,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAyoB,eAAAA,CAAgBzoB;;AACZ,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGA2oB,aAAAA,CAAc3oB;;AACV,GAAIqiB,cAAcriB,IACd3/L,KAAK6lN,uBACL7lN,KAAKwE,MAAQo9M,MAAM6G,SACnBzoN,KAAK0oN,cAAc/oB,SAGnB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYg3C,iBAC1BzwN,KAAKwE,MAAQo9M,MAAM8K,wBACnB,MAEJ,KAAKhL,aAAajoC,YAAYopC,QAC1B7iN,KAAKwE,MAAQo9M,MAAM2G,aACnB,MAEJ,KAAK7G,aAAajoC,YAAYi3C,cAC1B1wN,KAAK61H,KAAKsrB,iBAAiBC,IAAIuvE,wCAC/B3wN,KAAK+lN,oBAAoB,GACzB/lN,KAAKwE,MAAQo9M,MAAM4K,cACnBxsN,KAAKysN,mBAAmB9sB,IACxB,MAEJ,KAAK+hB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIwvE,kBAC/B5wN,KAAKqnN,WAAW,KAChBrnN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIyvE,gCAC/B7wN,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgoN,WAAWroB,IAGhC,CAGA6oB,gBAAAA,CAAiB7oB;;AACb,GAAIqiB,cAAcriB,IACd3/L,KAAK8lN,qBACL9lN,KAAKwE,MAAQo9M,MAAM6G,SACnBzoN,KAAK0oN,cAAc/oB,SAGnB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI0vE,mBAC/B9wN,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIwvE,kBAC/B5wN,KAAKqnN,WAAW,MAChBrnN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIyvE,gCAC/B7wN,KAAK+lN,oBAAoB,GACzB/lN,KAAKwE,MAAQo9M,MAAM4K,cACnBxsN,KAAKysN,mBAAmB9sB,IAGxC,CAGA+oB,aAAAA,CAAc/oB;;AACV,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKwE,MAAQo9M,MAAM6J,sBACnB,MAEJ,KAAK/J,aAAajoC,YAAYopC,QAC1B7iN,KAAKwE,MAAQo9M,MAAM0K,uBACnB,MAEJ,KAAK5K,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK2mN,sBACL,MAEJ,KAAKjF,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMg+D,SAAWmoH,aAAa3rC,sBAC9B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMg+D,SAAWh1D,OAAOw8C,cAAc8gI,aAAaliB,IAAM6iB,aAAa7iB,IAAMA,IAGxF,CAGAipB,wBAAAA,CAAyBjpB;;AACjBA,KAAO+hB,aAAajoC,YAAYopC,QAChC7iN,KAAKwE,MAAQo9M,MAAMiH,qBAGnB7oN,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAMl/C,OACnB1iK,KAAKioN,aAAatoB,IAE1B,CAGAmpB,sBAAAA,CAAuBnpB;;AACfqiB,cAAcriB,KACd3/L,KAAKwE,MAAQo9M,MAAMmH,oBACnB/oN,KAAKgpN,uBAAuBrpB,MAG5B3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMl/C,OACnB1iK,KAAKioN,aAAatoB,IAE1B,CACAqxB,mBAAAA,CAAoBC;;AAChB,IAAKjxN,KAAKyjN,aAAa15M,WAAW/J,KAAKkjN,kBAAkB,GACrD,OAAQljN,KAAKklN,qBAEjBllN,KAAK8lN,qBACS9lN,KAAKsxK,aACb/3E,QAAUv5F,KAAKkjN,iBAErB,OADWljN,KAAKyjN,aAAa7jM,KAAK5f,KAAKkjN,iBAAiBhjN,SAEpD,KAAKwhN,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAG1B,OAFA3iN,KAAK0lN,WAAW1lN,KAAKkjN,iBAAiBhjN,QACtCF,KAAKwE,MAAQo9M,MAAM6J,uBACZ,EAEX,KAAK/J,aAAajoC,YAAYopC,QAG1B,OAFA7iN,KAAK0lN,WAAW1lN,KAAKkjN,iBAAiBhjN,QACtCF,KAAKwE,MAAQo9M,MAAM0K,wBACZ,EAEX,KAAK5K,aAAajoC,YAAYqpC,kBAI1B,OAHA9iN,KAAK0lN,WAAW1lN,KAAKkjN,iBAAiBhjN,QACtCF,KAAK2mN,sBACL3mN,KAAKwE,MAAQo9M,MAAMmB,MACZ,EAEX,QACI,OAAQ/iN,KAAKklN,qBAGzB,CAGA8D,sBAAAA,CAAuBrpB;;AACf3/L,KAAKgxN,oBAAoBrxB,MACzB3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMl/C,OACnB1iK,KAAKioN,aAAatoB,IAE1B,CAGAupB,yBAAAA,CAA0BvpB;;AAClBA,KAAO+hB,aAAajoC,YAAYopC,QAChC7iN,KAAKwE,MAAQo9M,MAAMuH,sBAGnBnpN,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAMh/C,QACnB5iK,KAAKkoN,cAAcvoB,IAE3B,CAGAypB,uBAAAA,CAAwBzpB;;AAChBqiB,cAAcriB,KACd3/L,KAAKwE,MAAQo9M,MAAMyH,qBACnBrpN,KAAKspN,wBAAwB3pB,MAG7B3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMh/C,QACnB5iK,KAAKkoN,cAAcvoB,IAE3B,CAGA2pB,uBAAAA,CAAwB3pB;;AAChB3/L,KAAKgxN,oBAAoBrxB,MACzB3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMh/C,QACnB5iK,KAAKkoN,cAAcvoB,IAE3B,CAGA6pB,4BAAAA,CAA6B7pB;;AACzB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYopC,QAC1B7iN,KAAKwE,MAAQo9M,MAAM6H,yBACnB,MAEJ,KAAK/H,aAAajoC,YAAYg3C,iBAC1BzwN,KAAKwE,MAAQo9M,MAAMiI,yBACnB7pN,KAAKqnN,WAAW,MAChB,MAEJ,QACIrnN,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKmoN,iBAAiBxoB,IAGlC,CAGA+pB,0BAAAA,CAA2B/pB;;AACnBqiB,cAAcriB,KACd3/L,KAAKwE,MAAQo9M,MAAM+H,yBACnB3pN,KAAK4pN,2BAA2BjqB,MAGhC3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKmoN,iBAAiBxoB,IAE9B,CAGAiqB,0BAAAA,CAA2BjqB;;AACnB3/L,KAAKgxN,oBAAoBrxB,MACzB3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKmoN,iBAAiBxoB,IAE9B,CAGAmqB,2BAAAA,CAA4BnqB;;AACpBA,KAAO+hB,aAAajoC,YAAYy3C,cAChClxN,KAAKwE,MAAQo9M,MAAMmI,8BACnB/pN,KAAKqnN,WAAW,OAGhBrnN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKmoN,iBAAiBxoB,IAE9B,CAGAqqB,+BAAAA,CAAgCrqB;;AACxBA,KAAO+hB,aAAajoC,YAAYy3C,cAChClxN,KAAKwE,MAAQo9M,MAAMyI,8BACnBrqN,KAAKqnN,WAAW,OAGhBrnN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKmoN,iBAAiBxoB,IAE9B,CAGAuqB,uBAAAA,CAAwBvqB;;AACpB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAMuI,yBACnBnqN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAM2I,mCACnB,MAEJ,KAAK7I,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+vE,gCAC/BnxN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAyqB,2BAAAA,CAA4BzqB;;AACxB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAMyI,8BACnBrqN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAM2I,mCACnB,MAEJ,KAAK7I,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+vE,gCAC/BnxN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKonN,eAAeznB,IAGhC,CAGA2qB,+BAAAA,CAAgC3qB;;AAC5B,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAM2I,mCACnB,MAEJ,KAAK7I,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+vE,gCAC/BnxN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKonN,eAAeznB,IAGhC,CAGA6qB,mCAAAA,CAAoC7qB;;AAC5BA,KAAO+hB,aAAajoC,YAAYopC,QAChC7iN,KAAKwE,MAAQo9M,MAAM6I,iCAEdzI,cAAcriB,KACnB3/L,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAMiJ,gCACnB7qN,KAAK8qN,kCAAkCnrB,MAGvC3/L,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKkqN,wBAAwBvqB,IAErC,CAGA+qB,iCAAAA,CAAkC/qB;;AAC1BqiB,cAAcriB,KACd3/L,KAAKwE,MAAQo9M,MAAM+I,iCACnB3qN,KAAK4qN,kCAAkCjrB,MAGvC3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKkqN,wBAAwBvqB,IAErC,CAGAirB,iCAAAA,CAAkCjrB;;AAC1B3/L,KAAKgxN,oBAAoBrxB,MACzB3/L,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKkqN,wBAAwBvqB,IAErC,CAGAmrB,iCAAAA,CAAkCnrB;;AAC9B,GAAI3/L,KAAKyjN,aAAa15M,WAAW23M,aAAahiB,UAAUz8B,QAAQ,IAC5D2/C,oCAAoC5iN,KAAKyjN,aAAa7jM,KAAK8hM,aAAahiB,UAAUz8B,OAAO/iK,SAAU,CACnGF,KAAKonN,eAAeznB,IACpB,IAAK,IAAIl/L,EAAI,EAAGA,EAAIihN,aAAahiB,UAAUz8B,OAAO/iK,OAAQO,IACtDT,KAAKonN,eAAepnN,KAAKilN,YAE7BjlN,KAAKwE,MAAQo9M,MAAMmJ,0BACvB,MACU/qN,KAAKklN,uBACXllN,KAAKwE,MAAQo9M,MAAMqI,oBACnBjqN,KAAKkqN,wBAAwBvqB,IAErC,CAGAqrB,6BAAAA,CAA8BrrB;;AAC1B,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAMqJ,gCACnBjrN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAMyJ,0CACnBrrN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+vE,gCAC/BnxN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAurB,iCAAAA,CAAkCvrB;;AAC9B,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAMuJ,qCACnBnrN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAMyJ,0CACnBrrN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwE,MAAQo9M,MAAMmJ,2BACnB/qN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+vE,gCAC/BnxN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwE,MAAQo9M,MAAMmJ,2BACnB/qN,KAAKonN,eAAeznB,IAGhC,CAGAyrB,qCAAAA,CAAsCzrB;;AAClC,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY62C,eAC1BtwN,KAAKwE,MAAQo9M,MAAMyJ,0CACnBrrN,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAM1+C,YACnBljK,KAAKqnN,WAAW,KAChB,MAEJ,KAAK3F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwE,MAAQo9M,MAAMmJ,2BACnB/qN,KAAKqnN,WAAW3F,aAAa3rC,uBAC7B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+vE,gCAC/BnxN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwE,MAAQo9M,MAAMmJ,2BACnB/qN,KAAKonN,eAAeznB,IAGhC,CAGA2rB,yCAAAA,CAA0C3rB;;AAClCA,KAAO+hB,aAAajoC,YAAYopC,SAChC7iN,KAAKwE,MAAQo9M,MAAM2J,8BACnBvrN,KAAKqnN,WAAW,OAGhBrnN,KAAKwE,MAAQo9M,MAAMmJ,2BACnB/qN,KAAKgrN,8BAA8BrrB,IAE3C,CAGA6rB,+BAAAA,CAAgC7rB;;AAC5B,GAAI3/L,KAAKyjN,aAAa15M,WAAW23M,aAAahiB,UAAUz8B,QAAQ,IAC5D2/C,oCAAoC5iN,KAAKyjN,aAAa7jM,KAAK8hM,aAAahiB,UAAUz8B,OAAO/iK,SAAU,CACnGF,KAAKonN,eAAeznB,IACpB,IAAK,IAAIl/L,EAAI,EAAGA,EAAIihN,aAAahiB,UAAUz8B,OAAO/iK,OAAQO,IACtDT,KAAKonN,eAAepnN,KAAKilN,YAE7BjlN,KAAKwE,MAAQo9M,MAAMqI,mBACvB,MACUjqN,KAAKklN,uBACXllN,KAAKwE,MAAQo9M,MAAMmJ,2BACnB/qN,KAAKgrN,8BAA8BrrB,IAE3C,CAGA+rB,yBAAAA,CAA0B/rB;;AACtB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAYopC,QAC9B,KAAKnB,aAAajoC,YAAYqpC,kBAC9B,KAAKpB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKwE,MAAQo9M,MAAMiK,qBACnB7rN,KAAK8rN,yBAAyBnsB,IAC9B,MAEJ,KAAK+hB,aAAajoC,YAAY23C,YAC1BpxN,KAAK61H,KAAKsrB,iBAAiBC,IAAIiwE,yCAC/BrxN,KAAKmmN,YAAY,KACjBnmN,KAAKwE,MAAQo9M,MAAM+J,eACnB,MAEJ,QACI3rN,KAAKmmN,YAAY,IACjBnmN,KAAKwE,MAAQo9M,MAAM+J,eACnB3rN,KAAK4rN,oBAAoBjsB,IAGrC,CAGAisB,mBAAAA,CAAoBjsB;;AAChB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC9B,KAAKjB,aAAajoC,YAAYopC,QAC9B,KAAKnB,aAAajoC,YAAYqpC,kBAC9B,KAAKpB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKqmN,iBACLrmN,KAAKwE,MAAQo9M,MAAMiK,qBACnB7rN,KAAK8rN,yBAAyBnsB,IAC9B,MAEJ,KAAK+hB,aAAajoC,YAAY23C,YAC1BpxN,KAAKqmN,iBACLrmN,KAAKwE,MAAQo9M,MAAMmK,uBACnB,MAEJ,KAAKrK,aAAajoC,YAAY63C,eAC9B,KAAK5P,aAAajoC,YAAY83C,WAC9B,KAAK7P,aAAajoC,YAAY62C,eAC1BtwN,KAAK61H,KAAKsrB,iBAAiBC,IAAIowE,oCAC/BxxN,KAAKwjN,YAAYz7M,MAAQw8B,OAAOw8C,cAAc4+G,IAC9C,MAEJ,KAAK+hB,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwjN,YAAYz7M,MAAQ25M,aAAa3rC,sBACtC,MAEJ,QACI/1K,KAAKwjN,YAAYz7M,MAAQw8B,OAAOw8C,cAAc8gI,aAAaliB,IAAM6iB,aAAa7iB,IAAMA,IAGhG,CAGAmsB,wBAAAA,CAAyBnsB;;AACrB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAYopC,QAC1B7iN,KAAKwE,MAAQo9M,MAAM0K,uBACnB,MAEJ,KAAK5K,aAAajoC,YAAY23C,YAC1BpxN,KAAKwE,MAAQo9M,MAAMmK,uBACnB,MAEJ,KAAKrK,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK2mN,sBACL,MAEJ,KAAKjF,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKmmN,YAAY,IACjBnmN,KAAKwE,MAAQo9M,MAAM+J,eACnB3rN,KAAK4rN,oBAAoBjsB,IAGrC,CAGAqsB,0BAAAA,CAA2BrsB;;AACvB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAY63C,eAC1BtxN,KAAKwE,MAAQo9M,MAAMiG,8BACnB,MAEJ,KAAKnG,aAAajoC,YAAY83C,WAC1BvxN,KAAKwE,MAAQo9M,MAAMkG,8BACnB,MAEJ,KAAKpG,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAIqwE,uBAC/BzxN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK2mN,sBACL,MAEJ,QACI3mN,KAAKwE,MAAQo9M,MAAMmG,yBACnB/nN,KAAKmsN,6BAA6BxsB,IAG9C,CAGAssB,gCAAAA,CAAiCtsB;;AAC7B,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY63C,eAC1BtxN,KAAKwE,MAAQo9M,MAAMwK,6BACnB,MAEJ,KAAK1K,aAAajoC,YAAY82C,UAC1BvwN,KAAKsnN,2BACL,MAEJ,KAAK5F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwjN,YAAYzlN,OAAS2jN,aAAa3rC,sBACvC,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwjN,YAAYzlN,OAASwmC,OAAOw8C,cAAc4+G,IAG3D,CAGAusB,gCAAAA,CAAiCvsB;;AAC7B,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAY83C,WAC1BvxN,KAAKwE,MAAQo9M,MAAMwK,6BACnB,MAEJ,KAAK1K,aAAajoC,YAAY82C,UAC1BvwN,KAAKsnN,2BACL,MAEJ,KAAK5F,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwjN,YAAYzlN,OAAS2jN,aAAa3rC,sBACvC,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwjN,YAAYzlN,OAASwmC,OAAOw8C,cAAc4+G,IAG3D,CAGAwsB,4BAAAA,CAA6BxsB;;AACzB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKsmN,kBACLtmN,KAAKwE,MAAQo9M,MAAM6J,sBACnB,MAEJ,KAAK/J,aAAajoC,YAAY82C,UAC1BvwN,KAAKsnN,2BACL,MAEJ,KAAK5F,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKsmN,kBACLtmN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK2mN,sBACL,MAEJ,KAAKjF,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKwjN,YAAYzlN,OAAS2jN,aAAa3rC,sBACvC,MAEJ,KAAK2rC,aAAajoC,YAAY63C,eAC9B,KAAK5P,aAAajoC,YAAY83C,WAC9B,KAAK7P,aAAajoC,YAAY62C,eAC9B,KAAK5O,aAAajoC,YAAY23C,YAC9B,KAAK1P,aAAajoC,YAAYi4C,aAC1B1xN,KAAK61H,KAAKsrB,iBAAiBC,IAAIuwE,6CAC/B3xN,KAAKwjN,YAAYzlN,OAASwmC,OAAOw8C,cAAc4+G,IAC/C,MAEJ,KAAK+hB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKwjN,YAAYzlN,OAASwmC,OAAOw8C,cAAc4+G,IAG3D,CAGA0sB,+BAAAA,CAAgC1sB;;AAC5B,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKsmN,kBACLtmN,KAAKwE,MAAQo9M,MAAM6J,sBACnB,MAEJ,KAAK/J,aAAajoC,YAAYopC,QAC1B7iN,KAAKsmN,kBACLtmN,KAAKwE,MAAQo9M,MAAM0K,uBACnB,MAEJ,KAAK5K,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKsmN,kBACLtmN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK2mN,sBACL,MAEJ,KAAKjF,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIwwE,oCAC/B5xN,KAAKwE,MAAQo9M,MAAM6J,sBACnBzrN,KAAK0rN,0BAA0B/rB,IAG3C,CAGA4sB,yBAAAA,CAA0B5sB;;AACtB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYqpC,kBACZ9iN,KAAKsxK,aACb1G,aAAc,EACpB5qK,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK2mN,sBACL,MAEJ,KAAKjF,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI2vE,UAC/B/wN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIywE,wBAC/B7xN,KAAKwE,MAAQo9M,MAAM6J,sBACnBzrN,KAAK0rN,0BAA0B/rB,IAG3C,CAGA8sB,kBAAAA,CAAmB9sB;;AACf,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK+mN,mBAAmBxrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK+mN,mBAAmBxrL,OACxBv7B,KAAKknN,gBACL,MAEJ,KAAKxF,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMjI,MAAQouL,aAAa3rC,sBAC3B,MAEJ,QACIx6I,MAAMjI,MAAQiR,OAAOw8C,cAAc4+G,IAG/C,CAGAgtB,2BAAAA,CAA4BhtB;;AACpB3/L,KAAK2lN,wBAAwBjE,aAAahiB,UAAUO,WAAW,IAC/DjgM,KAAK+lN,oBAAoBrE,aAAahiB,UAAUO,UAAU//L,OAAS,GACnEF,KAAKwE,MAAQo9M,MAAMgL,eAEd5sN,KAAK2lN,wBAAwBjE,aAAahiB,UAAUjrB,SAAS,IAElEz0K,KAAK2jN,gBAAkB3jN,KAAK4jN,mBAAmBlC,aAAahiB,UAAUjrB,QAAQv0K,OAAS,GACvFF,KAAKwE,MAAQo9M,MAAMntC,SAEdz0K,KAAK2lN,wBAAwBjE,aAAahiB,UAAUQ,aAAa,GAClElgM,KAAKsyK,cACLtyK,KAAKwE,MAAQo9M,MAAMoB,eAGnBhjN,KAAK61H,KAAKsrB,iBAAiBC,IAAI0wE,oBAC/B9xN,KAAK+lN,oBAAoBrE,aAAahiB,UAAUQ,YAAYhgM,OAAS,GACrEF,KAAKsxK,aAAah+I,KAAO,UACzBtzB,KAAKwE,MAAQo9M,MAAM4K,eAKjBxsN,KAAKklN,uBACXllN,KAAK61H,KAAKsrB,iBAAiBC,IAAI2wE,0BAC/B/xN,KAAK+lN,oBAAoB,GACzB/lN,KAAKwE,MAAQo9M,MAAM4K,cACnBxsN,KAAKysN,mBAAmB9sB,IAEhC,CAGAktB,kBAAAA,CAAmBltB;;AACf,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAMkL,mBACnB,MAEJ,KAAKpL,aAAajoC,YAAYqpC,kBAAmB,CAC7C9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI4wE,6BAC/BhyN,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAAMxnL,MAAQv7B,KAAKsxK,aACnBtxK,KAAK+mN,mBAAmBxrL,OACxB,KACJ,CACA,QACIv7B,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAG/B,CAGAotB,sBAAAA,CAAuBptB;;AACnB,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAM+L,YACnB,MAEJ,KAAKjM,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI4wE,6BAC/BhyN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK+mN,mBAAmBxrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI6wE,cAC/BjyN,KAAK+mN,mBAAmBxrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMjI,MAAQ,IACdtzB,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAG/B,CAGAqtB,aAAAA,CAAcrtB;;AACV,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAM6L,iBACnB,MAEJ,KAAK/L,aAAajoC,YAAY62C,eAC1B/0L,MAAMjI,MAAQ,IACdtzB,KAAKwE,MAAQo9M,MAAMqL,uBACnB,MAEJ,KAAKvL,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMjI,MAAQouL,aAAa3rC,sBAC3B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI6wE,cAC/BjyN,KAAK+mN,mBAAmBxrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMjI,MAAQiR,OAAOw8C,cAAc4+G,IAG/C,CAGAutB,yBAAAA,CAA0BvtB;;AACtB,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYg3C,iBAC1Bl1L,MAAMjI,MAAQ,IACdtzB,KAAKwE,MAAQo9M,MAAMuL,4BACnB,MAEJ,KAAKzL,aAAajoC,YAAY62C,eAC1B/0L,MAAMjI,MAAQ,IACd,MAEJ,QACItzB,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAG/B,CAGAytB,6BAAAA,CAA8BztB;;AACtBA,KAAO+hB,aAAajoC,YAAYy3C,aAChClxN,KAAKwE,MAAQo9M,MAAMyL,kCAGnBrtN,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAE3B,CAGA2tB,iCAAAA,CAAkC3tB;;AAC1BA,KAAO+hB,aAAajoC,YAAYy3C,aAChClxN,KAAKwE,MAAQo9M,MAAM2L,uCAGnBvtN,KAAKwE,MAAQo9M,MAAM6L,iBACnBztN,KAAK0tN,qBAAqB/tB,IAElC,CAGA6tB,qCAAAA,CAAsC7tB;;AAC9BA,KAAO+hB,aAAajoC,YAAYqpC,mBAAqBnjB,KAAO+hB,aAAajoC,YAAYz/H,KACrFh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI8wE,eAEnClyN,KAAKwE,MAAQo9M,MAAM+L,YACnB3tN,KAAK4tN,iBAAiBjuB,GAC1B,CAGA+tB,oBAAAA,CAAqB/tB;;AACjB,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1BlxN,KAAKwE,MAAQo9M,MAAM+L,YACnB,MAEJ,KAAKjM,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI6wE,cAC/BjyN,KAAK+mN,mBAAmBxrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMjI,MAAQ,IACdtzB,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAG/B,CAGAiuB,gBAAAA,CAAiBjuB;;AACb,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK+mN,mBAAmBxrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYg3C,iBAC1BzwN,KAAKwE,MAAQo9M,MAAMiM,iBACnB,MAEJ,KAAKnM,aAAajoC,YAAYy3C,aAC1B31L,MAAMjI,MAAQ,IACd,MAEJ,KAAKouL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI6wE,cAC/BjyN,KAAK+mN,mBAAmBxrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMjI,MAAQ,KACdtzB,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAG/B,CAGAmuB,oBAAAA,CAAqBnuB;;AACjB,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYy3C,aAC1B31L,MAAMjI,MAAQ,MACdtzB,KAAKwE,MAAQo9M,MAAM6L,iBACnB,MAEJ,KAAK/L,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI+wE,0BAC/BnyN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAK+mN,mBAAmBxrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI6wE,cAC/BjyN,KAAK+mN,mBAAmBxrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMjI,MAAQ,MACdtzB,KAAKwE,MAAQo9M,MAAM9oK,QACnB94C,KAAKgtN,cAAcrtB,IAG/B,CAGAouB,aAAAA,CAAcpuB;;AACV,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKwE,MAAQo9M,MAAMoM,oBACnB,MAEJ,KAAKtM,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMoM,oBACnBhuN,KAAKiuN,wBAAwBtuB,IAC7B,MAEJ,KAAK+hB,aAAajoC,YAAYz/H,IAAK,CAC/Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/BpyN,KAAKgmN,oBAAoB,MACzB,MAAMzqL,MAAQv7B,KAAKsxK,aACnB/1I,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,KACJ,CACA,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIixE,oCAC/BryN,KAAKwE,MAAQo9M,MAAMoM,oBACnBhuN,KAAKiuN,wBAAwBtuB,IAGzC,CAGAsuB,uBAAAA,CAAwBtuB;;AACpB,GAAIkiB,aAAaliB,IACb3/L,KAAKgmN,oBAAoBzhL,OAAO6pB,aAAao0J,aAAa7iB,MAC1D3/L,KAAKwE,MAAQo9M,MAAMsM,kBAGnB,OAAQvuB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/BxwN,KAAKgmN,oBAAoBtE,aAAa3rC,uBACtC/1K,KAAKwE,MAAQo9M,MAAMsM,aACnB,MAEJ,KAAKxM,aAAajoC,YAAYqpC,kBAAmB,CAC7C9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAIkxE,oBAC/BtyN,KAAKgmN,oBAAoB,MACzB,MAAMzqL,MAAQv7B,KAAKsxK,aACnB/1I,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,KACJ,CACA,KAAKrB,aAAajoC,YAAYz/H,IAAK,CAC/Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/BpyN,KAAKgmN,oBAAoB,MACzB,MAAMzqL,MAAQv7B,KAAKsxK,aACnB/1I,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,KACJ,CACA,QACIlnN,KAAKgmN,oBAAoBzhL,OAAOw8C,cAAc4+G,KAC9C3/L,KAAKwE,MAAQo9M,MAAMsM,aAGnC,CAGAC,iBAAAA,CAAkBxuB;;AACd,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKwE,MAAQo9M,MAAMwM,mBACnB,MAEJ,KAAK1M,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMxzB,MAAQ25M,aAAa3rC,sBAC3B,MAEJ,KAAK2rC,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMxzB,MAAQw8B,OAAOw8C,cAAc8gI,aAAaliB,IAAM6iB,aAAa7iB,IAAMA,IAGrF,CAGA0uB,sBAAAA,CAAuB1uB;;AACnB,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACQlnN,KAAK2lN,wBAAwBjE,aAAahiB,UAAUS,QAAQ,GAC5DngM,KAAKwE,MAAQo9M,MAAM0M,6BAEdtuN,KAAK2lN,wBAAwBjE,aAAahiB,UAAUU,QAAQ,GACjEpgM,KAAKwE,MAAQo9M,MAAMsN,6BAIblvN,KAAKklN,uBACXllN,KAAK61H,KAAKsrB,iBAAiBC,IAAImxE,0CAC/Bh3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,KAIxC,CAGA4uB,+BAAAA,CAAgC5uB;;AAC5B,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKwE,MAAQo9M,MAAM4M,iCACnB,MAEJ,KAAK9M,aAAajoC,YAAY63C,eAC1BtxN,KAAK61H,KAAKsrB,iBAAiBC,IAAIoxE,4CAC/Bj3L,MAAMwmH,SAAW,GACjB/hJ,KAAKwE,MAAQo9M,MAAM8M,wCACnB,MAEJ,KAAKhN,aAAajoC,YAAY83C,WAC1BvxN,KAAK61H,KAAKsrB,iBAAiBC,IAAIoxE,4CAC/Bj3L,MAAMwmH,SAAW,GACjB/hJ,KAAKwE,MAAQo9M,MAAMgN,wCACnB,MAEJ,KAAKlN,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAIqxE,gCAC/Bl3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIsxE,2CAC/Bn3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGA8uB,mCAAAA,CAAoC9uB;;AAChC,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAY63C,eAC1B/1L,MAAMwmH,SAAW,GACjB/hJ,KAAKwE,MAAQo9M,MAAM8M,wCACnB,MAEJ,KAAKhN,aAAajoC,YAAY83C,WAC1Bh2L,MAAMwmH,SAAW,GACjB/hJ,KAAKwE,MAAQo9M,MAAMgN,wCACnB,MAEJ,KAAKlN,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAIqxE,gCAC/Bl3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIsxE,2CAC/Bn3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGAgvB,yCAAAA,CAA0ChvB;;AACtC,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAY63C,eAC1BtxN,KAAKwE,MAAQo9M,MAAMkN,gCACnB,MAEJ,KAAKpN,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMwmH,UAAY2/D,aAAa3rC,sBAC/B,MAEJ,KAAK2rC,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAIuxE,+BAC/Bp3L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMwmH,UAAYx9G,OAAOw8C,cAAc4+G,IAGnD,CAGAkvB,yCAAAA,CAA0ClvB;;AACtC,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAY83C,WAC1BvxN,KAAKwE,MAAQo9M,MAAMkN,gCACnB,MAEJ,KAAKpN,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMwmH,UAAY2/D,aAAa3rC,sBAC/B,MAEJ,KAAK2rC,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAIuxE,+BAC/Bp3L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMwmH,UAAYx9G,OAAOw8C,cAAc4+G,IAGnD,CAGAovB,kCAAAA,CAAmCpvB;;AAC/B,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKwE,MAAQo9M,MAAMoN,8CACnB,MAEJ,KAAKtN,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAY63C,eAC1BtxN,KAAK61H,KAAKsrB,iBAAiBC,IAAIwxE,2DAC/Br3L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM0N,wCACnB,MAEJ,KAAK5N,aAAajoC,YAAY83C,WAC1BvxN,KAAK61H,KAAKsrB,iBAAiBC,IAAIwxE,2DAC/Br3L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM4N,wCACnB,MAEJ,KAAK9N,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIyxE,2CAC/Bt3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGAsvB,8CAAAA,CAA+CtvB;;AAC3C,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAY63C,eAC1B/1L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM0N,wCACnB,MAEJ,KAAK5N,aAAajoC,YAAY83C,WAC1Bh2L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM4N,wCACnB,MAEJ,KAAK9N,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIyxE,2CAC/Bt3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGAwvB,+BAAAA,CAAgCxvB;;AAC5B,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAC1B3iN,KAAKwE,MAAQo9M,MAAMwN,iCACnB,MAEJ,KAAK1N,aAAajoC,YAAY63C,eAC1BtxN,KAAK61H,KAAKsrB,iBAAiBC,IAAI0xE,4CAC/Bv3L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM0N,wCACnB,MAEJ,KAAK5N,aAAajoC,YAAY83C,WAC1BvxN,KAAK61H,KAAKsrB,iBAAiBC,IAAI0xE,4CAC/Bv3L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM4N,wCACnB,MAEJ,KAAK9N,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI2xE,gCAC/Bx3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIyxE,2CAC/Bt3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGA0vB,mCAAAA,CAAoC1vB;;AAChC,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAY63C,eAC1B/1L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM0N,wCACnB,MAEJ,KAAK5N,aAAajoC,YAAY83C,WAC1Bh2L,MAAMymH,SAAW,GACjBhiJ,KAAKwE,MAAQo9M,MAAM4N,wCACnB,MAEJ,KAAK9N,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI2xE,gCAC/Bx3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMmB,KACnB/iN,KAAKgnN,mBAAmBzrL,OACxB,MAEJ,KAAKmmL,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAIyxE,2CAC/Bt3L,MAAM86I,aAAc,EACpBr2K,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGA4vB,yCAAAA,CAA0C5vB;;AACtC,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAY63C,eAC1BtxN,KAAKwE,MAAQo9M,MAAM8N,gCACnB,MAEJ,KAAKhO,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMymH,UAAY0/D,aAAa3rC,sBAC/B,MAEJ,KAAK2rC,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI4xE,+BAC/Bz3L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMymH,UAAYz9G,OAAOw8C,cAAc4+G,IAGnD,CAGA8vB,yCAAAA,CAA0C9vB;;AACtC,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAY83C,WAC1BvxN,KAAKwE,MAAQo9M,MAAM8N,gCACnB,MAEJ,KAAKhO,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/Bj1L,MAAMymH,UAAY0/D,aAAa3rC,sBAC/B,MAEJ,KAAK2rC,aAAajoC,YAAYqpC,kBAC1B9iN,KAAK61H,KAAKsrB,iBAAiBC,IAAI4xE,+BAC/Bz3L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACI3rL,MAAMymH,UAAYz9G,OAAOw8C,cAAc4+G,IAGnD,CAGAgwB,kCAAAA,CAAmChwB;;AAC/B,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYgpC,MAC9B,KAAKf,aAAajoC,YAAYC,UAC9B,KAAKgoC,aAAajoC,YAAYipC,WAC9B,KAAKhB,aAAajoC,YAAYkpC,UAE1B,MAEJ,KAAKjB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIgxE,cAC/B72L,MAAM86I,aAAc,EACpBr2K,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBACL,MAEJ,QACIlnN,KAAK61H,KAAKsrB,iBAAiBC,IAAI6xE,iDAC/BjzN,KAAKwE,MAAQo9M,MAAMgO,cACnB5vN,KAAK6vN,mBAAmBlwB,IAGpC,CAGAkwB,kBAAAA,CAAmBlwB;;AACf,MAAMpkK,MAAQv7B,KAAKsxK,aACnB,OAAQquB,IACJ,KAAK+hB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAY4qC,KAC1BrkN,KAAK61H,KAAKsrB,iBAAiBC,IAAIovE,yBAC/B,MAEJ,KAAK9O,aAAajoC,YAAYz/H,IAC1Bh6C,KAAKgnN,mBAAmBzrL,OACxBv7B,KAAKknN,gBAMjB,CAGA4I,kBAAAA,CAAmBnwB;;AACf,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYy5C,qBAC1BlzN,KAAKwE,MAAQo9M,MAAMmO,sBACnB,MAEJ,KAAKrO,aAAajoC,YAAYz/H,IAC1Bh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAI+xE,YAC/BnzN,KAAKknN,gBACL,MAEJ,QACIlnN,KAAKonN,eAAeznB,IAGhC,CAGAqwB,yBAAAA,CAA0BrwB;;AAClBA,KAAO+hB,aAAajoC,YAAYy5C,qBAChClzN,KAAKwE,MAAQo9M,MAAMqO,mBAGnBjwN,KAAKqnN,WAAW,KAChBrnN,KAAKwE,MAAQo9M,MAAMoB,cACnBhjN,KAAK8vN,mBAAmBnwB,IAEhC,CAGAuwB,qBAAAA,CAAsBvwB;;AAClB,OAAQA,IACJ,KAAK+hB,aAAajoC,YAAYqpC,kBAC1B9iN,KAAKwE,MAAQo9M,MAAMmB,KACnB,MAEJ,KAAKrB,aAAajoC,YAAYy5C,qBAC1BlzN,KAAKqnN,WAAW,KAChB,MAEJ,QACIrnN,KAAKqnN,WAAW,MAChBrnN,KAAKwE,MAAQo9M,MAAMoB,cACnBhjN,KAAK8vN,mBAAmBnwB,IAGpC,CAGAwwB,wBAAAA;;AACI,IAAIjwN,OAASF,KAAK6jN,cAAc7jL,MAAMhgC,KAAKyjN,aAAanjE,KAAMtgJ,KAAKyjN,aAAa9uG,KAChF,GAAIz0G,OAAS,EAAG,CACZ,IAAIF,KAAKyjN,aAAa2P,iBAUlB,OALApzN,KAAKmjN,QAAS,EAEdnjN,KAAKyjN,aAAa9uG,IAAM30G,KAAKyjN,aAAanjE,KAAKpgJ,OAAS,EACxDF,KAAKsjN,sBAAwB,OAC7BtjN,KAAKyjN,aAAa8B,eAAgB,GARlCrlN,OAASF,KAAK6jN,cAAcz9L,KAWpC,CACe,IAAXlmB,QAGAF,KAAKyjN,aAAa9uG,IAAM30G,KAAKqjN,eAC7BrjN,KAAKikN,4CAA4CvC,aAAajoC,YAAY82C,WAC1EvwN,KAAKwE,OACAxE,KAAKynN,oCAAsCrF,oBAAoBpiN,KAAKyjN,aAAa7jM,KAAK,IACjFgiM,MAAMwO,oBACNpwN,KAAKojN,aAIfpjN,KAAKwE,MAAQxE,KAAKojN,WAE1B,CAGAiN,wBAAAA,CAAyB1wB;;AACjByiB,oBAAoBziB,IACpB3/L,KAAKikN,4CAA4CtkB,KAG7CA,KAAO+hB,aAAajoC,YAAY45C,WAChCrzN,KAAK61H,KAAKsrB,iBAAiBC,IAAIkyE,gCAEnCtzN,KAAKwE,MAAQxE,KAAKojN,YAClBpjN,KAAKmlN,WAAWxlB,IAExB,E,6ECnpFJ,IAEI4zB,6BAA8BC,+BAAgCC,kCA0B9DC,gCAAiCC,kCAAmCC,qCA+CpEC,8BAA+BC,gCAAiCC,mCA2BhEC,kCAAmCC,oCAAqCC,uCA2BxEC,6BAA8BC,+BAAgCC,kCA8B9DC,6BA/JAC,8BAAgCz3N,oBAAQ,OACxC03N,8BAAgC13N,oBAAQ,OAE5Cy2N,6BAA+B,SAAe9hN;;AAC5C,OAAO8iN,8BAA8Bn1E,WAAW3tI,EAClD,EACA+hN,+BAAiC,SAAiB/hN;;AAChD,MAAU,KAANA,GAA+E,iBAA5D8iN,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,UAGpB,iBAApC8hN,6BAA6B9hN,EAC7C,EACAgiN,kCAAoC,CAClCvtN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,mBAAoBphI,IAEtCzR,KAAK6yI,aAAa,mBAAoB0gF,6BAA6B9hN,GAEvE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,mBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB20N,gCAAkC,SAAejiN;;AAC/C,MAAM5I,MAAQ0rN,8BAA8B11K,WAAWptC,GACvD,IAAK5I,MAAM3I,QAAU2I,MAAM3I,OAAS,EAClC,OAEF,MAAMu0N,eAAiB,CAAC,OAAQ,SAAU,SACpCC,eAAiB,CAAC,MAAO,SAAU,UACzC,GAAqB,IAAjB7rN,MAAM3I,OAAc,CACtB,MAAMuiD,IAAM8xK,8BAA8B71E,iBAAiB71I,MAAM,IACjE,GAAI45C,IACF,OAAOA,IAET,MAAMy8F,cAAgB,IAAI//I,IAAI,IAAIs1N,kBAAmBC,iBACrD,OAAOH,8BAA8Bt1E,aAAaxtI,EAAG,IAAIytI,eAC3D,CACA,MAAOy1E,MAAOC,OAAS/rN,MACjBgsN,KAAON,8BAA8B71E,iBAAiBi2E,QAAUJ,8BAA8Bt1E,aAAa01E,MAAOF,gBACxH,GAAII,KAAM,CACR,MAAMC,KAAOP,8BAA8B71E,iBAAiBk2E,QAAUL,8BAA8Bt1E,aAAa21E,MAAOF,gBACxH,GAAII,KACF,MAAO,GAAGD,QAAQC,MAEtB,CACF,EACAnB,kCAAoC,SAAiBliN;;AACnD,MAAU,KAANA,GAGiD,iBAAvCiiN,gCAAgCjiN,EAChD,EACAmiN,qCAAuC,CACrC1tN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,sBAAuBphI,IAEzCzR,KAAK6yI,aAAa,sBAAuB6gF,gCAAgCjiN,GAE7E,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,sBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB80N,8BAAgC,SAAepiN,GAE7C,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,SAAU,WAAY,WAAY,YAAa,QAAS,SAE5E,EACAqiN,gCAAkC,SAAiBriN;;AACjD,MAAU,KAANA,GAG+C,iBAArCoiN,8BAA8BpiN,EAC9C,EACAsiN,mCAAqC,CACnC7tN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,oBAAqBphI,IAEvCzR,KAAK6yI,aAAa,oBAAqBghF,8BAA8BpiN,GAEzE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,oBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBi1N,kCAAoC,SAAeviN,GAEjD,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,QAAS,SAAU,SAEvC,EACAwiN,oCAAsC,SAAiBxiN;;AACrD,MAAU,KAANA,GAGmD,iBAAzCuiN,kCAAkCviN,EAClD,EACAyiN,uCAAyC,CACvChuN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,wBAAyBphI,IAE3CzR,KAAK6yI,aAAa,wBAAyBmhF,kCAAkCviN,GAEjF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,wBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBo1N,6BAA+B,SAAe1iN;;AAC5C,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACA2iN,+BAAiC,SAAiB3iN;;AAChD,MAAU,KAANA,GAAqE,iBAAlD8iN,8BAA8Bt1E,aAAaxtI,IAG3D8iN,8BAA8Bx0E,aAAatuI,EACpD,EACA4iN,kCAAoC,CAClCnuN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,mBAAoBphI,IAEtCzR,KAAK6yI,aAAa,mBAAoBshF,6BAA6B1iN,GAEvE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,mBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAOhB,MAAMg2N,kCAAoC,IAAIlqN,IAAI,CAAC,CAAC,mBAAoB,CACtEwrB,MAAOk9L,6BACPzzE,QAAS0zE,+BACTrqC,WAAYsqC,oCACV,CAAC,sBAAuB,CAC1Bp9L,MAAOq9L,gCACP5zE,QAAS6zE,kCACTxqC,WAAYyqC,uCACV,CAAC,oBAAqB,CACxBv9L,MAAOw9L,8BACP/zE,QAASg0E,gCACT3qC,WAAY4qC,qCACV,CAAC,wBAAyB,CAC5B19L,MAAO29L,kCACPl0E,QAASm0E,oCACT9qC,WAAY+qC,yCACV,CAAC,mBAAoB,CACvB79L,MAAO89L,6BACPr0E,QAASs0E,+BACTjrC,WAAYkrC,sCAiCd,IAAIW,yBAA0BC,2BAA4BC,8BAgCtDC,yBAA0BC,2BAA4BC,8BA+BtDC,yBAA0BC,2BAA4BC,8BA+BtDC,yBA7HJnB,6BAA+B,CAC7BpuN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD,UAAU1lE,KAAKve,GAAI,CACrB,IAAK,MAAOvD,OAAQ6mN,kCAClB/0N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,aAAc2hF,8BAA8BvmK,eAAex8C,GAC/E,MAAO,GAAI8iN,8BAA8Bn2E,WAAW3sI,GAAI,CACtD,IAAK,MAAOvD,OAAQ6mN,kCAClB/0N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,aAAcphI,EAClC,MACEzR,KAAK01N,iBAAiB,aAAcjkN,EAAGsjN,kCAE3C,EACA9nN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,cAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,aAAcZ,mCACtCR,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhBi2N,yBAA2B,SAAevjN;;AACxC,MACMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EADtC,CAAC,OAAQ,SAAU,UAEpC,OAAIvD,KAGGqmN,8BAA8Bh2E,YAAY9sI,GAAG,EACtD,EACAwjN,2BAA6B,SAAiBxjN;;AAC5C,MAAU,KAANA,GAG0C,iBAAhCujN,yBAAyBvjN,EACzC,EACAyjN,8BAAgC,CAC9BhvN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,GAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgBphI,OAC7B,CACL,MAAMmkN,UAAY,CAAC,MAAO,QAAS,SAAU,QAC7C51N,KAAK61N,gBAAgB,SAAU,QAASpkN,EAAGwjN,2BAA4BD,yBAA0BY,UACnG,CACF,EACA3oN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,eAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBo2N,yBAA2B,SAAe1jN,GAExC,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,UAEzG,EACA2jN,2BAA6B,SAAiB3jN;;AAC5C,MAAU,KAANA,GAG0C,iBAAhC0jN,yBAAyB1jN,EACzC,EACA4jN,8BAAgC,CAC9BnvN,GAAAA,CAAIuL,GAKF;;AAJAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD,UAAU1lE,KAAKve,KACjBA,EAAI,IAEF8iN,8BAA8Bn2E,WAAW3sI,GAG3C,OAFAzR,KAAK6yI,aAAa,SAAU,SAC5B7yI,KAAK6yI,aAAa,eAAgBphI,GAIpCzR,KAAK61N,gBAAgB,SAAU,QAASpkN,EAAG2jN,2BAA4BD,yBADrD,CAAC,MAAO,QAAS,SAAU,QAE/C,EACAloN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,eAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBu2N,yBAA2B,SAAe7jN;;AACxC,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACA8jN,2BAA6B,SAAiB9jN;;AAC5C,MAAU,KAANA,GAAqE,iBAAlD8iN,8BAA8Bt1E,aAAaxtI,IAG3D8iN,8BAA8Bx0E,aAAatuI,EACpD,EACA+jN,8BAAgC,CAC9BtvN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,GAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgBphI,OAC7B,CACL,MAAMmkN,UAAY,CAAC,MAAO,QAAS,SAAU,QAC7C51N,KAAK61N,gBAAgB,SAAU,QAASpkN,EAAG8jN,2BAA4BD,yBAA0BM,UACnG,CACF,EACA3oN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,eAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAM+2N,8BAAgC,IAAIjrN,IAAI,CAAC,CAAC,eAAgB,CAC9DwrB,MAAO2+L,yBACPl1E,QAASm1E,2BACT9rC,WAAY+rC,gCACV,CAAC,eAAgB,CACnB7+L,MAAO8+L,yBACPr1E,QAASs1E,2BACTjsC,WAAYksC,gCACV,CAAC,eAAgB,CACnBh/L,MAAOi/L,yBACPx1E,QAASy1E,2BACTpsC,WAAYqsC,kCA+Bd,IAAIO,4BAA6BC,8BAA+BC,iCA+B5DC,4BAA6BC,8BAA+BC,iCAkC5DC,4BAA6BC,8BAA+BC,iCA8B5DC,+BA5HJf,yBAA2B,CACzBvvN,GAAAA,CAAIuL,GAKF;;AAJAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD,UAAU1lE,KAAKve,KACjBA,EAAI,IAEF8iN,8BAA8Bn2E,WAAW3sI,GAAI,CAC/C,IAAK,MAAOvD,OAAQ4nN,8BAClB91N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,SAAUphI,EAC9B,MACEzR,KAAKy2N,oBAAoB,SAAUhlN,EAAGqkN,8BAA+B,CAAC,MAAO,QAAS,SAAU,QAEpG,EACA7oN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,UAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,SAAUG,+BAClCvB,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhBg3N,4BAA8B,SAAetkN;;AAC3C,MACMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EADtC,CAAC,OAAQ,SAAU,UAEpC,OAAIvD,KAGGqmN,8BAA8Bh2E,YAAY9sI,GAAG,EACtD,EACAukN,8BAAgC,SAAiBvkN;;AAC/C,MAAU,KAANA,GAG6C,iBAAnCskN,4BAA4BtkN,EAC5C,EACAwkN,iCAAmC,CACjC/vN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,mBAAoBkjF,4BAA4BtkN,GACpE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,mBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBm3N,4BAA8B,SAAezkN,GAE3C,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,UAEzG,EACA0kN,8BAAgC,SAAiB1kN;;AAC/C,MAAU,KAANA,GAG6C,iBAAnCykN,4BAA4BzkN,EAC5C,EACA2kN,iCAAmC,CACjClwN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD,MAAMh2E,IAAMw2M,4BAA4BzkN,GACxC,GAAY,SAARiO,KAA0B,WAARA,KAA0B,KAANjO,EAIxC,OAHAzR,KAAK6yI,aAAa,mBAAoB,IACtC7yI,KAAK6yI,aAAa,mBAAoB,SACtC7yI,KAAK6yI,aAAa,mBAAoB,IAGpC0hF,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,mBAAoBnzH,IACxC,EACAzS,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,mBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBs3N,4BAA8B,SAAe5kN;;AAC3C,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACA6kN,8BAAgC,SAAiB7kN;;AAC/C,MAAU,KAANA,GAAqE,iBAAlD8iN,8BAA8Bt1E,aAAaxtI,IAG3D8iN,8BAA8Bx0E,aAAatuI,EACpD,EACA8kN,iCAAmC,CACjCrwN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,aAAc,IAChC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,mBAAoBwjF,4BAA4B5kN,GACpE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,mBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAM23N,oCAAsC,IAAI7rN,IAAI,CAAC,CAAC,sBAAuB,CAC3EwrB,MAAO0/L,4BACPj2E,QAASk2E,8BACT7sC,WAAY8sC,mCACV,CAAC,sBAAuB,CAC1B5/L,MAAO6/L,4BACPp2E,QAASq2E,8BACThtC,WAAYitC,mCACV,CAAC,sBAAuB,CAC1B//L,MAAOggM,4BACPv2E,QAASw2E,8BACTntC,WAAYotC,qCA6Bd,IAAII,+BAAkEC,oCA8BlEC,+BAAkEC,oCAkClEC,+BAAkEC,oCA+BlEC,4BAA4DC,iCAqB5DC,6BA/IJX,+BAAiC,CAC/BtwN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,GAAI,CAC/C,IAAK,MAAOvD,OAAQwoN,oCAClB12N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,gBAAiBphI,EACrC,MACEzR,KAAK01N,iBAAiB,gBAAiBjkN,EAAGilN,oCAE9C,EACAzpN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,iBAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,gBAAiBe,qCACzCnC,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhB43N,+BAAiC,SAAellN;;AAC9C,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAmlN,oCAAsC,CACpC1wN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,gBAAiB,IACnC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,sBAAuB8jF,+BAA+BllN,GAC1E,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,sBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB83N,+BAAiC,SAAeplN,GAE9C,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,UAEzG,EAOAqlN,oCAAsC,CACpC5wN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD,MAAMh2E,IAAMm3M,+BAA+BplN,GAC3C,GAAY,SAARiO,KAA0B,WAARA,IAIpB,OAHA1f,KAAK6yI,aAAa,sBAAuB,IACzC7yI,KAAK6yI,aAAa,sBAAuB,SACzC7yI,KAAK6yI,aAAa,sBAAuB,IAGvC0hF,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,gBAAiB,IACnC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,sBAAuBnzH,IAC3C,EACAzS,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,sBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBg4N,+BAAiC,SAAetlN;;AAC9C,MACMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EADtC,CAAC,OAAQ,SAAU,UAEpC,OAAIvD,KAGGqmN,8BAA8Bh2E,YAAY9sI,GAAG,EACtD,EAOAulN,oCAAsC,CACpC9wN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,gBAAiB,IACnC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,sBAAuBkkF,+BAA+BtlN,GAC1E,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,sBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBk4N,4BAA8B,SAAexlN;;AAC3C,OAAO8iN,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,WAAY,YACpE,EAOAylN,iCAAmC,CACjChxN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,kBAAmBokF,4BAA4BxlN,GACnE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,kBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAMq4N,kCAAoC,IAAIvsN,IAAI,CAAC,CAAC,oBAAqB,CACvEwrB,MAAO0/L,4BACPj2E,QAASk2E,8BACT7sC,WAAY8sC,mCACV,CAAC,oBAAqB,CACxB5/L,MAAO6/L,4BACPp2E,QAASq2E,8BACThtC,WAAYitC,mCACV,CAAC,oBAAqB,CACxB//L,MAAOggM,4BACPv2E,QAASw2E,8BACTntC,WAAYotC,qCA6Bd,IAAIc,6BAA8DC,kCA8B9DC,6BAA8DC,kCAkC9DC,6BAA8DC,kCA+B9DC,8BA1HJR,6BAA+B,CAC7BjxN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,GAAI,CAC/C,IAAK,MAAOvD,OAAQkpN,kCAClBp3N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,cAAephI,EACnC,MACEzR,KAAK01N,iBAAiB,cAAejkN,EAAG2lN,kCAE5C,EACAnqN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,eAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,cAAeyB,mCACvC7C,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhBs4N,6BAA+B,SAAe5lN;;AAC5C,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOA6lN,kCAAoC,CAClCpxN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,cAAe,IACjC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,oBAAqBwkF,6BAA6B5lN,GACtE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,oBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBw4N,6BAA+B,SAAe9lN,GAE5C,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,UAEzG,EAOA+lN,kCAAoC,CAClCtxN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD,MAAMh2E,IAAM63M,6BAA6B9lN,GACzC,GAAY,SAARiO,KAA0B,WAARA,IAIpB,OAHA1f,KAAK6yI,aAAa,oBAAqB,IACvC7yI,KAAK6yI,aAAa,oBAAqB,SACvC7yI,KAAK6yI,aAAa,oBAAqB,IAGrC0hF,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,cAAe,IACjC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,oBAAqBnzH,IACzC,EACAzS,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,oBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB04N,6BAA+B,SAAehmN;;AAC5C,MACMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EADtC,CAAC,OAAQ,SAAU,UAEpC,OAAIvD,KAGGqmN,8BAA8Bh2E,YAAY9sI,GAAG,EACtD,EAOAimN,kCAAoC,CAClCxxN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,cAAe,IACjC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,oBAAqB4kF,6BAA6BhmN,GACtE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,oBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAM64N,mCAAqC,IAAI/sN,IAAI,CAAC,CAAC,qBAAsB,CACzEwrB,MAAO0/L,4BACPj2E,QAASk2E,8BACT7sC,WAAY8sC,mCACV,CAAC,qBAAsB,CACzB5/L,MAAO6/L,4BACPp2E,QAASq2E,8BACThtC,WAAYitC,mCACV,CAAC,qBAAsB,CACzB//L,MAAOggM,4BACPv2E,QAASw2E,8BACTntC,WAAYotC,qCA6Bd,IAAIsB,8BAAgEC,mCA8BhEC,8BAAgEC,mCAkChEC,8BAAgEC,mCA+BhEC,2BAA0DC,gCAwC1DC,4BAlKJV,8BAAgC,CAC9BzxN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,GAAI,CAC/C,IAAK,MAAOvD,OAAQ0pN,mCAClB53N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgBphI,EACpC,MACEzR,KAAK01N,iBAAiB,eAAgBjkN,EAAGmmN,mCAE7C,EACA3qN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,gBAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,eAAgBiC,oCACxCrD,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhB84N,8BAAgC,SAAepmN;;AAC7C,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAqmN,mCAAqC,CACnC5xN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgB,IAClC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,qBAAsBglF,8BAA8BpmN,GACxE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,qBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBg5N,8BAAgC,SAAetmN,GAE7C,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,UAEzG,EAOAumN,mCAAqC,CACnC9xN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD,MAAMh2E,IAAMq4M,8BAA8BtmN,GAC1C,GAAY,SAARiO,KAA0B,WAARA,IAIpB,OAHA1f,KAAK6yI,aAAa,qBAAsB,IACxC7yI,KAAK6yI,aAAa,qBAAsB,SACxC7yI,KAAK6yI,aAAa,qBAAsB,IAGtC0hF,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgB,IAClC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,qBAAsBnzH,IAC1C,EACAzS,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,qBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBk5N,8BAAgC,SAAexmN;;AAC7C,MACMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EADtC,CAAC,OAAQ,SAAU,UAEpC,OAAIvD,KAGGqmN,8BAA8Bh2E,YAAY9sI,GAAG,EACtD,EAOAymN,mCAAqC,CACnChyN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,KAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgB,IAClC7yI,KAAK6yI,aAAa,eAAgB,KAEpC7yI,KAAK6yI,aAAa,qBAAsBolF,8BAA8BxmN,GACxE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,qBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBo5N,2BAA6B,SAAe1mN;;AAC1C,GAAU,KAANA,EACF,OAAOA,EAET,MAAMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,GACvD,GAAIvD,IACF,OAAOA,IAET,MAAMrF,MAAQ0rN,8BAA8B11K,WAAWptC,GACvD,IAAK5I,MAAM3I,QAAU2I,MAAM3I,OAAS,EAClC,OAEF,MAAMwf,IAAM,GACZ,IAAK,MAAM2xD,QAAQxoE,MAAO,CACxB,MAAM45C,IAAM8xK,8BAA8Bh2E,YAAYltE,MACtD,IAAK5uB,IACH,OAEF/iC,IAAIpf,KAAKmiD,IACX,CACA,OAAO/iC,IAAI8Q,KAAK,IAClB,EAOA4nM,gCAAkC,CAChClyN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,iBAAkBslF,2BAA2B1mN,GACjE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,iBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAMu5N,iCAAmC,IAAIztN,IAAI,CAAC,CAAC,mBAAoB,CACrEwrB,MAAO0/L,4BACPj2E,QAASk2E,8BACT7sC,WAAY8sC,mCACV,CAAC,mBAAoB,CACvB5/L,MAAO6/L,4BACPp2E,QAASq2E,8BACThtC,WAAYitC,mCACV,CAAC,mBAAoB,CACvB//L,MAAOggM,4BACPv2E,QAASw2E,8BACTntC,WAAYotC,qCA6Bd,IAAIgC,oBAA4CC,yBAyB5CC,mBAA0CC,wBAsB1CC,kBAAwCC,uBAiDxCC,mBAA0CC,wBAyB1CC,sBAAuBC,wBAAyBC,2BAuBhDC,wBAAyBC,0BAA2BC,6BAuBpDC,uBAAwBC,yBAA0BC,4BA4BlDC,kBAAwCC,uBA9N5CpB,4BAA8B,CAC5BnyN,GAAAA,CAAIuL,GAEF;;AADAA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,GAAI,CAC/C,IAAK,MAAOvD,OAAQoqN,iCAClBt4N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,aAAcphI,EAClC,MACEzR,KAAK01N,iBAAiB,aAAcjkN,EAAG6mN,iCAE3C,EACArrN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,cAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,aAAc2C,kCACtC/D,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhBw5N,oBAAsB,SAAe9mN;;AACnC,MAAMgxC,IAAM8xK,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIgxC,KAGG8xK,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EAOA+mN,yBAA2B,CACzBtyN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,SAAU0lF,oBAAoB9mN,GAClD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,SAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB05N,mBAAqB,SAAehnN,GAElC,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,eAAgB,aAAc,cAAe,YAAa,OAAQ,QAAS,MAAO,SAAU,cAAe,aAAc,OAAQ,QAErJ,EAOAinN,wBAA0B,CACxBxyN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,QAAS4lF,mBAAmBhnN,GAChD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,QAC/B,EACAplH,YAAY,EACZtC,cAAc,GAMhB45N,kBAAoB,SAAelnN;;AACjC,GAAU,KAANA,EACF,OAAOA,EAET,MAAMiO,IAAM60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,SAC3D,GAAIiO,IACF,OAAOA,IAIT,MAAMo2F,SADNrkG,EAAI+iN,8BAA8BvmK,eAAex8C,IAC/B1F,MAAM,wBACxB,IAAK+pG,QACH,OAEF,MAAMjtG,MAAQitG,QAAQ,GAAGhtG,MAAM,WAC/B,GAAqB,IAAjBD,MAAM3I,OACR,OAOF,OALc2I,MAAMs2H,MAAM,SAAU9tD,KAAM/jE;;AACxC,MAAMosN,YAAcnF,8BAA8B71E,iBAAiBrtE,KAAKvgD,QAExE,OADAjoB,MAAMyE,OAASosN,YACe,iBAAhBA,WAChB,GAIO,QAAQ7wN,MAAM2nB,KAAK,cAH1B,CAIF,EAOAooM,uBAAyB,CACvB1yN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,OAAQ8lF,kBAAkBlnN,GAC9C,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,OAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB85N,mBAAqB,SAAepnN;;AAClC,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAqnN,wBAA0B,CACxB5yN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,QAASgmF,mBAAmBpnN,GAChD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,QAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBg6N,sBAAwB,SAAetnN;;AACrC,OAAO8iN,8BAA8Bl2E,YAAY5sI,GAAG,EACtD,EACAunN,wBAA0B,SAAiBvnN;;AACzC,MAA2C,iBAA7BsnN,sBAAsBtnN,EACtC,EACAwnN,2BAA6B,CAC3B/yN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,YAAaphI,IAE/BzR,KAAK6yI,aAAa,YAAakmF,sBAAsBtnN,GAEzD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,YAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBm6N,wBAA0B,SAAeznN;;AACvC,OAAO8iN,8BAA8Bl2E,YAAY5sI,GAAG,EACtD,EACA0nN,0BAA4B,SAAiB1nN;;AAC3C,MAA6C,iBAA/BynN,wBAAwBznN,EACxC,EACA2nN,6BAA+B,CAC7BlzN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,cAAephI,IAEjCzR,KAAK6yI,aAAa,cAAeqmF,wBAAwBznN,GAE7D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBs6N,uBAAyB,SAAe5nN;;AACtC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAC3D,GAAIiO,IACF,OAAOA,IAGT,OAAO60M,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,UAAW,OAAQ,cAAe,eAEtD,EACA6nN,yBAA2B,SAAiB7nN;;AAC1C,MAA4C,iBAA9B4nN,uBAAuB5nN,EACvC,EACA8nN,4BAA8B,CAC5BrzN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,aAAcphI,IAEhCzR,KAAK6yI,aAAa,aAAcwmF,uBAAuB5nN,GAE3D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,aAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAM46N,4BAA8B,IAAI9uN,IAAI,CAAC,CAAC,YAAa,CACzDwrB,MAAO0iM,sBACPj5E,QAASk5E,wBACT7vC,WAAY8vC,6BACV,CAAC,cAAe,CAClB5iM,MAAO6iM,wBACPp5E,QAASq5E,0BACThwC,WAAYiwC,+BACV,CAAC,aAAc,CACjB/iM,MAAOgjM,uBACPv5E,QAASw5E,yBACTnwC,WAAYowC,gCA4Dd,IAAIK,mBAA0CC,wBAsB1CC,wBAAoDC,6BAyBpDC,uBAAwBC,yBAA0BC,4BA2BlDC,yBAA0BC,2BAA4BC,8BA+BtDC,wBAAyBC,0BAA2BC,6BA+BpDC,sBAAuBC,wBAAyBC,2BA+BhDC,wBAAyBC,0BAA2BC,6BAkCpDC,wBAAyBC,0BAA2BC,6BA8EpDC,kBAAmBC,uBAjVvB3B,kBAAoB,SAAe/nN;;AACjC,MAAMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,OAAQ,SACnE,GAAIvD,IACF,MAAY,SAARA,IACK,WAEG,SAARA,IACK,WAEG,YAARA,IACK,gBAET,EAEF,MAAM+D,IAAMsiN,8BAA8B90E,eAAehuI,EAAGkoN,6BAC5D,GAAI1nN,IAAK,CACP,MAAMmpN,KAAO,CACX,YAAa,IACb,cAAe,IACf,aAAc,MAEV7nM,MAAQ31B,OAAOqgB,QAAQhM,KAC7B,IAAK,MAAOC,SAAUnU,SAAUw1B,MAC9B6nM,KAAKlpN,UAAYnU,MAEnB,MAAO,IAAIH,OAAOwgB,OAAOg9M,OAAO5qM,KAAK,IACvC,CACF,EAOAipM,uBAAyB,CACvBvzN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK01N,iBAAiB,OAAQ,GAAIiE,6BAClC35N,KAAK6yI,aAAa,OAAQphI,IAE1BzR,KAAK01N,iBAAiB,OAAQ8D,kBAAkB/nN,GAAIkoN,4BAExD,EACA1sN,GAAAA;;AACE,IAAIyS,IAAM1f,KAAKymH,iBAAiB,QAChC,OAAI8tG,8BAA8Bn2E,WAAW1+H,KACpCA,KAETA,IAAM1f,KAAK21N,iBAAiB,OAAQgE,6BAChCpF,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,IACT,EACAre,YAAY,EACZtC,cAAc,GAGhB66N,mBAAqB,SAAenoN,GAElC,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,QAAS,OAAQ,eAAgB,cAE7D,EAOAooN,wBAA0B,CACxB3zN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,QAAS+mF,mBAAmBnoN,GAChD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,QAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB+6N,wBAA0B,SAAeroN;;AACvC,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAsoN,6BAA+B,CAC7B7zN,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,cAAeinF,wBAAwBroN,GAC3D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBi7N,uBAAyB,SAAevoN,GAEtC,OAAO8iN,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,SAAU,SAAU,WAExC,EACAwoN,yBAA2B,SAAiBxoN;;AAC1C,MAAU,KAANA,GAGwC,iBAA9BuoN,uBAAuBvoN,EACvC,EACAyoN,4BAA8B,CAC5Bh0N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,aAAcphI,IAEhCzR,KAAK6yI,aAAa,aAAcmnF,uBAAuBvoN,GAE3D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,aAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBo7N,yBAA2B,SAAe1oN;;AACxC,MAAM+wC,IAAM+xK,8BAA8Bl2E,YAAY5sI,GAAG,GACzD,GAAI+wC,KAAOvW,WAAWuW,MAAQ,IAC5B,OAAOA,IAGT,OAAO+xK,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,SAAU,OAAQ,cAEtC,EACA2oN,2BAA6B,SAAiB3oN;;AAC5C,MAAU,KAANA,GAG0C,iBAAhC0oN,yBAAyB1oN,EACzC,EACA4oN,8BAAgC,CAC9Bn0N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,eAAgBphI,IAElCzR,KAAK6yI,aAAa,eAAgBsnF,yBAAyB1oN,GAE/D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,eAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBu7N,wBAA0B,SAAe7oN;;AACvC,MAAM+wC,IAAM+xK,8BAA8Bl2E,YAAY5sI,GAAG,GACzD,GAAI+wC,KAAOvW,WAAWuW,MAAQ,IAC5B,OAAOA,IAGT,OAAO+xK,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,SAAU,OAAQ,UAAW,UAEjD,EACA8oN,0BAA4B,SAAiB9oN;;AAC3C,MAAU,KAANA,GAGyC,iBAA/B6oN,wBAAwB7oN,EACxC,EACA+oN,6BAA+B,CAC7Bt0N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,cAAephI,IAEjCzR,KAAK6yI,aAAa,cAAeynF,wBAAwB7oN,GAE7D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB07N,sBAAwB,SAAehpN;;AACrC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,GAAIiO,IACF,OAAOA,IAGT,OAAO60M,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,WAAY,UAAW,QAAS,SAAU,QAAS,UAAW,WAAY,YAAa,UAAW,UAEtH,EACAipN,wBAA0B,SAAiBjpN;;AACzC,MAAU,KAANA,GAGuC,iBAA7BgpN,sBAAsBhpN,EACtC,EACAkpN,2BAA6B,CAC3Bz0N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,YAAaphI,IAE/BzR,KAAK6yI,aAAa,YAAa4nF,sBAAsBhpN,GAEzD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,YAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB67N,wBAA0B,SAAenpN;;AACvC,MAAMiO,IAAM60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,WAC3D,GAAIiO,IACF,OAAOA,IAET,MAAM8iC,IAAM+xK,8BAA8Bl2E,YAAY5sI,GAAG,GACzD,OAAI+wC,KAGG+xK,8BAA8B71E,iBAAiBjtI,GAAG,EAC3D,EACAopN,0BAA4B,SAAiBppN;;AAC3C,MAAU,KAANA,GAGyC,iBAA/BmpN,wBAAwBnpN,EACxC,EACAqpN,6BAA+B,CAC7B50N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,cAAephI,IAEjCzR,KAAK6yI,aAAa,cAAe+nF,wBAAwBnpN,GAE7D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBg8N,wBAA0B,SAAetpN;;AACvC,GAAU,KAANA,EACF,OAAOA,EAET,MAAM4pN,SAAW,CAAC,QAAS,aAAc,UAAW,UAAW,YAAa,YAAa,OAAQ,WAAY,gBAAiB,eAAgB,cACxIC,cAAgB,CAAC,WAAY,MAAO,YAAa,YACjD57M,IAAM60M,8BAA8B11K,WAAWptC,EAAG,CACtDqtC,UAAW,MAEPy8K,KAAO,GACb,IAAI10K,OAAQ,EACZ,IAAK,MAAMpmD,KAAKif,IAAK,CACnB,MAAMu/B,IAAMs1K,8BAA8Bv1E,YAAYv+I,GACtD,GAAIw+C,IAAK,CACPs8K,KAAKj7N,KAAK2+C,KACV4H,OAAQ,EACR,QACF,CACA,MAAM34C,IAAMqmN,8BAA8Bt1E,aAAax+I,EAAG46N,UAC1D,GAAIntN,IAAK,CACPqtN,KAAKj7N,KAAK4N,KACV24C,OAAQ,EACR,QACF,CACA,MAAM50C,IAAMsiN,8BAA8B/0E,cAAc/+I,GACxD,GAAIwR,IAAK,CACP,MAAM,KACA,OAEFA,IACJ,GAAa,YAATlK,MAAsBuzN,cAAcvmN,SAAShX,OAAQ,CACvDw9N,KAAKj7N,KAAK,GAAGyH,QAAQhK,UACrB8oD,OAAQ,EACR,QACF,CACF,CASA,GAAU,cAANpmD,GAAqB,kEAAkEuvB,KAAKvvB,GAC9F86N,KAAKj7N,KAAKG,EAAEqwB,QACZ+1B,OAAQ,OAGV,IAAKA,MACH,MAEJ,CACA,OAAO00K,KAAK/qM,KAAK,KACnB,EACAwqM,0BAA4B,SAAiBvpN;;AAC3C,MAAU,KAANA,GAGyC,iBAA/BspN,wBAAwBtpN,EACxC,EACAwpN,6BAA+B,CAC7B/0N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,OAAQ,IAC1B7yI,KAAK6yI,aAAa,cAAephI,IAEjCzR,KAAK6yI,aAAa,cAAekoF,wBAAwBtpN,GAE7D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAMy8N,4BAA8B,IAAI3wN,IAAI,CAAC,CAAC,aAAc,CAC1DwrB,MAAO2jM,uBACPl6E,QAASm6E,yBACT9wC,WAAY+wC,8BACV,CAAC,eAAgB,CACnB7jM,MAAO8jM,yBACPr6E,QAASs6E,2BACTjxC,WAAYkxC,gCACV,CAAC,cAAe,CAClBhkM,MAAOikM,wBACPx6E,QAASy6E,0BACTpxC,WAAYqxC,+BACV,CAAC,YAAa,CAChBnkM,MAAOokM,sBACP36E,QAAS46E,wBACTvxC,WAAYwxC,6BACV,CAAC,cAAe,CAClBtkM,MAAOukM,wBACP96E,QAAS+6E,0BACT1xC,WAAY2xC,+BACV,CAAC,cAAe,CAClBzkM,MAAO0kM,wBACPj7E,QAASk7E,0BACT7xC,WAAY8xC,iCAyNd,IAAIQ,oBAA4CC,yBA0B5CC,kBAAwCC,uBAyBxCC,2BAA0DC,gCAyB1DC,oBAAqBC,sBAAuBC,yBAnShDf,kBAAoB,SAAezpN;;AACjC,MACMvD,IAAMqmN,8BAA8Bt1E,aAAaxtI,EADtC,CAAC,UAAW,OAAQ,OAAQ,cAAe,gBAAiB,eAE7E,GAAIvD,IACF,OAAOA,IAET,MAAOguN,aAAcC,UAAY5H,8BAA8B11K,WAAWptC,EAAG,CAC3EqtC,UAAW,OAENs9K,WAAYC,YAAc9H,8BAA8B11K,WAAWq9K,UAAW,CACnFp9K,UAAW,MAEPy8K,KAAO,CACX,aAAc,SACd,eAAgB,SAChB,cAAe,UAEXe,aAAe,IAAIn9N,IACzB,GAAIk9N,WAAY,CACd,MAAOE,SAAUC,WAAaH,WAAWvrM,OAAOhoB,MAAM,KACtD,IAAKyzN,QAEM1B,0BAED0B,SAAWC,UAAUt8N,OAC7B,OAEF,MAAMu8N,YACG7B,wBAGD2B,OACFG,QAAUF,UAAUhsM,KAAK,KAC/B,IAEWwqM,0BAED0B,SAOR,OANAJ,aAAa15N,IACJm4N,wBAGD2B,UAIV,MAAM7zN,MAAQ0rN,8BAA8B11K,WAAWu9K,WAAWtrM,QAC5D43B,WAAa,CAAC,aAAc,eAAgB,cAAe,aACjE,IAAK,MAAM2oB,QAAQxoE,MACjB,GAAa,WAATwoE,KAGF,IAAK,MAAMn/D,YAAYw2C,WACrB,OAAQx2C,UACN,IAAK,aACL,IAAK,eACL,IAAK,cACL,IAAK,YACH,CACE,MAAMnU,MAAQy9N,4BAA4BvuN,IAAIiF,UAC1CnU,MAAM+hJ,QAAQzuE,QAChBkqJ,KAAKrpN,UAAYnU,MAAMs4B,MAAMg7C,OAE/B,KACF,EAMV,IAAIzzE,OAAOI,OAAOu9N,KAAM,aAGtB,OAFAA,KAAK,eAAiBkB,WAI1B,KAAO,CAEL,MAAME,SAAW,IAAIpI,8BAA8B11K,WAAWu9K,WAAWtrM,SAAS/nB,UAC5E6zN,cAAgB,GAChBl0K,WAAa,CAAC,aAAc,eAAgB,cAAe,eAKjE,IAAIm0K,UAJJtB,KAAK,cAAgB,SACrBA,KAAK,gBAAkB,SACvBA,KAAK,eAAiB,SACtBA,KAAK,eAAiB,SAEtB,IAAK,MAAMlqJ,QAAQsrJ,SACjB,GAAIE,UAAW,CACb,GAAa,WAATxrJ,KACF,SAEA,IAAK,MAAMn/D,YAAYw2C,WACrB,OAAQx2C,UACN,IAAK,aACL,IAAK,eACL,IAAK,cACL,IAAK,cACH,CACE,MAAMnU,MAAQy9N,4BAA4BvuN,IAAIiF,UAC1CnU,MAAM+hJ,QAAQzuE,QAChBkqJ,KAAKrpN,UAAYnU,MAAMs4B,MAAMg7C,OAE/B,KACF,EAKV,MAAO,GAEIqpJ,wBAEDrpJ,MACRwrJ,UACSpC,sBAGDppJ,UACH,KAEI2pJ,0BAED3pJ,MAGR,OAFAurJ,cAAct8N,KAAK+wE,KAGrB,CAEF,MAAMyrJ,OAASF,cAAc7zN,UAAUynB,KAAK,KAC5C,IAAIqsM,YAEO7B,0BAED8B,QAQR,OAPAvB,KAAK,aAAesB,UACpBP,aAAa15N,IACJm4N,wBAGD+B,QAIZ,CACA,IAAK,MAAMA,UAAUX,SAAU,CAC7B,IAEWnB,0BAED8B,QAOR,OANAR,aAAa15N,IACJm4N,wBAGD+B,QAIZ,CAEA,OADAvB,KAAK,eAAiB,IAAIe,cAAc9rM,KAAK,MACtC+qM,IACT,EACAJ,uBAAyB,CACvBj1N,GAAAA,CAAIuL,GAEF,GAAU;;AADVA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,WACvC6+H,8BAA8Bn2E,WAAW3sI,GAAI,CAC3D,IAAK,MAAOvD,OAAQstN,4BAClBx7N,KAAK6yI,aAAa3kI,IAAK,IAEzBlO,KAAK6yI,aAAa,OAAQphI,EAC5B,KAAO,CACL,MAAMQ,IAAMipN,kBAAkBzpN,GAC9B,IAAKQ,IACH,OAEF,MAAMgtC,IAAM,IAAI9/C,IAChB,IAAK,MAAO+O,OAAQstN,4BAA6B,CAC/C,MAAM97M,IAAMzN,IAAI/D,KACG,iBAARwR,MACT1f,KAAK6yI,aAAa3kI,IAAKwR,KACnBA,KAAe,WAARA,MAAqBu/B,IAAIz/C,IAAIkgB,OAC1B,gBAARxR,IACF+wC,IAAIr8C,IAAI,KAAK8c,OAEbu/B,IAAIr8C,IAAI8c,MAIhB,CACA1f,KAAK6yI,aAAa,OAAQ,IAAI5zF,KAAKzuB,KAAK,KAC1C,CACF,EACAvjB,GAAAA;;AACE,MAAMyS,IAAM1f,KAAKymH,iBAAiB,QAClC,GAAI8tG,8BAA8Bn2E,WAAW1+H,KAC3C,OAAOA,IAET,MAAMu/B,IAAM,IAAI9/C,IAChB,IAAK,MAAO+O,OAAQstN,4BAA6B,CAC/C,MAAM/pN,EAAIzR,KAAKymH,iBAAiBv4G,KAChC,GAAIqmN,8BAA8Bn2E,WAAW3sI,GAC3C,MAAO,GAELA,GAAW,WAANA,IAAmBwtC,IAAIz/C,IAAIiS,KACtB,gBAARvD,IACF+wC,IAAIr8C,IAAI,KAAK6O,KAEbwtC,IAAIr8C,IAAI,GAAG6O,KAGjB,CACA,MAAO,IAAIwtC,KAAKzuB,KAAK,IACvB,EACAnvB,YAAY,EACZtC,cAAc,GAGhB08N,oBAAsB,SAAehqN;;AACnC,MAAMgxC,IAAM8xK,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,GAAIgxC,IACF,OAAOA,IAGT,OAAO8xK,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,cAAe,cAAe,eAE1D,EAOAiqN,yBAA2B,CACzBx1N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,SAAU4oF,oBAAoBhqN,GAClD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,SAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB48N,kBAAoB,SAAelqN;;AACjC,MAAMgxC,IAAM8xK,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIgxC,KAGG8xK,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EAOAmqN,uBAAyB,CACvB11N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,OAAQ8oF,kBAAkBlqN,GAC9C,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,OAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB88N,2BAA6B,SAAepqN;;AAC1C,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAqqN,gCAAkC,CAChC51N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,iBAAkBgpF,2BAA2BpqN,GACjE,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,iBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAMg+N,2BAA6B,CAAC,MAAO,QAAS,SAAU,QAqC9D,IAAIC,0BAA2BC,4BAA6BC,+BA8BxDC,wBAAyBC,0BAA2BC,6BA8BpDC,yBAA0BC,2BAA4BC,8BA8BtDC,uBAAwBC,yBAA0BC,4BA8BlDC,qBAA8CC,0BAyC9CC,0BAAwDC,+BAyBxDC,qBAAsBC,uBAAwBC,0BA9NlDnC,oBAAsB,SAAetqN;;AACnC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EACAuqN,sBAAwB,SAAiBvqN;;AACvC,MAAU,KAANA,GAGqC,iBAA3BsqN,oBAAoBtqN,EACpC,EACAwqN,yBAA2B,CACzB/1N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK61N,gBAAgB,SAAU,GAAI,GAAImG,sBAAuBD,oBAAqBgB,4BACnF/8N,KAAK6yI,aAAa,SAAUphI,IAE5BzR,KAAK61N,gBAAgB,SAAU,GAAIpkN,EAAGuqN,sBAAuBD,oBAAqBgB,2BAEtF,EACA9vN,GAAAA;;AACE,MAAMyS,IAAM1f,KAAKm+N,gBAAgB,SAAUpB,4BAC3C,MAAY,KAARr9M,IACK1f,KAAKymH,iBAAiB,UAE3B8tG,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,GACT,EACAre,YAAY,EACZtC,cAAc,GAGhBi+N,0BAA4B,SAAevrN;;AACzC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EACAwrN,4BAA8B,SAAiBxrN;;AAC7C,MAAU,KAANA,GAG2C,iBAAjCurN,0BAA0BvrN,EAC1C,EACAyrN,+BAAiC,CAC/Bh3N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,gBAAiBphI,IAEnCzR,KAAKo+N,mBAAmB,SAAU,SAAU3sN,EAAGwrN,4BAA6BD,0BAA2B,CAAC,MAAO,QAAS,SAAU,QAEtI,EACA/vN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,gBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBo+N,wBAA0B,SAAe1rN;;AACvC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EACA2rN,0BAA4B,SAAiB3rN;;AAC3C,MAAU,KAANA,GAGyC,iBAA/B0rN,wBAAwB1rN,EACxC,EACA4rN,6BAA+B,CAC7Bn3N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,cAAephI,IAEjCzR,KAAKo+N,mBAAmB,SAAU,OAAQ3sN,EAAG2rN,0BAA2BD,wBAAyB,CAAC,MAAO,QAAS,SAAU,QAEhI,EACAlwN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBu+N,yBAA2B,SAAe7rN;;AACxC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EACA8rN,2BAA6B,SAAiB9rN;;AAC5C,MAAU,KAANA,GAG0C,iBAAhC6rN,yBAAyB7rN,EACzC,EACA+rN,8BAAgC,CAC9Bt3N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,eAAgBphI,IAElCzR,KAAKo+N,mBAAmB,SAAU,QAAS3sN,EAAG8rN,2BAA4BD,yBAA0B,CAAC,MAAO,QAAS,SAAU,QAEnI,EACArwN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,eAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB0+N,uBAAyB,SAAehsN;;AACtC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EACAisN,yBAA2B,SAAiBjsN;;AAC1C,MAAU,KAANA,GAGwC,iBAA9BgsN,uBAAuBhsN,EACvC,EACAksN,4BAA8B,CAC5Bz3N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,SAAU,IAC5B7yI,KAAK6yI,aAAa,aAAcphI,IAEhCzR,KAAKo+N,mBAAmB,SAAU,MAAO3sN,EAAGisN,yBAA0BD,uBAAwB,CAAC,MAAO,QAAS,SAAU,QAE7H,EACAxwN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,aAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB6+N,qBAAuB,SAAensN;;AACpC,IAAI+wC,IAAM+xK,8BAA8Bl2E,YAAY5sI,GACpD,GAAI+wC,IAEF,OADAA,IAAMvW,WAAWuW,KACbA,IAAM,EACD,IACEA,IAAM,EACR,IAEF,GAAGA,MAEZ,IAAI67K,IAAM9J,8BAA8B91E,aAAahtI,GACrD,OAAI4sN,KACFA,IAAMpyL,WAAWoyL,KACbA,IAAM,EACD,KACEA,IAAM,IACR,OAEF,GAAGA,QAEL9J,8BAA8Bt1E,aAAaxtI,EACpD,EAOAosN,0BAA4B,CAC1B33N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,UAAW+qF,qBAAqBnsN,GACpD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,UAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB++N,0BAA4B,SAAersN;;AACzC,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAssN,+BAAiC,CAC/B73N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,gBAAiBirF,0BAA0BrsN,GAC/D,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,gBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB,MAAMu/N,4BAA8B,CAAC,MAAO,QAAS,SAAU,QAqC/D,IAAIC,2BAA4BC,6BAA8BC,gCA8B1DC,yBAA0BC,2BAA4BC,8BA8BtDC,0BAA2BC,4BAA6BC,+BA8BxDC,wBAAyBC,0BAA2BC,6BA8BpDC,mBAA0CC,wBAyB1CC,uBAAkDC,4BAyBlDC,iBAAsCC,sBAyBtCC,oCAA4EC,yCAyB5EC,qCAA8EC,0CAyB9EC,kCAAwEC,uCAyBxEC,oCAA4EC,yCAyB5EC,mCAA0EC,wCAyB1EC,qCAA8EC,0CAyB9EC,qCAA8EC,0CAyB9EC,iCAAsEC,sCAyBtEC,mCAA0EC,wCAyB1EC,mBAA0CC,wBAxc9C5C,qBAAuB,SAAevsN;;AACpC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACAwsN,uBAAyB,SAAiBxsN;;AACxC,MAAU,KAANA,GAGsC,iBAA5BusN,qBAAqBvsN,EACrC,EACAysN,0BAA4B,CAC1Bh4N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK61N,gBAAgB,UAAW,GAAI,GAAIoI,uBAAwBD,qBAAsBM,6BACtFt+N,KAAK6yI,aAAa,UAAWphI,IAE7BzR,KAAK61N,gBAAgB,UAAW,GAAIpkN,EAAGwsN,uBAAwBD,qBAAsBM,4BAEzF,EACArxN,GAAAA;;AACE,MAAMyS,IAAM1f,KAAKm+N,gBAAgB,UAAWG,6BAC5C,MAAY,KAAR5+M,IACK1f,KAAKymH,iBAAiB,WAE3B8tG,8BAA8Bn2E,WAAW1+H,KACpC,GAEFA,GACT,EACAre,YAAY,EACZtC,cAAc,GAGhBw/N,2BAA6B,SAAe9sN;;AAC1C,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACA+sN,6BAA+B,SAAiB/sN;;AAC9C,MAAU,KAANA,GAG4C,iBAAlC8sN,2BAA2B9sN,EAC3C,EACAgtN,gCAAkC,CAChCv4N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,UAAW,IAC7B7yI,KAAK6yI,aAAa,iBAAkBphI,IAEpCzR,KAAKo+N,mBAAmB,UAAW,SAAU3sN,EAAG+sN,6BAA8BD,2BAA4B,CAAC,MAAO,QAAS,SAAU,QAEzI,EACAtxN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,iBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB2/N,yBAA2B,SAAejtN;;AACxC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACAktN,2BAA6B,SAAiBltN;;AAC5C,MAAU,KAANA,GAG0C,iBAAhCitN,yBAAyBjtN,EACzC,EACAmtN,8BAAgC,CAC9B14N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,UAAW,IAC7B7yI,KAAK6yI,aAAa,eAAgBphI,IAElCzR,KAAKo+N,mBAAmB,UAAW,OAAQ3sN,EAAGktN,2BAA4BD,yBAA0B,CAAC,MAAO,QAAS,SAAU,QAEnI,EACAzxN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,eAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB8/N,0BAA4B,SAAeptN;;AACzC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACAqtN,4BAA8B,SAAiBrtN;;AAC7C,MAAU,KAANA,GAG2C,iBAAjCotN,0BAA0BptN,EAC1C,EACAstN,+BAAiC,CAC/B74N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,UAAW,IAC7B7yI,KAAK6yI,aAAa,gBAAiBphI,IAEnCzR,KAAKo+N,mBAAmB,UAAW,QAAS3sN,EAAGqtN,4BAA6BD,0BAA2B,CAAC,MAAO,QAAS,SAAU,QAEtI,EACA5xN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,gBAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBigO,wBAA0B,SAAevtN;;AACvC,MAAMiO,IAAM60M,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EACAwtN,0BAA4B,SAAiBxtN;;AAC3C,MAAU,KAANA,GAGyC,iBAA/ButN,wBAAwBvtN,EACxC,EACAytN,6BAA+B,CAC7Bh5N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACnD6+H,8BAA8Bn2E,WAAW3sI,IAC3CzR,KAAK6yI,aAAa,UAAW,IAC7B7yI,KAAK6yI,aAAa,cAAephI,IAEjCzR,KAAKo+N,mBAAmB,UAAW,MAAO3sN,EAAGwtN,0BAA2BD,wBAAyB,CAAC,MAAO,QAAS,SAAU,QAEhI,EACA/xN,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,cAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBogO,mBAAqB,SAAe1tN;;AAClC,MAAMgxC,IAAM8xK,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIgxC,KAGG8xK,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EAOA2tN,wBAA0B,CACxBl5N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,QAASssF,mBAAmB1tN,GAChD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,QAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBsgO,uBAAyB,SAAe5tN;;AACtC,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOA6tN,4BAA8B,CAC5Bp5N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,aAAcwsF,uBAAuB5tN,GACzD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,aAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBwgO,iBAAmB,SAAe9tN;;AAChC,MAAMgxC,IAAM8xK,8BAA8B71E,iBAAiBjtI,GAC3D,OAAIgxC,KAGG8xK,8BAA8Bt1E,aAAaxtI,EAAG,CAAC,QACxD,EAOA+tN,sBAAwB,CACtBt5N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,MAAO0sF,iBAAiB9tN,GAC5C,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,MAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB0gO,oCAAsC,SAAehuN;;AACnD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAiuN,yCAA2C,CACzCx5N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,6BAA8B4sF,oCAAoChuN,GACtF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,6BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB4gO,qCAAuC,SAAeluN;;AACpD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAmuN,0CAA4C,CAC1C15N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,8BAA+B8sF,qCAAqCluN,GACxF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,8BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB8gO,kCAAoC,SAAepuN;;AACjD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAquN,uCAAyC,CACvC55N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,2BAA4BgtF,kCAAkCpuN,GAClF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,2BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBghO,oCAAsC,SAAetuN;;AACnD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAuuN,yCAA2C,CACzC95N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,6BAA8BktF,oCAAoCtuN,GACtF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,6BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBkhO,mCAAqC,SAAexuN;;AAClD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAyuN,wCAA0C,CACxCh6N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,4BAA6BotF,mCAAmCxuN,GACpF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,4BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBohO,qCAAuC,SAAe1uN;;AACpD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOA2uN,0CAA4C,CAC1Cl6N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,8BAA+BstF,qCAAqC1uN,GACxF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,8BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBshO,qCAAuC,SAAe5uN;;AACpD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOA6uN,0CAA4C,CAC1Cp6N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,8BAA+BwtF,qCAAqC5uN,GACxF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,8BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhBwhO,iCAAmC,SAAe9uN;;AAChD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOA+uN,sCAAwC,CACtCt6N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,0BAA2B0tF,iCAAiC9uN,GAChF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,0BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB0hO,mCAAqC,SAAehvN;;AAClD,MAAMiO,IAAM60M,8BAA8Bp1E,WAAW1tI,GACrD,OAAIiO,KAGG60M,8BAA8Bt1E,aAAaxtI,EACpD,EAOAivN,wCAA0C,CACxCx6N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,4BAA6B4tF,mCAAmChvN,GACpF,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,4BAC/B,EACAplH,YAAY,EACZtC,cAAc,GAGhB4hO,mBAAqB,SAAelvN;;AAClC,MAAMgxC,IAAM8xK,8BAA8B71E,iBAAiBjtI,GAAG,GAC9D,GAAIgxC,IACF,OAAOA,IAGT,OAAO8xK,8BAA8Bt1E,aAAaxtI,EADjC,CAAC,OAAQ,cAAe,cAAe,eAE1D,EAOAmvN,wBAA0B,CACxB16N,GAAAA,CAAIuL;;AACFA,EAAI8iN,8BAA8B5hF,aAAalhI,EAAGzR,KAAK01F,SACvD11F,KAAK6yI,aAAa,QAAS8tF,mBAAmBlvN,GAChD,EACAxE,GAAAA;;AACE,OAAOjN,KAAKymH,iBAAiB,QAC/B,EACAplH,YAAY,EACZtC,cAAc,GAEhBrC,OAAOC,QAAU,CACfkkO,gBAAiBpN,kCACjB,mBAAoBA,kCACpBqN,mBAAoBlN,qCACpB,sBAAuBA,qCACvBmN,iBAAkBhN,mCAClB,oBAAqBA,mCACrBiN,qBAAsB9M,uCACtB,wBAAyBA,uCACzB+M,gBAAiB5M,kCACjB,mBAAoBA,kCACpBphC,WAAYqhC,6BACZ4M,YAAahM,8BACb,eAAgBA,8BAChBiM,YAAa9L,8BACb,eAAgBA,8BAChB+L,YAAa5L,8BACb,eAAgBA,8BAChB31J,OAAQ41J,yBACR4L,eAAgBpL,iCAChB,mBAAoBA,iCACpBqL,eAAgBlL,iCAChB,mBAAoBA,iCACpBmL,eAAgBhL,iCAChB,mBAAoBA,iCACpBiL,aAAchL,+BACd,gBAAiBA,+BACjBiL,kBAAmB7K,oCACnB,sBAAuBA,oCACvB8K,kBAAmB5K,oCACnB,sBAAuBA,oCACvB6K,kBAAmB3K,oCACnB,sBAAuBA,oCACvB4K,eAAgB1K,iCAChB,kBAAmBA,iCACnB2K,WAAY1K,6BACZ,cAAeA,6BACf2K,gBAAiBxK,kCACjB,oBAAqBA,kCACrByK,gBAAiBvK,kCACjB,oBAAqBA,kCACrBwK,gBAAiBtK,kCACjB,oBAAqBA,kCACrBuK,YAAatK,8BACb,eAAgBA,8BAChBuK,iBAAkBpK,mCAClB,qBAAsBA,mCACtBqK,iBAAkBnK,mCAClB,qBAAsBA,mCACtBoK,iBAAkBlK,mCAClB,qBAAsBA,mCACtBmK,cAAejK,gCACf,iBAAkBA,gCAClBkK,UAAWjK,4BACX,aAAcA,4BACdr1I,OAAQw1I,yBACRz1N,MAAO21N,wBACP6J,KAAM3J,uBACN7oM,MAAO+oM,wBACP0J,SAAUvJ,2BACV,YAAaA,2BACbwJ,WAAYrJ,6BACZ,cAAeA,6BACfsJ,UAAWnJ,4BACX,aAAcA,4BACd6B,KAAM3B,uBACNtqE,MAAO0qE,wBACP8I,WAAY5I,6BACZ,cAAeA,6BACf6I,UAAW1I,4BACX,aAAcA,4BACd2I,YAAaxI,8BACb,eAAgBA,8BAChByI,WAAYtI,6BACZ,cAAeA,6BACfuI,SAAUpI,2BACV,YAAaA,2BACbqI,WAAYlI,6BACZ,cAAeA,6BACfmI,WAAYhI,6BACZ,cAAeA,6BACfM,KAAMJ,uBACNznN,OAAQgoN,yBACRz4I,KAAM24I,uBACNsH,cAAepH,gCACf,iBAAkBA,gCAClBqH,OAAQlH,yBACRmH,aAAclG,+BACd,gBAAiBA,+BACjBmG,WAAYhG,6BACZ,cAAeA,6BACfiG,YAAa9F,8BACb,eAAgBA,8BAChB+F,UAAW5F,4BACX,aAAcA,4BACd6F,QAAS3F,0BACT4F,aAAc1F,+BACd,gBAAiBA,+BACjB2F,QAASxF,0BACTyF,cAAelF,gCACf,iBAAkBA,gCAClBmF,YAAahF,8BACb,eAAgBA,8BAChBiF,aAAc9E,+BACd,gBAAiBA,+BACjB+E,WAAY5E,6BACZ,cAAeA,6BACfn8I,MAAOq8I,wBACP2E,UAAWzE,4BACX,aAAcA,4BACdx8I,IAAK08I,sBACLwE,uBAAwBtE,yCACxB,6BAA8BA,yCAC9B,uBAA0BA,yCAC1BuE,wBAAyBrE,0CACzB,8BAA+BA,0CAC/B,wBAA2BA,0CAC3BsE,qBAAsBpE,uCACtB,2BAA4BA,uCAC5B,qBAAwBA,uCACxBqE,uBAAwBnE,yCACxB,6BAA8BA,yCAC9B,uBAA0BA,yCAC1BoE,sBAAuBlE,wCACvB,4BAA6BA,wCAC7B,sBAAyBA,wCACzBmE,wBAAyBjE,0CACzB,8BAA+BA,0CAC/B,wBAA2BA,0CAC3BkE,wBAAyBhE,0CACzB,8BAA+BA,0CAC/B,wBAA2BA,0CAC3BiE,oBAAqB/D,sCACrB,0BAA2BA,sCAC3B,oBAAuBA,sCACvBgE,sBAAuB9D,wCACvB,4BAA6BA,wCAC7B,sBAAyBA,wCACzBjtN,MAAOmtN,wB,6EC9mFT,MAAM,OAAY9jO,oBAAQ,MACpB6U,gBAAkB7U,oBAAAA,OAAAA,eAClBi8B,wBAA0Bj8B,oBAAAA,OAAAA,eAEhC,MAAM2nO,gCAAgC9yN,gBACpC/R,WAAAA,IAAeO;;AACbqJ,SAASrJ,MACTH,KAAKi5B,4BACP,EAGFnuB,MAAM25N,wBAAwB/mO,UAAWq7B,wBAAwBr7B,WAEjEhB,OAAOC,QAAU,CACfuB,eAAgBumO,wB,6ECblB,MAAMr5N,aAAetO,oBAAQ,OACvB,OAAQ,cAAe,cAAe,aAAkBA,oBAAQ,OAOtEH,QAAQuB,eAAiB,MACvB0B,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9BuB,KAAKo3B,SAAU,EACfp3B,KAAKq3B,KAAO54B,YAAY44B,KACxBr3B,KAAKw9D,YAAcx9D,KAAKq3B,KACxBr3B,KAAKs3B,WAAa74B,YAAY64B,WAC9Bt3B,KAAKu3B,OAAS94B,YAAY84B,OAE1Bv3B,KAAKqL,cAAgB/N,YACvB,CAEA,eAAIkgE;;AACF,OAAOx9D,KAAK0kO,YACd,CAEA,eAAIlnK,CAAYvyD;;AACd,GAAa,OAATA,KACF,MAAMG,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,iCAAkC,sBAGnFrL,KAAK0kO,aAAez5N,IACtB,CAEAgB,UAAAA;;AACE,IAAIhB,KAAOjL,KAAK0kO,aAChB,KAAgB,OAATz5N,MAAiBA,OAASjL,KAAKq3B,MAGpC,GAFApsB,KAAOA,KAAKgB,WAEC,OAAThB,MAAiBssB,OAAOv3B,KAAMiL,QAAU0tB,cAC1C,OAAQ34B,KAAK0kO,aAAez5N,KAGhC,OAAO,IACT,CAEAywD,UAAAA;;AACE,OAAO17D,KAAK2kO,kBAzCF,MA0CZ,CAEA/oK,SAAAA;;AACE,OAAO57D,KAAK2kO,kBA5CH,KA6CX,CAEArsM,eAAAA;;AACE,OAAOt4B,KAAK4kO,kBA9CC,KA+Cf,CAEAhsK,WAAAA;;AACE,OAAO54D,KAAK4kO,kBAnDH,MAoDX,CAEA9sM,YAAAA;;AACE,IAAI7sB,KAAOjL,KAAK0kO,aAEhB,KAAOz5N,OAASjL,KAAKq3B,MAAM,CACzB,IAAIwtM,QAAU55N,KAAKqtB,gBAEnB,KAAmB,OAAZusM,SAAkB,CACvB55N,KAAO45N,QACP,IAAI3vM,OAASqC,OAAOv3B,KAAMiL,MAE1B,KAAOiqB,SAAWi2B,eAAiBlgD,KAAKmwE,iBACtCnwE,KAAOA,KAAK2wD,UACZ1mC,OAASqC,OAAOv3B,KAAMiL,MAGxB,GAAIiqB,SAAWyD,cACb,OAAQ34B,KAAK0kO,aAAez5N,KAG9B45N,QAAU55N,KAAKqtB,eACjB,CAEA,GAAIrtB,OAASjL,KAAKq3B,MAA4B,OAApBpsB,KAAKgB,WAC7B,OAAO,KAKT,GAFAhB,KAAOA,KAAKgB,WAERsrB,OAAOv3B,KAAMiL,QAAU0tB,cACzB,OAAQ34B,KAAK0kO,aAAez5N,IAEhC,CAEA,OAAO,IACT,CAEA2sB,QAAAA;;AACE,IAAI3sB,KAAOjL,KAAK0kO,aACZxvM,OAASyD,cAEb,OAAS,CACP,KAAOzD,SAAWi2B,eAAiBlgD,KAAKmwE,iBAGtC,GAFAnwE,KAAOA,KAAKywD,WACZxmC,OAASqC,OAAOv3B,KAAMiL,MAClBiqB,SAAWyD,cACb,OAAQ34B,KAAK0kO,aAAez5N,KAIhC,EAAG,CACD,GAAIA,OAASjL,KAAKq3B,KAChB,OAAO,KAGT,MAAMwtM,QAAU55N,KAAK2tD,YAErB,GAAgB,OAAZisK,QAAkB,CACpB55N,KAAO45N,QACP,KACF,CAEA55N,KAAOA,KAAKgB,UACd,OAAkB,OAAThB,MAET,GAAa,OAATA,KACF,OAAO,KAKT,GAFAiqB,OAASqC,OAAOv3B,KAAMiL,MAElBiqB,SAAWyD,cACb,OAAQ34B,KAAK0kO,aAAez5N,IAEhC,CACF,CAEA05N,iBAAAA,CAAkBv9N;;AAChB,IAAI6D,KAAOjL,KAAK0kO,aAGhB,GAFAz5N,KAtIU,QAsIH7D,KAAiB6D,KAAKywD,WAAazwD,KAAK2wD,UAElC,OAAT3wD,KACF,OAAO,KAGT65N,KAAM,OAAS,CACb,MAAM5vM,OAASqC,OAAOv3B,KAAMiL,MAE5B,GAAIiqB,SAAWyD,cACb,OAAQ34B,KAAK0kO,aAAez5N,KAG9B,GAAIiqB,SAAWk2B,YAAa,CAC1B,MAAM0wB,MApJA,QAoJQ10E,KAAiB6D,KAAKywD,WAAazwD,KAAK2wD,UAEtD,GAAc,OAAVkgB,MAAgB,CAClB7wE,KAAO6wE,MACP,QACF,CACF,CAEA,OAAS,CACP,MAAM+oJ,QA7JA,QA6JUz9N,KAAiB6D,KAAK2tD,YAAc3tD,KAAKqtB,gBAEzD,GAAgB,OAAZusM,QAAkB,CACpB55N,KAAO45N,QACP,SAASC,IACX,CAEA,MAAMv6N,OAASU,KAAKgB,WAEpB,GAAe,OAAX1B,QAAmBA,SAAWvK,KAAKq3B,MAAQ9sB,SAAWvK,KAAK0kO,aAC7D,OAAO,KAGTz5N,KAAOV,MACT,CACF,CACF,CAEAq6N,iBAAAA,CAAkBx9N;;AAChB,IAAI6D,KAAOjL,KAAK0kO,aAEhB,GAAIz5N,OAASjL,KAAKq3B,KAChB,OAAO,KAGT,OAAS,CACP,IAAIwtM,QArLG,QAqLOz9N,KAAgB6D,KAAK2tD,YAAc3tD,KAAKqtB,gBAEtD,KAAmB,OAAZusM,SAAkB,CACvB55N,KAAO45N,QACP,MAAM3vM,OAASqC,OAAOv3B,KAAMiL,MAE5B,GAAIiqB,SAAWyD,cACb,OAAQ34B,KAAK0kO,aAAez5N,KAG9B45N,QA/LK,QA+LKz9N,KAAgB6D,KAAKywD,WAAazwD,KAAK2wD,UAE7C1mC,SAAWi2B,eAA6B,OAAZ05K,UAC9BA,QAlMG,QAkMOz9N,KAAgB6D,KAAK2tD,YAAc3tD,KAAKqtB,gBAEtD,CAIA,GAFArtB,KAAOA,KAAKgB,WAEC,OAAThB,MAAiBA,OAASjL,KAAKq3B,KACjC,OAAO,KAGT,GAAIE,OAAOv3B,KAAMiL,QAAU0tB,cACzB,OAAO,IAEX,CACF,E,6ECrNF,MAAM97B,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAiBjC,SAASC,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAA+B,UAAEM,WAGjDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,wCAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB,kBAEnCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMs7B,UACJh5B,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEA,SAAIR;;AACF,MAAMgC,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOwB,QAAQ5C,YAAmB,KACpC,CAEA,SAAIY,CAAM0H;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnCkH,EAAI5I,YAAmB,MAAE4I,EAAG,CAC1BpH,QAAS,wEACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAmB,MAAIsI,CACjC,EAEF7H,OAAOwD,iBAAiBw3B,UAAUl7B,UAAW,CAC3CK,MAAO,CAAEsD,YAAY,GACrB,CAACC,OAAOC,aAAc,CAAExD,MAAO,YAAagB,cAAc,KAE5DU,aAA0B,UAAIm5B,UAE9Bh7B,OAAOkB,eAAexB,aApHF,YAoH+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO66B,aAIX,MAAM36B,KAAOnB,oBAAQ,M,8BChIrBJ,OAAOC,QAAUi+C,SAASl9C,UAAUsQ,K,6ECDpC,MAAMstB,aAAex+B,oBAAQ,MACvB6U,gBAAkB7U,oBAAAA,OAAAA,eAClBgwJ,gCACJhwJ,oBAAAA,OAAAA,GACI,OAAYA,oBAAQ,OACpB,sBAAuB,WAAgBA,oBAAQ,OAErD,MAAMioO,8BAA8BpzN,gBAClC/R,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B+K,MAAMlM,aAAc6C,KAAM1B,aAC1BuB,KAAKgtH,QAAU,KACfhtH,KAAKglO,sBAAwB,KAE7BhlO,KAAK6sE,4BAA8B,EACrC,CAEAjjE,aAAAA,CAAc7B,KAAMhK,MAAO8L;;AACzBL,MAAMI,cAAc7B,KAAMhK,MAAO8L,UAEpB,QAAT9B,WAAoCtK,IAAlBuC,KAAKilO,UACzBjlO,KAAKilO,SAASt3J,cAElB,CAEAV,6CAAAA;;AACE,OAAO,CACT,CAEA6vH,UAAAA;;AACE98L,KAAKq8E,YAAcr8E,KAAKupI,aACxBvpI,KAAKglO,sBAAwB,IAC/B,CAEA,WAAI78I;;AAOF,YANsB1qF,IAAlBuC,KAAKilO,WACPjlO,KAAKilO,SAAW3pM,aAAa18B,WAAWoB,KAAKqL,cAAe,GAAI,CAC9DykD,QAAS9vD,KACT0tE,mBAAoB,SAGjB1tE,KAAKilO,QACd,CAEA,QAAI79N;;AACF,MAAO,QACT,CAEA,UAAIg2G;;AACF,OAAOsQ,sBAAsB1tH,KAC/B,CAEA,QAAIi/D;;AACF,OAAO+mB,UAAUhmF,KACnB,CAEA,SAAIjC;;AACF,OAAOiC,KAAKq8E,WACd,CAEA,SAAIt+E,CAAM2hB;;AACR1f,KAAKglO,sBAAwBhlO,KAAKupI,aAClCvpI,KAAKq8E,YAAc38D,GACrB,CAEA,gBAAI6pH;;AACF,OAAmC,OAA/BvpI,KAAKglO,sBACAhlO,KAAKglO,sBAEPhlO,KAAKq8E,WACd,CAEA,gBAAIktD,CAAa7pH;;AACoB,OAA/B1f,KAAKglO,sBAKThlO,KAAKglO,sBAAwBtlN,IAJ3B1f,KAAKq8E,YAAc38D,GAKvB,EAGF5U,MAAMi6N,sBAAsBrnO,UAAWovJ,gCAAgCpvJ,WAEvEhB,OAAOC,QAAU,CACfuB,eAAgB6mO,sB,oHCrFlB,MAAMz1N,KAAOxS,oBAAQ,OACfulF,MAAQvlF,oBAAQ,QAChB,UAAeA,oBAAQ,OACvBooO,KAAOpoO,oBAAQ,OAEfqoO,IAAMjuN,QAAQ2zD,QAAQnvC,QAAQ,IAAK,IAAI5yB,MAAM,KAC7Cs8N,iBAAmBjsN,OAAO8K,SAASkhN,IAAI,IAE7C,SAASE,aAAaC;;AACpBA,cAAcnzM,UACdmzM,cAAcliM,qBACdkiM,cAAcryM,GAAG,QAAS,OAC5B,CAEAv2B,OAAOC,QAAU,cAAsB8oB,SACrC7lB,WAAAA,CAAYoE,IAAKuhO,cAAeC;;AAC9Bh8N,QACA5L,OAAOwjB,OAAOphB,KAAMulO,eACpBvlO,KAAKgjB,WAAahf,IAClBhE,KAAKylO,gBAAkBD,eACvBxlO,KAAKuyB,QAAUizM,eAAejzM,QAC9BvyB,KAAK0lO,QAAS,EACd1lO,KAAK2lO,eAAiB,EACtB3lO,KAAK4lO,oBAAsB,GAC3B5lO,KAAK6lO,aAAe,EACpB7lO,KAAK8lO,iBACP,CAEA1tN,KAAAA;;AACEitN,aAAarlO,KAAK+lO,iBAClB/lO,KAAKkgC,KAAK,SACVlgC,KAAKojC,oBACP,CAEA4iM,WAAAA,CAAY/mK;;AACVA,KAAKp9B,KAAK7hC,KAAK+lO,gBACjB,CAEA/lM,KAAAA,CAAM1M,KAAMoC;;AACNpC,KAAKpzB,OAAS,IAChBF,KAAK4lO,oBAAoBtlO,KAAK,CAAEgzB,KAAMoC,WACtC11B,KAAK+lO,gBAAgB/lM,MAAM1M,KAAMoC,UAErC,CAEAtP,GAAAA;;AACEpmB,KAAKkgC,KAAK,UAAWlgC,KAAK+lO,iBAC1B/lO,KAAK0lO,QAAS,EACd1lO,KAAK+lO,gBAAgB3/M,KACvB,CAEAqpL,SAAAA,CAAU1nM,KAAMhK;;AACdiC,KAAKuyB,QAAQxqB,MAAQhK,MACrBiC,KAAK+lO,gBAAgBt2B,UAAU1nM,KAAMhK,MACvC,CAEAkoO,YAAAA,CAAal+N;;OACJ/H,KAAKuyB,QAAQxqB,MACpB/H,KAAK+lO,gBAAgBE,aAAal+N,KACpC,CAIAoxE,MAAAA;;AACE,MAAM,OAAQ,SAAcn5E,KAAKylO,gBACjC,MAAO,CAAE50G,IAAK,IAAIn8C,IAAI10E,KAAKgjB,YAAa0C,OAAQ6M,QAClD,CAEA2zM,UAAAA,CAAW5uN;;AACT,GAAItX,KAAK+lO,gBACP,GAAIzuN,MACFtX,KAAKkgC,KAAK,QAAS5oB,YACd,GAAItX,KAAK6lO,aAAe7lO,KAAK4lO,oBAAoB1lO,OAAQ,CAC9D,MAAM+9B,OAASj+B,KAAK4lO,oBAAoB5lO,KAAK6lO,gBACxC7lO,KAAK+lO,gBAAgBz2B,eACxBtvM,KAAK+lO,gBAAgB/lM,MACnB/B,OAAO3K,KACP2K,OAAOvI,SACP11B,KAAKkmO,WAAW3iM,KAAKvjC,MAG3B,MAAWA,KAAK0lO,QACd1lO,KAAK+lO,gBAAgB3/M,KAG3B,CAEA0/M,eAAAA;;AACE,MAAMK,WAAa,IAAIzxJ,IAAI10E,KAAKgjB,YAC1BO,OAAS4iN,WAAW3/N,SAKpBg/N,eAAiB,IAClBxlO,KAAKylO,gBACRW,MAAOpmO,KAAKwxH,OAAOjuG,OAAOtZ,UAAU,EAAGsZ,OAAOrjB,OAAS,IACvDsG,SAAU2/N,WAAW3/N,SACrBI,SAAUu/N,WAAWv/N,SACrBC,KAAMs/N,WAAWt/N,KACjByvE,KAAM6vJ,WAAWr/N,SAAWq/N,WAAWp/N,SAGnC,SAAyB,WAAXwc,OAAsB8+D,MAAQ/yE,KAKlD,IAAIkpE,QAJJx4E,KAAK+lO,gBAAkB/xM,QAAQwxM,eAAgBh2G;;AAC7CxvH,KAAKqmO,iBAAiB72G,YAII,IAAxBxvH,KAAK2lO,iBACP3lO,KAAKsmO,qBAAuBtmO,KAAK4gM,UAAU,WAEzC5gM,KAAK+1F,YACPvd,QAAUx4E,KAAK+1F,UAAUnd,oBAAoB54E,KAAKgjB,aAEhDw1D,SAAWA,QAAQt4E,SACjBF,KAAKsmO,qBACPtmO,KAAKyvM,UAAU,SAAUzvM,KAAKsmO,qBAAuB,KAAO9tJ,SAE5Dx4E,KAAKyvM,UAAU,SAAUj3H,UAI7B,IAAK,MAAM11C,QAAS,CAAC,UAAW,QAAS,SAAU,WACjD9iC,KAAK+lO,gBAAgB9yM,GAAG6P,MAAO,IAAI3iC;;AACjCH,KAAKkgC,KAAK4C,SAAU3iC,QAGpBH,KAAKumO,cACPvmO,KAAK6lO,aAAe,EACpB7lO,KAAKkmO,aAET,CAEAG,gBAAAA,CAAiB72G;;AACf,MAAMh3C,QAAUg3C,SAASj9F,QAAQ,cACjC,GAAIvyB,KAAK+1F,WAAapuF,MAAMirB,QAAQ4lD,SAClC,IACEA,QAAQ/5D,QAAQm3D;;AACd51E,KAAK+1F,UAAUre,cAAc9B,OAAQ51E,KAAKgjB,WAAY,CAAEgZ,aAAa,KAEzE,CAAE,MAAO3xB,GACPrK,KAAKkgC,KAAK,QAAS71B,EACrB,CAGF,MAAM,YAAiBmlH,UACjB,UAAeA,SAASj9F,QAGxBi0M,eAAiBn1N;;AACf+zN,kBAAoB,IAAsB,YAAhB/zN,IAAI4D,SAClCjV,KAAKkgC,KAAK,QAAS7uB,MAGvBm+G,SAASv8F,GAAG,QAASuzM,gBACrB,IAAIC,gBAAkB,KAClBC,gBAAiB,EAarB,GAZwB,iBAAbxtI,UACTA,SAASh5F,QACTF,KAAK6xH,iBACLx/F,YAAc,KACdA,WAAa,IACbo0M,gBAAkBvtI,SACM,MAAf7mE,YACT,WAAWrC,KAAKw/F,SAASj9F,QAAQ,qBAAuB,KACvDvyB,KAAK8xH,MAAQ9xH,KAAK8xH,KAAK5xH,SACxBF,KAAKylO,gBAAgBl2H,KAAO,GAAGvvG,KAAK8xH,QAAQ9xH,KAAK+xH,OACjD20G,gBAAiB,GAEfD,iBAAmBC,eAAgB,CACrC,KAAM1mO,KAAK2lO,eAAiB,GAAI,CAC9B,MAAMgB,cAAgB,IAAI52N,MAAM,wCAGhC,OAFA42N,cAAczxN,KAAO,8BACrBlV,KAAKkgC,KAAK,QAASymM,cAErB,CACAtB,aAAarlO,KAAK+lO,iBAClBv2G,SAASr9F,UACTnyB,KAAKumO,aAAc,IACE,MAAfl0M,YAAqC,MAAfA,aAAuD,SAAhCryB,KAAKylO,gBAAgB//M,QACtD,MAAf2M,aAAuB,iBAAiBrC,KAAKhwB,KAAKylO,gBAAgB//M,WACnE1lB,KAAKylO,gBAAgB//M,OAAS,MAC9B1lB,KAAK4lO,oBAAsB,IAE7B,IAAIgB,iBAAmB5mO,KAAK6mO,uBAAuB,WAC9CD,mBACHA,iBAAmB,IAAIlyJ,IAAI10E,KAAKgjB,YAAYpc,UAE9C,MAAMkgO,YAAc9mO,KAAKgjB,WACzB,IAAK0jN,eAAgB,CACnB,IAAIK,QACJ,IACEA,QAAU,IAAIryJ,IAAI+xJ,gBAAiBzmO,KAAKgjB,WAC1C,CAAE,MAAO3Y,GAEP,YADArK,KAAKkgC,KAAK,QAAS71B,EAErB,CAEI08N,QAAQngO,WAAaggO,kBACvB5mO,KAAK6mO,uBAAuB,oBAE9B7mO,KAAKgjB,WAAa+jN,QAAQzgO,UAC5B,CACAtG,KAAKuyB,QAAQm/F,QAAUo1G,YACvB9mO,KAAKkgC,KAAK,WAAYsvF,SAAUxvH,KAAKuyB,QAASvyB,KAAKgjB,YACnD,IACEhjB,KAAK8lO,iBACP,CAAE,MAAOnrC,OACP36L,KAAKkgC,KAAK,QAASy6J,MACrB,CACF,KAAO,CACL,IAAIhnH,SAAW67C,SACf,MAAMw3G,eAAiBhnO,KAAKuyB,QAAQ,mBAGpC,GAFoD,iBAAnBy0M,iBAC9BA,eAAejyN,SAAS,SAAWiyN,eAAejyN,SAAS,aAG5B,SAAhC/U,KAAKylO,gBAAgB//M,QACrB2M,YAAc,KACC,MAAfA,YACe,MAAfA,WACA,CAEA,MAAM40M,YAAc,CAClB7lB,OAAQ8jB,KAAKx+I,WAAaw+I,MAAMgC,aAChCC,aAAcjC,KAAKx+I,WAAaw+I,MAAMgC,cAElCE,iBAAmB53G,SAASj9F,QAAQ,qBAAuB,YAAYzB,OAAO9b,cAC5D,SAApBoyN,iBACFzzJ,SAAWuxJ,KAAKmC,aAAaJ,aAC7Bz3G,SAAS3tF,KAAK8xC,WACe,YAApByzJ,kBACTzzJ,SAAWuxJ,KAAKoC,cAAcL,aAC9Bz3G,SAAS3tF,KAAK8xC,UAElB,CACAA,SAASvwC,mBAAmB,SAC5BpjC,KAAKkgC,KAAK,WAAYsvF,SAAUxvH,KAAKgjB,YACrC2wD,SAAS1gD,GAAG,OAAQi+C,OAASlxE,KAAKkgC,KAAK,OAAQgxC,QAC/CyC,SAAS9tD,KAAK,MAAOqrD,OAASlxE,KAAKkgC,KAAK,MAAOgxC,QAC/CyC,SAAS1gD,GAAG,QAASuzM,gBACrB7yJ,SAAS1gD,GAAG,QAAS,IAAMjzB,KAAKkgC,KAAK,UACrClgC,KAAK4lO,oBAAsB,EAC7B,CACF,CAEAhlC,SAAAA,CAAU1yL,IAAKnQ;;AACb,OAAIiC,KAAK+lO,gBACA/lO,KAAK+lO,gBAAgBnlC,UAAU1yL,IAAKnQ,OAEtC,IACT,CAEA8oO,sBAAAA,CAAuBp9I;;AACrB,IAAI7vC,UACJ,IAAK,MAAMpnB,UAAUxyB,KAAKuyB,QACpBk3D,MAAMz5D,KAAKwC,UACbonB,UAAY55C,KAAKuyB,QAAQC,eAClBxyB,KAAKuyB,QAAQC,SAGxB,OAAOonB,SACT,E,6ECvQF,MAAM2tL,KAAOzqO,oBAAQ,OACfiF,SAAWjF,oBAAQ,OACnB62F,WAAa72F,oBAAQ,QACrB,eAAoBA,oBAAQ,OAE5B0qO,mBAAqBlmO,OAAO,wBAmClC5E,OAAOC,QAAU,SAAyBsF,OAAQqV,MAAOmwN;;AAGvD,MAAMz3N,MAAQsH,OAASA,MAAMtH,MACvBk7K,MAAQl7K,OAASA,MAAMlH,MAAM,MAGnC,IAAI4+N,OACJ,GAAIx8C,MACF,IAAK,IAAIzqL,EAAI,EAAGA,EAAIyqL,MAAMhrL,SAAWwnO,SAAUjnO,EAC7CinO,OAASx8C,MAAMzqL,GAAGsL,MAAM,sDAI5B,MAAMuhF,SAAYo6I,QAAUA,OAAO,IAAOD,cAAgBxlO,OAAO4B,UAAU6wE,IAQ3E,IAlDF,SAAuBm3C,KAAMk5F,IAAKl/M,OAAQ8hO,YAAa1yN,QAASikF;;AAC9D,GAAIrzF,OAAO2hO,oBACT,OAAO,EAGT3hO,OAAO2hO,qBAAsB,EAEN,iBAAZvyN,UACTA,QAAU,uBAAyBsyN,KAAK/0N,QAAQm1N,cAGlD,MAAM7kM,MAAQ8kM,cAAc,QAAS/hO,OAAOwF,cAAesoF,WAAY,CACrE/mB,YAAY,EACZ33D,QACA/F,SAAUgqF,SACV8gE,OAAQnuC,KACRouC,MAAO8qD,IACPztM,MAAOqwN,cAGT,IACE9hO,OAAO0sF,UAAUzvD,MACnB,CAAE,QAEA,OADAj9B,OAAO2hO,qBAAsB,EACtB1kM,MAAM+kM,gBACf,CACF,CAsBkBC,CALIJ,QAAUzjN,SAASyjN,OAAO,KAAQ,EAChCA,QAAUzjN,SAASyjN,OAAO,KAAQ,EAErC3lO,SAASzD,eAAe2D,QAEyBqV,MAAOA,OAASA,MAAMrC,QAASq4E,UAErF,CACZ,MAAMy6I,aASwBx0N,EATe+D,QAUnC/D,EAAExL,WAAsBtK,IAAd8V,EAAE0B,SAAyB1B,EAAEvD,MAVK,IAAIsH,MAAMvP,SAASuP,MAAMrC,WAAasyN,KAAK/0N,QAAQ8E,OACnG0wN,WAAa,IAAIj4N,MAAM,YAAYg4N,eACzCC,WAAW1gO,OAASgQ,MACpB0wN,WAAW5gO,KAAO,sBAElBnF,OAAOsuD,gBAAgBrwB,KAAK,aAAc8nM,WAC5C,CAGF,IAAkCz0N,CAFlC,C,6ECrEA,MAAM1W,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBmrO,yBAA2BnrO,oBAAAA,OAAAA,OAC3Bk0D,oBAAsBl0D,oBAAQ,OAC9Bm0D,2BAA6Bn0D,oBAAQ,OACrCG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3B8zD,QAAUp0D,oBAAQ,OAiBxB,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAgC,WAAEM,WAGlDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,yCAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC4zD,QAAQryD,eAAeH,QAASpB,eAGlCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAM45B,mBAAmB55B,aAAa4zD,QACpCtxD,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEA8yD,KAAAA;;AACE,MAAMtxD,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,2EAGnC,OAAOwB,QAAQ5C,YAAYk0D,OAC7B,CAEAC,IAAAA;;AACE,MAAMvxD,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,0EAGnC,OAAOwB,QAAQ5C,YAAYm0D,MAC7B,CAEA,aAAI6xH;;AACF,MAAMpjL,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,YAAa,IACrCioO,yBAAyB3qO,aAAc,GAAI,CAChDwyD,QAAS/vD,QAAQ5C,YACjBu5J,UAAW,UAGjB,CAEA,mBAAItsJ;;AACF,MAAMrK,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA6B,gBACtE,CAEA,mBAAIwN;;AACF,MAAM5K,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA6B,gBACtE,CAEA,SAAI0sD;;AACF,MAAM9pD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,QAAS,IACjCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAmB,OAE9D,CAEA,SAAI0sD,CAAMpkD;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,MAAMyH,EAAIjG,QAAe,MACzB,IAAKhD,MAAMY,SAASqI,GAClB,MAAM,IAAI1I,aAAaiB,UAAU,qCAEnC0H,QAAQC,IAAIF,EAAG,UAAWP,EAC5B,CAEA,WAAImS;;AACF,MAAM7X,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIya,CAAQnS;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,cAAIysD;;AACF,MAAMnyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI+0D,CAAWzsD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,iBAAI0sD;;AACF,MAAMpyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAIg1D,CAAc1sD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,mFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,iBAAI2sD;;AACF,MAAMryD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAIi1D,CAAc3sD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,mFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,kBAAI4sD;;AACF,MAAMtyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA4B,eACrE,CAEA,kBAAIk1D,CAAe5sD;;AACjB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,oFAHP,KAMN0B,QAAQ5C,YAA4B,eAAIsI,CAC1C,CAEA,UAAI6sD;;AACF,MAAMvyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIm1D,CAAO7sD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,YAAI8sD;;AACF,MAAMxyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIo1D,CAAS9sD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,aAAI+sD;;AACF,MAAMzyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIq1D,CAAU/sD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,oBAAIgtD;;AACF,MAAM1yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,oBAAIs1D,CAAiBhtD;;AACnB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,sFAHP,KAMN0B,QAAQ5C,YAA8B,iBAAIsI,CAC5C,CAEA,YAAIitD;;AACF,MAAM3yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIu1D,CAASjtD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,WAAIktD;;AACF,MAAM5yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIw1D,CAAQltD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAI88B;;AACF,MAAMxiC,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIolC,CAAQ98B;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,iBAAImtD;;AACF,MAAM7yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAIy1D,CAAcntD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,mFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,iBAAIotD;;AACF,MAAM9yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAI01D,CAAcptD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,mFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,qBAAIqtD;;AACF,MAAM/yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA+B,kBACxE,CAEA,qBAAI21D,CAAkBrtD;;AACpB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,uFAHP,KAMN0B,QAAQ5C,YAA+B,kBAAIsI,CAC7C,CAEA,UAAIstD;;AACF,MAAMhzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAI41D,CAAOttD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,eAAIutD;;AACF,MAAMjzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAI61D,CAAYvtD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,SAAIwtD;;AACF,MAAMlzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAmB,MAC5D,CAEA,SAAI81D,CAAMxtD;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAmB,MAAIsI,CACjC,CAEA,cAAIytD;;AACF,MAAMnzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI+1D,CAAWztD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,UAAI0tD;;AACF,MAAMpzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIg2D,CAAO1tD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,aAAI2tD;;AACF,MAAMrzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIi2D,CAAU3tD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,eAAI4tD;;AACF,MAAMtzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIk2D,CAAY5tD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,eAAI6tD;;AACF,MAAMvzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIm2D,CAAY7tD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,cAAI8tD;;AACF,MAAMxzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIo2D,CAAW9tD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,eAAI+tD;;AACF,MAAMzzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIq2D,CAAY/tD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,UAAIguD;;AACF,MAAM1zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIs2D,CAAOhuD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,oBAAIiuD;;AACF,MAAM3zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,oBAAIu2D,CAAiBjuD;;AACnB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,sFAHP,KAMN0B,QAAQ5C,YAA8B,iBAAIsI,CAC5C,CAEA,aAAIkuD;;AACF,MAAM5zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIw2D,CAAUluD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,WAAImuD;;AACF,MAAM7zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIy2D,CAAQnuD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIutB;;AACF,MAAMjzB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI61B,CAAQvtB;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdwrD,2BAA2B7yD,QAAQd,aAAcmI,EAAG,CACtDpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIouD;;AACF,MAAM9zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI02D,CAAQpuD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,cAAIquD;;AACF,MAAM/zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI22D,CAAWruD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,WAAIsuD;;AACF,MAAMh0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI42D,CAAQtuD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,aAAIuuD;;AACF,MAAMj0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI62D,CAAUvuD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,aAAIwuD;;AACF,MAAMl0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI82D,CAAUxuD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,cAAIyuD;;AACF,MAAMn0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI+2D,CAAWzuD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,WAAI0uD;;AACF,MAAMp0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIg3D,CAAQ1uD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,UAAI2uD;;AACF,MAAMr0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIi3D,CAAO3uD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,gBAAI4uD;;AACF,MAAMt0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIk3D,CAAa5uD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,oBAAI6uD;;AACF,MAAMv0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,oBAAIm3D,CAAiB7uD;;AACnB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,sFAHP,KAMN0B,QAAQ5C,YAA8B,iBAAIsI,CAC5C,CAEA,eAAI8uD;;AACF,MAAMx0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIo3D,CAAY9uD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,eAAI+uD;;AACF,MAAMz0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIq3D,CAAY/uD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,gBAAIgvD;;AACF,MAAM10D,QAAUC,WAAsCA,KAAO1C,aAE7D,GAAKX,QAAQmB,GAAGiC,SAIhB,OAAOhD,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIs3D,CAAahvD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAExDX,QAAQmB,GAAGiC,WAOd0F,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,EACxC,CAEA,gBAAIivD;;AACF,MAAM30D,QAAUC,WAAsCA,KAAO1C,aAE7D,GAAKX,QAAQmB,GAAGiC,SAIhB,OAAOhD,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIu3D,CAAajvD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAExDX,QAAQmB,GAAGiC,WAOd0F,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,EACxC,CAEA,eAAIkvD;;AACF,MAAM50D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIw3D,CAAYlvD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,cAAImvD;;AACF,MAAM70D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIy3D,CAAWnvD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,eAAIovD;;AACF,MAAM90D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAI03D,CAAYpvD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,aAAIqvD;;AACF,MAAM/0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI23D,CAAUrvD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,WAAIsvD;;AACF,MAAMh1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI43D,CAAQtvD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIuvD;;AACF,MAAMj1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI63D,CAAQvvD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,UAAIwvD;;AACF,MAAMl1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAI83D,CAAOxvD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,aAAIyvD;;AACF,MAAMn1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI+3D,CAAUzvD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,cAAI0vD;;AACF,MAAMp1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIg4D,CAAW1vD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,gBAAI2vD;;AACF,MAAMr1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIi4D,CAAa3vD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,WAAI4vD;;AACF,MAAMt1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIk4D,CAAQ5vD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,YAAI6vD;;AACF,MAAMv1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIm4D,CAAS7vD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,YAAI8vD;;AACF,MAAMx1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIo4D,CAAS9vD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,eAAI+vD;;AACF,MAAMz1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIq4D,CAAY/vD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,6BAAIgwD;;AACF,MAAM11D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuC,0BAChF,CAEA,6BAAIs4D,CAA0BhwD;;AAC5B,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+FAHP,KAMN0B,QAAQ5C,YAAuC,0BAAIsI,CACrD,CAEA,YAAIiwD;;AACF,MAAM31D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIu4D,CAASjwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,aAAIkwD;;AACF,MAAM51D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIw4D,CAAUlwD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,YAAImwD;;AACF,MAAM71D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIy4D,CAASnwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,gBAAIowD;;AACF,MAAM91D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAI04D,CAAapwD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,aAAIqwD;;AACF,MAAM/1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI24D,CAAUrwD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,YAAIswD;;AACF,MAAMh2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAI44D,CAAStwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,aAAIuwD;;AACF,MAAMj2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI64D,CAAUvwD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,gBAAIwwD;;AACF,MAAMl2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAI84D,CAAaxwD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,YAAIywD;;AACF,MAAMn2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAI+4D,CAASzwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,kBAAI0wD;;AACF,MAAMp2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA4B,eACrE,CAEA,kBAAIg5D,CAAe1wD;;AACjB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,oFAHP,KAMN0B,QAAQ5C,YAA4B,eAAIsI,CAC1C,CAEA,aAAI2wD;;AACF,MAAMr2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIi5D,CAAU3wD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,wBAAI4wD;;AACF,MAAMt2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,8FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAkC,qBAC3E,CAEA,wBAAIk5D,CAAqB5wD;;AACvB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,8FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0FAHP,KAMN0B,QAAQ5C,YAAkC,qBAAIsI,CAChD,CAEA,8BAAI6wD;;AACF,MAAMv2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwC,2BACjF,CAEA,8BAAIm5D,CAA2B7wD;;AAC7B,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gGAHP,KAMN0B,QAAQ5C,YAAwC,2BAAIsI,CACtD,CAEA,0BAAI8wD;;AACF,MAAMx2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoC,uBAC7E,CAEA,0BAAIo5D,CAAuB9wD;;AACzB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4FAHP,KAMN0B,QAAQ5C,YAAoC,uBAAIsI,CAClD,CAEA,yBAAI+wD;;AACF,MAAMz2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,+FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAmC,sBAC5E,CAEA,yBAAIq5D,CAAsB/wD;;AACxB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,+FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2FAHP,KAMN0B,QAAQ5C,YAAmC,sBAAIsI,CACjD,CAEA,WAAIgxD;;AACF,MAAM12D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIs5D,CAAQhxD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,gBAAIixD;;AACF,MAAM32D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIu5D,CAAajxD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,cAAIkxD;;AACF,MAAM52D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIw5D,CAAWlxD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,eAAImxD;;AACF,MAAM72D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIy5D,CAAYnxD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,iBAAIoxD;;AACF,MAAM92D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAI05D,CAAcpxD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,mFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,WAAIqxD;;AACF,MAAM/2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,UAAW,IACnCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,SAEhE,CAEA,SAAI45D;;AACF,MAAMh3D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,MAAMR,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,SACjE,OAAiB,OAAVzH,MAAiB,GAAKA,KAC/B,CAEA,SAAIg5D,CAAMtxD;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnCkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,yEACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAYuI,+BAA+B,QAASD,EAC9D,CAEA,YAAIuxD;;AACF,MAAMj3D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJtB,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAsB,QACvC,CAAE,QACAD,6CAA6CI,aAC/C,CACF,CAEA,YAAI05D,CAASvxD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJkH,EAAI5I,YAAkB,KAAE4I,EAAG,CACzBpH,QAAS,4EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAsB,SAAIsI,CACpC,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,EAEFM,OAAOwD,iBAAiB81B,WAAWx5B,UAAW,CAC5C2zD,MAAO,CAAEhwD,YAAY,GACrBiwD,KAAM,CAAEjwD,YAAY,GACpB8hL,UAAW,CAAE9hL,YAAY,GACzB+I,gBAAiB,CAAE/I,YAAY,GAC/BsJ,gBAAiB,CAAEtJ,YAAY,GAC/BwoD,MAAO,CAAExoD,YAAY,GACrBuW,QAAS,CAAEvW,YAAY,GACvB6wD,WAAY,CAAE7wD,YAAY,GAC1B8wD,cAAe,CAAE9wD,YAAY,GAC7B+wD,cAAe,CAAE/wD,YAAY,GAC7BgxD,eAAgB,CAAEhxD,YAAY,GAC9BixD,OAAQ,CAAEjxD,YAAY,GACtBkxD,SAAU,CAAElxD,YAAY,GACxBmxD,UAAW,CAAEnxD,YAAY,GACzBoxD,iBAAkB,CAAEpxD,YAAY,GAChCqxD,SAAU,CAAErxD,YAAY,GACxBsxD,QAAS,CAAEtxD,YAAY,GACvBkhC,QAAS,CAAElhC,YAAY,GACvBuxD,cAAe,CAAEvxD,YAAY,GAC7BwxD,cAAe,CAAExxD,YAAY,GAC7ByxD,kBAAmB,CAAEzxD,YAAY,GACjC0xD,OAAQ,CAAE1xD,YAAY,GACtB2xD,YAAa,CAAE3xD,YAAY,GAC3B4xD,MAAO,CAAE5xD,YAAY,GACrB6xD,WAAY,CAAE7xD,YAAY,GAC1B8xD,OAAQ,CAAE9xD,YAAY,GACtB+xD,UAAW,CAAE/xD,YAAY,GACzBgyD,YAAa,CAAEhyD,YAAY,GAC3BiyD,YAAa,CAAEjyD,YAAY,GAC3BkyD,WAAY,CAAElyD,YAAY,GAC1BmyD,YAAa,CAAEnyD,YAAY,GAC3BoyD,OAAQ,CAAEpyD,YAAY,GACtBqyD,iBAAkB,CAAEryD,YAAY,GAChCsyD,UAAW,CAAEtyD,YAAY,GACzBuyD,QAAS,CAAEvyD,YAAY,GACvB2xB,QAAS,CAAE3xB,YAAY,GACvBwyD,QAAS,CAAExyD,YAAY,GACvByyD,WAAY,CAAEzyD,YAAY,GAC1B0yD,QAAS,CAAE1yD,YAAY,GACvB2yD,UAAW,CAAE3yD,YAAY,GACzB4yD,UAAW,CAAE5yD,YAAY,GACzB6yD,WAAY,CAAE7yD,YAAY,GAC1B8yD,QAAS,CAAE9yD,YAAY,GACvB+yD,OAAQ,CAAE/yD,YAAY,GACtBgzD,aAAc,CAAEhzD,YAAY,GAC5BizD,iBAAkB,CAAEjzD,YAAY,GAChCkzD,YAAa,CAAElzD,YAAY,GAC3BmzD,YAAa,CAAEnzD,YAAY,GAC3BozD,aAAc,CAAEpzD,YAAY,GAC5BqzD,aAAc,CAAErzD,YAAY,GAC5BszD,YAAa,CAAEtzD,YAAY,GAC3BuzD,WAAY,CAAEvzD,YAAY,GAC1BwzD,YAAa,CAAExzD,YAAY,GAC3ByzD,UAAW,CAAEzzD,YAAY,GACzB0zD,QAAS,CAAE1zD,YAAY,GACvB2zD,QAAS,CAAE3zD,YAAY,GACvB4zD,OAAQ,CAAE5zD,YAAY,GACtB6zD,UAAW,CAAE7zD,YAAY,GACzB8zD,WAAY,CAAE9zD,YAAY,GAC1B+zD,aAAc,CAAE/zD,YAAY,GAC5Bg0D,QAAS,CAAEh0D,YAAY,GACvBi0D,SAAU,CAAEj0D,YAAY,GACxBk0D,SAAU,CAAEl0D,YAAY,GACxBm0D,YAAa,CAAEn0D,YAAY,GAC3Bo0D,0BAA2B,CAAEp0D,YAAY,GACzCq0D,SAAU,CAAEr0D,YAAY,GACxBs0D,UAAW,CAAEt0D,YAAY,GACzBu0D,SAAU,CAAEv0D,YAAY,GACxBw0D,aAAc,CAAEx0D,YAAY,GAC5By0D,UAAW,CAAEz0D,YAAY,GACzB00D,SAAU,CAAE10D,YAAY,GACxB20D,UAAW,CAAE30D,YAAY,GACzB40D,aAAc,CAAE50D,YAAY,GAC5B60D,SAAU,CAAE70D,YAAY,GACxB80D,eAAgB,CAAE90D,YAAY,GAC9B+0D,UAAW,CAAE/0D,YAAY,GACzBg1D,qBAAsB,CAAEh1D,YAAY,GACpCi1D,2BAA4B,CAAEj1D,YAAY,GAC1Ck1D,uBAAwB,CAAEl1D,YAAY,GACtCm1D,sBAAuB,CAAEn1D,YAAY,GACrCo1D,QAAS,CAAEp1D,YAAY,GACvBq1D,aAAc,CAAEr1D,YAAY,GAC5Bs1D,WAAY,CAAEt1D,YAAY,GAC1Bu1D,YAAa,CAAEv1D,YAAY,GAC3Bw1D,cAAe,CAAEx1D,YAAY,GAC7By1D,QAAS,CAAEz1D,YAAY,GACvB01D,MAAO,CAAE11D,YAAY,GACrB21D,SAAU,CAAE31D,YAAY,GACxB,CAACC,OAAOC,aAAc,CAAExD,MAAO,aAAcgB,cAAc,KAE7DU,aAA0B,WAAIy3B,WAE9Bt5B,OAAOkB,eAAexB,aA7tFF,aA6tF+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOm5B,cAIX,MAAMj5B,KAAOnB,oBAAQ,K,6ECjvFrB,MAAM6U,gBAAkB7U,oBAAAA,OAAAA,eAIxBJ,OAAOC,QAAU,CACfuB,eAHF,cAAmCyT,kB,6ECFnC/T,OAAOkB,eAAenC,QAAS,aAAc,CAAEoB,OAAO,IACtDpB,QAAQ+jJ,wBAAqB,EAC7B,MAAMic,UAAY7/J,oBAAQ,OAC1BH,QAAQ+jJ,mBAAqB,CAEzBoE,eAAcA,KACH,CACH9oE,SAAU,YACVuqD,KAAMo2B,UAAUwE,cAAc4vB,UAC9B50G,WAAY,KAGpB2gB,uBAAsBA,KACX,CACH9gB,SAAU,qBACVG,WAAY,KAGpB3d,cAAaA,CAAC+6B,QAAS/uF,aAAcmkI,SAC1B,CACH3yD,SAAUud,QACVA,QACAo1C,MACAnkI,aACA2xE,WAAY,GACZlwE,WAAY,OAGpBq5I,kBAAkBhyH,OACP,CACH0oD,SAAU,WACV1oD,KACArnB,WAAY,OAGpBwwF,eAAe1+F,QACJ,CACHi+E,SAAU,QACVj+E,MACAkO,WAAY,OAIpBqvD,WAAAA,CAAYrvD,WAAYiwD;;AACpBjwD,WAAWkwE,WAAW77E,KAAK47D,SAC3BA,QAAQjwD,WAAaA,UACzB,EACA4uD,YAAAA,CAAa5uD,WAAYiwD,QAASxkC;;AAC9B,MAAMo2J,aAAe7hL,WAAWkwE,WAAW73E,QAAQozB,eACnDzrB,WAAWkwE,WAAWj5E,OAAO4qL,aAAc,EAAG5xH,SAC9CA,QAAQjwD,WAAaA,UACzB,EACAs5I,kBAAAA,CAAmBC,gBAAiB0iF;;AAChC1iF,gBAAgBhlH,QAAU0nM,cAC9B,EACAloE,mBAAmBxa,iBACRA,gBAAgBhlH,QAE3BmlH,eAAAA,CAAgBniJ,SAAUuE,KAAMg6I,SAAUC;;AACtC,MAAMmmF,YAAc3kO,SAAS24E,WAAW79D,KAAMrT,MAA2B,kBAAlBA,KAAK+wE,UAC5D,GAAImsJ,YACAA,YAAYpgO,KAAOA,KACnBogO,YAAYpmF,SAAWA,SACvBomF,YAAYnmF,SAAWA,aAEtB,CACD,MAAM/2I,KAAO,CACT+wE,SAAU,gBACVj0E,KACAg6I,SACAC,SACA/1I,WAAY,MAEhBtP,QAAQ+jJ,mBAAmBplF,YAAY93D,SAAUyH,KACrD,CACJ,EACA46I,eAAAA,CAAgBriJ,SAAU+iI;;AACtB/iI,SAAS+iI,KAAOA,IACpB,EACAolC,gBAAgBnoK,UACLA,SAAS+iI,KAEpBwf,UAAAA,CAAW96I;;AACP,GAAIA,KAAKgB,WAAY,CACjB,MAAMymE,IAAMznE,KAAKgB,WAAWkwE,WAAW73E,QAAQ2G,MAC/CA,KAAKgB,WAAWkwE,WAAWj5E,OAAOwvE,IAAK,GACvCznE,KAAKgB,WAAa,IACtB,CACJ,EACA+5I,UAAAA,CAAW/5I,WAAYi3E;;AACnB,GAAIj3E,WAAWkwE,WAAWj8E,OAAS,EAAG,CAClC,MAAMkoO,SAAWn8N,WAAWkwE,WAAWlwE,WAAWkwE,WAAWj8E,OAAS,GACtE,GAAIvD,QAAQ+jJ,mBAAmB2nF,WAAWD,UAEtC,YADAA,SAASrqO,OAASmlF,KAG1B,CACAvmF,QAAQ+jJ,mBAAmBplF,YAAYrvD,WAAYtP,QAAQ+jJ,mBAAmBjkD,eAAevZ,MACjG,EACAgjE,gBAAAA,CAAiBj6I,WAAYi3E,KAAMxrD;;AAC/B,MAAM0wM,SAAWn8N,WAAWkwE,WAAWlwE,WAAWkwE,WAAW73E,QAAQozB,eAAiB,GAClF0wM,UAAYzrO,QAAQ+jJ,mBAAmB2nF,WAAWD,UAClDA,SAASrqO,OAASmlF,KAGlBvmF,QAAQ+jJ,mBAAmB7lF,aAAa5uD,WAAYtP,QAAQ+jJ,mBAAmBjkD,eAAevZ,MAAOxrD,cAE7G,EACAytH,eAAAA,CAAgB0uB,UAAWllC;;AACvB,MAAM25F,kBAAoB,IAAInpO,IAAI00K,UAAUllC,MAAMzmI,IAAK8qG,MAASA,KAAKjrG,OACrE,IAAK,IAAI05D,EAAI,EAAGA,EAAIktE,MAAMzuI,OAAQuhE,IACzB6mK,kBAAkB9oO,IAAImvI,MAAMltE,GAAG15D,OAChC8rK,UAAUllC,MAAMruI,KAAKquI,MAAMltE,GAGvC,EAEAwwG,cAAchnK,MACHA,KAAKkxE,WAAW,GAE3B22F,cAAc7nK,MACHA,KAAKkxE,WAEhBw2F,cAAc1nK,MACHA,KAAKgB,WAEhB8oK,YAAYjlH,SACDA,QAAQ6+E,MAGnB6wB,WAAW1vG,SACAA,QAAQypC,QAEnB6lE,gBAAgBtvG,SACLA,QAAQtlD,aAEnB+9N,mBAAmBtiF,UACRA,SAASloJ,MAEpByqO,sBAAsBn1D,aACXA,YAAY//I,KAEvBm1M,wBAAwBN,aACbA,YAAYpgO,KAEvB2gO,4BAA4BP,aACjBA,YAAYpmF,SAEvB4mF,4BAA4BR,aACjBA,YAAYnmF,SAGvBqmF,WAAWp9N,MACkB,UAAlBA,KAAK+wE,SAEhB4sJ,cAAc39N,MACe,aAAlBA,KAAK+wE,SAEhB+2F,mBAAmB9nK,MACU,kBAAlBA,KAAK+wE,SAEhB6sJ,cAAc59N,MACHrN,OAAOF,UAAU4jB,eAAerZ,KAAKgD,KAAM,WAGtD+nK,yBAAAA,CAA0B/nK,KAAMiuF;;AAC5BjuF,KAAK69N,mBAAqB5vI,QAC9B,EACA4nE,0BAA0B71J,MACfA,KAAK69N,mBAEhBn1D,4BAAAA,CAA6B1oK,KAAM89N;;AAC/B99N,KAAK69N,mBAAqBlrO,OAAOwjB,OAAOxjB,OAAOwjB,OAAO,CAAC,EAAGnW,KAAK69N,oBAAqBC,YACxF,E,6JC5KJ,MAAMC,QAAUlsO,oBAAQ,OAElBsO,aAAetO,oBAAQ,OACvB,SAAU,aAAc,oBAAyBA,oBAAQ,OACzD0/H,UAAY1/H,oBAAQ,QAEpB,8BAAmCA,oBAAQ,QAC3C,aAAkBA,oBAAQ,QAC1B,eAAoBA,oBAAQ,QAC5B,6BAAkCA,oBAAQ,OAE1C43B,gBAAkB53B,oBAAAA,OAAAA,eAElBiF,SAAWjF,oBAAQ,OACnBwhF,KAAOxhF,oBAAQ,OACfynF,WAAaznF,oBAAQ,OACrB45B,aAAe55B,oBAAQ,MAOvBmsO,YAAc,CAElB1tM,MAAO,iCAGH2tM,kBAAoB,GAS1B,SAASC,2BAA2BlqL;;AAClC,OAAOgqL,YAAY1tM,MAAMvL,KAAKivB,IAChC,CAVAiqL,kBAAkB1sG,UAAUoB,YAXT,EAYnBsrG,kBAAkB1sG,UAAUqB,MAXf,EAYbqrG,kBAAkB1sG,UAAUsB,SAXZ,EAYhBorG,kBAAkB1sG,UAAUuB,QAXb,EAoBf,MAAMqrG,sBAAsB37N,QAC1BR,GAAAA,CAAIhL;;AACF,MAAM+G,IAAMQ,MAAMyD,IAAIhL,QACtB,YAAexE,IAARuL,IAAoBA,IAAMgI,QAAQC,SAC3C,EAGF,MAAMo4N,YAAc,IAAI57N,QAClB67N,cAAgB,IAAIF,cAE1B,MAAMvqH,sBAAsBnqF,gBAC1B90B,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B+K,MAAMlM,aAAc6C,KAAM1B,aAE1BuB,KAAKmL,eAAiBpJ,SAASzD,eAAehB,aAAauG,WAE3D,MAAMG,IAAM7D,KAAK,GACjB,IAAIwvG,eAAwBlyG,IAAZ0C,KAAK,GAAmBA,KAAK,GAAK,GAElD,MAAMmiB,UAAYguC,SAAStsD,KAC3B,GAAkB,OAAdse,UACF,MAAMlX,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,YAAYrH,mBAAoB,gBAEjF,GAAyB,OAArBse,UAAUiB,QAAwC,QAArBjB,UAAUiB,OACzC,MAAMnY,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,mDAAmDiX,UAAUiB,0BAC7D,gBAGJ,GAA2B,OAAvBjB,UAAUpe,SACZ,MAAMkH,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,4CAA4CiX,UAAUpe,sEAEtD,gBAIqB,iBAAdyrG,YACTA,UAAY,CAACA,YAEf,MAAM45H,YAAc,IAAIpqO,IACxB,IAAK,MAAMqH,YAAYmpG,UAAW,CAChC,IAAKw5H,2BAA2B3iO,UAC9B,MAAM4E,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,oBAAoB7E,wBAAyB,gBAE9F,MAAMgjO,QAAUhjO,SAASwO,cACzB,GAAIu0N,YAAY/pO,IAAIgqO,SAClB,MAAMp+N,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,oBAAoB7E,2BACpB,gBAGJ+iO,YAAY3mO,IAAI4mO,QAClB,CAEAxpO,KAAKypO,WAAannN,UAClBtiB,KAAKgE,IAAMiB,aAAaqd,WACxB,MAAMonN,cAAgBV,QAAQ3yM,MAAMr2B,KAAKgE,KACzChE,KAAKw9H,WAAa,GAElBx9H,KAAK09H,WAAa,OAElB19H,KAAK2pO,IAAM,KAEX3pO,KAAK4pO,YAvFU,EAwFf5pO,KAAK6pO,iBAAkB,EACvB7pO,KAAKs9H,eAAiB,EACtBt9H,KAAK8pO,WAAa,GAElB,IAAIC,qBAAuBV,YAAYp8N,IAAI3P,aAAawiH,mBAC3BriH,IAAzBssO,uBACFA,qBAAuB,IAAI5qO,IAC3BkqO,YAAYnjO,IAAI5I,aAAawiH,aAAciqH,uBAE7CA,qBAAqBnnO,IAAI5C,MAEzBspO,cAAcpjO,IAAIlG,KAAKmL,eAAgBm+N,cAAcr8N,IAAIjN,KAAKmL,gBAAgB+F,KAAK,IAAM,IAAIF,QAAQC;;AAEnG,GAAIjR,KAAK6pO,gBAIP,OAHA54N,UACAjR,KAAK4pO,YApGE,OAqGP5pO,KAAKgqO,oBAAoB,KAAM,IAIjChqO,KAAK2pO,IAAM,IAAIntG,UAAUx8H,KAAKgE,IAAK2rG,UAAW,CAC5Cp9E,QAAS,CACP,aAAcj1B,aAAa+kH,UAAUC,UACrC,OAAUtiH,KAAKmL,eAAe2qF,WAAWld,oBAAoB8wJ,cAAe,CAAEp6N,MAAM,IACpF,OAAUhS,aAAai5F,SAEzBhU,mBAAoBjlF,aAAasyD,gBAAgBgzE,aAEnD5iI,KAAK2pO,IAAI9jN,KAAK,OAAQ;;AACpB5U,UACAjR,KAAKiqO,6BAEPjqO,KAAK2pO,IAAI12M,GAAG,UAAWjzB,KAAKkqO,mBAAmB3mM,KAAKvjC,OACpDA,KAAK2pO,IAAI9jN,KAAK,QAAS,IAAIskN;;AACzBl5N,UACAjR,KAAKgqO,uBAAuBG,aAE9BnqO,KAAK2pO,IAAI9jN,KAAK,UAAW,EAAG0M;;AAC1B,GAAI5qB,MAAMirB,QAAQL,QAAQ,eACxB,IAAK,MAAMqjD,UAAUrjD,QAAQ,cAC3BvyB,KAAKmL,eAAe2qF,WAAWpe,cAC7B9B,OACA8zJ,cACA,CAAEp6N,MAAM,EAAM0sB,aAAa,cAGIv+B,IAA1B80B,QAAQ,eACjBvyB,KAAKmL,eAAe2qF,WAAWpe,cAC7BnlD,QAAQ,cACRm3M,cACA,CAAEp6N,MAAM,EAAM0sB,aAAa,MAIjCh8B,KAAK2pO,IAAI9jN,KAAK,QAAS;;AAErB5U,UACAjR,KAAK6pO,iBAAkB,OAK7B,CAGAO,cAAAA;;AACEpqO,KAAK+lH,gBAAkBnoH,OAAOC,OAAO,MACrCmC,KAAKqqO,OAAO,KACd,CAEA,oBAAOrkH,CAAc/jH;;AACnB,MAAM8nO,qBAAuBV,YAAYp8N,IAAIhL,OAAO69G,cACpD,QAA6BriH,IAAzBssO,qBACF,IAAK,MAAM5nI,MAAM4nI,qBACf5nI,GAAGioI,gBAGT,CAGAH,wBAAAA;;AAE8B,OAAxBjqO,KAAK2pO,IAAInsG,aAGXx9H,KAAKw9H,WAAa5/H,OAAO2J,KAAKvH,KAAK2pO,IAAInsG,YAAYhtG,KAAK,OAG1DxrB,YAAY,OAAQhF,KACtB,CAEAkqO,kBAAAA,CAAmB52M,KAAMquE;;AACvB,GAnLS,IAmLL3hG,KAAK4R,WACP,OAEF,IAAI04N,aACC3oI,SAE0B,gBAApB3hG,KAAK09H,WAEZ4sG,aADE9iJ,cAAcl0D,MACDA,KACN3rB,MAAMirB,QAAQU,MACRiD,4BAA4B7T,OAAOhb,OAAO4rB,MAAOtzB,KAAKqL,eAEtDkrB,4BAA4BjD,KAAMtzB,KAAKqL,gBAGnD1D,MAAMirB,QAAQU,QACjBA,KAAO,CAACA,OAEVg3M,aAAehsJ,KAAKzgF,OAAOmC,KAAKqL,cAAe,CAACioB,KAAM,CAAElsB,KAAM,OAb9DkjO,aAAeh3M,KAAKhtB,WAetBtB,YAAY,UAAWhF,KAAM02B,aAAc,CACzCpD,KAAMg3M,aACN/jO,OAAQkwF,mBAAmBz2F,KAAKypO,aAEpC,CAEAO,mBAAAA,CAAoB90N,KAAM4C,QACKuxN,YAAYp8N,IAAIjN,KAAKmL,eAAesiD,cAC5C9qD,OAAO3C,MAE5B,MAAMwkF,UAAYxkF,KAAK6pO,gBACnB7pO,KAAK6pO,iBACP7kO,YAAY,QAAShF,MAEvBgF,YAAY,QAAShF,KAAMukF,WAAY,CACrCC,SACAtvE,KACA4C,OAAQA,OAAOxR,YAEnB,CAEA,cAAIsL;;AACF,OAAiB,OAAb5R,KAAK2pO,IACAT,kBAAkBlpO,KAAK2pO,IAAI/3N,YAE7B5R,KAAK4pO,WACd,CAEA,YAAIpjO;;AACF,OAAiB,OAAbxG,KAAK2pO,IACA,GAEF3pO,KAAK2pO,IAAInjO,QAClB,CAEAk0F,KAAAA,CAAMxlF,UAAOzX,EAAWqa,YAASra;;AAC/B,QAAaA,IAATyX,MAA+B,MAATA,QAAmBA,MAAQ,KAAQA,MAAQ,MACnE,MAAM9J,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,2DAA2D6J,mBAC3D,uBAGJ,QAAezX,IAAXqa,QAAwB4K,OAAOwnD,WAAWpyD,OAAQ,QAAU,IAC9D,MAAM1M,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,kDACA,gBAGJrL,KAAKqqO,OAAOn1N,KAAM4C,OACpB,CAEAuyN,MAAAA,CAAOn1N,UAAOzX,EAAWqa,YAASra;;AA3PjB,IA4PXuC,KAAK4R,YACP5R,KAAK6pO,iBAAkB,EACN,OAAb7pO,KAAK2pO,IACP3pO,KAAK2pO,IAAIY,YAETvqO,KAAK4pO,YA/PG,GADH,IAkQE5pO,KAAK4R,YACd5R,KAAK2pO,IAAIjvI,MAAMxlF,KAAM4C,OAEzB,CAEAk4G,IAAAA,CAAK18F;;AACH,GAzQe,IAyQXtzB,KAAK4R,WACP,MAAMxG,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,6BAA8B,sBAE/E,GA3QS,IA2QLrL,KAAK4R,WACP,OAKF,IAAI1R,OAHAo+E,KAAKngF,OAAOm1B,QACdA,KAAOA,KAAKyC,SAIZ71B,OADkB,iBAATozB,KACA5Q,OAAOwnD,WAAW52C,KAAM,QAExBA,KAAK42C,WAEhBlqE,KAAKs9H,gBAAkBp9H,OACvBF,KAAK8pO,WAAWxpO,KAAK,CAACgzB,KAAMpzB,SAC5BF,KAAKwqO,eACP,CAEAC,aAAAA;;AACE,IAAK,MAAOn3M,KAAMpzB,UAAWF,KAAK8pO,WAAW5mO,OAAO,GAClDlD,KAAK2pO,IAAI35G,KAAK18F,KAAM,CAAEo3M,OAAwB,iBAATp3M,MAAqB;;AACxDtzB,KAAKs9H,gBAAkBp9H,QAG7B,CAEAsqO,aAAAA;;AACMxqO,KAAK2qO,oBAGT3qO,KAAK2qO,mBAAoB,EACzBzzN,QAAQ+O,SAAS;;AACfjmB,KAAK2qO,mBAAoB,EACzB3qO,KAAKyqO,kBAET,EAGFj0M,6BAA6BqoF,cAAcnhH,UAAW,CAAC,OAAQ,UAAW,QAAS,UAEnFf,QAAQuB,eAAiB2gH,a,oHC7SzB,SAAS+rH,WAAWt0J;;AAClB,GAAoB,iBAATA,KACT,MAAM,IAAI/3E,UAAU,mCAAqC6gD,KAAKC,UAAUi3B,MAE5E,CAGA,SAASu0J,qBAAqBv0J,KAAMw0J,gBAMlC;;AALA,IAII51N,KAJA8L,IAAM,GACN+pN,kBAAoB,EACpBC,WAAa,EACbC,KAAO,EAEFxqO,EAAI,EAAGA,GAAK61E,KAAKp2E,SAAUO,EAAG,CACrC,GAAIA,EAAI61E,KAAKp2E,OACXgV,KAAOohE,KAAKnoB,WAAW1tD,OACpB,IAAa,KAATyU,KACP,MAEAA,KAAO,EAAQ,CACjB,GAAa,KAATA,KAAmB,CACrB,GAAI81N,YAAcvqO,EAAI,GAAc,IAATwqO,WAEpB,GAAID,YAAcvqO,EAAI,GAAc,IAATwqO,KAAY,CAC5C,GAAIjqN,IAAI9gB,OAAS,GAA2B,IAAtB6qO,mBAA8D,KAAnC/pN,IAAImtC,WAAWntC,IAAI9gB,OAAS,IAAsD,KAAnC8gB,IAAImtC,WAAWntC,IAAI9gB,OAAS,GAC1H,GAAI8gB,IAAI9gB,OAAS,EAAG,CAClB,IAAIgrO,eAAiBlqN,IAAI2iC,YAAY,KACrC,GAAIunL,iBAAmBlqN,IAAI9gB,OAAS,EAAG,EACb,IAApBgrO,gBACFlqN,IAAM,GACN+pN,kBAAoB,GAGpBA,mBADA/pN,IAAMA,IAAIpY,MAAM,EAAGsiO,iBACKhrO,OAAS,EAAI8gB,IAAI2iC,YAAY,KAEvDqnL,UAAYvqO,EACZwqO,KAAO,EACP,QACF,CACF,MAAO,GAAmB,IAAfjqN,IAAI9gB,QAA+B,IAAf8gB,IAAI9gB,OAAc,CAC/C8gB,IAAM,GACN+pN,kBAAoB,EACpBC,UAAYvqO,EACZwqO,KAAO,EACP,QACF,CAEEH,iBACE9pN,IAAI9gB,OAAS,EACf8gB,KAAO,MAEPA,IAAM,KACR+pN,kBAAoB,EAExB,MACM/pN,IAAI9gB,OAAS,EACf8gB,KAAO,IAAMs1D,KAAK1tE,MAAMoiO,UAAY,EAAGvqO,GAEvCugB,IAAMs1D,KAAK1tE,MAAMoiO,UAAY,EAAGvqO,GAClCsqO,kBAAoBtqO,EAAIuqO,UAAY,EAEtCA,UAAYvqO,EACZwqO,KAAO,CACT,MAAoB,KAAT/1N,OAA+B,IAAV+1N,OAC5BA,KAEFA,MAAQ,CAEZ,CACA,OAAOjqN,GACT,CAcA,IAAImqN,MAAQ,CAEVl6N,QAAS,WAKP;;AAJA,IAEIm6N,IAFAC,aAAe,GACfC,kBAAmB,EAGd7qO,EAAIR,UAAUC,OAAS,EAAGO,IAAM,IAAM6qO,iBAAkB7qO,IAAK,CACpE,IAAI61E,KACA71E,GAAK,EACP61E,KAAOr2E,UAAUQ,SAELhD,IAAR2tO,MACFA,IAAMl0N,QAAQk0N,OAChB90J,KAAO80J,KAGTR,WAAWt0J,MAGS,IAAhBA,KAAKp2E,SAITmrO,aAAe/0J,KAAO,IAAM+0J,aAC5BC,iBAA0C,KAAvBh1J,KAAKnoB,WAAW,GACrC,CAQA,OAFAk9K,aAAeR,qBAAqBQ,cAAeC,kBAE/CA,iBACED,aAAanrO,OAAS,EACjB,IAAMmrO,aAEN,IACAA,aAAanrO,OAAS,EACxBmrO,aAEA,GAEX,EAEAhwJ,UAAW,SAAmB/E,MAG5B;;AAFAs0J,WAAWt0J,MAES,IAAhBA,KAAKp2E,OAAc,MAAO,IAE9B,IAAIq0J,WAAoC,KAAvBj+E,KAAKnoB,WAAW,GAC7Bo9K,kBAAyD,KAArCj1J,KAAKnoB,WAAWmoB,KAAKp2E,OAAS,GAQtD,OAHoB,KAFpBo2E,KAAOu0J,qBAAqBv0J,MAAOi+E,aAE1Br0J,QAAiBq0J,aAAYj+E,KAAO,KACzCA,KAAKp2E,OAAS,GAAKqrO,oBAAmBj1J,MAAQ,KAE9Ci+E,WAAmB,IAAMj+E,KACtBA,IACT,EAEAi+E,WAAY,SAAoBj+E;;AAE9B,OADAs0J,WAAWt0J,MACJA,KAAKp2E,OAAS,GAA4B,KAAvBo2E,KAAKnoB,WAAW,EAC5C,EAEA39B,KAAM;;AACJ,GAAyB,IAArBvwB,UAAUC,OACZ,MAAO,IAET,IADA,IAAImxI,OACK5wI,EAAI,EAAGA,EAAIR,UAAUC,SAAUO,EAAG,CACzC,IAAIujE,IAAM/jE,UAAUQ,GACpBmqO,WAAW5mK,KACPA,IAAI9jE,OAAS,SACAzC,IAAX4zI,OACFA,OAASrtE,IAETqtE,QAAU,IAAMrtE,IAEtB,CACA,YAAevmE,IAAX4zI,OACK,IACF85F,MAAM9vJ,UAAUg2D,OACzB,EAEAkiB,SAAU,SAAkB5wI,KAAMotD,IAIhC;;AAHA66J,WAAWjoN,MACXioN,WAAW76J,IAEPptD,OAASotD,GAAI,MAAO,GAKxB,IAHAptD,KAAOwoN,MAAMl6N,QAAQ0R,UACrBotD,GAAKo7J,MAAMl6N,QAAQ8+D,KAEF,MAAO,GAIxB,IADA,IAAIy7J,UAAY,EACTA,UAAY7oN,KAAKziB,QACa,KAA/ByiB,KAAKwrC,WAAWq9K,aADYA,WASlC,IALA,IAAIC,QAAU9oN,KAAKziB,OACfwrO,QAAUD,QAAUD,UAGpB1uK,QAAU,EACPA,QAAUiT,GAAG7vE,QACa,KAA3B6vE,GAAG5hB,WAAW2O,WADUA,SAW9B,IAPA,IACI6uK,MADQ57J,GAAG7vE,OACK48D,QAGhB58D,OAASwrO,QAAUC,MAAQD,QAAUC,MACrCC,eAAiB,EACjBnrO,EAAI,EACDA,GAAKP,SAAUO,EAAG,CACvB,GAAIA,IAAMP,OAAQ,CAChB,GAAIyrO,MAAQzrO,OAAQ,CAClB,GAAmC,KAA/B6vE,GAAG5hB,WAAW2O,QAAUr8D,GAG1B,OAAOsvE,GAAGnnE,MAAMk0D,QAAUr8D,EAAI,GACzB,GAAU,IAANA,EAGT,OAAOsvE,GAAGnnE,MAAMk0D,QAAUr8D,EAE9B,MAAWirO,QAAUxrO,SACoB,KAAnCyiB,KAAKwrC,WAAWq9K,UAAY/qO,GAG9BmrO,cAAgBnrO,EACD,IAANA,IAGTmrO,cAAgB,IAGpB,KACF,CACA,IAAIC,SAAWlpN,KAAKwrC,WAAWq9K,UAAY/qO,GAE3C,GAAIorO,WADS97J,GAAG5hB,WAAW2O,QAAUr8D,GAEnC,MACoB,KAAborO,WACPD,cAAgBnrO,EACpB,CAEA,IAAIytD,IAAM,GAGV,IAAKztD,EAAI+qO,UAAYI,cAAgB,EAAGnrO,GAAKgrO,UAAWhrO,EAClDA,IAAMgrO,SAAkC,KAAvB9oN,KAAKwrC,WAAW1tD,KAChB,IAAfytD,IAAIhuD,OACNguD,KAAO,KAEPA,KAAO,OAMb,OAAIA,IAAIhuD,OAAS,EACRguD,IAAM6hB,GAAGnnE,MAAMk0D,QAAU8uK,gBAEhC9uK,SAAW8uK,cACoB,KAA3B77J,GAAG5hB,WAAW2O,YACdA,QACGiT,GAAGnnE,MAAMk0D,SAEpB,EAEAgvK,UAAW,SAAmBx1J;;AAC5B,OAAOA,IACT,EAEAmJ,QAAS,SAAiBnJ,MAExB;;AADAs0J,WAAWt0J,MACS,IAAhBA,KAAKp2E,OAAc,MAAO,IAK9B,IAJA,IAAIgV,KAAOohE,KAAKnoB,WAAW,GACvB49K,QAAmB,KAAT72N,KACVkR,KAAO,EACP4lN,cAAe,EACVvrO,EAAI61E,KAAKp2E,OAAS,EAAGO,GAAK,IAAKA,EAEtC,GAAa,MADbyU,KAAOohE,KAAKnoB,WAAW1tD,KAEnB,IAAKurO,aAAc,CACjB5lN,IAAM3lB,EACN,KACF,OAGFurO,cAAe,EAInB,OAAa,IAAT5lN,IAAmB2lN,QAAU,IAAM,IACnCA,SAAmB,IAAR3lN,IAAkB,KAC1BkwD,KAAK1tE,MAAM,EAAGwd,IACvB,EAEA6lN,SAAU,SAAkB31J,KAAM41J;;AAChC,QAAYzuO,IAARyuO,KAAoC,iBAARA,IAAkB,MAAM,IAAI3tO,UAAU,mCACtEqsO,WAAWt0J,MAEX,IAGI71E,EAHAmc,MAAQ,EACRwJ,KAAO,EACP4lN,cAAe,EAGnB,QAAYvuO,IAARyuO,KAAqBA,IAAIhsO,OAAS,GAAKgsO,IAAIhsO,QAAUo2E,KAAKp2E,OAAQ,CACpE,GAAIgsO,IAAIhsO,SAAWo2E,KAAKp2E,QAAUgsO,MAAQ51J,KAAM,MAAO,GACvD,IAAI61J,OAASD,IAAIhsO,OAAS,EACtBksO,kBAAoB,EACxB,IAAK3rO,EAAI61E,KAAKp2E,OAAS,EAAGO,GAAK,IAAKA,EAAG,CACrC,IAAIyU,KAAOohE,KAAKnoB,WAAW1tD,GAC3B,GAAa,KAATyU,MAGA,IAAK82N,aAAc,CACjBpvN,MAAQnc,EAAI,EACZ,KACF,OAEwB,IAAtB2rO,mBAGFJ,cAAe,EACfI,iBAAmB3rO,EAAI,GAErB0rO,QAAU,IAERj3N,OAASg3N,IAAI/9K,WAAWg+K,SACR,MAAZA,SAGJ/lN,IAAM3lB,IAKR0rO,QAAU,EACV/lN,IAAMgmN,kBAId,CAGA,OADIxvN,QAAUwJ,IAAKA,IAAMgmN,kBAAmC,IAAThmN,MAAYA,IAAMkwD,KAAKp2E,QACnEo2E,KAAK1tE,MAAMgU,MAAOwJ,IAC3B,CACE,IAAK3lB,EAAI61E,KAAKp2E,OAAS,EAAGO,GAAK,IAAKA,EAClC,GAA2B,KAAvB61E,KAAKnoB,WAAW1tD,IAGhB,IAAKurO,aAAc,CACjBpvN,MAAQnc,EAAI,EACZ,KACF,OACkB,IAAT2lB,MAGX4lN,cAAe,EACf5lN,IAAM3lB,EAAI,GAId,OAAa,IAAT2lB,IAAmB,GAChBkwD,KAAK1tE,MAAMgU,MAAOwJ,IAE7B,EAEAimN,QAAS,SAAiB/1J;;AACxBs0J,WAAWt0J,MAQX,IAPA,IAAIg2J,UAAY,EACZC,UAAY,EACZnmN,KAAO,EACP4lN,cAAe,EAGfQ,YAAc,EACT/rO,EAAI61E,KAAKp2E,OAAS,EAAGO,GAAK,IAAKA,EAAG,CACzC,IAAIyU,KAAOohE,KAAKnoB,WAAW1tD,GAC3B,GAAa,KAATyU,MASS,IAATkR,MAGF4lN,cAAe,EACf5lN,IAAM3lB,EAAI,GAEC,KAATyU,MAEkB,IAAdo3N,SACFA,SAAW7rO,EACY,IAAhB+rO,cACPA,YAAc,IACK,IAAdF,WAGTE,aAAe,QArBb,IAAKR,aAAc,CACjBO,UAAY9rO,EAAI,EAChB,KACF,CAoBN,CAEA,OAAkB,IAAd6rO,WAA4B,IAATlmN,KAEH,IAAhBomN,aAEgB,IAAhBA,aAAqBF,WAAalmN,IAAM,GAAKkmN,WAAaC,UAAY,EACjE,GAEFj2J,KAAK1tE,MAAM0jO,SAAUlmN,IAC9B,EAEAyP,OAAQ,SAAgB42M;;AACtB,GAAmB,OAAfA,YAA6C,iBAAfA,WAChC,MAAM,IAAIluO,UAAU,0EAA4EkuO,YAElG,OAvVJ,SAAiB/5C,IAAK+5C;;AACpB,IAAIh7K,IAAMg7K,WAAWh7K,KAAOg7K,WAAWp1M,KACnCiyC,KAAOmjK,WAAWnjK,OAASmjK,WAAW1kO,MAAQ,KAAO0kO,WAAWP,KAAO,IAC3E,OAAKz6K,IAGDA,MAAQg7K,WAAWp1M,KACdo6B,IAAM6X,KAER7X,IAAMihI,IAAMppH,KALVA,IAMX,CA6UWojK,CAAQ,IAAKD,WACtB,EAEAp2M,MAAO,SAAeigD;;AACpBs0J,WAAWt0J,MAEX,IAAIl1C,IAAM,CAAE/J,KAAM,GAAIo6B,IAAK,GAAI6X,KAAM,GAAI4iK,IAAK,GAAInkO,KAAM,IACxD,GAAoB,IAAhBuuE,KAAKp2E,OAAc,OAAOkhC,IAC9B,IAEIxkB,MAFA1H,KAAOohE,KAAKnoB,WAAW,GACvBomG,WAAsB,KAATr/I,KAEbq/I,YACFnzH,IAAI/J,KAAO,IACXza,MAAQ,GAERA,MAAQ,EAaV,IAXA,IAAI0vN,UAAY,EACZC,UAAY,EACZnmN,KAAO,EACP4lN,cAAe,EACfvrO,EAAI61E,KAAKp2E,OAAS,EAIlBssO,YAAc,EAGX/rO,GAAKmc,QAASnc,EAEnB,GAAa,MADbyU,KAAOohE,KAAKnoB,WAAW1tD,KAUV,IAAT2lB,MAGF4lN,cAAe,EACf5lN,IAAM3lB,EAAI,GAEC,KAATyU,MAEkB,IAAdo3N,SAAiBA,SAAW7rO,EAA2B,IAAhB+rO,cAAmBA,YAAc,IACrD,IAAdF,WAGXE,aAAe,QAlBb,IAAKR,aAAc,CACjBO,UAAY9rO,EAAI,EAChB,KACF,CAwCN,OArBkB,IAAd6rO,WAA4B,IAATlmN,KAEP,IAAhBomN,aAEgB,IAAhBA,aAAqBF,WAAalmN,IAAM,GAAKkmN,WAAaC,UAAY,GACvD,IAATnmN,MACiCgb,IAAIkoC,KAAOloC,IAAIr5B,KAAhC,IAAdwkO,WAAmBh4E,WAAkCj+E,KAAK1tE,MAAM,EAAGwd,KAAgCkwD,KAAK1tE,MAAM2jO,UAAWnmN,OAG7G,IAAdmmN,WAAmBh4E,YACrBnzH,IAAIr5B,KAAOuuE,KAAK1tE,MAAM,EAAG0jO,UACzBlrM,IAAIkoC,KAAOgN,KAAK1tE,MAAM,EAAGwd,OAEzBgb,IAAIr5B,KAAOuuE,KAAK1tE,MAAM2jO,UAAWD,UACjClrM,IAAIkoC,KAAOgN,KAAK1tE,MAAM2jO,UAAWnmN,MAEnCgb,IAAI8qM,IAAM51J,KAAK1tE,MAAM0jO,SAAUlmN,MAG7BmmN,UAAY,EAAGnrM,IAAIqwB,IAAM6kB,KAAK1tE,MAAM,EAAG2jO,UAAY,GAAYh4E,aAAYnzH,IAAIqwB,IAAM,KAElFrwB,GACT,EAEAsxJ,IAAK,IACL5zI,UAAW,IACX6tL,MAAO,KACPxB,MAAO,MAGTA,MAAMA,MAAQA,MAEdzuO,OAAOC,QAAUwuO,K,+TCTjBxuO,QAAAA,gBAAAiwO,gBAuDAjwO,QAAAA,WAAA,SACIkwO,WACAtmG,KAAqBmhF,aAAaE;;AAElC,OAAOklB,YAAYD,WAAYtmG,KACnC,EAQA5pI,QAAAA,oBAAA,SAAoCowO;;AAChC,OAAOD,YAAYC,cAAerlB,aAAaC,UACnD,EAQAhrN,QAAAA,iBAAA,SAAiCkwO;;AAC7B,OAAOC,YAAYD,WAAYnlB,aAAaslB,OAChD,EAQArwO,QAAAA,UAAA,SAA0BswO;;AACtB,OAAOC,WAAWD,UAAWvlB,aAAaslB,OAC9C,EAjmBA,MAAAG,sBAAArwO,oBAAA,OACAswO,qBAAAtwO,oBAAA,OACAuwO,sBAAAvwO,oBAAA,OAEA,IAAWwwO,WAAX,SAAWA;;AACPA,UAAAA,UAAA,cACAA,UAAAA,UAAA,gBACAA,UAAAA,UAAA,oBACAA,UAAAA,UAAA,gBACAA,UAAAA,UAAA,gBACAA,UAAAA,UAAA,sBACAA,UAAAA,UAAA,uBACAA,UAAAA,UAAA,uBACAA,UAAAA,UAAA,uBACAA,UAAAA,UAAA,sBACAA,UAAAA,UAAA,sBACAA,UAAAA,UAAA,qBACH,CAbD,CAAWA,YAAAA,UAAS,KAkBpB,IAAYC,aAmCDC,mBAQC9lB,aArCZ,SAAS18F,SAAS91G;;AACd,OAAOA,MAAQo4N,UAAUG,MAAQv4N,MAAQo4N,UAAUI,IACvD,CAEA,SAASC,uBAAuBz4N;;AAC5B,OACKA,MAAQo4N,UAAUM,SAAW14N,MAAQo4N,UAAUO,SAC/C34N,MAAQo4N,UAAUQ,SAAW54N,MAAQo4N,UAAUS,OAExD,CAgBA,SAASC,8BAA8B94N;;AACnC,OAAOA,OAASo4N,UAAUW,QAf9B,SAA6B/4N;;AACzB,OACKA,MAAQo4N,UAAUM,SAAW14N,MAAQo4N,UAAUY,SAC/Ch5N,MAAQo4N,UAAUQ,SAAW54N,MAAQo4N,UAAUa,SAChDnjH,SAAS91G,KAEjB,CASwCktM,CAAoBltM,KAC5D,EAjCA,SAAYq4N;;AACRA,aAAAA,aAAA,mCACAA,aAAAA,aAAA,qCACAA,aAAAA,aAAA,4BACH,CAJD,CAAYA,eAAY5wO,QAAAA,aAAZ4wO,aAAY,KAmCxB,SAAWC;;AACPA,mBAAAA,mBAAA,6BACAA,mBAAAA,mBAAA,+BACAA,mBAAAA,mBAAA,mCACAA,mBAAAA,mBAAA,2BACAA,mBAAAA,mBAAA,4BACH,CAND,CAAWA,qBAAAA,mBAAkB,KAQ7B,SAAY9lB;;AAERA,aAAAA,aAAA,mBAEAA,aAAAA,aAAA,mBAEAA,aAAAA,aAAA,wBACH,CAPD,CAAYA,eAAY/qN,QAAAA,aAAZ+qN,aAAY,KAuBxB,MAAa5D,cACTlkN,WAAAA,CAEqBwuO,WAUAC,cAEAC;;AAZA,KAAAF,WAAAA,WAUA,KAAAC,cAAAA,cAEA,KAAAC,OAAAA,OAIb,KAAA9pO,MAAQgpO,mBAAmBe,YAE3B,KAAAvqB,SAAW,EAOX,KAAA9uL,OAAS,EAGT,KAAAs5M,UAAY,EAEZ,KAAAC,OAAS,EAET,KAAAC,WAAahnB,aAAaslB,MAnB/B,CAsBHxlB,WAAAA,CAAYknB;;AACR,KAAKA,WAAaA,WAClB,KAAKlqO,MAAQgpO,mBAAmBe,YAChC,KAAKr5M,OAAS,EACd,KAAKs5M,UAAY,EACjB,KAAKC,OAAS,EACd,KAAKzqB,SAAW,CACpB,CAaAhkL,KAAAA,CAAM4uB,MAAekK;;AACjB,OAAQ,KAAKt0D,OACT,KAAKgpO,mBAAmBe,YACpB,OAAI3/K,MAAMT,WAAW2K,UAAYw0K,UAAUxoM,KACvC,KAAKtgC,MAAQgpO,mBAAmBmB,aAChC,KAAK3qB,UAAY,EACV,KAAK4qB,kBAAkBhgL,MAAOkK,OAAS,KAElD,KAAKt0D,MAAQgpO,mBAAmBqB,YACzB,KAAKC,iBAAiBlgL,MAAOkK,SAGxC,KAAK00K,mBAAmBmB,aACpB,OAAO,KAAKC,kBAAkBhgL,MAAOkK,QAGzC,KAAK00K,mBAAmBuB,eACpB,OAAO,KAAKC,oBAAoBpgL,MAAOkK,QAG3C,KAAK00K,mBAAmByB,WACpB,OAAO,KAAKC,gBAAgBtgL,MAAOkK,QAGvC,KAAK00K,mBAAmBqB,YACpB,OAAO,KAAKC,iBAAiBlgL,MAAOkK,QAGhD,CAWQ81K,iBAAAA,CAAkBhgL,MAAekK;;AACrC,OAAIA,QAAUlK,MAAM1uD,QACR,GAvKC,GA0KR0uD,MAAMT,WAAW2K,WAA4Bw0K,UAAU6B,SACxD,KAAK3qO,MAAQgpO,mBAAmByB,WAChC,KAAKjrB,UAAY,EACV,KAAKkrB,gBAAgBtgL,MAAOkK,OAAS,KAGhD,KAAKt0D,MAAQgpO,mBAAmBuB,eACzB,KAAKC,oBAAoBpgL,MAAOkK,QAC3C,CAEQs2K,kBAAAA,CACJxgL,MACAhyC,MACAwJ,IACAkjD;;AAEA,GAAI1sD,QAAUwJ,IAAK,CACf,MAAMipN,WAAajpN,IAAMxJ,MACzB,KAAKsY,OACD,KAAKA,OAASxc,KAAKK,IAAIuwD,KAAM+lK,YAC7Bl2N,OAAO8K,SAAS2qC,MAAMsiD,OAAOt0F,MAAOyyN,YAAa/lK,MACrD,KAAK06I,UAAYqrB,UACrB,CACJ,CAWQH,eAAAA,CAAgBtgL,MAAekK;;AACnC,MAAMlV,WAAakV,OAEnB,KAAOA,OAASlK,MAAM1uD,QAAQ,CAC1B,MAAMogF,KAAO1xB,MAAMT,WAAW2K,QAC9B,IAAIkyD,SAAS1qC,QAASqtJ,uBAAuBrtJ,MAIzC,OADA,KAAK8uJ,mBAAmBxgL,MAAOhL,WAAYkV,OAAQ,IAC5C,KAAKw2K,kBAAkBhvJ,KAAM,GAHpCxnB,QAAU,CAKlB,CAIA,OAFA,KAAKs2K,mBAAmBxgL,MAAOhL,WAAYkV,OAAQ,KAE3C,CACZ,CAWQk2K,mBAAAA,CAAoBpgL,MAAekK;;AACvC,MAAMlV,WAAakV,OAEnB,KAAOA,OAASlK,MAAM1uD,QAAQ,CAC1B,MAAMogF,KAAO1xB,MAAMT,WAAW2K,QAC9B,IAAIkyD,SAAS1qC,MAIT,OADA,KAAK8uJ,mBAAmBxgL,MAAOhL,WAAYkV,OAAQ,IAC5C,KAAKw2K,kBAAkBhvJ,KAAM,GAHpCxnB,QAAU,CAKlB,CAIA,OAFA,KAAKs2K,mBAAmBxgL,MAAOhL,WAAYkV,OAAQ,KAE3C,CACZ,CAeQw2K,iBAAAA,CAAkBC,OAAgBC;;OAEtC,GAAI,KAAKxrB,UAAYwrB,eAIjB,OAHW,QAAXr9D,GAAA,KAAKm8D,cAAM,IAAAn8D,IAAAA,GAAEgyC,2CACT,KAAKH,UAEF,EAIX,GAAIurB,SAAWjC,UAAUmC,KACrB,KAAKzrB,UAAY,OACd,GAAI,KAAK0qB,aAAehnB,aAAaslB,OACxC,OAAO,EAaX,OAVA,KAAKqB,eAAc,EAAAhB,sBAAAqC,kBAAiB,KAAKx6M,QAAS,KAAK8uL,UAEnD,KAAKsqB,SACDiB,SAAWjC,UAAUmC,MACrB,KAAKnB,OAAOpqB,0CAGhB,KAAKoqB,OAAOlqB,kCAAkC,KAAKlvL,SAGhD,KAAK8uL,QAChB,CAWQ8qB,gBAAAA,CAAiBlgL,MAAekK;;AACpC,MAAM,YAAiB,KACvB,IAAInmC,QAAUy7M,WAAW,KAAKI,WAE1BmB,aAAeh9M,QAAU46M,aAAaqC,eAAiB,GAE3D,KAAO92K,OAASlK,MAAM1uD,OAAQ44D,SAAU,KAAK21K,SAAU,CACnD,MAAMnuJ,KAAO1xB,MAAMT,WAAW2K,QAS9B,GAPA,KAAK01K,UAAY5B,gBACbwB,WACAz7M,QACA,KAAK67M,UAAY91N,KAAKI,IAAI,EAAG62N,aAC7BrvJ,MAGA,KAAKkuJ,UAAY,EACjB,OAAuB,IAAhB,KAAKt5M,QAEP,KAAKw5M,aAAehnB,aAAaC,YAEb,IAAhBgoB,aAEG3B,8BAA8B1tJ,OACpC,EACA,KAAKuvJ,+BAOf,GAJAl9M,QAAUy7M,WAAW,KAAKI,WAC1BmB,aAAeh9M,QAAU46M,aAAaqC,eAAiB,GAGnC,IAAhBD,YAAmB,CAEnB,GAAIrvJ,OAASgtJ,UAAUmC,KACnB,OAAO,KAAKK,oBACR,KAAKtB,UACLmB,YACA,KAAK3rB,SAAW,KAAKyqB,QAKzB,KAAKC,aAAehnB,aAAaslB,SACjC,KAAK93M,OAAS,KAAKs5M,UACnB,KAAKxqB,UAAY,KAAKyqB,OACtB,KAAKA,OAAS,EAEtB,CACJ,CAEA,OAAQ,CACZ,CAOQoB,4BAAAA;;OACJ,MAAM,OAAQ,YAAiB,KAEzBF,aACDvB,WAAWl5M,QAAUq4M,aAAaqC,eAAiB,GAKxD,OAHA,KAAKE,oBAAoB56M,OAAQy6M,YAAa,KAAK3rB,UACxC,QAAX7xC,GAAA,KAAKm8D,cAAM,IAAAn8D,IAAAA,GAAE+xC,0CAEN,KAAKF,QAChB,CAWQ8rB,mBAAAA,CACJ56M,OACAy6M,YACA3rB;;AAEA,MAAM,YAAiB,KAavB,OAXA,KAAKqqB,cACe,IAAhBsB,YACMvB,WAAWl5M,SAAWq4M,aAAaqC,aACnCxB,WAAWl5M,OAAS,GAC1B8uL,UAEgB,IAAhB2rB,aAEA,KAAKtB,cAAcD,WAAWl5M,OAAS,GAAI8uL,UAGxCA,QACX,CASA59L,GAAAA;;OACI,OAAQ,KAAK5hB,OACT,KAAKgpO,mBAAmBqB,YAEpB,OAAuB,IAAhB,KAAK35M,QACP,KAAKw5M,aAAehnB,aAAaC,WAC9B,KAAKzyL,SAAW,KAAKs5M,UAEvB,EADA,KAAKqB,+BAIf,KAAKrC,mBAAmBuB,eACpB,OAAO,KAAKO,kBAAkB,EAAG,GAErC,KAAK9B,mBAAmByB,WACpB,OAAO,KAAKK,kBAAkB,EAAG,GAErC,KAAK9B,mBAAmBmB,aAIpB,OAHW,QAAXx8D,GAAA,KAAKm8D,cAAM,IAAAn8D,IAAAA,GAAEgyC,2CACT,KAAKH,UAEF,EAEX,KAAKwpB,mBAAmBe,YAEpB,OAAO,EAGnB,EASJ,SAASpjG,WAAWijG;;AAChB,IAAI3hG,YAAc,GAClB,MAAMvtG,QAAU,IAAI4kL,cAChBsqB,WACC96M,MAAUm5G,cAAe,EAAA4gG,sBAAAtsJ,eAAcztD,OAG5C,OAAO,SACHs7B,MACA8/K;;AAEA,IAAIhiG,UAAY,EACZ5zE,OAAS,EAEb,MAAQA,OAASlK,MAAMtqD,QAAQ,IAAKw0D,UAAY,GAAG,CAC/C2zE,aAAe79E,MAAMhmD,MAAM8jI,UAAW5zE,QAEtC55B,QAAQsoL,YAAYknB,YAEpB,MAAMxuO,OAASg/B,QAAQc,MACnB4uB,MAEAkK,OAAS,GAGb,GAAI54D,OAAS,EAAG,CACZwsI,UAAY5zE,OAAS55B,QAAQ9Y,MAC7B,KACJ,CAEAsmH,UAAY5zE,OAAS54D,OAErB44D,OAAoB,IAAX54D,OAAewsI,UAAY,EAAIA,SAC5C,CAEA,MAAMx3G,OAASu3G,YAAc79E,MAAMhmD,MAAM8jI,WAKzC,OAFAD,YAAc,GAEPv3G,MACX,CACJ,CAYA,SAAgB03M,gBACZwB,WACAz7M,QACA46K,UACAjtH;;AAEA,MAAMyvJ,aAAep9M,QAAU46M,aAAayC,gBAAkB,EACxDC,WAAat9M,QAAU46M,aAAa2C,WAG1C,GAAoB,IAAhBH,YACA,OAAsB,IAAfE,YAAoB3vJ,OAAS2vJ,WAAa1iC,WAAa,EAIlE,GAAI0iC,WAAY,CACZ,MAAMlyO,MAAQuiF,KAAO2vJ,WAErB,OAAOlyO,MAAQ,GAAKA,OAASgyO,aACtB,EACD3B,WAAW7gC,UAAYxvM,OAAS,CAC1C,CAKA,IAAIoyO,GAAK5iC,UACL6iC,GAAKD,GAAKJ,YAAc,EAE5B,KAAOI,IAAMC,IAAI,CACb,MAAMt/J,IAAOq/J,GAAKC,KAAQ,EACpBC,SAAWjC,WAAWt9J,KAE5B,GAAIu/J,SAAW/vJ,KACX6vJ,GAAKr/J,IAAM,MACR,MAAIu/J,SAAW/vJ,MAGlB,OAAO8tJ,WAAWt9J,IAAMi/J,aAFxBK,GAAKt/J,IAAM,CAGf,CACJ,CAEA,OAAQ,CACZ,CA1dAn0E,QAAAA,cAAAmnN,cA4dA,MAAMgpB,YAA8B3hG,WAAWgiG,sBAAAppB,gBACzCmpB,WAA6B/hG,WAAWiiG,qBAAAkD,eA+C9C,IAAAC,sBAAAzzO,oBAAA,OAASc,OAAAA,eAAAA,QAAAA,iBAAAA,CAAAyD,YAAA,EAAA4L,IAAA;;AAAA,OAAAsjO,sBAAAxsB,cAAc,IACvB,IAAAysB,qBAAA1zO,oBAAA,OAASc,OAAAA,eAAAA,QAAAA,gBAAAA,CAAAyD,YAAA,EAAA4L,IAAA;;AAAA,OAAAujO,qBAAAF,aAAa,IAEtB,IAAAG,sBAAA3zO,oBAAA,OACIc,OAAAA,eAAAA,QAAAA,kBAAAA,CAAAyD,YAAA,EAAA4L,IAAA;;AAAA,OAAAwjO,sBAAAC,eAAe,IACf9yO,OAAAA,eAAAA,QAAAA,mBAAAA,CAAAyD,YAAA,EAAA4L,IAAA;;AAAA,OAAAwjO,sBAAAf,gBAAgB,IAChB9xO,OAAAA,eAAAA,QAAAA,gBAAAA,CAAAyD,YAAA,EAAA4L,IAAA;;AAAA,OAAAwjO,sBAAA1vJ,aAAa,G,yDCtmBjBnjF,OAAOkB,eAAenC,QAAS,aAAc,CAAEoB,OAAO,IACtDpB,QAAQouE,WAAQ,EAsEhBpuE,QAAQouE,MAvDR,MACInrE,WAAAA;;AACII,KAAKw1E,aAAc,CACvB,CAIA6B,UAAAA,CAAWs5J,QAASlzC,MAAOn+I,KAAM6yC;;AAC7B,MAAM,IAAIpiF,MAAM,gCACpB,CAIAwoE,WAAAA,CAAYo4J,QAASlzC,MAAOmzC,wBAAyB,EAAOz+I;;AACxD,MAAM,IAAIpiF,MAAM,iCACpB,CAIAqnE,SAAAA,CAAUy5J,QAAS1+I;;AACf,MAAM,IAAIpiF,MAAM,+BACpB,CAIAinE,YAAAA,CAAaE,WAAY45J,WAAY3+I;;AAGjC,MAAM,IAAIpiF,MAAM,kCACpB,CAIAuoE,YAAAA,CAAaq4J,QAASlzC,MAAOn+I,KAAM6yC;;AAC/B,MAAM,IAAIpiF,MAAM,kCACpB,CAIAugG,aAAAA,CAAcqgI,QAASlzC,MAAOtrG;;AAC1B,MAAM,IAAIpiF,MAAM,mCACpB,CAIA+pE,gBAAAA,CAAiBqY;;AACb,MAAM,IAAIpiF,MAAM,sCACpB,CAIAkpE,aAAAA,CAAckZ;;AACV,MAAM,IAAIpiF,MAAM,wEACpB,E,yFCrEU,SAAUghO,gBACtB/sO,IACAgtO;;AAEA,IAAIp0N,MAAQ,EACRwJ,IAAcpiB,IAAI9D,OAClB+wO,UAAW,EAGf,IAAKD,mBAAoB,CAEvB,GAAIhtO,IAAI+F,WAAW,SACjB,OAAO,KAIT,KAAO6S,MAAQ5Y,IAAI9D,QAAU8D,IAAImqD,WAAWvxC,QAAU,IACpDA,OAAS,EAIX,KAAOwJ,IAAMxJ,MAAQ,GAAK5Y,IAAImqD,WAAW/nC,IAAM,IAAM,IACnDA,KAAO,EAIT,GAC4B,KAA1BpiB,IAAImqD,WAAWvxC,QACe,KAA9B5Y,IAAImqD,WAAWvxC,MAAQ,GAEvBA,OAAS,MACJ,CACL,MAAMs0N,gBAAkBltO,IAAIM,QAAQ,KAAMsY,OAC1C,IAAyB,IAArBs0N,gBAAwB,CAI1B,MAAMC,aAAeD,gBAAkBt0N,MACjCgwF,GAAK5oG,IAAImqD,WAAWvxC,OACpBmkH,GAAK/8H,IAAImqD,WAAWvxC,MAAQ,GAC5BokH,GAAKh9H,IAAImqD,WAAWvxC,MAAQ,GAC5BqkH,GAAKj9H,IAAImqD,WAAWvxC,MAAQ,GAC5BskH,GAAKl9H,IAAImqD,WAAWvxC,MAAQ,GAElC,GACmB,IAAjBu0N,cACO,MAAPvkI,IACO,MAAPm0B,IACO,MAAPC,IACO,MAAPC,IACO,MAAPC,SAGK,GACY,IAAjBiwG,cACO,MAAPvkI,IACO,MAAPm0B,IACO,MAAPC,IACO,MAAPC,SAGK,GACY,IAAjBkwG,cACO,MAAPvkI,IACO,MAAPm0B,IACO,MAAPC,SAGK,GACY,IAAjBmwG,cACO,MAAPvkI,IACO,MAAPm0B,SAKA,IAAK,IAAItgI,EAAImc,MAAOnc,EAAIywO,gBAAiBzwO,GAAK,EAAG,CAC/C,MAAM2wO,cAAoC,GAApBptO,IAAImqD,WAAW1tD,GACrC,KAGO2wO,eAAiB,IAAMA,eAAiB,KACxCA,eAAiB,IAAMA,eAAiB,IACvB,KAAlBA,eACkB,KAAlBA,eACkB,KAAlBA,eAIJ,OAAO,IAEX,CAKF,IADAx0N,MAAQs0N,gBAAkB,EACO,KAA1BltO,IAAImqD,WAAWvxC,QACpBA,OAAS,CAEb,CACF,CAKA,IAAIy0N,mBAAqB,EACrBC,uBAAyB,EACzBC,aAAe,EACnB,IAAK,IAAI9wO,EAAImc,MAAOnc,EAAI2lB,IAAK3lB,GAAK,EAAG,CACnC,MAAMyU,KAAelR,IAAImqD,WAAW1tD,GACpC,GACW,KAATyU,MACS,KAATA,MACS,KAATA,KACA,CACAkR,IAAM3lB,EACN,KACF,CAAoB,KAATyU,KAETm8N,kBAAoB5wO,EACF,KAATyU,KAETo8N,sBAAwB7wO,EACN,KAATyU,KAETq8N,YAAc9wO,EACLyU,MAAQ,IAAMA,MAAQ,KAC/B+7N,UAAW,EAEf,CAYA,IARyB,IAAvBI,mBACAA,kBAAoBz0N,OACpBy0N,kBAAoBjrN,MAEpBxJ,MAAQy0N,kBAAoB,GAIA,KAA1BrtO,IAAImqD,WAAWvxC,OACjB,OAA+B,IAA3B00N,sBACKttO,IAAI4E,MAAMgU,MAAQ,EAAG00N,uBAAuBt8N,cAE9C,MACmB,IAAjBu8N,aAAsBA,YAAc30N,OAAS20N,YAAcnrN,MAEpEA,IAAMmrN,YAEV,CAGA,KAAOnrN,IAAMxJ,MAAQ,GAAiC,KAA5B5Y,IAAImqD,WAAW/nC,IAAM,IAC7CA,KAAO,EAGT,MAAMxf,SACM,IAAVgW,OAAewJ,MAAQpiB,IAAI9D,OAAS8D,IAAI4E,MAAMgU,MAAOwJ,KAAOpiB,IAE9D,OAAIitO,SACKrqO,SAASoO,cAGXpO,QACT,CChKA,SAAS4qO,aAAat8N;;AACpB,OACGA,MAAQ,IAAMA,MAAQ,KAASA,MAAQ,IAAMA,MAAQ,IAAOA,KAAO,GAExE,CAQc,kBAAWtO;;AACvB,GAAIA,SAAS1G,OAAS,IACpB,OAAO,EAGT,GAAwB,IAApB0G,SAAS1G,OACX,OAAO,EAGT,IACmBsxO,aAAa5qO,SAASunD,WAAW,KACvB,KAA3BvnD,SAASunD,WAAW,IACO,KAA3BvnD,SAASunD,WAAW,GAEpB,OAAO,EAIT,IAAIsjL,cAAgB,EAChBC,cAAgB,EACpB,MAAM7wM,IAAMj6B,SAAS1G,OAErB,IAAK,IAAIO,EAAI,EAAGA,EAAIogC,IAAKpgC,GAAK,EAAG,CAC/B,MAAMyU,KAAOtO,SAASunD,WAAW1tD,GACjC,GAAa,KAATyU,KAAuB,CACzB,GAEEzU,EAAIgxO,aAAe,IAEF,KAAjBC,cAEiB,KAAjBA,cAEiB,KAAjBA,aAEA,OAAO,EAGTD,aAAehxO,CACjB,MAAO,IAnDX,SAAsByU,MACpB,OACGA,MAAQ,IAAMA,MAAQ,KAASA,MAAQ,IAAMA,MAAQ,IAAOA,KAAO,GAExE,CAgDyBs8N,CAAat8N,OAAkB,KAATA,MAAwB,KAATA,KAGxD,OAAO,EAGTw8N,aAAex8N,IACjB,CAEA,OAEE2rB,IAAM4wM,aAAe,GAAK,IAIT,KAAjBC,YAEJ,C,4RChDA,MAAMC,gBApBN,UAAyB,mBACH,EAAI,qBACF,EAAK,UAChB,EAAI,iBACG,EAAI,aACR,EAAI,WACL,KAAI,kBACE;;AAEnB,MAAO,CACLr1M,kBACAC,oBACAq1M,SACAb,gBACAc,YACAC,WACAC,iBAEJ,CAEwCC,CAAgB,IC2ClD,SAAUC,UACdjuO,IACA8uG,KACAo/H,aAKAC,eACAj9M;;AAEA,MAAMrlB,QDpDF,SAAsBA;;AAC1B,YAAgBpS,IAAZoS,QACK8hO,gBAxBX,UAAyB,mBACH,EAAI,qBACF,EAAK,UAChB,EAAI,iBACG,EAAI,aACR,EAAI,WACL,KAAI,kBACE,IAEnB,MAAO,CACLr1M,kBACAC,oBACAq1M,SACAb,gBACAc,YACAC,WACAC,iBAEJ,CASyBC,CAAgBniO,QACzC,CC8C4CuiO,CAAYD,gBAKtD,MAAmB,iBAARnuO,IACFkxB,QAaJrlB,QAAQkhO,gBAEFlhO,QAAQgiO,YACjB38M,OAAOtuB,SAAWmqO,gBAAgB/sO,IAAKquO,SAAgBruO,MAEvDkxB,OAAOtuB,SAAWmqO,gBAAgB/sO,KAAK,GAJvCkxB,OAAOtuB,SAAW5C,IAOZ,IAAJ8uG,MAA8C,OAApB59E,OAAOtuB,UAKjCiJ,QAAQ+hO,WACV18M,OAAOo9M,KChFX,SAAwB1rO;;AACtB,GAAIA,SAAS1G,OAAS,EACpB,OAAO,EAGT,IAAI0c,MAAQhW,SAASmD,WAAW,KAAO,EAAI,EACvCqc,IAAMxf,SAAS1G,OASnB,GAP0B,MAAtB0G,SAASwf,IAAM,KACjBA,KAAO,GAMLA,IAAMxJ,MAAQ,GAChB,OAAO,EAGT,IAAI21N,UAAW,EAEf,KAAO31N,MAAQwJ,IAAKxJ,OAAS,EAAG,CAC9B,MAAM1H,KAAOtO,SAASunD,WAAWvxC,OAEjC,GAAa,KAAT1H,KACFq9N,UAAW,OACN,KAGAr9N,MAAQ,IAAMA,MAAQ,IACtBA,MAAQ,IAAMA,MAAQ,KACtBA,MAAQ,IAAMA,MAAQ,IAI3B,OAAO,CAEX,CAEA,OAAOq9N,QACT,CAQSC,CADoB5rO,SDiCNsuB,OAAOtuB,WCjH9B,SAAwBA;;AAEtB,GAAIA,SAAS1G,OAAS,EACpB,OAAO,EAIT,GAAI0G,SAAS1G,OAAS,GACpB,OAAO,EAGT,IAAIuyO,aAAe,EAEnB,IAAK,IAAIhyO,EAAI,EAAGA,EAAImG,SAAS1G,OAAQO,GAAK,EAAG,CAC3C,MAAMyU,KAAOtO,SAASunD,WAAW1tD,GAEjC,GAAa,KAATyU,KACFu9N,cAAgB,OACX,GAAIv9N,KAAO,IAAgBA,KAAO,GACvC,OAAO,CAEX,CAEA,OACmB,IAAjBu9N,cAC2B,KAA3B7rO,SAASunD,WAAW,IACyB,KAA7CvnD,SAASunD,WAAWvnD,SAAS1G,OAAS,EAE1C,CAqDqCwyO,CAAe9rO,UDiC5CsuB,OAAOo9M,MANJp9M,OAcPrlB,QAAQkiO,kBACRliO,QAAQkhO,kBACPsB,SAAgBn9M,OAAOtuB,WAExBsuB,OAAOtuB,SAAW,KACXsuB,SAITg9M,aAAah9M,OAAOtuB,SAAUiJ,QAASqlB,QAC/B,IAAJ49E,MAAuD,OAAxB59E,OAAOiH,aACjCjH,QAITA,OAAO3sB,OEjFK,SACZoqO,OACA/rO,SACAiJ;;AAGA,GAA2B,OAAvBA,QAAQiiO,WAAqB,CAC/B,MAAMA,WAAajiO,QAAQiiO,WAC3B,IAAK,MAAMc,SAASd,WAClB,GAxDN,SAA+BlrO,SAAkBgsO;;AAC/C,QAAIhsO,SAASulC,SAASymM,SAElBhsO,SAAS1G,SAAW0yO,MAAM1yO,QACuB,MAAjD0G,SAASA,SAAS1G,OAAS0yO,MAAM1yO,OAAS,GAKhD,CA+C0B2yO,CAAsBjsO,SAAUgsO,OAClD,OAAOA,KAGb,CAEA,IAAIE,oBAAsB,EAC1B,GAAIlsO,SAASmD,WAAW,KACtB,KACE+oO,oBAAsBlsO,SAAS1G,QACG,MAAlC0G,SAASksO,sBAETA,qBAAuB,EAQ3B,OAAIH,OAAOzyO,SAAW0G,SAAS1G,OAAS4yO,oBAC/B,KA/DX,SACElsO,SACAu1B;;AAgBA,MAAM42M,kBAAoBnsO,SAAS1G,OAASi8B,aAAaj8B,OAAS,EAC5D8yO,yBAA2BpsO,SAAS+8C,YAAY,IAAKovL,mBAG3D,OAAkC,IAA9BC,yBACKpsO,SAIFA,SAASgC,MAAMoqO,yBAA2B,EACnD,CA2CyBC,CAAwBrsO,SAAU+rO,OAC3D,CF0CkBt2M,CAAUnH,OAAOiH,aAAcjH,OAAOtuB,SAAUiJ,SACxD,IAAJijG,MAA0C,OAAlB59E,OAAO3sB,OAC1B2sB,QAITA,OAAOg+M,UGhJK,SAAuBtsO,SAAkB2B;;AAErD,OAAIA,OAAOrI,SAAW0G,SAAS1G,OACtB,GAGF0G,SAASgC,MAAM,GAAIL,OAAOrI,OAAS,EAC5C,CHyIqBizO,CAAaj+M,OAAOtuB,SAAUsuB,OAAO3sB,QAChD,IAAJuqG,OAKJ59E,OAAOk+M,qBInJP7qO,OJoJE2sB,OAAO3sB,OInJToqO,OJoJEz9M,OAAOiH,aI/IF5zB,OAAOK,MAAM,GAAI+pO,OAAOzyO,OAAS,KJyI/Bg1B,WCjEG,IAAetuB,SG9E3B2B,OACAoqO,MJwJF,CK5JO,MAAMU,WAAqB;;AAChC,MAAMC,GAAY,CAAC,EAAE,IAAIC,GAAY,CAAC,EAAE,IAAIC,GAAY,CAAC,EAAE,CAAC,KAAOF,KAEnE,MADwB,CAAC,EAAE,CAAC,GAAK,CAAC,EAAE,CAAC,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,SAAWE,GAAG,WAAaA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,KAAK,IAAM,CAAC,EAAE,CAAC,KAAO,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,GAAK,CAAC,EAAE,CAAC,QAAUD,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUA,cAEjO,CAJkC,GAMrB51C,MAAgB;;AAC3B,MAAM81C,GAAY,CAAC,EAAE,IAAIC,GAAY,CAAC,EAAE,IAAIC,GAAY,CAAC,EAAE,CAAC,IAAMF,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAKG,GAAY,CAAC,EAAE,CAAC,IAAMH,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAKI,GAAY,CAAC,EAAE,CAAC,IAAIH,KAAKI,GAAY,CAAC,EAAE,CAAC,EAAID,KAAKE,GAAY,CAAC,EAAE,CAAC,MAAQL,KAAKM,IAAa,CAAC,EAAE,CAAC,GAAKN,KAAKO,IAAa,CAAC,EAAE,CAAC,IAAMR,KAAKS,IAAa,CAAC,EAAE,CAAC,kBAAkBR,KAAKS,IAAa,CAAC,EAAE,CAAC,SAAWT,GAAG,OAASA,KAAKU,IAAa,CAAC,EAAE,CAAC,SAAWV,GAAG,SAAWA,GAAG,OAASA,KAAKW,IAAa,CAAC,EAAE,CAAC,SAAWX,KAAKY,IAAa,CAAC,EAAE,CAAC,SAAWZ,GAAG,SAAWA,GAAG,gBAAgBA,GAAG,OAASA,KAAKa,IAAa,CAAC,EAAE,CAAC,SAAWb,GAAG,gBAAgBA,GAAG,OAASA,GAAG,cAAcA,KAAKc,IAAa,CAAC,EAAE,CAAC,IAAIf,KAAKgB,IAAa,CAAC,EAAE,CAAC,GAAKf,KAAKgB,IAAa,CAAC,EAAE,CAAC,QAAUhB,KAAKiB,IAAa,CAAC,EAAE,CAAC,MAAQjB,KAAKkB,IAAa,CAAC,EAAE,CAAC,GAAKf,KAAKgB,IAAa,CAAC,EAAE,CAAC,GAAKnB,GAAG,iBAAiBA,GAAG,aAAaA,KAAKoB,IAAa,CAAC,EAAE,CAAC,GAAKpB,GAAG,iBAAiBA,KAAKqB,IAAa,CAAC,EAAE,CAAC,OAASrB,KAAKsB,IAAa,CAAC,EAAE,CAAC,iBAAiBtB,KAAKuB,IAAa,CAAC,EAAE,CAAC,IAAMvB,GAAG,iBAAiBA,KAAKwB,IAAa,CAAC,EAAE,CAAC,cAAcxB,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,aAAasB,IAAI,OAASC,MAAME,IAAa,CAAC,EAAE,CAAC,cAAczB,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYoB,IAAI,GAAKpB,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,aAAasB,IAAI,OAASC,MAAMG,IAAa,CAAC,EAAE,CAAC,cAAc1B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,oBAAoBA,GAAG,aAAasB,IAAI,OAASC,MAAMI,IAAa,CAAC,EAAE,CAAC,cAAc3B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,aAAaA,KAAK4B,IAAa,CAAC,EAAE,CAAC,GAAK5B,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,UAAUA,GAAG,aAAaA,KAAK6B,IAAa,CAAC,EAAE,CAAC,cAAc7B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAY4B,IAAI,GAAK5B,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,UAAUA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,aAAasB,IAAI,OAASC,MAAMO,IAAa,CAAC,EAAE,CAAC,cAAc9B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAY4B,IAAI,GAAK5B,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,gBAAgBA,GAAG,UAAUA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,oBAAoBA,GAAG,aAAasB,IAAI,OAASC,MAA2FQ,IAAa,CAAC,EAAE,CAAC,cAAc/B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAxK,CAAC,EAAE,CAAC,GAAKA,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,UAAUA,KAAqH,GAAKA,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,UAAUA,GAAG,mBAAmBA,GAAG,aAAaA,KAAKgC,IAAa,CAAC,EAAE,CAAC,KAAOhC,KAAKiC,IAAa,CAAC,EAAE,CAAC,KAAOjC,GAAG,YAAYA,KAAKkC,IAAa,CAAC,EAAE,CAAC,YAAYlC,KAAKmC,IAAa,CAAC,EAAE,CAAC,KAAOnC,KAAKoC,IAAa,CAAC,EAAE,CAAC,KAAOpC,KAAKqC,IAAa,CAAC,EAAE,CAAC,GAAKrC,KAAKsC,IAAa,CAAC,EAAE,CAAC,IAAMtC,KAAKuC,IAAa,CAAC,EAAE,CAAC,KAAOvC,KAAKwC,IAAa,CAAC,EAAE,CAAC,IAAMzC,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK0C,IAAa,CAAC,EAAE,CAAC,EAAIzC,KAAK0C,IAAa,CAAC,EAAE,CAAC,IAAM1C,KAAK2C,IAAa,CAAC,EAAE,CAAC,GAAK5C,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK6C,IAAa,CAAC,EAAE,CAAC,EAAI5C,KAAK6C,IAAa,CAAC,EAAE,CAAC,KAAO7C,KAAK8C,IAAa,CAAC,EAAE,CAAC,KAAO9C,KAAK+C,IAAa,CAAC,EAAE,CAAC,IAAM/C,KAAKgD,IAAa,CAAC,EAAE,CAAC,KAAOhD,GAAG,QAAUA,KAAKiD,IAAa,CAAC,EAAE,CAAC,KAAOjD,KAAKkD,IAAa,CAAC,EAAE,CAAC,GAAKlD,KAAKmD,IAAa,CAAC,EAAE,CAAC,IAAMpD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAKqD,IAAa,CAAC,EAAE,CAAC,KAAOpD,KAAKqD,IAAa,CAAC,EAAE,CAAC,OAASrD,KAAKsD,IAAa,CAAC,EAAE,CAAC,OAAStD,KAAKuD,IAAa,CAAC,EAAE,CAAC,GAAKxD,KAAKyD,IAAa,CAAC,EAAE,CAAC,IAAMzD,KAAK0D,IAAa,CAAC,EAAE,CAAC,IAAM1D,GAAG,GAAKA,GAAG,IAAMA,KAAK2D,IAAa,CAAC,EAAE,CAAC,GAAK3D,GAAG,IAAMA,KAE3pH,MADmB,CAAC,EAAE,CAAC,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,GAAG,SAAWA,GAAG,MAAQA,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,KAAO,CAAC,EAAE,CAAC,QAAUA,GAAG,QAAUA,GAAG,yBAAyBA,GAAG,sBAAsBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,mBAAmBA,GAAG,sBAAsBA,GAAG,SAAWA,GAAG,WAAaA,GAAG,UAAYA,GAAG,YAAcA,GAAG,OAASA,GAAG,WAAaA,GAAG,OAASA,GAAG,IAAMA,GAAG,MAAQA,GAAG,SAAWA,GAAG,cAAgBA,GAAG,aAAeA,GAAG,QAAUA,GAAG,cAAgBA,GAAG,KAAOA,GAAG,WAAaA,GAAG,WAAaA,GAAG,WAAaA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,cAAgBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,WAAaA,GAAG,eAAiBA,GAAG,MAAQA,GAAG,YAAcA,GAAG,UAAYA,GAAG,UAAYA,GAAG,QAAUA,GAAG,WAAaA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,YAAcA,GAAG,YAAcA,GAAG,MAAQA,GAAG,WAAaA,GAAG,UAAYA,GAAG,WAAaA,GAAG,YAAcA,GAAG,YAAcA,GAAG,wBAAwBA,GAAG,MAAQA,GAAG,MAAQA,GAAG,WAAaA,GAAG,WAAaA,GAAG,QAAUA,GAAG,IAAMA,GAAG,SAAWA,GAAG,WAAaA,GAAG,OAASA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,aAAeA,GAAG,MAAQA,KAAK,GAAKE,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKF,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,GAAG,OAASA,KAAK,GAAKE,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKH,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,KAAK,KAAO,CAAC,EAAE,CAAC,KAAOA,GAAG,KAAOA,GAAG,UAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKQ,IAAI,KAAO,CAAC,EAAE,CAAC,QAAUP,GAAG,OAASA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAK,CAAC,EAAE,CAAC,IAAMD,KAAK,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,UAAY,CAAC,EAAE,CAAC,KAAOC,KAAK,UAAY,CAAC,EAAE,CAAC,IAAIA,GAAG,GAAKG,GAAG,GAAKA,KAAK,cAAgBH,GAAG,cAAgBA,GAAG,SAAW,CAAC,EAAE,CAAC,GAAKG,GAAG,OAASA,KAAK,IAAMH,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,aAAeA,GAAG,OAAOA,GAAG,MAAMA,GAAG,QAAQA,GAAG,YAAYA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAM,CAAC,EAAE,CAAC,UAAY,CAAC,EAAE,CAAC,IAAMC,KAAK,aAAeA,KAAK,IAAM,CAAC,EAAE,CAAC,IAAMD,GAAG,SAAWA,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUA,KAAK,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,IAAM,CAAC,EAAE,CAAC,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,KAAK,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,GAAKA,KAAK,GAAKe,IAAI,GAAK,CAAC,EAAE,CAAC,GAAKf,GAAG,QAAUC,GAAG,WAAaA,GAAG,mBAAqB,CAAC,EAAE,CAAC,MAAQA,KAAK,SAAW,CAAC,EAAE,CAAC,QAAUA,KAAK,aAAaA,GAAG,aAAeA,GAAG,SAAWG,KAAK,GAAKI,IAAI,GAAK,CAAC,EAAE,CAAC,EAAIR,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,MAAQC,KAAK,GAAKC,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKF,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,KAAK,IAAM,CAAC,EAAE,CAAC,YAAcC,GAAG,WAAWA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,aAAaA,GAAG,WAAWA,GAAG,WAAWA,GAAG,UAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAQA,GAAG,QAAUA,KAAK,GAAK,CAAC,EAAE,CAAC,OAASD,GAAG,KAAOA,GAAG,YAAcA,GAAG,MAAQA,GAAG,QAAUA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAaA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,KAAK,GAAKE,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMF,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,YAAcA,GAAG,WAAaA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAWA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,cAAgBA,GAAG,SAAWA,GAAG,YAAcA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,WAAaA,GAAG,MAAQA,GAAG,WAAaA,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,SAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,MAAQA,GAAG,UAAYA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,EAAIA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,SAAWA,GAAG,IAAMA,GAAG,cAAgBA,GAAG,SAAWA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,WAAaC,KAAK,SAAWD,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,GAAKA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,UAAYA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKC,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,OAASD,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,GAAKA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMe,IAAI,IAAMf,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,SAAWA,GAAG,IAAMA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,WAAaA,GAAG,WAAaA,GAAG,YAAcA,GAAG,SAAWA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,KAAK,GAAKC,GAAG,GAAKF,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,UAAYC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,GAAG,MAAQA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQC,GAAG,MAAQG,GAAG,GAAKH,GAAG,QAAQA,GAAG,aAAeA,GAAG,IAAMA,KAAK,IAAMD,GAAG,GAAK,CAAC,EAAE,CAAC,WAAaC,GAAG,QAAUA,GAAG,UAAYA,GAAG,cAAcA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,IAAMA,GAAG,cAAgBA,GAAG,MAAQ,CAAC,EAAE,CAAC,UAAYA,OAAO,GAAKO,IAAI,GAAKR,GAAG,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,QAAUC,GAAG,QAAUA,GAAG,WAAa,CAAC,EAAE,CAAC,KAAOA,GAAG,IAAMgB,IAAI,IAAMA,MAAM,KAAO,CAAC,EAAE,CAAC,GAAK,CAAC,EAAE,CAAC,KAAOhB,KAAK,UAAYA,KAAK,iBAAiBA,GAAG,OAASA,GAAG,QAAUA,GAAG,aAAaA,GAAG,aAAeA,GAAG,QAAU,CAAC,EAAE,CAAC,IAAIA,GAAG,IAAMG,KAAK,OAAOH,GAAG,MAAMA,GAAG,QAAQA,GAAG,YAAYA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,KAAK,GAAKe,IAAI,GAAK,CAAC,EAAE,CAAC,GAAKf,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAM,CAAC,EAAE,CAAC,UAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,cAAcC,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,aAAaA,KAAK,iBAAiB,CAAC,EAAE,CAAC,cAAcA,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYoB,IAAI,GAAKpB,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,aAAaA,KAAK,QAAUG,GAAG,QAAU,CAAC,EAAE,CAAC,aAAaA,GAAG,iBAAiBA,KAAK,GAAK,CAAC,EAAE,CAAC,aAAaH,GAAG,iBAAiBA,KAAK,IAAMG,KAAK,UAAY,CAAC,EAAE,CAAC,aAAaM,IAAI,iBAAiBA,QAAQ,IAAMV,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKC,KAAK,GAAKD,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,aAAaC,GAAG,UAAYkB,IAAI,YAAclB,GAAG,aAAeqB,MAAM,GAAK,CAAC,EAAE,CAAC,IAAMtB,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQC,GAAG,IAAMA,GAAG,KAAOG,GAAG,UAAYH,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOG,GAAG,iBAAmBG,IAAI,KAAOA,IAAI,SAAWN,KAAK,IAAM,CAAC,EAAE,CAAC,SAAWA,GAAG,SAAWA,GAAG,cAAgB,CAAC,EAAE,CAAC,IAAMG,KAAK,OAASH,GAAG,WAAaA,GAAG,gBAAgBA,GAAG,WAAaA,GAAG,eAAiBA,GAAG,UAAYA,GAAG,UAAY,CAAC,EAAE,CAAC,aAAawB,IAAI,YAAYC,IAAI,iBAAiBC,IAAI,iBAAiBA,IAAI,iBAAiBF,IAAI,aAAaE,IAAI,aAAaC,IAAI,iBAAiBD,IAAI,iBAAiBA,IAAI,iBAAiBC,IAAI,iBAAiBA,IAAI,iBAAiB,CAAC,EAAE,CAAC,cAAc3B,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,aAAaA,KAAK,eAAe6B,IAAI,YAAY,CAAC,EAAE,CAAC,cAAc7B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAY4B,IAAI,GAAK5B,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,UAAUA,GAAG,mBAAmBA,GAAG,aAAaA,KAAK,eAAe0B,IAAI,eAAeC,IAAI,aAAaF,IAAI,aAAaD,IAAI,aAAaG,IAAI,YAAY,CAAC,EAAE,CAAC,cAAc3B,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,oBAAoBA,GAAG,aAAasB,IAAI,OAASC,MAAM,YAAYE,IAAI,YAAYD,IAAI,eAAe,CAAC,EAAE,CAAC,cAAcxB,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAYmB,IAAI,GAAKnB,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,aAAasB,IAAI,OAAS,CAAC,EAAE,CAAC,IAAMtB,OAAO,eAAe2B,IAAI,aAAaF,IAAI,YAAYD,IAAI,YAAY,CAAC,EAAE,CAAC,cAAcxB,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,iBAAiBA,GAAG,UAAY4B,IAAI,GAAK5B,GAAG,iBAAiBA,GAAG,sBAAsBA,GAAG,gBAAgBA,GAAG,UAAUA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,oBAAoBA,GAAG,aAAasB,IAAI,OAASC,MAAM,YAAYO,IAAI,gBAAgBC,IAAI,gBAAgBA,IAAI,YAAYF,IAAI,YAAYC,IAAI,QAAU3B,GAAG,YAAYA,GAAG,QAAU,CAAC,EAAE,CAAC,aAAaA,GAAG,YAAYA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,aAAaA,GAAG,aAAaA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,eAAeA,GAAG,YAAYA,GAAG,eAAeA,GAAG,eAAeA,GAAG,aAAaA,GAAG,aAAaA,GAAG,aAAaA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,GAAG,eAAeA,GAAG,eAAeA,GAAG,aAAaA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,KAAK,GAAKH,GAAG,OAAOA,GAAG,eAAeA,GAAG,oBAAoBA,GAAG,oBAAoBA,GAAG,oBAAoBA,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,oBAAoBA,GAAG,kBAAkBA,GAAG,kBAAkBA,GAAG,gBAAgBA,GAAG,eAAeA,GAAG,eAAeA,GAAG,eAAeA,GAAG,gBAAgBA,GAAG,wBAAwBA,GAAG,wBAAwBA,GAAG,YAAY,CAAC,EAAE,CAAC,YAAc,CAAC,EAAE,CAAC,KAAOA,OAAO,gBAAgBA,GAAG,eAAeA,GAAG,eAAeA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,eAAeA,GAAG,eAAeA,GAAG,4BAA4BA,GAAG,4BAA4BA,GAAG,4BAA4BA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,2BAA2BA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,IAAMG,KAAK,cAAgB,CAAC,EAAE,CAAC,aAAa6B,IAAI,YAAYA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,aAAaA,IAAI,aAAaA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,eAAeA,IAAI,YAAYA,IAAI,eAAeA,IAAI,eAAeA,IAAI,aAAaA,IAAI,aAAaA,IAAI,aAAaA,IAAI,YAAYA,IAAI,YAAYA,IAAI,YAAYA,IAAI,eAAeA,IAAI,eAAeA,IAAI,aAAaA,IAAI,YAAYA,IAAI,YAAYC,IAAI,YAAYA,IAAI,gBAAgBC,IAAI,gBAAgBA,IAAI,YAAYD,IAAI,YAAYA,MAAM,WAAajC,GAAG,aAAeG,GAAG,QAAUH,GAAG,iBAAmB,CAAC,EAAE,CAAC,aAAaA,GAAG,YAAYA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,aAAaA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,eAAeA,GAAG,eAAeA,GAAG,aAAaA,GAAG,aAAaA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,GAAG,eAAeA,GAAG,aAAaA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,GAAG,gBAAgBA,GAAG,gBAAgBA,GAAG,YAAYA,GAAG,YAAYA,KAAK,qBAAuBA,GAAG,QAAUA,GAAG,eAAiBA,GAAG,oBAAsBA,GAAG,aAAaA,GAAG,UAAYA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,aAAaA,GAAG,gBAAgBA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,eAAe,CAAC,EAAE,CAAC,SAAWG,KAAK,OAASH,GAAG,UAAUA,GAAG,UAAYA,GAAG,WAAaA,GAAG,UAAUA,GAAG,kBAAkBA,GAAG,cAAgBA,GAAG,GAAKA,GAAG,UAAYG,GAAG,cAAgBH,GAAG,WAAa,CAAC,EAAE,CAAC,KAAOA,GAAG,SAAWA,KAAK,WAAaA,GAAG,WAAaA,GAAG,SAAWA,GAAG,QAAUA,GAAG,mBAAqBG,GAAG,YAAcH,GAAG,WAAaA,GAAG,SAAWA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAUA,GAAG,YAAcA,GAAG,UAAYA,GAAG,QAAUA,GAAG,aAAaA,GAAG,SAAWA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,cAAcA,GAAG,cAAcA,GAAG,cAAcA,GAAG,YAAYA,GAAG,cAAcA,GAAG,gBAAgBA,GAAG,cAAcA,GAAG,gBAAgBA,GAAG,gBAAgBA,GAAG,aAAaA,GAAG,cAAcA,GAAG,cAAcA,GAAG,kBAAkBA,GAAG,kBAAkBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,aAAaA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,iBAAiBA,GAAG,eAAeA,GAAG,kBAAkBA,GAAG,iBAAiBA,GAAG,eAAeA,GAAG,YAAYA,GAAG,oBAAoBA,GAAG,WAAWA,GAAG,qBAAqBA,GAAG,gBAAgBA,GAAG,gBAAgBA,GAAG,cAAcA,GAAG,wBAAwBA,GAAG,YAAYA,GAAG,aAAaA,GAAG,YAAYA,GAAG,mBAAmBA,GAAG,cAAcA,GAAG,kBAAkBA,GAAG,cAAcA,GAAG,eAAeA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,gBAAgBA,GAAG,iBAAiBA,GAAG,aAAaA,GAAG,eAAeA,GAAG,uBAAuBA,GAAG,oBAAoBA,GAAG,cAAcA,GAAG,kBAAkBA,GAAG,gBAAgBA,GAAG,iBAAiBA,GAAG,eAAeA,GAAG,eAAeA,GAAG,cAAcA,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,cAAcA,GAAG,gBAAgBA,GAAG,kBAAkBA,GAAG,eAAeA,GAAG,iBAAiBA,GAAG,oBAAoBA,GAAG,eAAeA,GAAG,UAAUA,GAAG,gBAAgBA,GAAG,eAAeA,GAAG,mBAAmBA,GAAG,gBAAgBA,GAAG,UAAUA,GAAG,mBAAmBA,GAAG,WAAWA,GAAG,cAAcA,GAAG,kBAAkBA,GAAG,WAAWA,GAAG,gBAAgBA,GAAG,iBAAmBA,GAAG,YAAYA,GAAG,WAAaA,GAAG,WAAWA,GAAG,mBAAmBA,GAAG,OAASA,GAAG,iBAAiBA,GAAG,cAAcA,GAAG,SAAWA,GAAG,aAAaA,GAAG,gBAAgBA,GAAG,eAAeA,GAAG,eAAiBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,WAAaA,GAAG,MAAQA,GAAG,UAAYA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,UAAYA,GAAG,SAAW,CAAC,EAAE,CAAC,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,KAAK,UAAYA,GAAG,cAAcA,GAAG,mBAAmBA,GAAG,iBAAiBA,GAAG,SAAWA,GAAG,YAAcA,GAAG,MAAQA,GAAG,YAAcA,GAAG,aAAeA,GAAG,aAAaA,GAAG,UAAYA,GAAG,SAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,aAAeA,GAAG,kBAAoBA,GAAG,OAAOG,GAAG,QAAU,CAAC,EAAE,CAAC,EAAIA,KAAK,SAAWH,GAAG,SAAWA,GAAG,WAAaA,GAAG,WAAaA,GAAG,mBAAqBA,GAAG,WAAaA,GAAG,YAAcA,GAAG,eAAiBA,GAAG,WAAaA,GAAG,YAAcA,GAAG,UAAYA,GAAG,GAAKA,GAAG,SAAWA,GAAG,aAAeA,GAAG,QAAUA,GAAG,SAAWA,GAAG,aAAaA,GAAG,eAAeA,GAAG,OAASA,GAAG,qBAAqBoC,IAAI,QAAU,CAAC,EAAE,CAAC,YAAYpC,GAAG,eAAeA,KAAK,YAAY,CAAC,EAAE,CAAC,OAASA,GAAG,iBAAiBA,KAAK,SAAW,CAAC,EAAE,CAAC,KAAOA,KAAK,YAAcoC,IAAI,WAAa,CAAC,EAAE,CAAC,IAAMpC,GAAG,IAAMA,KAAK,YAAcA,GAAG,OAAS,CAAC,EAAE,CAAC,IAAMG,KAAK,cAAgBH,GAAG,OAAS,CAAC,EAAE,CAAC,QAAUA,GAAG,aAAeG,KAAK,cAAgBA,GAAG,kBAAoB,CAAC,EAAE,CAAC,GAAKH,KAAK,WAAaA,GAAG,eAAiBA,GAAG,YAAcA,GAAG,YAAcA,GAAG,WAAaA,GAAG,eAAiBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,WAAaA,GAAG,OAASA,GAAG,MAAQmC,IAAI,UAAYE,IAAI,gBAAkBrC,GAAG,WAAaA,GAAG,SAAWA,GAAG,gBAAgB,CAAC,EAAE,CAAC,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,GAAKA,GAAG,EAAIA,GAAG,KAAOA,KAAK,YAAc,CAAC,EAAE,CAAC,MAAQ,CAAC,EAAE,CAAC,KAAOA,OAAO,KAAKA,GAAG,QAAUA,GAAG,aAAaA,GAAG,SAAWA,GAAG,WAAaA,GAAG,WAAaA,GAAG,SAAWA,GAAG,YAAcA,GAAG,WAAaA,GAAG,MAAQA,GAAG,WAAaA,GAAG,oBAAoBA,GAAG,gBAAkBA,GAAG,eAAiBA,GAAG,kBAAoBA,GAAG,iBAAmBA,GAAG,MAAQA,GAAG,aAAaA,GAAG,UAAYA,GAAG,WAAaA,GAAG,WAAaA,GAAG,gBAAkBA,GAAG,UAAYA,GAAG,mBAAqBA,GAAG,cAAgBA,GAAG,SAAWA,GAAG,UAAYA,GAAG,cAAgBA,GAAG,UAAYA,GAAG,YAAcA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,WAAaA,GAAG,aAAeA,GAAG,YAAcA,GAAG,cAAgBA,GAAG,aAAeA,GAAG,SAAWA,GAAG,sBAAwB,CAAC,EAAE,CAAC,OAASA,KAAK,WAAaA,GAAG,QAAUA,GAAG,WAAaA,GAAG,eAAe,CAAC,EAAE,CAAC,IAAIA,GAAG,IAAMG,GAAG,IAAMA,GAAG,IAAMA,KAAK,gBAAkBA,GAAG,mBAAqBA,GAAG,mBAAmBH,GAAG,aAAeA,GAAG,WAAaA,GAAG,gBAAkBA,GAAG,YAAcA,GAAG,MAAQA,GAAG,OAASA,GAAG,YAAcA,GAAG,SAAWG,GAAG,SAAWH,GAAG,eAAeA,GAAG,MAAQ,CAAC,EAAE,CAAC,IAAMA,KAAK,eAAiBqC,IAAI,IAAMrC,GAAG,oBAAoBA,GAAG,kBAAkBA,GAAG,WAAaA,GAAG,WAAaA,GAAG,YAAcA,GAAG,YAAcA,GAAG,OAASA,GAAG,OAASA,GAAG,aAAeG,GAAG,SAAWH,GAAG,qBAAqBA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASsC,IAAI,YAAYtC,GAAG,OAAOA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,GAAKA,GAAG,KAAO,CAAC,EAAE,CAAC,QAAUG,GAAG,cAAcA,GAAG,cAAcA,KAAK,WAAa,CAAC,EAAE,CAAC,SAAW,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAO,CAAC,EAAE,CAAC,MAAMA,WAAW,OAASH,GAAG,QAAUA,GAAG,mBAAmBA,GAAG,aAAeA,GAAG,UAAYA,GAAG,WAAaA,GAAG,QAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,WAAaA,GAAG,aAAeA,GAAG,eAAeA,GAAG,oBAAoBA,GAAG,aAAeA,GAAG,qBAAqBA,GAAG,+BAA+BA,GAAG,gBAAgBA,GAAG,oBAAoBA,GAAG,OAAS,CAAC,EAAE,CAAC,IAAMA,KAAK,UAAY,CAAC,EAAE,CAAC,MAAQA,KAAK,cAAcA,GAAG,YAAcA,GAAG,kBAAoBA,GAAG,WAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAUA,GAAG,gBAAkBA,GAAG,aAAauC,IAAI,QAAUvC,GAAG,cAAgBA,GAAG,mBAAmBA,GAAG,SAAW,CAAC,EAAE,CAAC,IAAMA,KAAK,GAAKA,GAAG,GAAKA,GAAG,cAAcA,GAAG,aAAeG,GAAG,WAAaH,GAAG,gBAAkBA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAW,CAAC,EAAE,CAAC,MAAQA,KAAK,QAAUA,GAAG,UAAYA,GAAG,YAAcA,GAAG,eAAeA,GAAG,gBAAkB,CAAC,EAAE,CAAC,GAAKA,KAAK,MAAQ,CAAC,EAAE,CAAC,GAAKA,GAAG,WAAWA,KAAK,SAAWA,KAAK,KAAOD,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,KAAK,GAAKyC,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMzC,GAAG,QAAUC,GAAG,IAAMA,GAAG,KAAOA,GAAG,YAAcA,GAAG,YAAcA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,WAAaA,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,WAAa0C,MAAM,QAAU1C,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,cAAgB,CAAC,EAAE,CAAC,IAAMC,KAAK,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,YAAc,CAAC,EAAE,CAAC,MAAQG,GAAG,OAASH,KAAK,KAAO,CAAC,EAAE,CAAC,MAAQ,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,SAAS,GAAK,CAAC,EAAE,CAAC,QAAUA,GAAG,QAAUA,GAAG,IAAMA,GAAG,QAAU0C,IAAI,WAAa1C,GAAG,kBAAkBA,GAAG,eAAeA,GAAG,YAAYA,GAAG,MAAQ,CAAC,EAAE,CAAC,IAAMA,GAAG,OAASA,KAAK,WAAWA,GAAG,QAAUA,GAAG,iBAAiB,CAAC,EAAE,CAAC,IAAMA,KAAK,gBAAgBA,GAAG,QAAUA,GAAG,gBAAkBA,GAAG,WAAaA,GAAG,QAAUA,GAAG,WAAaA,GAAG,WAAaA,GAAG,cAAgBA,GAAG,OAASG,GAAG,KAAOH,GAAG,0BAA0BA,GAAG,iBAAmBA,GAAG,wBAAwBA,GAAG,eAAiBA,GAAG,eAAe,CAAC,EAAE,CAAC,GAAK,CAAC,EAAE,CAAC,MAAQA,GAAG,iBAAiBA,OAAO,aAAaA,GAAG,YAAYA,GAAG,SAASA,GAAG,YAAYA,GAAG,SAASA,GAAG,SAASA,GAAG,YAAcA,GAAG,aAAaA,GAAG,eAAiBA,GAAG,YAAcA,GAAG,aAAaA,GAAG,WAAaA,GAAG,YAAYA,GAAG,eAAeA,GAAG,YAAYA,GAAG,MAAQA,GAAG,eAAiBA,GAAG,cAAcA,GAAG,IAAMA,GAAG,kBAAkB,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,GAAKA,OAAO,OAASA,GAAG,mBAAmBA,GAAG,aAAaA,GAAG,YAAYA,GAAG,MAAQA,GAAG,aAAe,CAAC,EAAE,CAAC,SAAWA,KAAK,aAAeA,GAAG,aAAaA,GAAG,OAAOA,GAAG,MAAMA,GAAG,QAAQA,GAAG,YAAYA,GAAG,SAASA,GAAG,WAAWA,GAAG,QAAUA,GAAG,UAAUA,GAAG,OAASA,GAAG,aAAaA,GAAG,WAAWA,GAAG,SAASA,GAAG,UAAUA,GAAG,uBAAuBA,GAAG,cAAcA,GAAG,UAAYG,GAAG,eAAeH,GAAG,YAAcA,GAAG,gBAAgBA,GAAG,mBAAqBA,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMC,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,aAAeA,KAAK,GAAK2C,IAAI,GAAK,CAAC,EAAE,CAAC,IAAM5C,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOC,GAAG,SAAWA,KAAK,IAAM,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,YAAYA,OAAO,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,GAAKA,KAAK,GAAKe,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMf,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAWC,GAAG,aAAeA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,WAAaC,GAAG,QAAUA,GAAG,OAAS,CAAC,EAAE,CAAC,SAAWA,KAAK,MAAQA,GAAG,MAAQA,GAAG,SAAWG,GAAG,YAAcH,KAAK,GAAK,CAAC,EAAE,CAAC,MAAQD,GAAG,GAAKC,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,IAAMA,GAAG,cAAgB,CAAC,EAAE,CAAC,GAAKA,KAAK,WAAa,CAAC,EAAE,CAAC,KAAOA,GAAG,KAAOA,KAAK,MAAQA,GAAG,cAAcA,GAAG,aAAeA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKe,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMf,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQC,GAAG,KAAOG,KAAK,GAAKJ,GAAG,GAAK,CAAC,EAAE,CAAC,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,OAASA,GAAG,IAAMA,GAAG,MAAQA,GAAG,mBAAmBA,GAAG,UAAUC,GAAG,SAASA,GAAG,MAAQA,GAAG,aAAaA,GAAG,UAAYA,GAAG,QAAUA,GAAG,aAAaA,GAAG,SAASA,GAAG,kCAAkCA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,wBAAwBA,GAAG,qBAAqBA,GAAG,QAAUA,GAAG,SAAWA,GAAG,WAAaA,GAAG,KAAOA,GAAG,YAAcA,GAAG,aAAeA,GAAG,IAAMA,KAAK,GAAKD,GAAG,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,KAAK,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUC,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQ,CAAC,EAAE,CAAC,OAASA,OAAO,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,IAAMA,GAAG,GAAK,CAAC,EAAE,CAAC,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQC,GAAG,WAAaA,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKA,GAAG,GAAK4C,IAAI,GAAK,CAAC,EAAE,CAAC,IAAM5C,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,YAAYA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,IAAMC,GAAG,IAAMA,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,KAAOA,GAAG,QAAU+C,MAAM,GAAK,CAAC,EAAE,CAAC,MAAQ/C,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAOD,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,GAAKA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,KAAOA,GAAG,GAAKA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,aAAeC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,QAAUC,GAAG,QAAUA,GAAG,WAAaA,KAAK,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAK,eAAe,CAAC,EAAE,CAAC,gBAAgBA,GAAG,cAAcA,GAAG,aAAaA,GAAG,cAAcA,KAAK,MAAQ,CAAC,EAAE,CAAC,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,KAAK,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,KAAKA,GAAG,KAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,IAAMA,GAAG,SAAWA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,MAAQA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,SAAWA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUC,GAAG,MAAQA,GAAG,IAAMA,GAAG,SAAWA,KAAK,KAAO,CAAC,EAAE,CAAC,QAAUA,GAAG,cAAcA,GAAG,sBAAsBA,GAAG,uBAAuBA,GAAG,OAASA,GAAG,UAAUA,GAAG,YAAYA,GAAG,aAAaA,GAAG,gBAAgBA,GAAG,WAAaA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,eAAiBA,GAAG,YAAcA,GAAG,OAASA,GAAG,aAAeA,GAAG,QAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAASA,KAAK,IAAM,CAAC,EAAE,CAAC,GAAKD,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOC,GAAG,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAWI,GAAG,OAASH,GAAG,OAASA,GAAG,SAASA,GAAG,YAAcA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQI,GAAG,kBAAoBJ,GAAG,OAAS+C,IAAI,WAAa/C,GAAG,KAAO,CAAC,EAAE,CAAC,IAAMA,KAAK,WAAaA,GAAG,qBAAuBA,GAAG,SAAW,CAAC,EAAE,CAAC,OAASA,KAAK,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,cAAcA,GAAG,IAAMA,GAAG,UAAY,CAAC,EAAE,CAAC,GAAKA,KAAK,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,aAAaA,GAAG,aAAeA,GAAG,UAAYA,GAAG,UAAYG,GAAG,QAAUiC,IAAI,WAAa,CAAC,EAAE,CAAC,MAAQpC,KAAK,KAAOA,GAAG,UAAYA,GAAG,UAAYA,GAAG,MAAQA,GAAG,eAAiBG,GAAG,MAAQ,CAAC,EAAE,CAAC,GAAKH,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,QAAU,CAAC,EAAE,CAAC,MAAQA,KAAK,aAAeA,GAAG,MAAQ,CAAC,EAAE,CAAC,KAAOA,KAAK,SAAWA,GAAG,IAAM,CAAC,EAAE,CAAC,IAAMG,KAAK,KAAOH,GAAG,WAAaA,GAAG,OAASA,GAAG,aAAauC,IAAI,SAASpC,GAAG,SAASA,GAAG,YAAcH,GAAG,YAAcA,GAAG,aAAe,CAAC,EAAE,CAAC,QAAUA,KAAK,IAAMA,GAAG,SAAWA,GAAG,SAAW,CAAC,EAAE,CAAC,OAASA,KAAK,aAAaA,GAAG,KAAOmC,IAAI,OAAShC,GAAG,SAAWH,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAY,CAAC,EAAE,CAAC,IAAMgD,IAAI,OAASA,IAAI,KAAOC,IAAI,QAAUD,MAAM,QAAUhD,GAAG,QAAUA,GAAG,YAAcA,GAAG,QAAUA,GAAG,UAAYA,GAAG,YAAcA,GAAG,cAAgBA,KAAK,GAAKE,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKH,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,kBAAkBA,GAAG,MAAQA,GAAG,iBAAiBA,GAAG,MAAQA,GAAG,UAAYC,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,eAAeA,GAAG,YAAcA,GAAG,IAAMA,GAAG,WAAaA,GAAG,IAAMA,GAAG,SAAWA,GAAG,IAAMA,GAAG,SAAWA,GAAG,iBAAiBA,GAAG,cAAgBA,GAAG,IAAMA,GAAG,kBAAkBA,GAAG,mBAAmBA,GAAG,kBAAkBA,GAAG,wBAAwBA,GAAG,uBAAuBA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,kBAAkBA,GAAG,eAAiBA,GAAG,uBAAuBA,GAAG,oBAAsBA,GAAG,cAAgBA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,SAAWA,GAAG,SAAWA,GAAG,IAAMA,GAAG,QAAUA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,oBAAoBA,GAAG,2BAA2BA,GAAG,oBAAoBA,GAAG,mBAAmBA,GAAG,0BAA0BA,GAAG,mBAAmBA,GAAG,qBAAqBA,GAAG,oBAAoBA,GAAG,SAAWA,GAAG,mBAAmBA,GAAG,kBAAkBA,GAAG,sBAAsBA,GAAG,qBAAqBA,GAAG,mBAAmBA,GAAG,kBAAkBA,GAAG,qBAAqBA,GAAG,4BAA4BA,GAAG,qBAAqBA,GAAG,oBAAoBA,GAAG,2BAA2BA,GAAG,oBAAoBA,GAAG,sBAAsBA,GAAG,qBAAqBA,GAAG,kBAAkBA,GAAG,eAAiBA,GAAG,qBAAqBA,GAAG,kBAAoBA,GAAG,kBAAkBA,GAAG,eAAiBA,GAAG,oBAAoBA,GAAG,2BAA2BA,GAAG,oBAAoBA,GAAG,iBAAmBA,GAAG,0BAA0BA,GAAG,iBAAmBA,GAAG,qBAAqBA,GAAG,kBAAoBA,GAAG,mBAAmBA,GAAG,0BAA0BA,GAAG,mBAAmBA,GAAG,gBAAkBA,GAAG,yBAAyBA,GAAG,gBAAkBA,GAAG,oBAAoBA,GAAG,iBAAmBA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,cAAcA,GAAG,aAAaA,GAAG,aAAaA,GAAG,UAAYA,GAAG,cAAcA,GAAG,gBAAgBA,GAAG,eAAeA,GAAG,WAAaA,GAAG,eAAeA,GAAG,YAAcA,GAAG,eAAeA,GAAG,sBAAsBA,GAAG,eAAeA,GAAG,iBAAiBA,GAAG,wBAAwBA,GAAG,iBAAiBA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,aAAeA,GAAG,sBAAsBA,GAAG,aAAeA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,GAAKA,GAAG,UAAYA,GAAG,GAAKA,GAAG,YAAcA,GAAG,aAAaA,GAAG,UAAYA,GAAG,GAAKA,GAAG,OAASA,GAAG,wBAAwBA,GAAG,wBAAwBA,GAAG,oBAAsBA,GAAG,oBAAsBA,GAAG,GAAKA,GAAG,MAAQA,GAAG,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,aAAeA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,SAAWA,GAAG,GAAKA,GAAG,OAASA,GAAG,kBAAkBA,GAAG,yBAAyBA,GAAG,kBAAkBA,GAAG,mBAAmBA,GAAG,KAAOA,GAAG,wBAAwBA,GAAG,oBAAsBA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUA,GAAG,QAAUA,GAAG,oBAAoBA,GAAG,MAAQA,GAAG,iBAAiBA,GAAG,wBAAwBA,GAAG,iBAAiBA,GAAG,kBAAkBA,GAAG,GAAKA,GAAG,QAAUA,GAAG,SAAWA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,kBAAkBA,GAAG,yBAAyBA,GAAG,kBAAkBA,GAAG,mBAAmBA,GAAG,GAAKA,GAAG,GAAKA,GAAG,SAAWA,GAAG,cAAgBA,GAAG,kBAAkBA,GAAG,eAAiBA,GAAG,WAAaA,GAAG,oBAAoBA,GAAG,iBAAmBA,GAAG,gBAAgBA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,GAAKA,GAAG,GAAKA,GAAG,eAAeA,GAAG,sBAAsBA,GAAG,eAAeA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,KAAOA,GAAG,QAAUA,GAAG,GAAKA,GAAG,QAAUA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,cAAgBA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUA,GAAG,SAAWA,GAAG,GAAKA,GAAG,OAASA,GAAG,eAAeA,GAAG,sBAAsBA,GAAG,eAAeA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,GAAKA,GAAG,UAAYA,GAAG,GAAKA,GAAG,MAAQA,GAAG,OAASA,GAAG,GAAKA,GAAG,QAAUA,GAAG,GAAKA,GAAG,SAAWA,GAAG,oBAAoBA,GAAG,iBAAmBA,GAAG,GAAKA,GAAG,QAAUA,GAAG,GAAKA,GAAG,QAAUA,GAAG,GAAKA,GAAG,YAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,MAAQA,GAAG,GAAKA,GAAG,QAAUA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,gBAAgBA,GAAG,aAAeA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,eAAiBA,GAAG,QAAUA,GAAG,GAAKA,GAAG,MAAQA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,wBAAwBA,GAAG,aAAeA,GAAG,cAAgBA,GAAG,mBAAqBA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,OAASA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,MAAQA,GAAG,GAAKA,GAAG,UAAYA,GAAG,eAAeA,GAAG,YAAcA,GAAG,GAAKA,GAAG,SAAWA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUA,GAAG,gBAAgBA,GAAG,aAAeA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,SAAWA,GAAG,KAAOA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,UAAYA,GAAG,QAAUA,GAAG,GAAKA,GAAG,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,gBAAgBA,GAAG,eAAiBA,GAAG,aAAeA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,GAAKA,GAAG,QAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,GAAKA,GAAG,MAAQA,GAAG,SAAWA,GAAG,GAAKA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,UAAYA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUA,GAAG,GAAKA,GAAG,eAAeA,GAAG,YAAcA,GAAG,OAASA,GAAG,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,wBAAwBA,GAAG,wBAAwBA,GAAG,oBAAsBA,GAAG,oBAAsBA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,GAAKA,GAAG,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,aAAeA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,GAAKA,GAAG,gBAAgBA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,UAAUC,GAAG,MAAQA,GAAG,WAAaA,GAAG,KAAO,CAAC,EAAE,CAAC,GAAKA,KAAK,cAAcA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,aAAeA,GAAG,SAAWA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,KAAK,GAAKc,IAAI,GAAK,CAAC,EAAE,CAAC,KAAOf,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,KAAOA,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,QAAU8C,IAAI,OAAS7C,GAAG,MAAQA,GAAG,WAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,KAAK,GAAKD,GAAG,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,WAAaA,GAAG,WAAaA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,WAAaA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,YAAcA,GAAG,OAASA,GAAG,cAAgBA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,KAAK,OAAS,CAAC,EAAE,CAAC,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,WAAaA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,WAAaA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,UAAYA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,SAAWA,GAAG,WAAaA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,WAAaA,GAAG,UAAYA,GAAG,OAASA,GAAG,KAAOA,GAAG,cAAgBA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,WAAaA,GAAG,gBAAkBA,GAAG,WAAaA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,YAAcA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,WAAaA,KAAK,MAAQ,CAAC,EAAE,CAAC,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,cAAgBA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,KAAK,QAAU,CAAC,EAAE,CAAC,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,WAAaA,GAAG,SAAWA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,IAAMA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,cAAgBA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,KAAK,UAAY,CAAC,EAAE,CAAC,UAAYA,GAAG,WAAaA,GAAG,cAAgBA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,MAAQA,GAAG,UAAYA,GAAG,WAAaA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,aAAeA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,KAAK,KAAO,CAAC,EAAE,CAAC,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,iBAAmBA,GAAG,QAAUA,GAAG,MAAQA,GAAG,aAAeA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,YAAcA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAOA,GAAG,WAAaA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,KAAOA,KAAK,MAAQ,CAAC,EAAE,CAAC,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,gBAAkBA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,YAAcA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,SAAWA,KAAK,UAAY,CAAC,EAAE,CAAC,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,YAAcA,GAAG,iBAAmBA,GAAG,MAAQA,GAAG,aAAeA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,cAAgBA,GAAG,MAAQA,GAAG,KAAOA,GAAG,KAAOA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,KAAK,SAAW,CAAC,EAAE,CAAC,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,YAAcA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,aAAeA,GAAG,OAASA,GAAG,cAAgBA,GAAG,YAAcA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,YAAcA,GAAG,aAAeA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,cAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,aAAeA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,aAAeA,GAAG,aAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,YAAcA,GAAG,YAAcA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,UAAYA,GAAG,QAAUA,GAAG,YAAcA,GAAG,OAASA,GAAG,UAAYA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,UAAYA,GAAG,aAAeA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,KAAK,MAAQ,CAAC,EAAE,CAAC,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,KAAOA,GAAG,YAAcA,GAAG,YAAcA,GAAG,UAAYA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,WAAaA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,KAAK,QAAU,CAAC,EAAE,CAAC,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,UAAYA,GAAG,QAAUA,GAAG,YAAcA,GAAG,aAAeA,GAAG,WAAaA,GAAG,QAAUA,GAAG,IAAMA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,YAAcA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,WAAaA,GAAG,UAAYA,GAAG,WAAaA,GAAG,UAAYA,GAAG,KAAOA,GAAG,MAAQA,GAAG,SAAWA,GAAG,YAAcA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,KAAOA,KAAK,SAAW,CAAC,EAAE,CAAC,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,WAAaA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,cAAgBA,GAAG,MAAQA,GAAG,YAAcA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,KAAK,OAAS,CAAC,EAAE,CAAC,QAAUA,GAAG,cAAgBA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,KAAK,UAAY,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,WAAaA,GAAG,UAAYA,GAAG,WAAaA,GAAG,SAAWA,GAAG,aAAeA,GAAG,cAAgBA,GAAG,IAAMA,GAAG,SAAWA,GAAG,MAAQA,KAAK,SAAW,CAAC,EAAE,CAAC,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,eAAiBA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,GAAKA,GAAG,KAAOA,GAAG,WAAaA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,KAAK,MAAQ,CAAC,EAAE,CAAC,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,aAAeA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,WAAaA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,YAAcA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,KAAK,SAAW,CAAC,EAAE,CAAC,QAAUA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,YAAcA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,YAAcA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,YAAcA,GAAG,YAAcA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,gBAAkBA,GAAG,OAASA,GAAG,KAAOA,GAAG,WAAaA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,UAAYA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,KAAK,IAAM,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,GAAG,IAAMA,GAAG,SAAWA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,KAAK,OAAS,CAAC,EAAE,CAAC,SAAWA,GAAG,kBAAoBA,GAAG,WAAaA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,SAAWA,GAAG,WAAaA,GAAG,cAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,cAAgBA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,KAAK,SAAW,CAAC,EAAE,CAAC,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,WAAaA,GAAG,KAAOA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,KAAK,OAAS,CAAC,EAAE,CAAC,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,cAAgBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,UAAYA,GAAG,MAAQA,GAAG,WAAaA,GAAG,WAAaA,GAAG,aAAeA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,YAAcA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,UAAYA,GAAG,aAAeA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUA,KAAK,SAAW,CAAC,EAAE,CAAC,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,QAAUA,GAAG,SAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,UAAYA,GAAG,aAAeA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,KAAK,KAAO,CAAC,EAAE,CAAC,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,eAAiBA,GAAG,QAAUA,GAAG,MAAQA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,UAAYA,GAAG,cAAgBA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,WAAaA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,eAAiBA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,KAAK,QAAU,CAAC,EAAE,CAAC,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,YAAcA,GAAG,aAAeA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,KAAK,KAAO,CAAC,EAAE,CAAC,MAAQA,GAAG,SAAWA,GAAG,YAAcA,GAAG,OAASA,GAAG,KAAOA,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAWA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,MAAQA,GAAG,KAAOA,KAAK,QAAU,CAAC,EAAE,CAAC,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,aAAeA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,KAAK,QAAU,CAAC,EAAE,CAAC,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,UAAYA,GAAG,eAAiBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,YAAcA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,WAAaA,GAAG,QAAUA,GAAG,MAAQA,GAAG,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,WAAaA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,eAAiBA,GAAG,KAAOA,GAAG,MAAQA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,aAAeA,GAAG,iBAAmBA,GAAG,gBAAkBA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,cAAgBA,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,SAAWA,GAAG,MAAQA,GAAG,KAAOA,GAAG,YAAcA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,YAAcA,GAAG,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,aAAeA,GAAG,SAAWA,GAAG,OAASA,GAAG,IAAMA,KAAK,KAAO,CAAC,EAAE,CAAC,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,WAAaA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,UAAYA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,YAAcA,KAAK,QAAU,CAAC,EAAE,CAAC,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,gBAAkBA,GAAG,iBAAmBA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,WAAaA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,WAAaA,GAAG,aAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,KAAK,MAAQ,CAAC,EAAE,CAAC,MAAQA,GAAG,KAAOA,GAAG,WAAaA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWA,GAAG,YAAcA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,KAAK,QAAU,CAAC,EAAE,CAAC,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,aAAeA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,aAAeA,GAAG,KAAOA,GAAG,WAAaA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,KAAK,SAAW,CAAC,EAAE,CAAC,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,WAAaA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,WAAaA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,WAAaA,GAAG,UAAYA,GAAG,UAAYA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,KAAK,QAAU,CAAC,EAAE,CAAC,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,WAAaA,GAAG,OAASA,GAAG,WAAaA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,aAAeA,GAAG,MAAQA,GAAG,UAAYA,GAAG,KAAOA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,WAAaA,GAAG,OAASA,GAAG,WAAaA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,WAAaA,GAAG,MAAQA,KAAK,UAAY,CAAC,EAAE,CAAC,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,aAAeA,GAAG,WAAaA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,KAAK,MAAQ,CAAC,EAAE,CAAC,OAASA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,cAAgBA,GAAG,gBAAkBA,GAAG,cAAgBA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,WAAaA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,KAAOA,GAAG,WAAaA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAkBA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,KAAK,QAAU,CAAC,EAAE,CAAC,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,YAAcA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,KAAK,OAAS,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,YAAcA,GAAG,WAAaA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,KAAK,SAAW,CAAC,EAAE,CAAC,MAAQA,GAAG,UAAYA,GAAG,KAAOA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,cAAgBA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,KAAOA,KAAK,SAAW,CAAC,EAAE,CAAC,MAAQA,GAAG,SAAWA,GAAG,UAAYA,GAAG,KAAOA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,UAAYA,GAAG,WAAaA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,GAAKA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,KAAK,UAAY,CAAC,EAAE,CAAC,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,YAAcA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,KAAK,UAAY,CAAC,EAAE,CAAC,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,gBAAkBA,GAAG,YAAcA,GAAG,SAAWA,GAAG,OAASA,GAAG,eAAiBA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,cAAcA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,aAAeA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,WAAaA,GAAG,UAAYA,KAAK,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,cAAcA,GAAG,GAAKA,GAAG,gBAAgBA,GAAG,IAAMA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,eAAeA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,SAAWe,IAAI,WAAaA,IAAI,KAAOA,IAAI,OAASA,IAAI,QAAUA,IAAI,OAASA,IAAI,SAAWA,IAAI,QAAUd,GAAG,aAAeA,GAAG,YAAcA,GAAG,WAAaA,GAAG,UAAYA,GAAG,QAAUA,GAAG,MAAMA,GAAG,MAAMA,GAAG,MAAMA,GAAG,MAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,YAAcA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,UAAYA,GAAG,IAAMA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,WAAaA,GAAG,WAAaA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,WAAaA,GAAG,UAAYA,GAAG,WAAaA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,UAAYA,GAAG,IAAMA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,IAAMA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,WAAaA,GAAG,YAAcA,GAAG,MAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,cAAgB,CAAC,EAAE,CAAC,MAAQkD,IAAI,MAAQA,MAAM,OAASlD,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAQA,GAAG,KAAOA,GAAG,SAAW,CAAC,EAAE,CAAC,GAAKA,GAAG,KAAOA,KAAK,SAAWA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,KAAK,GAAKc,IAAI,GAAKqC,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMpD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,YAAcA,GAAG,OAASA,GAAG,YAAcA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,IAAMC,GAAG,WAAWA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKyC,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMzC,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,KAAK,GAAKC,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKF,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKC,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKE,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKF,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAKQ,IAAI,GAAK,CAAC,EAAE,CAAC,aAAaP,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMC,GAAG,MAAQA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,cAAcA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,UAAYA,GAAG,KAAOA,GAAG,IAAMA,GAAG,YAAcA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOA,GAAG,SAAWA,GAAG,QAAUuC,IAAI,OAASvC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKA,GAAG,IAAMA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,OAASA,KAAK,GAAKe,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMf,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,KAAK,GAAKC,GAAG,KAAO,CAAC,EAAE,CAAC,MAAQD,GAAG,QAAUA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,KAAK,GAAKD,GAAG,GAAKQ,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMR,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWC,KAAK,GAAKwC,IAAI,GAAK,CAAC,EAAE,CAAC,GAAKzC,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,KAAK,OAASA,GAAG,GAAK,CAAC,EAAE,CAAC,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,KAAO,CAAC,EAAE,CAAC,IAAMuD,IAAI,IAAMA,MAAM,GAAK,CAAC,EAAE,CAAC,KAAOvD,GAAG,IAAMA,KAAK,GAAKA,GAAG,IAAM,CAAC,EAAE,CAAC,cAAgBC,GAAG,iBAAiBA,GAAG,eAAiBA,GAAG,OAASA,GAAG,OAASA,GAAG,iBAAiBA,GAAG,WAAaA,GAAG,qBAAqBA,GAAG,SAAWA,GAAG,mBAAmBA,GAAG,aAAeA,GAAG,uBAAuBA,GAAG,UAAYA,GAAG,oBAAoBA,GAAG,QAAUA,GAAG,kBAAkBA,GAAG,UAAYA,GAAG,oBAAoBA,GAAG,WAAaA,GAAG,QAAUA,GAAG,WAAaA,GAAG,OAASA,GAAG,gBAAgB,CAAC,EAAE,CAAC,KAAO+C,MAAM,QAAU/C,GAAG,UAAYA,GAAG,WAAaA,GAAG,aAAeA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQ,CAAC,EAAE,CAAC,EAAIA,KAAK,YAAYA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,YAAcA,GAAG,UAAUA,GAAG,YAAYA,GAAG,cAAcA,GAAG,YAAcA,GAAG,WAAa,CAAC,EAAE,CAAC,IAAMA,KAAK,kBAAoB+C,IAAI,aAAeA,IAAI,iBAAmBA,IAAI,SAAW/C,GAAG,WAAWA,GAAG,aAAaA,GAAG,gBAAgBA,GAAG,YAAcG,GAAG,WAAaH,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,eAAeA,GAAG,QAAUA,GAAG,WAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,cAAgBA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,GAAG,eAAeA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,GAAG,SAAWA,GAAG,cAAcA,GAAG,YAAYA,GAAG,YAAYA,GAAG,WAAWA,GAAG,YAAYA,GAAG,gBAAgBA,GAAG,QAAUA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,WAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,GAAKA,GAAG,YAAc,CAAC,EAAE,CAAC,EAAIA,KAAK,OAAS,CAAC,EAAE,CAAC,QAAUA,GAAG,IAAMA,GAAG,KAAO,CAAC,EAAE,CAAC,EAAIA,GAAG,OAASA,KAAK,IAAM,CAAC,EAAE,CAAC,EAAIA,GAAG,EAAIA,GAAG,OAASA,OAAO,SAAW,CAAC,EAAE,CAAC,IAAMA,KAAK,QAAUA,GAAG,aAAaA,GAAG,UAAUA,GAAG,YAAYA,GAAG,YAAYA,GAAG,OAASA,GAAG,eAAiBA,GAAG,cAAcA,GAAG,KAAOA,GAAG,UAAYA,GAAG,SAASA,GAAG,SAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,aAAaA,GAAG,QAAUA,GAAG,WAAa,CAAC,EAAE,CAAC,UAAUA,GAAG,WAAWA,KAAK,OAAS,CAAC,EAAE,CAAC,WAAWA,GAAG,WAAWA,GAAG,WAAWA,KAAK,YAAc,CAAC,EAAE,CAAC,KAAO,CAAC,EAAE,CAAC,OAAOA,GAAG,QAAQA,GAAG,QAAQA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,OAAO,YAAc,CAAC,EAAE,CAAC,SAAWA,GAAG,eAAeA,KAAK,WAAayC,IAAI,SAAWzC,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,UAAYA,GAAG,cAAgBA,GAAG,QAAUG,GAAG,MAAQH,GAAG,OAASA,GAAG,YAAYA,GAAG,eAAeA,GAAG,UAAYA,GAAG,QAAUA,GAAG,gBAAkB,CAAC,EAAE,CAAC,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,UAAYA,GAAG,SAAWA,GAAG,QAAUA,GAAG,WAAaA,GAAG,QAAUA,KAAK,cAAgBA,GAAG,SAAWA,GAAG,eAAiBA,GAAG,QAAU,CAAC,EAAE,CAAC,KAAO,CAAC,EAAE,CAAC,KAAOA,KAAK,WAAaA,KAAK,UAAY,CAAC,EAAE,CAAC,GAAKA,KAAK,gBAAkBA,GAAG,SAAWA,GAAG,KAAOA,GAAG,iBAAiBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,MAAQA,GAAG,iBAAmBA,GAAG,OAASA,GAAG,QAAQA,GAAG,OAASA,GAAG,yBAA2BA,GAAG,WAAaA,GAAG,UAAYA,GAAG,eAAiBA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,cAAgBA,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUG,GAAG,QAAUA,KAAK,SAAWH,GAAG,SAAWA,GAAG,GAAKA,GAAG,YAAYA,GAAG,QAAUA,GAAG,WAAaA,GAAG,mBAAmBA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,OAASA,GAAG,aAAeA,GAAG,WAAW,CAAC,EAAE,CAAC,SAAW,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,OAAO,KAAO,CAAC,EAAE,CAAC,IAAMA,GAAG,KAAOA,KAAK,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,GAAK,CAAC,EAAE,CAAC,EAAIG,KAAK,WAAa,CAAC,EAAE,CAAC,MAAQH,KAAK,aAAeA,GAAG,iBAAiBA,GAAG,gBAAgBA,GAAG,UAAYA,GAAG,YAAc,CAAC,EAAE,CAAC,QAAUA,GAAG,QAAUA,KAAK,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOD,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,EAAIA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKC,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKC,GAAG,kBAAkBA,GAAG,IAAMA,GAAG,OAASA,GAAG,aAAaA,GAAG,aAAeA,GAAG,SAAWG,GAAG,QAAUH,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,UAAYA,GAAG,WAAaA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKwD,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,YAAYA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,KAAOA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,SAAWA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,SAAWxD,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,KAAOA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,WAAaA,GAAG,MAAQA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,YAAcA,GAAG,SAAWA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,aAAeA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,YAAYA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,aAAeA,GAAG,SAAWA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,aAAeA,GAAG,sBAAsBA,GAAG,aAAeA,GAAG,cAAgBA,GAAG,QAAUA,GAAG,WAAaA,GAAG,UAAYA,GAAG,QAAUA,GAAG,gBAAkBA,GAAG,yBAAyBA,GAAG,gBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,YAAcA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,QAAUA,GAAG,SAAWyD,IAAI,WAAazD,GAAG,sBAAsBA,GAAG,WAAaA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,UAAYA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,YAAYA,GAAG,GAAKA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,UAAYA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,wBAAwBA,GAAG,iBAAiBA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,eAAeA,GAAG,MAAQA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,aAAeA,GAAG,sBAAsBA,GAAG,aAAeA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,WAAaA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,UAAYA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWyD,IAAI,QAAUzD,GAAG,MAAQA,GAAG,WAAaA,GAAG,sBAAsBA,GAAG,WAAaA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,WAAaA,GAAG,OAASA,GAAG,cAAgBA,GAAG,aAAeA,GAAG,cAAgBA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,IAAMA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,oBAAoBA,GAAG,SAAWA,GAAG,OAASA,GAAG,kBAAkBA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,aAAaA,GAAG,IAAMA,GAAG,SAAWA,GAAG,UAAYA,GAAG,YAAcA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,WAAaA,GAAG,sBAAsBA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUA,GAAG,cAAgBA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,cAAgBA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,oBAAoBA,GAAG,WAAaA,GAAG,WAAaA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,aAAeA,GAAG,sBAAsBA,GAAG,aAAeA,GAAG,WAAaA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,aAAeA,GAAG,UAAYA,GAAG,QAAU,CAAC,EAAE,CAAC,GAAKA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,KAAK,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,WAAaA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,YAAcA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,UAAY,CAAC,EAAE,CAAC,GAAKA,KAAK,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,WAAaA,GAAG,sBAAsBA,GAAG,WAAaA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,WAAaA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,YAAcA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,aAAeA,GAAG,aAAeA,GAAG,WAAaA,GAAG,oBAAoBA,GAAG,WAAaA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,UAAYA,GAAG,UAAYA,GAAG,WAAaA,GAAG,UAAYA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,aAAeA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,SAAWA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,YAAcA,GAAG,UAAYA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,IAAMA,GAAG,MAAQA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,WAAaA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,uBAAuBA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,kBAAkB,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,KAAK,yBAAyB,CAAC,EAAE,CAAC,eAAeA,GAAG,MAAQA,KAAK,kBAAkB,CAAC,EAAE,CAAC,MAAQA,GAAG,MAAQA,KAAK,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,eAAiBA,GAAG,wBAAwBA,GAAG,eAAiBA,GAAG,gBAAgBA,GAAG,MAAQA,GAAG,WAAaA,GAAG,OAASA,GAAG,WAAaA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,cAAcA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,cAAcA,GAAG,YAAYA,GAAG,YAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAW,CAAC,EAAE,CAAC,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,KAAK,cAAcA,GAAG,UAAYA,GAAG,gBAAgBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,WAAaA,GAAG,OAASA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,QAAU,CAAC,EAAE,CAAC,MAAQA,KAAK,iBAAiB,CAAC,EAAE,CAAC,eAAeA,KAAK,QAAU,CAAC,EAAE,CAAC,MAAQA,KAAK,cAAcA,GAAG,qBAAqBA,GAAG,cAAcA,GAAG,UAAYA,GAAG,aAAaA,GAAG,oBAAoBA,GAAG,aAAaA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,gBAAgBA,GAAG,uBAAuBA,GAAG,gBAAgBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,oBAAoBA,GAAG,SAAWA,GAAG,UAAYA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,YAAcA,GAAG,qBAAqBA,GAAG,YAAcA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,WAAaA,GAAG,QAAUA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,UAAYA,GAAG,MAAQA,GAAG,SAAWA,GAAG,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,cAAcA,GAAG,qBAAqBA,GAAG,cAAcA,GAAG,UAAYA,GAAG,aAAaA,GAAG,oBAAoBA,GAAG,aAAaA,GAAG,WAAWA,GAAG,kBAAkBA,GAAG,WAAWA,GAAG,WAAWA,GAAG,kBAAkBA,GAAG,WAAWA,GAAG,eAAeA,GAAG,sBAAsBA,GAAG,eAAeA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,cAAcA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAW,CAAC,EAAE,CAAC,GAAKA,GAAG,YAAYA,GAAG,GAAKA,KAAK,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,UAAYA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,QAAUA,GAAG,eAAeA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,YAAcA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,GAAG,WAAaA,GAAG,MAAQA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,MAAQA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,QAAUA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,UAAYA,GAAG,mBAAmBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAW,CAAC,EAAE,CAAC,MAAQA,KAAK,QAAUA,GAAG,gBAAgBA,GAAG,eAAeA,GAAG,UAAYA,GAAG,oBAAoBA,GAAG,UAAYA,GAAG,UAAYA,GAAG,IAAMA,GAAG,MAAQA,GAAG,WAAaA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,GAAKC,GAAG,gBAAgBA,GAAG,aAAeA,KAAK,GAAKc,IAAI,GAAKqC,IAAI,GAAK,CAAC,EAAE,CAAC,SAAWnD,GAAG,KAAOA,GAAG,SAAWA,GAAG,gBAAkBA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,MAAQA,GAAG,IAAM,CAAC,EAAE,CAAC,WAAaC,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,YAAcA,GAAG,MAAQ,CAAC,EAAE,CAAC,EAAIA,GAAG,IAAMA,KAAK,eAAe,CAAC,EAAE,CAAC,OAAS,CAAC,EAAE,CAAC,IAAMA,OAAO,GAAKA,GAAG,QAAUA,GAAG,aAAaA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,mBAAqBA,GAAG,SAAWA,GAAG,QAAUA,GAAG,YAAcA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAAS,CAAC,EAAE,CAAC,GAAKA,GAAG,KAAOA,KAAK,cAAgBA,GAAG,iBAAmBA,GAAG,UAAUA,GAAG,YAAYA,GAAG,OAASA,GAAG,aAAaA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,SAAWA,GAAG,iBAAiBA,GAAG,iBAAiBA,GAAG,kBAAkBA,GAAG,YAAYA,GAAG,YAAYA,GAAG,cAAcA,GAAG,kBAAkBA,GAAG,eAAeA,GAAG,cAAcA,GAAG,WAAWA,GAAG,UAAUA,GAAG,WAAWA,GAAG,cAAcA,GAAG,eAAeA,GAAG,eAAeA,GAAG,eAAeA,GAAG,gBAAgBA,GAAG,WAAWA,GAAG,YAAYA,GAAG,YAAcA,GAAG,QAAUA,GAAG,WAAaA,GAAG,OAASA,GAAG,cAAgBA,GAAG,SAAWA,GAAG,SAAWA,GAAG,UAAYA,GAAG,eAAeA,GAAG,OAASA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,YAAcA,GAAG,OAASA,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,iBAAmBA,GAAG,aAAeA,GAAG,cAAgB,CAAC,EAAE,CAAC,MAAQA,GAAG,GAAKsC,IAAI,IAAM,CAAC,EAAE,CAAC,GAAKA,QAAQ,YAActC,GAAG,YAAcA,GAAG,SAAWA,GAAG,SAASA,GAAG,SAASA,GAAG,GAAKA,GAAG,MAAQA,GAAG,SAAWA,GAAG,gBAAkBA,GAAG,eAAiBA,GAAG,cAAcA,GAAG,WAAaA,GAAG,iBAAmBA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,iBAAmBA,GAAG,OAASA,GAAG,QAAQA,GAAG,aAAaA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAUA,GAAG,WAAWA,GAAG,QAAUA,GAAG,OAASA,GAAG,IAAMA,GAAG,cAAcA,GAAG,WAAaA,GAAG,MAAQA,GAAG,YAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAUkD,IAAI,UAAYlD,GAAG,YAAcA,GAAG,GAAKA,GAAG,GAAKA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKe,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMf,GAAG,IAAMA,GAAG,IAAMA,GAAG,EAAIA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUC,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,cAAgBA,GAAG,IAAMA,GAAG,GAAKA,GAAG,OAASA,GAAG,KAAOA,GAAG,WAAaA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,GAAKA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,UAAYA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,GAAKA,GAAG,OAASA,KAAK,SAAWA,GAAG,aAAaA,GAAG,OAASA,GAAG,QAAUA,GAAG,WAAaA,GAAG,UAAYA,GAAG,QAAUA,GAAG,WAAaA,GAAG,YAAcA,GAAG,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,eAAeA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,WAAaA,GAAG,UAAYA,GAAG,MAAQA,GAAG,WAAaA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,WAAaA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,WAAaA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,UAAYA,GAAG,QAAUA,GAAG,WAAaA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,MAAQA,GAAG,WAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,UAAYA,GAAG,eAAeA,GAAG,aAAeA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,WAAaA,GAAG,YAAcA,GAAG,SAAWA,GAAG,SAAWA,GAAG,WAAaA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,IAAMC,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,UAAYA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,aAAeA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,GAAKA,GAAG,MAAQA,GAAG,WAAaA,GAAG,aAAeA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,KAAOA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,KAAK,IAAM,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,UAAUC,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,eAAeC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,QAAUC,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOA,GAAG,IAAMA,GAAG,OAASC,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOD,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKC,GAAG,KAAOA,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,QAAU+C,IAAI,MAAQ9C,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,QAAUA,GAAG,UAAYA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,WAAaA,GAAG,IAAMA,GAAG,YAAcA,GAAG,SAAWA,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAAS,CAAC,EAAE,CAAC,QAAUG,GAAG,QAAUA,GAAG,SAAWA,GAAG,IAAMA,KAAK,QAAU,CAAC,EAAE,CAAC,GAAKH,KAAK,MAAQ,CAAC,EAAE,CAAC,IAAMA,KAAK,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKE,GAAG,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMF,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,EAAIA,GAAG,GAAKA,GAAG,EAAIA,GAAG,GAAKA,GAAG,MAAQA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,QAAUA,GAAG,gBAAkBA,GAAG,OAASA,GAAG,EAAIA,GAAG,OAASA,GAAG,EAAIA,GAAG,EAAIA,GAAG,eAAiBA,GAAG,EAAIA,GAAG,IAAMA,GAAG,EAAIA,GAAG,MAAQA,GAAG,GAAKA,GAAG,MAAQA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,GAAKA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,EAAIA,GAAG,IAAMC,GAAG,OAASA,GAAG,aAAaA,GAAG,aAAeA,GAAG,aAAeA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWC,GAAG,MAAQA,GAAG,SAAW,CAAC,EAAE,CAAC,IAAMA,GAAG,GAAKA,GAAG,GAAKA,KAAK,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,OAASA,GAAG,QAAUA,KAAK,GAAKD,GAAG,GAAKA,GAAG,GAAKE,GAAG,GAAKF,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUC,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,UAAYA,GAAG,IAAMA,GAAG,UAAYA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUC,GAAG,OAASA,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,SAAWA,GAAG,QAAUA,GAAG,WAAaA,GAAG,YAAcA,GAAG,QAAUA,GAAG,SAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,kBAAkBA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,WAAaA,GAAG,SAAWA,GAAG,IAAMA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQA,GAAG,mBAAmBA,GAAG,IAAMA,GAAG,QAAUA,GAAG,MAAQA,GAAG,SAAWA,GAAG,MAAQA,GAAG,IAAMA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,YAAcA,GAAG,KAAOA,GAAG,KAAOA,GAAG,YAAcA,GAAG,SAAWA,GAAG,QAAUA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKQ,IAAI,GAAKL,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKH,GAAG,GAAKA,GAAG,IAAMA,KAAK,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMC,KAAK,GAAKD,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,OAASC,GAAG,KAAOA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,KAAK,GAAKA,GAAG,GAAKQ,IAAI,GAAK,CAAC,EAAE,CAAC,GAAKR,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,YAAcC,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,GAAG,GAAKA,GAAG,aAAeqB,IAAI,QAAUrB,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKQ,MAAM,GAAK,CAAC,EAAE,CAAC,IAAMR,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,cAAcC,GAAG,OAASA,GAAG,aAAaA,GAAG,aAAaA,GAAG,KAAOA,GAAG,OAASA,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOD,GAAG,IAAM,CAAC,EAAE,CAAC,SAAWC,KAAK,KAAOD,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMC,GAAG,MAAQA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,GAAKA,GAAG,MAAQA,GAAG,KAAOA,GAAG,GAAKA,GAAG,IAAMA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,UAAYA,GAAG,WAAaA,GAAG,WAAaA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,OAASA,GAAG,GAAKA,GAAG,GAAKA,GAAG,eAAiBA,GAAG,eAAiBA,GAAG,QAAUA,GAAG,GAAKA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,GAAKA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,aAAeA,GAAG,aAAeA,GAAG,KAAOA,GAAG,WAAaA,GAAG,GAAKA,GAAG,GAAKA,GAAG,cAAgBA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,GAAKA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,SAAWA,GAAG,SAAWA,GAAG,GAAKA,GAAG,MAAQA,GAAG,OAASA,GAAG,GAAKA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,GAAKA,GAAG,GAAKA,GAAG,WAAaA,GAAG,WAAaA,GAAG,GAAKA,GAAG,KAAOA,GAAG,GAAKA,GAAG,SAAWA,GAAG,GAAKA,GAAG,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,GAAKA,GAAG,MAAQA,GAAG,MAAQA,GAAG,YAAcA,GAAG,YAAcA,GAAG,aAAeA,GAAG,SAAWA,GAAG,SAAWA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKC,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,EAAIA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,GAAKA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,SAAW,CAAC,EAAE,CAAC,GAAKC,GAAG,GAAKA,KAAK,WAAayC,IAAI,MAAQzC,GAAG,YAAcA,GAAG,UAAYiD,IAAI,UAAUjD,GAAG,QAAQA,GAAG,MAAQA,GAAG,aAAeA,KAAK,IAAM,CAAC,EAAE,CAAC,IAAMA,GAAG,SAAWA,GAAG,QAAUA,KAAK,IAAMD,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,KAAOC,GAAG,IAAMA,GAAG,KAAOA,GAAG,gBAAkBA,GAAG,YAAcA,GAAG,cAAgBA,KAAK,IAAMD,GAAG,OAASA,GAAG,IAAMe,IAAI,KAAOd,GAAG,MAAQA,GAAG,KAAOA,GAAG,yBAAyBA,GAAG,sBAAsBA,GAAG,sBAAsBA,GAAG,oBAAoBA,GAAG,qBAAqBA,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,mBAAqBG,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMJ,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAK0D,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAK,CAAC,EAAE,CAAC,GAAK1D,GAAG,IAAMC,KAAK,GAAKyD,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKC,IAAI,GAAKD,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAK,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,KAAO1D,GAAG,OAASA,GAAG,IAAMA,KAAK,GAAKA,GAAG,IAAMA,KAAK,GAAK0D,IAAI,GAAKA,IAAI,GAAK,CAAC,EAAE,CAAC,IAAM1D,GAAG,GAAKA,GAAG,IAAMA,GAAG,YAAYA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,UAAYA,KAAK,GAAK0D,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKC,IAAI,GAAKD,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKC,IAAI,GAAKD,IAAI,GAAKC,IAAI,GAAKD,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAK,CAAC,EAAE,CAAC,GAAK1D,KAAK,GAAK0D,IAAI,QAAUzD,GAAG,QAAQA,GAAG,cAAcA,GAAG,eAAeA,GAAG,UAAYA,GAAG,SAAW,CAAC,EAAE,CAAC,IAAMA,KAAK,SAAWA,GAAG,IAAMA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,KAAK,SAAWA,GAAG,WAAaA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAKA,GAAG,GAAK,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,GAAK,CAAC,EAAE,CAAC,EAAIC,KAAK,KAAKG,GAAG,MAAQH,KAAK,GAAK,CAAC,EAAE,CAAC,KAAOD,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,GAAKA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,UAAYA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,SAAWA,GAAG,UAAYA,GAAG,UAAYA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,WAAaA,GAAG,SAAWA,GAAG,kBAAoBA,GAAG,aAAeA,GAAG,UAAYA,GAAG,QAAUA,GAAG,WAAaA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,KAAK,GAAKyC,IAAI,GAAK,CAAC,EAAE,CAAC,IAAMxC,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMD,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUI,GAAG,QAAUH,GAAG,OAASA,GAAG,OAASA,KAAK,GAAK,CAAC,EAAE,CAAC,IAAMA,KAAK,iBAAiBD,GAAG,OAASA,GAAG,aAAaA,GAAG,IAAMA,GAAG,iBAAiBA,GAAG,MAAQA,GAAG,WAAWA,GAAG,GAAKA,GAAG,mBAAmBA,GAAG,QAAUA,GAAG,YAAYA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,QAAUA,GAAG,aAAaA,GAAG,IAAMA,GAAG,YAAYA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,oBAAoBA,GAAG,UAAYA,GAAG,WAAWA,GAAG,GAAKA,GAAG,WAAWA,GAAG,GAAKA,GAAG,cAAc,CAAC,EAAE,CAAC,aAAaA,GAAG,aAAaA,GAAG,aAAaA,GAAG,cAAcA,GAAG,aAAaA,GAAG,aAAaA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,cAAcA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,eAAeA,GAAG,KAAOA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,gBAAgBA,GAAG,MAAQA,GAAG,eAAeA,GAAG,KAAOA,GAAG,iBAAiBA,GAAG,MAAQA,GAAG,cAAcA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,iBAAiBA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,MAAQA,GAAG,cAAcA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,cAAcA,GAAG,KAAOA,GAAG,oBAAoBA,GAAG,QAAUA,GAAG,kBAAkBA,GAAG,MAAQA,GAAG,iBAAiBA,GAAG,MAAQA,GAAG,cAAcA,GAAG,KAAOA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,eAAeA,GAAG,GAAKA,GAAG,cAAcA,GAAG,IAAMA,GAAG,aAAaA,GAAG,IAAMA,GAAG,gBAAgBA,GAAG,KAAOA,GAAG,mBAAmBA,GAAG,OAASA,GAAG,kBAAkBA,GAAG,OAASA,GAAG,YAAYA,GAAG,IAAMA,GAAG,YAAYA,GAAG,IAAMA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,eAAeA,GAAG,KAAOA,GAAG,oBAAoBA,GAAG,QAAUA,GAAG,qBAAqBA,GAAG,QAAUA,GAAG,gBAAgBA,GAAG,OAASA,GAAG,aAAa,CAAC,EAAE,CAAC,WAAWA,GAAG,YAAYA,GAAG,WAAWA,GAAG,YAAYA,GAAG,WAAWA,GAAG,YAAYA,KAAK,IAAM,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,KAAK,WAAWA,GAAG,GAAKA,GAAG,aAAaA,GAAG,IAAMA,GAAG,oBAAoBA,GAAG,SAAWA,GAAG,sBAAsBA,GAAG,SAAWA,GAAG,sBAAsBA,GAAG,SAAWA,GAAG,mBAAmBA,GAAG,SAAWA,GAAG,eAAeA,GAAG,MAAQA,GAAG,gBAAgBA,GAAG,IAAMA,GAAG,yBAAyBA,GAAG,YAAcA,GAAG,eAAeA,GAAG,MAAQA,GAAG,eAAeA,GAAG,MAAQA,GAAG,aAAa,CAAC,EAAE,CAAC,cAAcA,GAAG,mBAAmBA,GAAG,eAAeA,GAAG,gBAAgBA,GAAG,gBAAgBA,GAAG,kBAAkBA,KAAK,IAAM,CAAC,EAAE,CAAC,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,KAAK,cAAcA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,YAAYA,GAAG,IAAMA,GAAG,eAAeA,GAAG,MAAQA,GAAG,IAAMA,GAAG,GAAKG,GAAG,GAAK,CAAC,EAAE,CAAC,GAAKH,GAAG,MAAQA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,GAAKA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,IAAMA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,GAAK,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,KAAK,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAU,CAAC,EAAE,CAAC,SAAWC,KAAK,UAAYD,GAAG,WAAaA,GAAG,YAAcA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,gBAAkBA,GAAG,eAAiBA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,UAAYA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAaA,GAAG,IAAM,CAAC,EAAE,CAAC,UAAYC,GAAG,MAAQA,GAAG,MAAQG,GAAG,MAAQC,GAAG,MAAQJ,GAAG,WAAaA,GAAG,MAAQA,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUA,KAAK,OAASA,GAAG,KAAOA,GAAG,eAAiBA,GAAG,UAAYA,GAAG,KAAOA,GAAG,UAAYK,GAAG,KAAO,CAAC,EAAE,CAAC,QAAUL,KAAK,YAAcA,GAAG,WAAWA,GAAG,YAAcA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASG,GAAG,IAAMA,GAAG,IAAMH,GAAG,OAASA,GAAG,QAAUA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,aAAaA,GAAG,UAAYG,GAAG,KAAOH,GAAG,WAAaG,GAAG,MAAQA,GAAG,OAASG,IAAI,KAAON,GAAG,UAAY,CAAC,EAAE,CAAC,IAAIA,GAAG,YAAcG,KAAK,UAAYH,GAAG,WAAaA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,WAAaA,GAAG,IAAMA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASG,KAAK,MAAQJ,GAAG,UAAYA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,WAAaA,GAAG,QAAUA,GAAG,SAAWA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,IAAM,CAAC,EAAE,CAAC,UAAY,CAAC,EAAE,CAAC,iBAAiBW,IAAI,iBAAiBA,IAAI,aAAaA,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,eAAeE,IAAI,eAAeF,IAAI,YAAYA,IAAI,YAAYA,IAAI,YAAYE,IAAI,YAAYA,IAAI,YAAYA,IAAI,aAAaH,IAAI,YAAYA,IAAI,iBAAiBA,IAAI,aAAaE,IAAI,iBAAiBF,IAAI,iBAAiBE,IAAI,YAAY,CAAC,EAAE,CAAC,SAAWX,GAAG,gBAAgBA,KAAK,eAAeS,IAAI,aAAaA,IAAI,aAAaA,IAAI,aAAaA,IAAI,YAAYA,IAAI,eAAeA,IAAI,eAAeA,IAAI,aAAaA,IAAI,YAAYA,IAAI,gBAAgBI,IAAI,gBAAgBA,IAAI,YAAY,CAAC,EAAE,CAAC,SAAWb,GAAG,gBAAgBA,GAAG,OAASA,KAAK,YAAcG,KAAK,OAAS,CAAC,EAAE,CAAC,QAAUA,KAAK,GAAK,CAAC,EAAE,CAAC,iBAAiBK,IAAI,iBAAiBA,IAAI,iBAAiBA,IAAI,eAAeA,IAAI,aAAaA,IAAI,YAAYA,IAAI,YAAYA,IAAI,YAAYA,IAAI,YAAYA,QAAQ,IAAMT,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,UAAYA,GAAG,YAAcA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,SAAWA,GAAG,WAAa,CAAC,EAAE,CAAC,IAAMC,GAAG,GAAKA,KAAK,QAAUD,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,YAAcA,GAAG,YAAcA,GAAG,KAAOA,GAAG,UAAYA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAaA,GAAG,MAAQA,GAAG,WAAaA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,SAAWA,GAAG,IAAMA,GAAG,SAAWA,GAAG,YAAcA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,SAAWA,GAAG,MAAQ,CAAC,EAAE,CAAC,GAAKC,GAAG,SAAWA,KAAK,SAAW,CAAC,EAAE,CAAC,UAAYA,KAAK,SAAWe,IAAI,IAAMhB,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,YAAcA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAO,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,GAAKC,OAAO,MAAQD,GAAG,SAAWA,GAAG,QAAUA,GAAG,WAAaA,GAAG,IAAMA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAO,CAAC,EAAE,CAAC,KAAO,CAAC,EAAE,CAAC,GAAKC,OAAO,KAAOD,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,MAAQ,CAAC,EAAE,CAAC,OAASC,GAAG,UAAYA,GAAG,QAAU,CAAC,EAAE,CAAC,GAAKA,KAAK,QAAUG,GAAG,QAAUH,GAAG,QAAU,CAAC,EAAE,CAAC,OAAOA,KAAK,OAASA,GAAG,SAAW,CAAC,EAAE,CAAC,IAAMA,KAAK,KAAOA,GAAG,aAAa,CAAC,EAAE,CAAC,MAAQ,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,IAAMA,OAAO,IAAMA,KAAK,QAAU,CAAC,EAAE,CAAC,GAAKA,KAAK,IAAM,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,KAAK,SAAW,CAAC,EAAE,CAAC,GAAKA,KAAK,QAAU,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,aAAe,CAAC,EAAE,CAAC,GAAKA,GAAG,GAAKA,KAAK,SAAWA,GAAG,SAAWA,GAAG,QAAUA,GAAG,SAAWA,GAAG,YAAcG,GAAG,OAASH,GAAG,aAAeA,GAAG,UAAYA,GAAG,MAAQA,GAAG,aAAaG,GAAG,IAAM,CAAC,EAAE,CAAC,UAAY,CAAC,EAAE,CAAC,WAAWH,GAAG,WAAWA,GAAG,WAAWA,KAAK,SAAS,CAAC,EAAE,CAAC,QAAUA,GAAG,IAAM,CAAC,EAAE,CAAC,UAAYA,KAAK,IAAMiB,IAAI,GAAKjB,GAAG,aAAaA,GAAG,IAAMA,KAAK,UAAY,CAAC,EAAE,CAAC,KAAOA,GAAG,IAAMA,KAAK,IAAMA,GAAG,SAAS,CAAC,EAAE,CAAC,QAAUA,GAAG,IAAMiB,IAAI,GAAKjB,GAAG,aAAaA,GAAG,IAAMA,KAAK,SAAS,CAAC,EAAE,CAAC,QAAUA,GAAG,IAAMiB,IAAI,GAAKjB,GAAG,aAAaA,KAAK,UAAYA,GAAG,cAAgBA,KAAK,UAAYA,GAAG,UAAY,CAAC,EAAE,CAAC,KAAOA,KAAK,YAAcA,GAAG,kBAAkBA,GAAG,MAAQA,GAAG,UAAYA,GAAG,IAAMA,KAAK,KAAO,CAAC,EAAE,CAAC,QAAUA,GAAG,KAAOA,GAAG,MAAQA,KAAK,QAAUD,GAAG,MAAQA,GAAG,MAAQ,CAAC,EAAE,CAAC,IAAMI,KAAK,OAASJ,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAY,CAAC,EAAE,CAAC,IAAMC,GAAG,QAAUA,GAAG,QAAUA,KAAK,QAAUD,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,OAASA,GAAG,aAAeA,GAAG,WAAaA,GAAG,QAAUA,GAAG,YAAcA,GAAG,QAAUA,GAAG,KAAO,CAAC,EAAE,CAAC,UAAYC,GAAG,GAAKA,KAAK,QAAUD,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,WAAaA,GAAG,YAAcA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,WAAaA,GAAG,MAAQA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,KAAOA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAAS,CAAC,EAAE,CAAC,QAAUC,GAAG,IAAMA,KAAK,IAAM,CAAC,EAAE,CAAC,UAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMG,GAAG,SAAWA,GAAG,IAAMA,GAAG,SAAWA,GAAG,MAAQH,GAAG,GAAKA,GAAG,QAAUA,GAAG,KAAOA,GAAG,eAAeA,GAAG,KAAOA,GAAG,UAAYK,GAAG,IAAML,GAAG,cAAgBA,GAAG,QAAUG,GAAG,KAAO,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,IAAMH,GAAG,GAAK,CAAC,EAAE,CAAC,IAAIA,GAAG,IAAMG,SAAS,QAAUH,GAAG,UAAYG,GAAG,YAAYH,GAAG,OAAOA,GAAG,MAAQA,GAAG,cAAgBA,GAAG,UAAY,CAAC,EAAE,CAAC,KAAOG,KAAK,UAAYH,GAAG,MAAQA,GAAG,UAAYA,GAAG,KAAOA,GAAG,MAAQA,GAAG,aAAaA,GAAG,iBAAiBA,GAAG,UAAUA,GAAG,WAAWA,GAAG,YAAcA,GAAG,KAAOA,GAAG,cAAcA,GAAG,OAAS,CAAC,EAAE,CAAC,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,GAAKA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,WAAaA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,KAAK,IAAM,CAAC,EAAE,CAAC,EAAIG,GAAG,EAAIA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,GAAG,GAAKA,KAAK,OAASH,GAAG,QAAUG,KAAK,IAAMJ,GAAG,SAAWA,GAAG,KAAOA,GAAG,QAAU,CAAC,EAAE,CAAC,UAAY,CAAC,EAAE,CAAC,OAASC,OAAO,OAAS,CAAC,EAAE,CAAC,OAASA,KAAK,UAAYD,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,SAAWA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,UAAYgB,IAAI,MAAQ,CAAC,EAAE,CAAC,MAAQ,CAAC,EAAE,CAAC,GAAKf,KAAK,KAAO4C,IAAI,OAASA,MAAM,OAAS7C,GAAG,OAASA,GAAG,SAAWA,GAAG,YAAcA,GAAG,YAAcA,GAAG,MAAQA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,IAAMA,GAAG,OAAS,CAAC,EAAE,CAAC,QAAUI,KAAK,WAAaJ,GAAG,IAAM,CAAC,EAAE,CAAC,MAAQ8C,MAAM,OAAS,CAAC,EAAE,CAAC,OAAS7C,GAAG,GAAKA,KAAK,SAAWD,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,WAAaA,GAAG,KAAOA,GAAG,KAAOA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAO,CAAC,EAAE,CAAC,MAAQC,KAAK,QAAUD,GAAG,QAAUA,GAAG,KAAOA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,SAAWA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,UAAYgB,IAAI,KAAOhB,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,QAAUA,GAAG,IAAMA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQA,GAAG,WAAaA,GAAG,IAAMA,GAAG,KAAOA,GAAG,UAAYA,GAAG,IAAMA,GAAG,QAAUA,GAAG,SAAWA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,UAAYA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQ,CAAC,EAAE,CAAC,KAAOC,GAAG,OAASA,KAAK,IAAMD,GAAG,OAASA,GAAG,IAAM,CAAC,EAAE,CAAC,MAAQC,KAAK,KAAOD,GAAG,IAAM,CAAC,EAAE,CAAC,KAAOC,KAAK,IAAMD,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAAS,CAAC,EAAE,CAAC,SAAWC,KAAK,MAAQD,GAAG,MAAQA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,KAAOA,GAAG,UAAYA,GAAG,KAAOA,GAAG,IAAMA,GAAG,SAAWA,GAAG,KAAO,CAAC,EAAE,CAAC,MAAQC,GAAG,UAAYA,GAAG,YAAcG,KAAK,OAASJ,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,SAAWA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,QAAUA,GAAG,MAAQ,CAAC,EAAE,CAAC,UAAYC,KAAK,MAAQD,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAAS,CAAC,EAAE,CAAC,IAAMC,KAAK,WAAaD,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,SAAWA,GAAG,QAAUA,GAAG,UAAYA,GAAG,UAAYA,GAAG,MAAQA,GAAG,UAAYA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,KAAO,CAAC,EAAE,CAAC,YAAcC,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAOA,KAAK,QAAU,CAAC,EAAE,CAAC,UAAYA,KAAK,IAAMD,GAAG,OAASA,GAAG,QAAUA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,WAAaA,GAAG,IAAMA,GAAG,WAAaA,GAAG,SAAWA,GAAG,IAAMA,GAAG,IAAMA,GAAG,UAAYA,GAAG,UAAYA,GAAG,OAASA,GAAG,cAAgBA,GAAG,OAASA,GAAG,YAAcA,GAAG,SAAWA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,SAAWA,GAAG,KAAOA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,YAAcA,GAAG,gBAAkBA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKC,GAAG,IAAMA,KAAK,KAAOD,GAAG,UAAYA,GAAG,MAAQA,GAAG,QAAUA,GAAG,YAAcA,GAAG,MAAQA,GAAG,UAAYA,GAAG,KAAOA,GAAG,UAAYA,GAAG,QAAUA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,cAAgBA,GAAG,UAAYA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAO,CAAC,EAAE,CAAC,QAAUC,GAAG,KAAOA,GAAG,KAAOG,GAAG,UAAYA,GAAG,WAAaiD,IAAI,MAAQpD,GAAG,SAAWoD,IAAI,IAAMA,MAAM,KAAO,CAAC,EAAE,CAAC,IAAMpD,GAAG,IAAMA,GAAG,IAAMG,KAAK,OAASJ,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAM,CAAC,EAAE,CAAC,IAAMC,KAAK,OAASD,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,IAAMA,GAAG,aAAeA,GAAG,IAAMA,GAAG,KAAOA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,WAAaA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,UAAYA,GAAG,QAAUA,GAAG,SAAWA,GAAG,UAAYA,GAAG,OAASA,GAAG,IAAMA,GAAG,SAAWA,GAAG,IAAMA,GAAG,MAAQsD,IAAI,KAAOtD,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAO,CAAC,EAAE,CAAC,MAAQC,GAAG,YAAcA,KAAK,MAAQD,GAAG,SAAWA,GAAG,MAAQA,GAAG,UAAYA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,WAAaA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,IAAMC,KAAK,OAASD,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,SAAWA,GAAG,OAASA,GAAG,KAAOA,GAAG,YAAcA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,QAAUA,GAAG,QAAUA,GAAG,QAAU,CAAC,EAAE,CAAC,MAAQI,GAAG,GAAKH,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAOA,KAAK,QAAUD,GAAG,IAAMA,GAAG,KAAO,CAAC,EAAE,CAAC,WAAaC,KAAK,KAAOD,GAAG,WAAaA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAUA,GAAG,OAASA,GAAG,YAAcA,GAAG,KAAOA,GAAG,MAAQA,GAAG,IAAM,CAAC,EAAE,CAAC,IAAMI,GAAG,QAAUH,KAAK,IAAM,CAAC,EAAE,CAAC,IAAMA,KAAK,IAAMD,GAAG,OAAS,CAAC,EAAE,CAAC,KAAOC,GAAG,aAAaA,GAAG,eAAiBA,GAAG,MAAQA,KAAK,IAAMD,GAAG,KAAOA,GAAG,OAASA,GAAG,OAAS,CAAC,EAAE,CAAC,KAAOC,KAAK,QAAUD,GAAG,QAAUA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUC,KAAK,KAAO,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,WAAaA,GAAG,SAAWA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,MAAQA,KAAK,UAAYD,GAAG,MAAQA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,OAASA,GAAG,SAAWA,GAAG,IAAMA,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,YAAcA,GAAG,OAASsD,IAAI,OAAStD,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAW,CAAC,EAAE,CAAC,KAAOC,KAAK,IAAMD,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQ,CAAC,EAAE,CAAC,MAAQC,KAAK,MAAQe,IAAI,KAAOhB,GAAG,YAAcA,GAAG,SAAWA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,UAAYA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,YAAcA,GAAG,KAAOA,GAAG,YAAcA,GAAG,MAAQA,GAAG,WAAaA,GAAG,SAAWA,GAAG,WAAaA,GAAG,IAAMA,GAAG,WAAaA,GAAG,IAAM,CAAC,EAAE,CAAC,GAAKI,GAAG,IAAMA,GAAG,MAAQH,KAAK,IAAMD,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,MAAQA,GAAG,KAAOA,GAAG,WAAaA,GAAG,QAAUA,GAAG,OAASA,GAAG,QAAUA,GAAG,IAAMA,GAAG,SAAWA,GAAG,YAAcA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,GAAG,KAAOA,GAAG,WAAaA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,UAAYA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAM,CAAC,EAAE,CAAC,KAAOC,KAAK,MAAQ,CAAC,EAAE,CAAC,OAASA,GAAG,QAAUA,GAAG,YAAYA,GAAG,SAAWA,KAAK,MAAQD,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,MAAQA,GAAG,KAAOA,GAAG,IAAM,CAAC,EAAE,CAAC,SAAWI,GAAG,YAAcH,GAAG,QAAUA,GAAG,MAAQ,CAAC,EAAE,CAAC,KAAOA,KAAK,QAAUA,GAAG,MAAQG,GAAG,KAAOA,GAAG,SAAWA,GAAG,UAAYA,GAAG,SAAWH,GAAG,KAAOA,GAAG,QAAUA,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUA,GAAG,IAAMA,KAAK,IAAMA,KAAK,IAAMD,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,SAAWA,GAAG,QAAUA,GAAG,QAAUA,GAAG,gBAAkBA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,WAAaA,GAAG,QAAUA,GAAG,aAAeA,GAAG,OAASA,GAAG,OAASA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAO,CAAC,EAAE,CAAC,IAAM,CAAC,EAAE,CAAC,QAAUC,OAAO,OAASD,GAAG,KAAOA,GAAG,OAASA,GAAG,SAAWA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,SAAW,CAAC,EAAE,CAAC,UAAYC,KAAK,MAAQD,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,UAAYA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAO,CAAC,EAAE,CAAC,KAAOC,GAAG,OAASA,GAAG,MAAQA,GAAG,YAAcA,GAAG,SAAWA,KAAK,SAAWD,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAO,CAAC,EAAE,CAAC,OAASC,GAAG,MAAQkB,IAAI,SAAWf,GAAG,OAASH,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,UAAYA,GAAG,MAAQA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,GAAG,SAAWA,GAAG,WAAaG,GAAG,IAAMA,GAAG,KAAOH,GAAG,KAAOA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,KAAK,IAAMD,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,SAAWA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,GAAG,UAAYA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,MAAQ,CAAC,EAAE,CAAC,OAASC,GAAG,MAAQA,GAAG,GAAK,CAAC,EAAE,CAAC,OAASA,KAAK,YAAYA,GAAG,QAAUA,GAAG,KAAOA,GAAG,OAASA,KAAK,MAAQD,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,QAAUA,GAAG,KAAOA,GAAG,UAAYA,GAAG,UAAYA,GAAG,IAAMA,GAAG,SAAWA,GAAG,UAAYA,GAAG,QAAUA,GAAG,MAAQ,CAAC,EAAE,CAAC,MAAQC,GAAG,OAASA,GAAG,SAAWA,GAAG,UAAYA,KAAK,OAASD,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQA,GAAG,MAAQA,GAAG,SAAWA,GAAG,OAASA,GAAG,QAAU,CAAC,EAAE,CAAC,MAAQC,KAAK,KAAOD,GAAG,QAAUA,GAAG,OAASA,GAAG,OAASA,GAAG,MAAQA,GAAG,OAASA,GAAG,QAAU,CAAC,EAAE,CAAC,YAAcC,KAAK,IAAMD,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,OAASA,GAAG,WAAaA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAO,CAAC,EAAE,CAAC,UAAYC,GAAG,SAAWA,KAAK,KAAO,CAAC,EAAE,CAAC,WAAaA,KAAK,WAAae,IAAI,QAAUhB,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,QAAUA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,MAAQ,CAAC,EAAE,CAAC,aAAeC,KAAK,MAAQD,GAAG,MAAQ,CAAC,EAAE,CAAC,KAAO2C,IAAI,OAAS1C,KAAK,IAAM,CAAC,EAAE,CAAC,MAAQA,GAAG,KAAOG,KAAK,MAAQJ,GAAG,QAAUA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,MAAQA,GAAG,QAAUA,GAAG,SAAWA,GAAG,OAASA,GAAG,UAAYA,GAAG,mBAAqBA,GAAG,MAAQA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,MAAQA,GAAG,MAAQA,GAAG,IAAMA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,WAAaA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAWA,GAAG,MAAQA,GAAG,SAAWA,GAAG,SAAWA,GAAG,aAAeA,GAAG,IAAMA,GAAG,OAASA,GAAG,MAAQA,GAAG,IAAMA,GAAG,OAASA,GAAG,OAASA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,WAAaA,GAAG,MAAQA,GAAG,MAAQA,GAAG,KAAOA,GAAG,OAASA,GAAG,KAAOA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,KAAOA,GAAG,QAAUA,GAAG,MAAQA,GAAG,QAAUA,GAAG,QAAUA,GAAG,eAAiBA,GAAG,OAASA,GAAG,MAAQA,GAAG,QAAUsD,IAAI,IAAMtD,GAAG,QAAUA,GAAG,MAAQA,GAAG,KAAOA,GAAG,QAAUA,GAAG,KAAOA,GAAG,KAAOsD,IAAI,YAActD,GAAG,IAAMA,GAAG,QAAUA,GAAG,KAAOA,GAAG,QAAUA,GAAG,IAAMA,GAAG,cAAgBA,GAAG,SAAWA,GAAG,KAAOA,GAAG,MAAQA,GAAG,MAAQA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,MAAQA,GAAG,OAASA,GAAG,IAAMA,GAAG,cAAcA,GAAG,IAAMA,GAAG,cAAcA,GAAG,IAAMA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,oBAAoBA,GAAG,KAAOA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,eAAeA,GAAG,OAASA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,eAAeA,GAAG,OAASA,GAAG,aAAaA,GAAG,KAAOA,GAAG,eAAeA,GAAG,GAAKA,GAAG,aAAaA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,oBAAoBA,GAAG,OAASA,GAAG,YAAYA,GAAG,IAAMA,GAAG,aAAaA,GAAG,IAAMA,GAAG,cAAcA,GAAG,IAAMA,GAAG,gBAAgBA,GAAG,KAAOA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,KAAOA,GAAG,gBAAgBA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,YAAYA,GAAG,IAAMA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,mBAAmBA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,eAAeA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,MAAQA,GAAG,cAAcA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,YAAYA,GAAG,IAAMA,GAAG,iBAAiBA,GAAG,IAAMA,GAAG,cAAcA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,mBAAmBA,GAAG,QAAUA,GAAG,eAAeA,GAAG,MAAQA,GAAG,iBAAiBA,GAAG,OAASA,GAAG,iBAAiBA,GAAG,QAAUA,GAAG,eAAeA,GAAG,MAAQA,GAAG,eAAeA,GAAG,GAAKA,GAAG,aAAaA,GAAG,GAAKA,GAAG,eAAeA,GAAG,KAAOA,GAAG,eAAeA,GAAG,KAAOA,GAAG,YAAYA,GAAG,IAAMA,GAAG,YAAYA,GAAG,GAAKA,GAAG,kBAAkBA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,YAAY,CAAC,EAAE,CAAC,YAAYC,GAAG,YAAYA,GAAG,cAAcA,GAAG,YAAYA,GAAG,YAAYA,GAAG,YAAYA,GAAG,iBAAiBA,GAAG,aAAaA,GAAG,aAAaA,GAAG,UAAUA,KAAK,IAAM,CAAC,EAAE,CAAC,IAAMA,GAAG,IAAMA,GAAG,KAAOA,GAAG,IAAMA,GAAG,IAAMA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,IAAMA,GAAG,EAAIA,KAAK,aAAaD,GAAG,GAAKA,GAAG,cAAcA,GAAG,IAAMA,GAAG,eAAeA,GAAG,KAAOA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,YAAYA,GAAG,GAAKA,GAAG,gBAAgBA,GAAG,IAAMA,GAAG,aAAaA,GAAG,GAAKA,GAAG,0BAA0BA,GAAG,iBAAmBA,GAAG,2BAA2BA,GAAG,kBAAoBA,GAAG,YAAYA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,uBAAuBA,GAAG,MAAQA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,cAAcA,GAAG,GAAKA,GAAG,IAAM,CAAC,EAAE,CAAC,QAAUC,GAAG,QAAUG,KAAK,OAASJ,GAAG,MAAQA,GAAG,QAAUA,GAAG,OAASA,GAAG,UAAYA,GAAG,KAAOA,GAAG,SAAWA,GAAG,IAAMA,GAAG,QAAUA,GAAG,IAAMA,GAAG,OAASA,GAAG,KAAOA,GAAG,KAAOA,GAAG,IAAMA,GAAG,KAAO,CAAC,EAAE,CAAC,QAAUC,GAAG,OAASG,GAAG,QAAUH,GAAG,KAAOA,KAAK,QAAUD,IAEz8rH,CAJ6B,GCa7B,SAAS4D,aACPxuO,MACAyuO,KACAhqO,MACAiqO;;AAEA,IAAIriN,OAAwB,KACxBjqB,KAA0BqsO,KAC9B,UAAgB75O,IAATwN,OAE2B,KAA3BA,KAAK,GAAKssO,eACbriN,OAAS,CACP5nB,MAAOA,MAAQ,EACfkqO,QAAgB,IAAPvsO,KAAK,GACdwsO,UAAkB,IAAPxsO,KAAK,MAKL,IAAXqC,QAXqB,CAezB,MAAMoqO,KAAmCzsO,KAAK,GAC9CA,KAAOrN,OAAOF,UAAU4jB,eAAerZ,KAAKyvO,KAAM7uO,MAAMyE,QACpDoqO,KAAK7uO,MAAMyE,QACXoqO,KAAK,KACTpqO,OAAS,CACX,CAEA,OAAO4nB,MACT,CAKc,SAAUg9M,aACtBtrO,SACAiJ,QACAq+C;;OAEA,GC7DY,SACZtnD,SACAiJ,QACAq+C;;AAIA,IAAKr+C,QAAQ0sB,qBAAuB31B,SAAS1G,OAAS,EAAG,CACvD,MAAM0xG,KAAehrG,SAAS1G,OAAS,EACjC+gI,GAAar6H,SAASunD,WAAWyjD,MACjCovB,GAAap6H,SAASunD,WAAWyjD,KAAO,GACxCmvB,GAAan6H,SAASunD,WAAWyjD,KAAO,GACxChF,GAAahmG,SAASunD,WAAWyjD,KAAO,GAE9C,GACS,MAAPqvB,IACO,MAAPD,IACO,KAAPD,IACO,KAAPn0B,GAKA,OAHA1+C,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAe,OACZ,EACF,GACE,MAAP8kG,IACO,MAAPD,IACO,MAAPD,IACO,KAAPn0B,GAKA,OAHA1+C,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAe,OACZ,EACF,GACE,MAAP8kG,IACO,MAAPD,IACO,MAAPD,IACO,KAAPn0B,GAKA,OAHA1+C,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAe,OACZ,EACF,GACE,MAAP8kG,IACO,MAAPD,IACO,MAAPD,IACO,KAAPn0B,GAKA,OAHA1+C,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAe,OACZ,EACF,GACE,MAAP8kG,IACO,MAAPD,IACO,MAAPD,IACO,KAAPn0B,GAKA,OAHA1+C,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAe,OACZ,EACF,GACE,MAAP8kG,IACO,MAAPD,IACO,KAAPD,GAKA,OAHA7yE,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAe,MACZ,CAEX,CAEA,OAAO,CACT,CDhBMw7M,CAAe/wO,SAAUiJ,QAASq+C,KACpC,OAGF,MAAM0pL,cAAgBhxO,SAASkC,MAAM,KAE/ByuO,aACH1nO,QAAQ0sB,oBAAqB,EAAqB,IAClD1sB,QAAQysB,kBAAmB,EAAmB,GAG3Cu7M,eAAiBR,aACrBO,cACAvE,WACAuE,cAAc13O,OAAS,EACvBq3O,aAGF,GAAuB,OAAnBM,eAIF,OAHA3pL,IAAIspL,QAAUK,eAAeL,QAC7BtpL,IAAIupL,UAAYI,eAAeJ,eAC/BvpL,IAAI/xB,aAAey7M,cAAchvO,MAAMivO,eAAevqO,MAAQ,GAAGkjB,KAAK,MAKxE,MAAMsnN,WAAaT,aACjBO,cACAj6C,MACAi6C,cAAc13O,OAAS,EACvBq3O,aAGF,GAAmB,OAAfO,WAIF,OAHA5pL,IAAIspL,QAAUM,WAAWN,QACzBtpL,IAAIupL,UAAYK,WAAWL,eAC3BvpL,IAAI/xB,aAAey7M,cAAchvO,MAAMkvO,WAAWxqO,OAAOkjB,KAAK,MAOhE09B,IAAIspL,SAAU,EACdtpL,IAAIupL,WAAY,EAChBvpL,IAAI/xB,aAAsD,QAAvCg2I,GAAAylE,cAAcA,cAAc13O,OAAS,UAAE,IAAAiyK,GAAAA,GAAI,IAChE,CE/FA,MAAM4lE,ORuBG,CACLxvO,OAAQ,KACR6qO,oBAAqB,KACrBxsO,SAAU,KACV4wO,QAAS,KACTlF,KAAM,KACNmF,UAAW,KACXt7M,aAAc,KACd+2M,UAAW,MQ7BT,SAAU78M,MAAMryB,IAAa6L,QAA6B;;AAC9D,OAAOoiO,UAAUjuO,IAAG,EAAYkuO,aAAcriO,QRoBvC,CACLtH,OAAQ,KACR6qO,oBAAqB,KACrBxsO,SAAU,KACV4wO,QAAS,KACTlF,KAAM,KACNmF,UAAW,KACXt7M,aAAc,KACd+2M,UAAW,MQ3Bf,CAEM,SAAU8E,YACdh0O,IACA6L,QAA6B,IR2BzB,IAAsBqlB;;;AQxB1B,ORwB0BA,OQzBE6iN,QR0BrBxvO,OAAS,KAChB2sB,OAAOk+M,oBAAsB,KAC7Bl+M,OAAOtuB,SAAW,KAClBsuB,OAAOsiN,QAAU,KACjBtiN,OAAOo9M,KAAO,KACdp9M,OAAOuiN,UAAY,KACnBviN,OAAOiH,aAAe,KACtBjH,OAAOg+M,UAAY,KQhCZjB,UAAUjuO,IAAG,EAAiBkuO,aAAcriO,QAASkoO,QAAQnxO,QACtE,CAEM,SAAU+B,gBACd3E,IACA6L,QAA6B,IRmBzB,IAAsBqlB;;AQhB1B,ORgB0BA,OQjBE6iN,QRkBrBxvO,OAAS,KAChB2sB,OAAOk+M,oBAAsB,KAC7Bl+M,OAAOtuB,SAAW,KAClBsuB,OAAOsiN,QAAU,KACjBtiN,OAAOo9M,KAAO,KACdp9M,OAAOuiN,UAAY,KACnBviN,OAAOiH,aAAe,KACtBjH,OAAOg+M,UAAY,KQxBZjB,UAAUjuO,IAAG,EAAsBkuO,aAAcriO,QAASkoO,QAC9D57M,YACL,CAEM,SAAUE,cACdr4B,IACA6L,QAA6B,IRUzB,IAAsBqlB;;AQP1B,ORO0BA,OQRE6iN,QRSrBxvO,OAAS,KAChB2sB,OAAOk+M,oBAAsB,KAC7Bl+M,OAAOtuB,SAAW,KAClBsuB,OAAOsiN,QAAU,KACjBtiN,OAAOo9M,KAAO,KACdp9M,OAAOuiN,UAAY,KACnBviN,OAAOiH,aAAe,KACtBjH,OAAOg+M,UAAY,KQfZjB,UAAUjuO,IAAG,EAAekuO,aAAcriO,QAASkoO,QAAQxvO,MACpE,CAEM,SAAU4qO,iBACdnvO,IACA6L,QAA6B,IREzB,IAAsBqlB;;AQC1B,ORD0BA,OQAE6iN,QRCrBxvO,OAAS,KAChB2sB,OAAOk+M,oBAAsB,KAC7Bl+M,OAAOtuB,SAAW,KAClBsuB,OAAOsiN,QAAU,KACjBtiN,OAAOo9M,KAAO,KACdp9M,OAAOuiN,UAAY,KACnBviN,OAAOiH,aAAe,KACtBjH,OAAOg+M,UAAY,KQPZjB,UAAUjuO,IAAG,EAAmBkuO,aAAcriO,QAASkoO,QAC3D7E,SACL,CAEM,SAAU+E,2BACdj0O,IACA6L,QAA6B,IRPzB,IAAsBqlB;;AQU1B,ORV0BA,OQSE6iN,QRRrBxvO,OAAS,KAChB2sB,OAAOk+M,oBAAsB,KAC7Bl+M,OAAOtuB,SAAW,KAClBsuB,OAAOsiN,QAAU,KACjBtiN,OAAOo9M,KAAO,KACdp9M,OAAOuiN,UAAY,KACnBviN,OAAOiH,aAAe,KACtBjH,OAAOg+M,UAAY,KQEZjB,UAAUjuO,IAAG,EAAYkuO,aAAcriO,QAASkoO,QACpD3E,mBACL,C,6EC3DA,MAAMv2O,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBsI,yCAA2CtI,oBAAAA,OAAAA,gBAC3CykN,6BAA+BzkN,oBAAAA,MAAAA,aAC/BG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAoC,eAAEM,WAGtDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,6CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMm7H,uBAAuBn7H,aAAa+H,YACxCzF,WAAAA;;AACE,OAAOwF,yCAAyC9H,aApFhC,4BAqFlB,CAEA,SAAImW;;AACF,MAAM1T,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJtB,4CAA4CK,cAC5C,IACE,IAAIS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,SAC/D,OAAc,OAAVzH,QACFA,MAAQwjN,6BAA6BxjN,OACvB,OAAVA,OAAkBlB,YAAYwjE,KAAKtiE,SAAWA,OACzCA,MAGJ,CACT,CAAE,QACAb,6CAA6CI,aAC/C,CACF,CAEA,SAAImW,CAAMhO;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJkH,EAAI5I,YAAkB,KAAE4I,EAAG,CACzBpH,QAAS,6EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,QAAS6+B,OAAO9+B,GACrE,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,EAEFM,OAAOwD,iBAAiBq3H,eAAe/6H,UAAW,CAChD+V,MAAO,CAAEpS,YAAY,GACrB,CAACC,OAAOC,aAAc,CAAExD,MAAO,iBAAkBgB,cAAc,KAEjEU,aAA0B,eAAIg5H,eAE9B76H,OAAOkB,eAAexB,aA3IF,iBA2I+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO06H,kBAIX,MAAMx6H,KAAOnB,oBAAQ,M,6EC9JrBc,OAAOkB,eAAenC,QAAS,aAAc,CAAEoB,OAAO,IACtDpB,QAAQ+mN,kBAAe,EACvB,MAAMhC,aAAe5kN,oBAAQ,OACvBqkJ,iBAAmBrkJ,oBAAQ,OAmMjCH,QAAQ+mN,aA7LR,MACI9jN,WAAAA,CAAY0jH;;AACRtjH,KAAKsjH,QAAUA,QACftjH,KAAKsgJ,KAAO,GACZtgJ,KAAK20G,KAAO,EAEZ30G,KAAKk4O,YAAc,EACnBl4O,KAAKm4O,SAAW,GAChBn4O,KAAKqqK,iBAAkB,EACvBrqK,KAAKozN,kBAAmB,EACxBpzN,KAAKulN,eAAgB,EACrBvlN,KAAKo4O,gBAfoB,MAgBzBp4O,KAAKq4O,OAAQ,EACbr4O,KAAKs4O,aAAe,EACpBt4O,KAAKu4O,kBAAoB,EACzBv4O,KAAK6rH,KAAO,EAEZ7rH,KAAKw4O,eAAiB,CAC1B,CAEA,OAAIzzB;;AACA,OAAO/kN,KAAK20G,IAAM30G,KAAKs4O,aAAen/N,OAAOnZ,KAAKk4O,aAAel4O,KAAK20G,IAC1E,CACA,UAAI77C;;AACA,OAAO94D,KAAKu4O,kBAAoBv4O,KAAK20G,GACzC,CACAmwG,QAAAA,CAAS5vM,KAAM2vM;;AACX,MAAM,KAAM,IAAK,QAAa7kN,KACxBg9J,SAAW+nD,IAAMF,SACjB3qJ,YAAcpB,OAAS+rJ,SAC7B,MAAO,CACH3vM,KACA6nJ,UAAWlxC,KACXoxC,QAASpxC,KACTmxC,SACAE,OAAQF,SACR9iG,YACAs8D,UAAWt8D,YAEnB,CACA27D,IAAAA,CAAK3gH;;AACGlV,KAAKsjH,QAAQ4xB,cAAgBl1I,KAAKw4O,gBAAkBx4O,KAAK84D,SACzD94D,KAAKw4O,cAAgBx4O,KAAK84D,OAC1B94D,KAAKsjH,QAAQ4xB,aAAal1I,KAAK8kN,SAAS5vM,KAAM,IAEtD,CACAujO,OAAAA;;AACIz4O,KAAKm4O,SAAS73O,KAAKN,KAAKk4O,YACxBl4O,KAAKk4O,WAAal4O,KAAK20G,GAC3B,CACA+jI,iBAAAA,CAAkB/4C;;AAEd,GAAI3/L,KAAK20G,MAAQ30G,KAAKsgJ,KAAKpgJ,OAAS,EAAG,CACnC,MAAMy4O,OAAS34O,KAAKsgJ,KAAKnyF,WAAWnuD,KAAK20G,IAAM,GAC/C,IAAI,EAAI+sG,aAAa9hB,iBAAiB+4C,QAKlC,OAHA34O,KAAK20G,MAEL30G,KAAKy4O,WACE,EAAI/2B,aAAa7hB,2BAA2BF,GAAIg5C,OAE/D,MAEK,IAAK34O,KAAKozN,iBAEX,OADApzN,KAAKulN,eAAgB,EACd7D,aAAajoC,YAAYz/H,IAIpC,OADAh6C,KAAK61H,KAAKsrB,iBAAiBC,IAAIw3F,wBACxBj5C,EACX,CACAk5C,mBAAAA;;AACI,OAAO74O,KAAK20G,IAAM30G,KAAKo4O,eAC3B,CACAtxB,eAAAA;;AACQ9mN,KAAK64O,wBACL74O,KAAKsgJ,KAAOtgJ,KAAKsgJ,KAAKr2I,UAAUjK,KAAK20G,KACrC30G,KAAKs4O,cAAgBt4O,KAAK20G,IAC1B30G,KAAKu4O,mBAAqBv4O,KAAK20G,IAC/B30G,KAAK20G,IAAM,EACX30G,KAAKk4O,YAAc,EACnBl4O,KAAKm4O,SAASj4O,OAAS,EAE/B,CACA8/B,KAAAA,CAAMV,MAAO+lL;;AACLrlN,KAAKsgJ,KAAKpgJ,OAAS,EACnBF,KAAKsgJ,MAAQhhH,MAGbt/B,KAAKsgJ,KAAOhhH,MAEhBt/B,KAAKulN,eAAgB,EACrBvlN,KAAKozN,iBAAmB/N,WAC5B,CACAC,sBAAAA,CAAuBhmL;;AACnBt/B,KAAKsgJ,KAAOtgJ,KAAKsgJ,KAAKr2I,UAAU,EAAGjK,KAAK20G,IAAM,GAAKr1E,MAAQt/B,KAAKsgJ,KAAKr2I,UAAUjK,KAAK20G,IAAM,GAC1F30G,KAAKulN,eAAgB,CACzB,CACAx7M,UAAAA,CAAWq/H,QAASw8E;;AAEhB,GAAI5lN,KAAK20G,IAAMy0B,QAAQlpI,OAASF,KAAKsgJ,KAAKpgJ,OAEtC,OADAF,KAAKulN,eAAiBvlN,KAAKozN,kBACpB,EAEX,GAAIxN,cACA,OAAO5lN,KAAKsgJ,KAAKv2I,WAAWq/H,QAASppI,KAAK20G,KAE9C,IAAK,IAAIl0G,EAAI,EAAGA,EAAI2oI,QAAQlpI,OAAQO,IAAK,CAErC,IADgD,GAArCT,KAAKsgJ,KAAKnyF,WAAWnuD,KAAK20G,IAAMl0G,MAChC2oI,QAAQj7E,WAAW1tD,GAC1B,OAAO,CAEf,CACA,OAAO,CACX,CACAmf,IAAAA,CAAKk5C;;AACD,MAAM67C,IAAM30G,KAAK20G,IAAM77C,OACvB,GAAI67C,KAAO30G,KAAKsgJ,KAAKpgJ,OAEjB,OADAF,KAAKulN,eAAiBvlN,KAAKozN,iBACpB1R,aAAajoC,YAAYz/H,IAEpC,MAAM9kC,KAAOlV,KAAKsgJ,KAAKnyF,WAAWwmD,KAClC,OAAOz/F,OAASwsM,aAAajoC,YAAYirC,gBAAkBhD,aAAajoC,YAAYC,UAAYxkK,IACpG,CACAuwM,OAAAA,GAQI;;AAPAzlN,KAAK20G,MAED30G,KAAKq4O,QACLr4O,KAAKq4O,OAAQ,EACbr4O,KAAK6rH,OACL7rH,KAAKs4O,aAAet4O,KAAK20G,KAEzB30G,KAAK20G,KAAO30G,KAAKsgJ,KAAKpgJ,OAEtB,OADAF,KAAKulN,eAAiBvlN,KAAKozN,iBACpB1R,aAAajoC,YAAYz/H,IAEpC,IAAI2lJ,GAAK3/L,KAAKsgJ,KAAKnyF,WAAWnuD,KAAK20G,KAEnC,GAAIgrF,KAAO+hB,aAAajoC,YAAYirC,gBAGhC,OAFA1kN,KAAKq4O,OAAQ,EACbr4O,KAAKqqK,iBAAkB,EAChBq3C,aAAajoC,YAAYC,UAIpC,GAAIimB,KAAO+hB,aAAajoC,YAAYC,YAChC15K,KAAKq4O,OAAQ,EACTr4O,KAAKqqK,iBAKL,OAHArqK,KAAK6rH,OACL7rH,KAAKqqK,iBAAkB,EACvBrqK,KAAKy4O,UACEz4O,KAAKylN,UAGpBzlN,KAAKqqK,iBAAkB,GACnB,EAAIq3C,aAAaltE,aAAamrD,MAC9BA,GAAK3/L,KAAK04O,kBAAkB/4C,KAahC,OARyD,OAA9B3/L,KAAKsjH,QAAQ4xB,cACnCyqD,GAAK,IAAQA,GAAK,KACnBA,KAAO+hB,aAAajoC,YAAYC,WAChCimB,KAAO+hB,aAAajoC,YAAYirC,iBAC/B/kB,GAAK,KAAQA,GAAK,OAEnB3/L,KAAK84O,+BAA+Bn5C,IAEjCA,EACX,CACAm5C,8BAAAA,CAA+Bn5C;;CACvB,EAAI+hB,aAAa5hB,oBAAoBH,IACrC3/L,KAAK61H,KAAKsrB,iBAAiBC,IAAI23F,gCAE1B,EAAIr3B,aAAa3hB,sBAAsBJ,KAC5C3/L,KAAK61H,KAAKsrB,iBAAiBC,IAAI43F,0BAEvC,CACAxzB,OAAAA,CAAQ/xL,OAEJ;;AADAzzB,KAAK20G,KAAOlhF,MACLzzB,KAAK20G,IAAM30G,KAAKk4O,YACnBl4O,KAAKk4O,WAAal4O,KAAKm4O,SAASt+N,MAChC7Z,KAAK20G,MAET30G,KAAKq4O,OAAQ,CACjB,E,6ECnMgBv7O,oBAAQ,OAA5B,MACMC,MAAQD,oBAAQ,OAEhBm8O,gBAAkBn8O,oBAAQ,OAC1BK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3Bq/H,cAAgB3/H,oBAAQ,OAiB9B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAiC,YAAEM,WAGnDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,0CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjCm/H,cAAc59H,eAAeH,QAASpB,eAGxCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMo/H,oBAAoBp/H,aAAam/H,cACrC78H,WAAAA,CAAYX;;AACV,GAAIgB,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,oEAAoE0B,UAAUC,mBAGlF,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAAS64O,gBAAgB76O,QAAQd,aAAc8C,OAAQ,CACrD/B,QAAS,mDAEX8B,KAAKG,KAAKF,OACZ,CACA,OAAOzD,QAAQgC,MAAMf,OAAOC,kBAAkBH,WAAYJ,aAAc6C,KAC1E,EAEFvC,OAAOwD,iBAAiBs7H,YAAYh/H,UAAW,CAC7C,CAAC4D,OAAOC,aAAc,CAAExD,MAAO,cAAegB,cAAc,KAE9DU,aAA0B,YAAIi9H,YAE9B9+H,OAAOkB,eAAexB,aAzGF,cAyG+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO2+H,eAIX,MAAMz+H,KAAOnB,oBAAQ,M,gECzHrB,IAAI4sD,MAAQ,CAQZA,oBAA4B;;AAC3B1pD,KAAKE,OAAS,EACdF,KAAK8pD,WAAa,KAGlB9pD,KAAKg+L,YAAc,CAAC,CACrB,GAGAt0I,MAAMC,oBAAoBjsD,UAAY,CAErCkC,YAAa8pD,MAAMC,oBASnB88D,iBAAkB,SAAS1+G;;AAC1B,OAAO/H,KAAK+H,OAAS,EACtB,EASAy+G,YAAa,SAASz+G,KAAMhK,MAAOitL;;AAC9BhrL,KAAK+H,MAEIJ,MAAMjK,UAAU4G,QAAQ2D,KAAKjI,KAAM+H,MACnC,IACX/H,KAAKA,KAAKE,QAAU6H,KACpB/H,KAAKE,WAINF,KAAKA,KAAKE,QAAU6H,KACpB/H,KAAKE,UAENF,KAAK+H,MAAQhK,MAAQ,GACrBiC,KAAKg+L,YAAYj2L,MAAQijL,QAC1B,EASA34C,eAAgB,SAAStqI;;AACxB,KAAMA,QAAQ/H,MACb,MAAO,GAER,IAAIsN,MAAQ3F,MAAMjK,UAAU4G,QAAQ2D,KAAKjI,KAAM+H,MAC/C,GAAIuF,MAAQ,EACX,MAAO,GAER,IAAI4rO,UAAYl5O,KAAK+H,MASrB,OARA/H,KAAK+H,MAAQ,GAGbJ,MAAMjK,UAAUwF,OAAO+E,KAAKjI,KAAMsN,MAAO,GAKlC4rO,SACR,EAEAC,oBAAqB,WAErB,EAMAzyH,oBAAqB,SAAS3+G;;AAC7B,OAAO/H,KAAKg+L,YAAYj2L,OAAS,EAClC,EAQAqxO,qBAAsB,WAEtB,EAEAC,mBAAoB,WAEpB,EAGA,WAAIlvO,GAEH;;AADA,IAAIu+C,WAAa,GACRjoD,EAAE,EAAGP,OAAOF,KAAKE,OAAQO,EAAIP,SAAUO,EAAG,CAClD,IAAIsH,KAAO/H,KAAKS,GACZ1C,MAAQiC,KAAKymH,iBAAiB1+G,MAC9BijL,SAAWhrL,KAAK0mH,oBAAoB3+G,MACpCijL,WACHA,SAAW,KAAOA,UAEnBtiI,WAAWjoD,GAAKsH,KAAO,KAAOhK,MAAQitL,SAAW,GAClD,CACA,OAAOtiI,WAAWl4B,KAAK,IACxB,EAEA,WAAIrmB,CAAQ+4E;;AACX,IAAIziF,EAAGsH,KACP,IAAKtH,EAAIT,KAAKE,OAAQO,KAErBT,KADA+H,KAAO/H,KAAKS,IACC,GAEdkH,MAAMjK,UAAUwF,OAAO+E,KAAKjI,KAAM,EAAGA,KAAKE,QAC1CF,KAAKg+L,YAAc,CAAC,EAEpB,IAAIs7C,UAAY5vL,MAAMrzB,MAAM,UAAY6sD,KAAO,KAAK9yB,SAAS,GAAGvG,MAC5D3pD,OAASo5O,UAAUp5O,OACvB,IAAKO,EAAI,EAAGA,EAAIP,SAAUO,EACzBsH,KAAOuxO,UAAU74O,GACjBT,KAAKwmH,YAAY8yH,UAAU74O,GAAI64O,UAAU7yH,iBAAiB1+G,MAAOuxO,UAAU5yH,oBAAoB3+G,MAEjG,GAKDpL,QAAQgtD,oBAAsBD,MAAMC,oBACpCD,MAAMrzB,MAAQv5B,oBAAAA,OAAAA,K,6EChJd,MAAM6U,gBAAkB7U,oBAAAA,OAAAA,eAIxBJ,OAAOC,QAAU,CACfuB,eAHF,cAAkCyT,kB,6ECFlC,MAAM4nO,mBAAqBz8O,oBAAAA,OAAAA,eACrBk7H,cAAgBl7H,oBAAQ,OAE9BH,QAAQuB,eAAiB,cAA6Cq7O,mBACpEhsO,SAAAA,CAAUxF;;AACR,GAAa,KAATA,KACF,OAAO,KAGT/H,KAAKikF,UAEL,MAAMsxB,SAAWyiB,cAAcp5H,WAAWoB,KAAKqL,cAAe,GAAI,CAChEykD,QAAS9vD,KACTm6F,MAAOA,IAAMn6F,KAAKkkF,MAAM3sD,OACtBltB,GAAKA,EAAE6Z,eAAe,KAAM,QAAUnc,MAAQsC,EAAE6Z,eAAe,KAAM,UAAYnc,QAIrF,OAAQwtG,SAASr1G,QACf,KAAK,EACH,OAAO,KAET,KAAK,EACH,OAAOq1G,SAASloG,KAAK,GAEvB,QACE,OAAOkoG,SAGb,E,6EC7BF,MAAM14G,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBsI,yCAA2CtI,oBAAAA,OAAAA,gBAC3CG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAuC,kBAAEM,WAGzDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,gDAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMs8H,0BAA0Bt8H,aAAa+H,YAC3CzF,WAAAA;;AACE,OAAOwF,yCAAyC9H,aApFhC,+BAqFlB,CAEA,QAAI2hE;;AACF,MAAMl/D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAkB,KAC3D,CAEA,SAAImnB;;AACF,MAAMvkB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJtB,4CAA4CK,cAC5C,IACE,MAAMS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,SACjE,OAAiB,OAAVzH,MAAiB,GAAKA,KAC/B,CAAE,QACAb,6CAA6CI,aAC/C,CACF,CAEA,SAAIgnB,CAAM7e;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,gFACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,QAASD,EAC9D,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,EAEFM,OAAOwD,iBAAiBw4H,kBAAkBl8H,UAAW,CACnDuhE,KAAM,CAAE59D,YAAY,GACpBijB,MAAO,CAAEjjB,YAAY,GACrB,CAACC,OAAOC,aAAc,CAAExD,MAAO,oBAAqBgB,cAAc,KAEpEU,aAA0B,kBAAIm6H,kBAE9Bh8H,OAAOkB,eAAexB,aAlJF,oBAkJ+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO67H,qBAIX,MAAM37H,KAAOnB,oBAAQ,M,8BC7HrBJ,OAAOC,QAAU,CACfuB,eAtCF,MACE0B,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B,MAAM,MAAO,KAAUA,YAEvBuB,KAAK25D,OAAS/8C,MACd5c,KAAKu5D,KAAOnzC,IAEZpmB,KAAKqL,cAAgB/N,YACvB,CAGA,kBAAIg5H;;AACF,OAAOt2H,KAAK25D,OAAO1uD,IACrB,CAGA,eAAIivD;;AACF,OAAOl6D,KAAK25D,OAAOb,MACrB,CAGA,gBAAIy9D;;AACF,OAAOv2H,KAAKu5D,KAAKtuD,IACnB,CAGA,aAAIurH;;AACF,OAAOx2H,KAAKu5D,KAAKT,MACnB,CAGA,aAAIgC;;AACF,MAAM,OAAQ,MAAW96D,KACzB,OAAO25D,OAAO1uD,OAASsuD,KAAKtuD,MAAQ0uD,OAAOb,SAAWS,KAAKT,MAC7D,G,gECpCF,IAAIpP,MAAQ,CACXE,QAAS9sD,oBAAAA,OAAAA,QASV4sD,qBAA6B;;AAC5BA,MAAME,QAAQ3hD,KAAKjI,MACnBA,KAAKowD,SAAW,EACjB,GAEA1G,MAAM+hI,qBAAqB/tL,UAAY,IAAIgsD,MAAME,QACjDF,MAAM+hI,qBAAqB/tL,UAAUkC,YAAc8pD,MAAM+hI,qBACzD/hI,MAAM+hI,qBAAqB/tL,UAAU0J,KAAO,KAK5CxJ,OAAOkB,eAAe4qD,MAAM+hI,qBAAqB/tL,UAAW,UAAW,CACtEuP,IAAK,WAEJ;;AADA,IAAIo6E,SAAW,GACN5mF,EAAE,EAAGP,OAAOF,KAAKowD,SAASlwD,OAAQO,EAAIP,OAAQO,IACtD4mF,SAAS/mF,KAAKN,KAAKowD,SAAS3vD,GAAG0J,SAEhC,MAAO,oBAAsBk9E,SAAS72D,KAAK,IAAM,GAClD,IAKD7zB,QAAQ8uL,qBAAuB/hI,MAAM+hI,oB,6ECjCrC,MAAM,OAAY3uL,oBAAQ,MACpB08O,uBAAyB18O,oBAAAA,MAAAA,EACzBssH,YAActsH,oBAAAA,OAAAA,eAEd28O,eAAiB38O,oBAAQ,OAE/B,MAAM48O,uBAAuBtwH,YAC3B,KAAI71G;;AACF,OAAOvT,KAAK25O,OACd,CACA,KAAInmO;;AACF,OAAOxT,KAAK45O,OACd,CACA,SAAIC;;AAEF,OAAO75O,KAAK25O,OACd,CACA,SAAIG;;AAEF,OAAO95O,KAAK45O,OACd,CACA,WAAIG;;AAEF,OAAO/5O,KAAK65O,KACd,CACA,WAAIG;;AAEF,OAAOh6O,KAAK85O,KACd,CAEAG,cAAAA,CACE7yO,KACA2/E,QACAna,WACA6oD,KACAnuH,OACAwgH,QACAE,QACA2xH,QACAC,QACA9kO,QACAo5D,OACAE,SACAD,QACA+rK,OACAC;;AAEIn6O,KAAKgnF,gBAIThnF,KAAK01H,YAAYtuH,KAAM2/E,QAASna,WAAY6oD,KAAMnuH,QAClDtH,KAAK8nH,QAAUA,QACf9nH,KAAKgoH,QAAUA,QACfhoH,KAAK25O,QAAUA,QACf35O,KAAK45O,QAAUA,QACf55O,KAAK8U,QAAUA,QACf9U,KAAKkuE,OAASA,OACdluE,KAAKouE,SAAWA,SAChBpuE,KAAKmuE,QAAUA,QACfnuE,KAAKk6O,OAASA,OACdl6O,KAAKm6O,cAAgBA,cACvB,EAEFrvO,MAAM4uO,eAAeh8O,UAAW87O,uBAAuB97O,WACvDg8O,eAAe/hL,YAAc8hL,eAAer7O,aAAQX,OAAWA,GAE/Df,OAAOC,QAAU,CACfuB,eAAgBw7O,e,yDC7BlB/8O,QAAQuB,eAvCR,MACE0B,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9BuB,KAAK09E,SAAWj/E,YAAYqxD,QAC5B9vD,KAAKo6O,WAAa37O,YAAYi4J,UAG9B12J,KAAKq6O,qBAAuB57O,YAAY67O,oBACxCt6O,KAAKu6O,8BAAgC97O,YAAY+7O,6BACjDx6O,KAAKy6O,cAAgBh8O,YAAYm4J,YACnC,CAEA,WAAI9pE;;AACF,OAAK9sF,KAAK09E,SAAS7tB,eAAe,KAAM7vD,KAAKo6O,YAStCp6O,KAAK09E,SAASx5D,eAAe,KAAMlkB,KAAKo6O,iBARX38O,IAA9BuC,KAAKq6O,sBACLr6O,KAAK09E,SAAS7tB,eAAe7vD,KAAKu6O,8BAA+Bv6O,KAAKq6O,sBACjEr6O,KAAK09E,SAASx5D,eAAelkB,KAAKu6O,8BAA+Bv6O,KAAKq6O,2BAC7C58O,IAAvBuC,KAAKy6O,cACPz6O,KAAKy6O,cAEP,EAGX,CAEA,WAAI3tJ,CAAQxjB;;CACLtpE,KAAK09E,SAAS7tB,eAAe,KAAM7vD,KAAKo6O,kBACX38O,IAA9BuC,KAAKq6O,sBACLr6O,KAAK09E,SAAS7tB,eAAe,KAAM7vD,KAAKq6O,sBAC1Cr6O,KAAK09E,SAASt5D,eAAe,KAAMpkB,KAAKq6O,qBAAsB/wK,MAE9DtpE,KAAK09E,SAASt5D,eAAe,KAAMpkB,KAAKo6O,WAAY9wK,KAExD,CAEA,WAAIyjB;;AACF,OAAO/sF,KAAK8sF,OACd,E,6ECpCF,MAAM,eAAoBhwF,oBAAQ,OAC5BgxD,UAAYhxD,oBAAQ,OAsB1BJ,OAAOC,QAAU,CACfuB,eArBF,MACE,sBAAIyxF;;AACF,IAAK,MAAMk1I,WAAWv6N,cAAcowO,qBAAqB16O,MACvD,GAAI6kO,QAAQxrM,WAAay0B,UAAUx0B,aACjC,OAAOurM,QAGX,OAAO,IACT,CAEA,0BAAIn1I;;AACF,IAAK,MAAMm1I,WAAWv6N,cAAcqwO,yBAAyB36O,MAC3D,GAAI6kO,QAAQxrM,WAAay0B,UAAUx0B,aACjC,OAAOurM,QAGX,OAAO,IACT,G,0FCpBF,MAAM,8BAAmC/nO,oBAAQ,QAC3C,aAAkBA,oBAAQ,OAC1B43B,gBAAkB53B,oBAAAA,OAAAA,eAClB6a,YAAc7a,oBAAQ,OACtBsO,aAAetO,oBAAQ,MAE7B,MAAM89O,wBAAwBlmN,gBAC5B90B,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B+K,MAAMlM,aAAc6C,KAAM1B,aAG1BuB,KAAKmL,eAAiB7N,aAAakG,SAEnCxD,KAAK8X,YAASra,EACduC,KAAK66O,gBAAkB,IAAI17O,IAC3Ba,KAAK86O,YAAa,EAClB96O,KAAK+6O,eAAiB,IAAI57O,IAC1Ba,KAAKg7O,kBAAoB,IAAI77O,GAC/B,CAEA,WAAI4Y;;AACF,YAAuBta,IAAhBuC,KAAK8X,MACd,CAEAmjO,cAAAA;;AACE,GAAIj7O,KAAK+X,QACP,MAAM/X,KAAK8X,MAEf,CAEA,YAAOM,CAAM9a,aAAcwa;;AACzB,MAAMojO,YAAcvjO,YAAY/Y,WAAWtB,aAAc,IAMzD,OAJE49O,YAAYpjO,YADCra,IAAXqa,OACmBA,OAEA1M,aAAavN,OAAOP,aAAc,CAAC,6BAA8B,eAEjF49O,WACT,CAGA,UAAOnsF,CAAIzxJ,aAAc69O;;AACvB,MAAMC,aAAezjO,YAAY/Y,WAAWtB,aAAc,IAC1D,IAAK,MAAM6a,UAAUgjO,QACnB,GAAIhjO,OAAOJ,QAET,OADAqjO,aAAatjO,OAASK,OAAOL,OACtBsjO,aAIXA,aAAaC,WAAY,EACzB,IAAK,MAAMljO,UAAUgjO,QACnB,GAAKhjO,OAAOkjO,UAIV,IAAK,MAAMC,gBAAgBnjO,OAAO4iO,eAC3BO,aAAavjO,SAAYujO,aAAaD,YACzCD,aAAaL,eAAen4O,IAAI04O,cAChCA,aAAaN,kBAAkBp4O,IAAIw4O,oBANvCA,aAAaL,eAAen4O,IAAIuV,QAChCA,OAAO6iO,kBAAkBp4O,IAAIw4O,cAUjC,OAAOA,YACT,CAEA,cAAO73H,CAAQjmH,aAAci+O;;AAC3B,MAAMpjO,OAASR,YAAY/Y,WAAWtB,aAAc,IAKpD,OAJAA,aAAaoF,WAAW;;AACtByV,OAAOqjO,aAAapwO,aAAavN,OAAOP,aAAc,CAAC,2BAA4B,mBAClFi+O,cAEIpjO,MACT,CAGAqjO,YAAAA,CAAa1jO;;AACX,GAAI9X,KAAK+X,QACP,OAIA/X,KAAK8X,YADQra,IAAXqa,OACYA,OAEA1M,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,6BAA8B,eAGvF,MAAMowO,wBAA0B,GAChC,IAAK,MAAMC,mBAAmB17O,KAAKg7O,kBAC5BU,gBAAgB3jO,UACnB2jO,gBAAgB5jO,OAAS9X,KAAK8X,OAC9B2jO,wBAAwBn7O,KAAKo7O,kBAIjC17O,KAAK27O,gBAEL,IAAK,MAAMD,mBAAmBD,wBAC5BC,gBAAgBC,eAEpB,CAEAA,aAAAA;;AACE,IAAK,MAAMC,aAAa57O,KAAK66O,gBAC3Be,YAEF57O,KAAK66O,gBAAgB93O,QAErBiC,YAAY,QAAShF,KACvB,CAEA67O,aAAAA,CAAcD;;AACR57O,KAAK+X,SAGT/X,KAAK66O,gBAAgBj4O,IAAIg5O,UAC3B,CAEAE,gBAAAA,CAAiBF;;AACf57O,KAAK66O,gBAAgBl4O,OAAOi5O,UAC9B,EAGFplN,6BAA6BokN,gBAAgBl9O,UAAW,CAAC,UAEzDhB,OAAOC,QAAU,CACfuB,eAAgB08O,gB,6EC/HlB,MAAMxvO,aAAetO,oBAAQ,MAEvB43B,gBAAkB53B,oBAAAA,OAAAA,gBAClB,uBAA4BA,oBAAQ,MACpCgxD,UAAYhxD,oBAAQ,OACpBi/O,uBAAyBj/O,oBAAQ,QACjC,MAAO,sBAAuB,iBAAsBA,oBAAQ,QAC5D,6BAAkCA,oBAAQ,OAE1Ci2F,SAAWj2F,oBAAQ,QAEnB,SAAU,WAAY,qBAA0BA,oBAAQ,QACxD,eAAoBA,oBAAQ,QAC5B,yBAA8BA,oBAAQ,QACtC,0BAA2B,mBAAwBA,oBAAQ,QAC3D,aACQ,oBAAqB,WAAY,sBAAuB,eAAgB,iBAAkB,OAAQ,4CACnE,oCACzCA,oBAAQ,QACN,sBAA2BA,oBAAQ,OAEzC,SAASk/O,WAAW94N,EAAG7B;;AACrB,GAAI6B,EAAEmW,WAAahY,EAAEgY,SACnB,OAAO,EAGT,OAAQnW,EAAEmW,UACR,KAAKy0B,UAAUiL,mBACb,GAAI71C,EAAEnb,OAASsZ,EAAEtZ,MAAQmb,EAAE6+H,WAAa1gI,EAAE0gI,UACtC7+H,EAAE8+H,WAAa3gI,EAAE2gI,SACnB,OAAO,EAET,MACF,KAAKl0F,UAAUx0B,aACb,GAAIpW,EAAEo7C,gBAAkBj9C,EAAEi9C,eAAiBp7C,EAAEy/J,UAAYthK,EAAEshK,SAAWz/J,EAAEm7C,aAAeh9C,EAAEg9C,YACrFn7C,EAAEyqH,eAAeztI,SAAWmhB,EAAEssH,eAAeztI,OAC/C,OAAO,EAET,MACF,KAAK4tD,UAAUwuB,eACb,GAAIp5D,EAAE4/J,aAAezhK,EAAEyhK,YAAc5/J,EAAEm7C,aAAeh9C,EAAEg9C,YAAcn7C,EAAEi5F,SAAW96F,EAAE86F,OACnF,OAAO,EAET,MACF,KAAKruD,UAAUqM,4BACb,GAAIj3C,EAAE+4N,UAAY56N,EAAE46N,SAAW/4N,EAAEk4C,QAAU/5C,EAAE+5C,MAC3C,OAAO,EAET,MACF,KAAKtN,UAAUuM,UACf,KAAKvM,UAAUsM,aACb,GAAIl3C,EAAEk4C,QAAU/5C,EAAE+5C,MAChB,OAAO,EAKb,GAAIl4C,EAAEmW,WAAay0B,UAAUx0B,eAmB/B,SAA6B4iN,SAAUC;;AACrC,MAAMC,MAAQF,SAASvuG,eACjB0uG,MAAQF,SAASxuG,eAEjB2uG,QAAUF,MAAMl8O,OAChBq8O,QAAUF,MAAMn8O,OAEtB,GAAIo8O,UAAYC,QACd,OAAO,EAGT,IAAK,IAAI97O,EAAI,EAAGA,EAAI67O,UAAW77O,EAAG,CAChC,MAAM+7O,MAAQJ,MAAM37O,GAEpB,IAAK47O,MAAM/8O,KAAKm9O,OAAST,WAAWQ,MAAOC,QACzC,OAAO,CAEX,CAEA,OAAO,CACT,CAvCgDC,CAAoBx5N,EAAG7B,GACnE,OAAO,EAGT,IAAK,MAAMovE,SAAS1nC,sBAAsBz+C,cAAc0uF,iBAAiB91E,GAAI5Y,cAAc0uF,iBAAiB33E,IAAK,CAC/G,IAAKovE,MAAM,KAAOA,MAAM,GAEtB,OAAO,EAGT,IAAKurJ,WAAWvrJ,MAAM,GAAIA,MAAM,IAC9B,OAAO,CAEX,CAEA,OAAO,CACT,CA0BA,SAASksJ,wBAAwBC,UAAWC;;AAC1C,IAAK,MAAM5pC,YAAY3oM,cAAcgyD,kBAAkBugL,WACrD,GAAI5pC,WAAa2pC,UACf,OAAO,EAIX,MAAME,UAAY1jL,SAASyjL,WAC3B,QAAIC,UAAUp3F,OACLi3F,wBAAwBC,UAAWE,UAAUp3F,MAIxD,CAmhCAhpJ,OAAOC,QAAU,CACfuB,eAlhCF,cAAuBw2B,gBACrB90B,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B+K,MAAMlM,aAAc6C,KAAM1B,aAE1B6L,cAAcwuM,WAAW94M,MAEzBA,KAAKmL,eAAiB1M,YAAYu8B,cAElCh7B,KAAK+8O,gBAAkB,KACvB/8O,KAAKixL,cAAgB,KACrBjxL,KAAKg9O,SAAW,EAChBh9O,KAAK8oD,iBAAmB,CAAC,EACzB9oD,KAAK4wF,wBAA0B,GAC/B5wF,KAAKy+D,kBAAoB,IAAIt/D,GAC/B,CAEAu5F,aAAAA;;AACE,OAAI14F,KAAK29M,cACA39M,KAAK29M,cAGPrzM,cAAcC,OAAOvK,KAC9B,CAEA,cAAIiM;;AACF,OAAO3B,cAAcC,OAAOvK,KAC9B,CAEAm7E,WAAAA,CAAYtrE;;AACV,OAAOA,QAAQ2tL,SAAW2gB,oBAAoBn+M,MAAQo5D,SAASp5D,KACjE,CAEA,YAAIg8E;;AACF,OAAQh8E,KAAKq5B,UACX,KAAKy0B,UAAUx0B,aACb,OAAOt5B,KAAKu5F,QACd,KAAKzrC,UAAUwuB,eACb,OAAOt8E,KAAK4tI,eACd,KAAK9/E,UAAUuM,UACb,MAAO,QACT,KAAKvM,UAAUC,mBACb,MAAO,iBACT,KAAKD,UAAUqM,4BACb,OAAOn6D,KAAK6F,OACd,KAAKioD,UAAUsM,aACb,MAAO,WACT,KAAKtM,UAAUiQ,cACb,MAAO,YACT,KAAKjQ,UAAUiL,mBACb,OAAO/4D,KAAK+H,KACd,KAAK+lD,UAAU8M,uBACb,MAAO,qBAIX,OAAO,IACT,CAEA,cAAIc;;AACF,OAAOpxD,cAAcoxD,WAAW17D,KAClC,CAIA,eAAIk8E;;AACF,MAAM7kD,KAAO8mL,oBAAoBn+M,MACjC,OAAOq3B,MAAQA,KAAKgC,WAAay0B,UAAUiQ,aAC7C,CAEA,iBAAI/iC;;AACF,OAAOh7B,KAAKq5B,WAAay0B,UAAUiQ,cAAgB,KAAO/9D,KAAKmL,cACjE,CAEA,aAAIywD;;AACF,OAAOtxD,cAAcsxD,UAAU57D,KACjC,CAEA,cAAIm8E;;AAUF,OATKn8E,KAAK+8O,gBAMR/8O,KAAK+8O,gBAAgB94J,UALrBjkF,KAAK+8O,gBAAkBhqJ,SAASn0F,WAAWoB,KAAKqL,cAAe,GAAI,CACjEykD,QAAS9vD,KACTm6F,MAAOA,IAAM7vF,cAAcgwD,gBAAgBt6D,QAMxCA,KAAK+8O,eACd,CAEA,eAAInkL;;AACF,OAAOtuD,cAAcsuD,YAAY54D,KACnC,CAEA,mBAAIs4B;;AACF,OAAOhuB,cAAcguB,gBAAgBt4B,KACvC,CAEAy6F,SAAAA;;AACEz6F,KAAKg9O,WACL,IAAK,MAAM/pC,YAAY3oM,cAAcgyD,kBAAkBt8D,MACrDizM,SAAS+pC,WAGPh9O,KAAKixL,eACPjxL,KAAKixL,cAAchtG,UAEjBjkF,KAAK+8O,iBACP/8O,KAAK+8O,gBAAgB94J,UAEvBjkF,KAAKi9O,wBACLtsL,qBAAqB3wD,KACvB,CAEAwhJ,4BAAAA;;AACE7wF,qBAAqB3wD,KACvB,CAEAi9O,qBAAAA;;AACEj9O,KAAK8oD,iBAAmB,CAAC,EACzB,MAAMo0L,SAAW5yO,cAAcC,OAAOvK,MAClCk9O,UACFA,SAASD,uBAEb,CAEA3jJ,kBAAAA,CAAmB/uF,OAAQuxE;;AACzB,MAAMohK,SAAW5yO,cAAcC,OAAOvK,MAClCk9O,UACFA,SAAS5jJ,mBAAmB/uF,OAAQuxE,MAExC,CAEAygH,gBAAAA,CAAiBhyL,OAAQuxE;;AACvB,MAAMohK,SAAW5yO,cAAcC,OAAOvK,MAClCk9O,UACFA,SAAS3gD,iBAAiBhyL,OAAQuxE,MAEtC,CAEAnb,OAAAA;;AACE3gE,KAAK+vD,WAAY,EAEjB,IAAK,MAAM+rB,SAASxxE,cAAc0uF,iBAAiBh5F,MAC7C87E,MAAMnb,SACRmb,MAAMnb,SAGZ,CAEAC,OAAAA;;AACE5gE,KAAK+vD,WAAY,EAEb/vD,KAAKmL,gBAAkBnL,KAAKmL,eAAe2sF,sBAAwB93F,OACrEA,KAAKmL,eAAe2sF,oBAAsB,MAG5C,IAAK,MAAMhc,SAASxxE,cAAc0uF,iBAAiBh5F,MAC7C87E,MAAMlb,SACRkb,MAAMlb,SAGZ,CAEAwa,aAAAA;;AACE,OAAO9wE,cAAc62L,YAAYnhM,KACnC,CAGAq7E,SAAAA;;AAGE,IAAK,MAAMpwE,QAAQX,cAAc8vF,YAAYp6F,MAAO,CAClD,MAAMiM,WAAa3B,cAAcC,OAAOU,MACxC,GAAmB,OAAfgB,YAAuBhB,KAAKouB,WAAay0B,UAAUuM,UACrD,SAGF,IAAIn6D,OAAS84D,WAAW/tD,MAExB,GAAe,IAAX/K,OAAc,CAChB+L,WAAWykD,QAAQzlD,MACnB,QACF,CAEA,MAAMkyO,6BAA+B,GAErC,IAAK,MAAM3/K,eAAelzD,cAAcqwO,yBAAyB1vO,MAAO,CACtE,GAAIuyD,YAAYnkC,WAAay0B,UAAUuM,UACrC,MAGF8iL,6BAA6Bj+N,QAAQs+C,YACvC,CACA,IAAK,MAAMA,eAAelzD,cAAcowO,qBAAqBzvO,MAAO,CAClE,GAAIuyD,YAAYnkC,WAAay0B,UAAUuM,UACrC,MAGF8iL,6BAA6B78O,KAAKk9D,YACpC,CAEA,MAAMlqC,KAAO6pN,6BAA6Bh8K,OAAO,CAAC9zB,EAAG50B,IAAM40B,EAAI50B,EAAE2iD,MAAO,IACxEnwD,KAAKgxD,YAAY/7D,OAAQ,EAAGozB,MAE5B,IAAIkqC,YAAclzD,cAAcsuD,YAAY3tD,MAC5C,KAAOuyD,aAAeA,YAAYnkC,WAAay0B,UAAUuM,WAAW,CAClE,MAAM+iL,iBAAmB9yO,cAAcgD,MAAMkwD,aAE7C,IAAK,MAAMtE,SAASjuD,KAAKwzD,kBAAmB,CAC1C,MAAM,OAAQ,MAAWvF,MAErBS,OAAO1uD,OAASuyD,aAClBtE,MAAMO,mBAAmBxuD,KAAM0uD,OAAOb,OAAS54D,QAE7Cq5D,KAAKtuD,OAASuyD,aAChBtE,MAAMM,iBAAiBvuD,KAAMsuD,KAAKT,OAAS54D,OAE/C,CAEA,IAAK,MAAMg5D,SAASjtD,WAAWwyD,kBAAmB,CAChD,MAAM,OAAQ,MAAWvF,MAErBS,OAAO1uD,OAASgB,YAAc0tD,OAAOb,SAAWskL,kBAClDlkL,MAAMO,mBAAmBxuD,KAAM/K,QAE7Bq5D,KAAKtuD,OAASgB,YAAcstD,KAAKT,SAAWskL,kBAC9ClkL,MAAMM,iBAAiBvuD,KAAM/K,OAEjC,CAEAA,QAAU84D,WAAWwE,aACrBA,YAAclzD,cAAcsuD,YAAY4E,YAC1C,CAEA,IAAK,MAAM6/K,+BAA+BF,6BACxClxO,WAAWykD,QAAQ2sL,4BAEvB,CACF,CAEA,iBAAIj/K;;AACF,MAAMnyD,WAAa3B,cAAcC,OAAOvK,MACxC,OAAsB,OAAfiM,YAAuBA,WAAWotB,WAAay0B,UAAUx0B,aAAertB,WAAa,IAC9F,CAEA,WAAIgwE;;AACF,OAAOj8E,KAAKmL,eAAektF,mBAC7B,CAEA3c,uBAAAA,CAAwBpoE;;AAEtB,IAAIgqO,MAAQhqO,MACRiqO,MAAQv9O,KAERw9O,MAAQ,KACRC,MAAQ,KAOZ,GALIH,MAAMjkN,WAAay0B,UAAUwuB,iBAC/BkhK,MAAQF,MACRA,MAAQE,MAAM9/J,UAGZ6/J,MAAMlkN,WAAay0B,UAAUwuB,iBAC/BmhK,MAAQF,MACRA,MAAQE,MAAM//J,SAEA,OAAV8/J,OAA4B,OAAVF,OAAkBC,QAAUD,OAChD,IAAK,MAAMtqI,QAAQuqI,MAAM5vG,eAAgB,CACvC,GAAIquG,WAAWhpI,KAAMwqI,OACnB,OAAOzB,uBAAuBh/J,0CAC5Bg/J,uBAAuBp/J,4BAG3B,GAAIq/J,WAAWhpI,KAAMyqI,OACnB,OAAO1B,uBAAuBh/J,0CAC5Bg/J,uBAAuBn/J,2BAE7B,CAIJ,MAAM1nD,OAAS5qB,cAAcg/C,oBAAoBi0L,MAAOD,OAKxD,OAAIpoN,SAAW6mN,uBAAuBr/J,+BAE7Bq/J,uBAAuBr/J,+BAC5Bq/J,uBAAuBh/J,0CACvBg/J,uBAAuBn/J,4BAGpB1nD,MACT,CAEAymD,YAAAA,CAAa3qC;;AACX,GAAkB,OAAdA,WAAoC,KAAdA,UACxB,OAAO,KAGT,OAAQhxC,KAAKq5B,UACX,KAAKy0B,UAAUx0B,aACb,OAAOiqJ,sBAAsBvjL,KAAMgxC,WAErC,KAAK8c,UAAUiQ,cACb,OAAgC,OAAzB/9D,KAAKm5F,gBAA2BoqF,sBAAsBvjL,KAAKm5F,gBAAiBnoD,WAAa,KAElG,KAAK8c,UAAUiL,mBACf,KAAKjL,UAAU8M,uBACb,OAAO,KAET,KAAK9M,UAAUwuB,eACb,OAAyB,OAAlBt8E,KAAK09E,SAAoB6lG,sBAAsBvjL,KAAK09E,SAAU1sC,WAAa,KAEpF,QACE,OAA8B,OAAvBhxC,KAAKo+D,cAAyBmlH,sBAAsBvjL,KAAKo+D,cAAeptB,WAAa,KAGlG,CAEA4qC,kBAAAA,CAAmB5J;;AAKjB,MAJe,KAAXA,SACFA,OAAS,MAGJwxG,gBAAgBxjL,KAAMgyE,OAC/B,CAEA6J,kBAAAA,CAAmB7qC;;AACC,KAAdA,YACFA,UAAY,MAId,OADyBwyI,gBAAgBxjL,KAAM,QACnBgxC,SAC9B,CAEA9Y,QAAAA,CAAS5kB;;AACP,OAAOymD,oBAAoB/5D,KAAMsT,MACnC,CAEAioE,WAAAA,CAAYtwE;;AACV,OAAa,OAATA,OAKAjL,OAASiL,MAIN+wO,WAAWh8O,KAAMiL,MAC1B,CAEAwwE,UAAAA,CAAWxwE;;AACT,OAAIjL,OAASiL,IAKf,CAEAqwE,SAAAA,CAAUmiB;;AACR,GAAI7R,aAAa5rF,MACf,MAAMoL,aAAavN,OAAOmC,KAAKqL,cAAe,CAAC,qCAAsC,sBAKvF,OAFAoyF,KAAO75F,QAAQ65F,MAERtiC,MAAMn7D,UAAMvC,EAAWggG,KAChC,CAEA,aAAIrhB;;AACF,OAAQp8E,KAAKq5B,UACX,KAAKy0B,UAAUwuB,eACb,OAAOt8E,KAAKm8G,OAEd,KAAKruD,UAAUuM,UACf,KAAKvM,UAAUC,mBACf,KAAKD,UAAUqM,4BACf,KAAKrM,UAAUsM,aACb,OAAOp6D,KAAKo7D,MAEd,QACE,OAAO,KAGb,CAEA,aAAIghB,CAAUr+E,OAKZ;;AAJc,OAAVA,QACFA,MAAQ,IAGFiC,KAAKq5B,UACX,KAAKy0B,UAAUwuB,eACbohK,4BAA4B19O,KAAMjC,OAClC,MAEF,KAAK+vD,UAAUuM,UACf,KAAKvM,UAAUC,mBACf,KAAKD,UAAUqM,4BACf,KAAKrM,UAAUsM,aACbp6D,KAAKi8D,YAAY,EAAGj8D,KAAKE,OAAQnC,OAIvC,CAGA,eAAIs+E;;AACF,OAAQr8E,KAAKq5B,UACX,KAAKy0B,UAAU8M,uBACf,KAAK9M,UAAUx0B,aAAc,CAC3B,IAAI4pD,KAAO,GACX,IAAK,MAAMpH,SAASxxE,cAAc8uB,aAAap5B,MACzC87E,MAAMziD,WAAay0B,UAAUuM,WAAayhB,MAAMziD,WAAay0B,UAAUC,qBACzEm1B,MAAQpH,MAAMM,WAGlB,OAAO8G,IACT,CAEA,KAAKp1B,UAAUwuB,eACb,OAAOt8E,KAAKm8G,OAGd,KAAKruD,UAAUuM,UACf,KAAKvM,UAAUC,mBACf,KAAKD,UAAUqM,4BACf,KAAKrM,UAAUsM,aACb,OAAOp6D,KAAKo7D,MAGd,QACE,OAAO,KAGb,CACA,eAAIihB,CAAYt+E,OAKd;;AAJc,OAAVA,QACFA,MAAQ,IAGFiC,KAAKq5B,UACX,KAAKy0B,UAAU8M,uBACf,KAAK9M,UAAUx0B,aAAc,CAE3B,IAAI2jL,SAAW,KAED,KAAVl/M,QACFk/M,SAAWj9M,KAAKmL,eAAesxF,eAAe1+F,QAGhDiC,KAAK+rF,YAAYkxH,UACjB,KACF,CAEA,KAAKnvJ,UAAUwuB,eACbohK,4BAA4B19O,KAAMjC,OAClC,MAGF,KAAK+vD,UAAUuM,UACf,KAAKvM,UAAUC,mBACf,KAAKD,UAAUqM,4BACf,KAAKrM,UAAUsM,aACbp6D,KAAKi8D,YAAY,EAAGj8D,KAAKE,OAAQnC,OAIvC,CAGA88D,YAAAA,CAAaoiJ,SAAU0gC;;AACrB,OAAO39O,KAAKkxL,WAAW+rB,SAAU0gC,UACnC,CAGAriL,WAAAA,CAAY2hJ;;AACV,OAAOj9M,KAAKy7F,QAAQwhH,SACtB,CAGAlhI,YAAAA,CAAakhI,SAAU0gC;;AACrB,OAAO39O,KAAK67F,SAASohH,SAAU0gC,UACjC,CAGAjjL,WAAAA,CAAYkjL;;AACV,OAAO59O,KAAK69O,WAAWD,aACzB,CAGArjL,kBAAAA,CAAmB0iJ,SAAU0gC;;AAC3B,MAAM,UAAe1gC,SACf6gC,WAAa99O,KAAKq5B,SAExB,GACEykN,aAAehwL,UAAUiQ,eACzB+/K,aAAehwL,UAAU8M,wBACzBkjL,aAAehwL,UAAUx0B,aAEzB,MAAMluB,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,+BAA+BrL,KAAKg8E,mBACpC,0BAIJ,GAAI2gK,wBAAwB1/B,SAAUj9M,MACpC,MAAMoL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,oDACA,0BAIJ,GAAIsyO,WAAarzO,cAAcC,OAAOozO,aAAe39O,KACnD,MAAMoL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,4CACA,kBAIJ,GACEguB,WAAay0B,UAAU8M,wBACvBvhC,WAAay0B,UAAUiL,oBACvB1/B,WAAay0B,UAAUx0B,cACvBD,WAAay0B,UAAUuM,WACvBhhC,WAAay0B,UAAUC,oBACvB10B,WAAay0B,UAAUqM,6BACvB9gC,WAAay0B,UAAUsM,aAEvB,MAAMhvD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,GAAG4xM,SAASjhI,kDACZ,0BAIJ,GACG3iD,WAAay0B,UAAUuM,WAAayjL,aAAehwL,UAAUiQ,eAC7D1kC,WAAay0B,UAAUiL,oBAAsB+kL,aAAehwL,UAAUiQ,cAEvE,MAAM3yD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,GAAG4xM,SAASjhI,sCAAsCh8E,KAAKg8E,mBACvD,0BAIJ,GAAI8hK,aAAehwL,UAAUiQ,cAAe,CAC1C,MAAMggL,aAAezzO,cAAcgwD,gBAAgB2iJ,UAC7C+gC,eAAiB1zO,cAAcgwD,gBAAgBt6D,MAErD,OAAQq5B,UACN,KAAKy0B,UAAU8M,uBAAwB,CACrC,MAAMqjL,qBAAuBF,aAAaxmN,OAAOukD,OAASA,MAAMziD,WAAay0B,UAAUx0B,cACvF,GAAI2kN,qBAAqB/9O,OAAS,EAChC,MAAMkL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB4xM,SAASjhI,oBAAoBh8E,KAAKg8E,iBAC1D,0BAKJ,GAD4B+hK,aAAaz+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUuM,WAElF,MAAMjvD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB4xM,SAASjhI,oBAAoBh8E,KAAKg8E,iBAC1D,0BAIJ,GACkC,IAAhCiiK,qBAAqB/9O,SAEnB89O,eAAe1+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUx0B,eACzDqkN,WAAaA,UAAUtkN,WAAay0B,UAAUiL,oBAE7C4kL,WACArzO,cAAcsuD,YAAY+kL,YAC1BrzO,cAAcsuD,YAAY+kL,WAAWtkN,WAAay0B,UAAUiL,oBAIhE,MAAM3tD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB4xM,SAASjhI,oBAAoBh8E,KAAKg8E,iBAC1D,0BAGJ,KACF,CAEA,KAAKluB,UAAUx0B,aACb,GACE0kN,eAAe1+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUx0B,eACzDqkN,WAAaA,UAAUtkN,WAAay0B,UAAUiL,oBAE7C4kL,WACArzO,cAAcsuD,YAAY+kL,YAC1BrzO,cAAcsuD,YAAY+kL,WAAWtkN,WAAay0B,UAAUiL,mBAG9D,MAAM3tD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB4xM,SAASjhI,oBAAoBh8E,KAAKg8E,iBAC1D,0BAGJ,MAEF,KAAKluB,UAAUiL,mBACb,GACEilL,eAAe1+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUiL,qBAExD4kL,WACArzO,cAAcguB,gBAAgBqlN,YAC9BrzO,cAAcguB,gBAAgBqlN,WAAWtkN,WAAay0B,UAAUx0B,eAEhEqkN,WAAaK,eAAe1+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUx0B,cAEzE,MAAMluB,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB4xM,SAASjhI,oBAAoBh8E,KAAKg8E,iBAC1D,0BAKV,CACF,CAGAk1G,UAAAA,CAAW+rB,SAAU0gC;;AACnB39O,KAAKu6D,mBAAmB0iJ,SAAU0gC,WAElC,IAAIO,mBAAqBP,UASzB,OARIO,qBAAuBjhC,WACzBihC,mBAAqB5zO,cAAcsuD,YAAYqkJ,WAGjDj9M,KAAKmL,eAAewyF,WAAWs/G,UAE/Bj9M,KAAKu7F,QAAQ0hH,SAAUihC,oBAEhBjhC,QACT,CAGA1hH,OAAAA,CAAQ0hH,SAAU0gC,UAAWQ;;AAC3B,MAAM1qN,MAAQwpL,SAAS5jL,WAAay0B,UAAU8M,uBAC1CtwD,cAAc61M,cAAclD,UAC5B,EAEJ,GAAI0gC,UAAW,CACb,MAAMS,WAAa9zO,cAAcgD,MAAMqwO,WAEvC,IAAK,MAAMzkL,SAASl5D,KAAKy+D,kBAAmB,CAC1C,MAAM,OAAQ,MAAWvF,MAErBS,OAAOb,OAASslL,YAClBllL,MAAMO,mBAAmBz5D,KAAM25D,OAAOb,OAASrlC,OAG7C8lC,KAAKT,OAASslL,YAChBllL,MAAMM,iBAAiBx5D,KAAMu5D,KAAKT,OAASrlC,MAE/C,CACF,CAEA,MAAM4qN,UAAYphC,SAAS5jL,WAAay0B,UAAU8M,uBAChDtwD,cAAcgwD,gBAAgB2iJ,UAC9B,CAACA,UAEH,GAAIA,SAAS5jL,WAAay0B,UAAU8M,uBAAwB,CAC1D,IAAI0jL,eACJ,KAAQA,eAAiBh0O,cAAcoxD,WAAWuhJ,WAChDA,SAASvsJ,QAAQ4tL,gBAAgB,EAErC,CAEIrhC,SAAS5jL,WAAay0B,UAAU8M,wBAClC63B,wBAAwBwqH,SAAU,GAAIohC,UAAW,KAAM,MAGzD,MAAME,kBAAoBZ,UACxBrzO,cAAcguB,gBAAgBqlN,WAC9BrzO,cAAcsxD,UAAU57D,MAE1B,IAAIk8E,YAEJ,IAAK,MAAMjxE,QAAQozO,UAAW,CACvBV,UAGHrzO,cAAcuwD,aAAa8iL,UAAW1yO,MAFtCX,cAAcgxD,YAAYt7D,KAAMiL,MAM/BjL,KAAKq5B,WAAay0B,UAAUx0B,cAAqC,OAArBt5B,KAAKuxL,aACjDtmL,KAAKouB,WAAay0B,UAAUx0B,cAAgBruB,KAAKouB,WAAay0B,UAAUuM,WAEzE+jJ,WAAWnzM,MAGbjL,KAAKy6F,YAEDxvF,KAAKouB,WAAay0B,UAAUuM,WAC5BpvD,KAAKouB,WAAay0B,UAAUC,oBAC9B/tD,KAAKwhJ,+BAGH27D,OAAOn9M,OAAwC,IAA/BA,KAAKksI,eAAehsI,QAAgB0rF,aAAaxyB,SAASp5D,QAC5Ey9M,iBAAiBz9M,MAGnB,MAAMq3B,KAAO+hC,SAASnuD,MAetB,GAdI2gF,aAAav0D,OACf80G,sBAAsB90G,MAGpBr3B,KAAK+vD,WAAaktJ,SAASt8I,SAC7B11D,KAAK01D,UAGP3gE,KAAKu8L,iBAAiBv8L,KAAMiL,WAERxN,IAAhBy+E,cACFA,YAAcjxE,KAAKixE,aAGjBA,YACF,IAAK,MAAM4hB,uBAAuBC,4CAA4C9yF,MACvC,WAAjC6yF,oBAAoBE,SACtBC,0BAA0BH,oBAAqB,oBAAqB,IAEpE6rF,kBAAkB7rF,oBAI1B,CAEKqgJ,mBACH1rJ,wBAAwBzyF,KAAMq+O,UAAW,GAAIE,kBAAmBZ,UAEpE,CAGAliJ,OAAAA,CAAQwhH;;AACN,OAAOj9M,KAAKkxL,WAAW+rB,SAAU,KACnC,CAGAphH,QAAAA,CAASohH,SAAU0gC;;AACjB,MAAM,SAAU,UAAe1gC,UACvB5jL,SAAUykN,WAAY9hK,SAAUwiK,YAAex+O,KAGvD,GACE89O,aAAehwL,UAAUiQ,eACzB+/K,aAAehwL,UAAU8M,wBACzBkjL,aAAehwL,UAAUx0B,aAEzB,MAAMluB,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,+BAA+BmzO,qBAC/B,0BAIJ,GAAI7B,wBAAwB1/B,SAAUj9M,MACpC,MAAMoL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,oDACA,0BAIJ,GAAIsyO,WAAarzO,cAAcC,OAAOozO,aAAe39O,KACnD,MAAMoL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,4CACA,kBAIJ,GACEguB,WAAay0B,UAAU8M,wBACvBvhC,WAAay0B,UAAUiL,oBACvB1/B,WAAay0B,UAAUx0B,cACvBD,WAAay0B,UAAUuM,WACvBhhC,WAAay0B,UAAUC,oBACvB10B,WAAay0B,UAAUqM,6BACvB9gC,WAAay0B,UAAUsM,aAEvB,MAAMhvD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,GAAG2wE,kDACH,0BAIJ,GACG3iD,WAAay0B,UAAUuM,WAAayjL,aAAehwL,UAAUiQ,eAC7D1kC,WAAay0B,UAAUiL,oBAAsB+kL,aAAehwL,UAAUiQ,cAEvE,MAAM3yD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,GAAG2wE,sCAAsCwiK,qBACzC,0BAIJ,GAAIV,aAAehwL,UAAUiQ,cAAe,CAC1C,MAAMggL,aAAezzO,cAAcgwD,gBAAgB2iJ,UAC7C+gC,eAAiB1zO,cAAcgwD,gBAAgBt6D,MAErD,OAAQq5B,UACN,KAAKy0B,UAAU8M,uBAAwB,CACrC,MAAMqjL,qBAAuBF,aAAaxmN,OAAOukD,OAASA,MAAMziD,WAAay0B,UAAUx0B,cACvF,GAAI2kN,qBAAqB/9O,OAAS,EAChC,MAAMkL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB2wE,oBAAoBwiK,mBAC5C,0BAKJ,GAD4BT,aAAaz+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUuM,WAElF,MAAMjvD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB2wE,oBAAoBwiK,mBAC5C,0BAKJ,MAAMC,oBAAsBT,eAAezmN,OAAOukD,OAASA,MAAMziD,WAAay0B,UAAUx0B,cACxF,GACkC,IAAhC2kN,qBAAqB/9O,SAEa,IAA/Bu+O,oBAAoBv+O,QAAgBu+O,oBAAoB,KAAOd,WAE9DA,WACArzO,cAAcsuD,YAAY+kL,YAC1BrzO,cAAcsuD,YAAY+kL,WAAWtkN,WAAay0B,UAAUiL,oBAIhE,MAAM3tD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB2wE,oBAAoBwiK,mBAC5C,0BAGJ,KACF,CAEA,KAAK1wL,UAAUx0B,aACb,GACE0kN,eAAe1+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUx0B,cAAgBwiD,QAAU6hK,YAElFA,WACArzO,cAAcsuD,YAAY+kL,YAC1BrzO,cAAcsuD,YAAY+kL,WAAWtkN,WAAay0B,UAAUiL,mBAG9D,MAAM3tD,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB2wE,oBAAoBwiK,mBAC5C,0BAGJ,MAEF,KAAK1wL,UAAUiL,mBACb,GACEilL,eAAe1+O,KAAKw8E,OAASA,MAAMziD,WAAay0B,UAAUiL,oBAAsB+iB,QAAU6hK,YAExFA,WACArzO,cAAcguB,gBAAgBqlN,YAC9BrzO,cAAcguB,gBAAgBqlN,WAAWtkN,WAAay0B,UAAUx0B,aAGlE,MAAMluB,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wBAAwB2wE,oBAAoBwiK,mBAC5C,0BAKV,CAEA,IAAIN,mBAAqB5zO,cAAcsuD,YAAY+kL,WAC/CO,qBAAuBjhC,WACzBihC,mBAAqB5zO,cAAcsuD,YAAYqkJ,WAGjD,MAAMyhC,oBAAsBp0O,cAAcguB,gBAAgBqlN,WAE1D39O,KAAKmL,eAAewyF,WAAWs/G,UAE/B,IAAI0hC,iBAAmB,GAEnBr0O,cAAcC,OAAOozO,aACvBgB,iBAAmB,CAAChB,WACpB39O,KAAK0wD,QAAQitL,WAAW,IAG1B,MAAMU,UAAYphC,SAAS5jL,WAAay0B,UAAU8M,uBAChDtwD,cAAcgwD,gBAAgB2iJ,UAC9B,CAACA,UAMH,OAJAj9M,KAAKu7F,QAAQ0hH,SAAUihC,oBAAoB,GAE3CzrJ,wBAAwBzyF,KAAMq+O,UAAWM,iBAAkBD,oBAAqBR,oBAEzEP,SACT,CAGA5xJ,WAAAA,CAAYkxH;;AACO,OAAbA,UACFj9M,KAAKmL,eAAewyF,WAAWs/G,UAGjC,MAAM0hC,iBAAmBr0O,cAAcgwD,gBAAgBt6D,MAEvD,IAAI4+O,eAEFA,eADe,OAAb3hC,SACe,GACRA,SAAS5jL,WAAay0B,UAAU8M,uBACxBtwD,cAAcgwD,gBAAgB2iJ,UAE9B,CAACA,UAGpB,IAAK,MAAM0gC,aAAarzO,cAAc0uF,iBAAiBh5F,MACrDA,KAAK0wD,QAAQitL,WAAW,GAGT,OAAb1gC,UACFj9M,KAAKu7F,QAAQ0hH,SAAU,MAAM,IAG3B2hC,eAAe1+O,OAAS,GAAKy+O,iBAAiBz+O,OAAS,IACzDuyF,wBAAwBzyF,KAAM4+O,eAAgBD,iBAAkB,KAAM,KAE1E,CAGAd,UAAAA,CAAWF;;AACT,GAAIrzO,cAAcC,OAAOozO,aAAe39O,KACtC,MAAMoL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,sDACA,kBAMJ,OAFArL,KAAK0wD,QAAQitL,WAENA,SACT,CAGAjtL,OAAAA,CAAQusJ,SAAUkhC;;AAChB,MAAM7wO,MAAQhD,cAAcgD,MAAM2vM,UAElC,IAAK,MAAMp+E,cAAcv0H,cAAc8uB,aAAa6jL,UAClD,IAAK,MAAM/jJ,SAAS2lE,WAAWpgE,kBAAmB,CAChD,MAAM,OAAQ,MAAWvF,MAErBS,OAAO1uD,OAAS4zH,YAClB3lE,MAAMO,mBAAmBz5D,KAAMsN,OAG7BisD,KAAKtuD,OAAS4zH,YAChB3lE,MAAMM,iBAAiBx5D,KAAMsN,MAEjC,CAGF,IAAK,MAAM4rD,SAASl5D,KAAKy+D,kBAAmB,CAC1C,MAAM,OAAQ,MAAWvF,MAErBS,OAAO1uD,OAASjL,MAAQ25D,OAAOb,OAASxrD,OAC1C4rD,MAAMO,mBAAmBz5D,KAAM25D,OAAOb,OAAS,GAG7CS,KAAKtuD,OAASjL,MAAQu5D,KAAKT,OAASxrD,OACtC4rD,MAAMM,iBAAiBx5D,KAAMu5D,KAAKT,OAAS,EAE/C,CAEI94D,KAAKmL,gBACPnL,KAAKmL,eAAe2wF,qBAAqBmhH,UAG3C,MAAM4hC,uBAAyBv0O,cAAcguB,gBAAgB2kL,UACvD6hC,mBAAqBx0O,cAAcsuD,YAAYqkJ,UAErD3yM,cAAckxB,OAAOyhL,UAEjBA,SAASU,eACXN,eAAeJ,SAASU,eAGtBR,OAAOn9M,OAAwC,IAA/BA,KAAKksI,eAAehsI,QAAgB0rF,aAAaxyB,SAASp5D,QAC5Ey9M,iBAAiBz9M,MAGnB,IAAI++O,kBAAoB5hC,OAAOF,UAC/B,IAAK8hC,kBACH,IAAK,MAAMjjK,SAASxxE,cAAc8uB,aAAa6jL,UAC7C,GAAIE,OAAOrhI,OAAQ,CACjBijK,mBAAoB,EACpB,KACF,CAaJ,GATIA,oBACF5yG,sBAAsB/yE,SAASp5D,OAC/BmsI,sBAAsB8wE,WAGxBj9M,KAAKy6F,YACLwiH,SAASr8I,UACT5gE,KAAKs5F,mBAAmBt5F,KAAMi9M,UAE1Bj9M,KAAKk8E,YAAa,CACM,WAAtB+gI,SAASj/G,UACXC,0BAA0Bg/G,SAAU,uBAAwB,IAG9D,IAAK,MAAM+hC,kBAAkB1gC,mCAAmCrB,UAC9B,WAA5B+hC,eAAehhJ,UACjBC,0BAA0B+gJ,eAAgB,uBAAwB,GAGxE,CAEKb,mBACH1rJ,wBAAwBzyF,KAAM,GAAI,CAACi9M,UAAW4hC,uBAAwBC,oBAGpE7hC,SAAS5jL,WAAay0B,UAAUuM,WAClCr6D,KAAKwhJ,8BAET,G,6EChoCF,MAAM7pI,YAAc7a,oBAAQ,OAY5BJ,OAAOC,QAAU,CACfuB,eAXF,MACE0B,WAAAA,CAAYtC;;AACV0C,KAAKmY,OAASR,YAAY/Y,WAAWtB,aAAc,GACrD,CAEA8a,KAAAA,CAAMN;;AACJ9X,KAAKmY,OAAOqjO,aAAa1jO,OAC3B,G,0FCTF,MAAM1M,aAAetO,oBAAQ,MACvBiF,SAAWjF,oBAAQ,QACnB,OAAQ,QAAaA,oBAAQ,OAKnC,MAAMmiP,KACJ74J,SAAAA,EAAU,QACD,UACE,UACE;;AAEXpmF,KAAK09E,SAAW5tB,QAChB9vD,KAAKo6O,WAAa1jF,UAClB12J,KAAKk/O,wBAA0BpvL,QAAQlwD,YAAYgL,kBAAkBqC,IAAIypJ,WACzE12J,KAAK4lF,UAAYC,SACjB7lF,KAAKkkF,MAAQ,GACblkF,KAAKg9O,UAAY,CACnB,CAEA,gBAAImC;;AACF,OAAOn/O,KAAKg9O,SAAWh9O,KAAK09E,SAASs/J,QACvC,CAEAluG,YAAAA;;AACE,IAAK9uI,KAAKm/O,aACR,OAEF,IAAIphP,MAAQ,GACRiC,KAAK09E,SAAS7tB,eAAe,KAAM7vD,KAAKo6O,cAC1Cr8O,MAAQiC,KAAKk/O,wBAAwBvoF,SAAS32J,KAAK09E,SAASx5D,eAAe,KAAMlkB,KAAKo6O,cAEnE,IAAjBr8O,MAAMmC,aAA8DzC,IAA9CuC,KAAKk/O,wBAAwBtoF,eACrD74J,MAAQiC,KAAKk/O,wBAAwBvoF,SAAS32J,KAAKk/O,wBAAwBtoF,eAG7E52J,KAAKkkF,MAAQnmF,MACbiC,KAAKg9O,SAAWh9O,KAAK09E,SAASs/J,QAChC,CAEAjuG,YAAAA;;AACE,MAAMpiD,SAAW3sF,KAAKkkF,MACtBlkF,KAAK09E,SAASt5D,eAAe,KAAMpkB,KAAKo6O,WAAYp6O,KAAKk/O,wBAAwBjkN,UAAU0xD,WAE3F3sF,KAAKg9O,SAAWh9O,KAAK09E,SAASs/J,QAChC,CAEA,CAACj7O,SAASoN,uBAAuB7B;;AAE/B,OADAtN,KAAK8uI,eACExhI,OAAS,GAAKA,MAAQtN,KAAKE,MACpC,CAEA,IAAK6B,SAASoM;;AAEZ,OADAnO,KAAK8uI,eACE9uI,KAAKkkF,MAAM38E,MACpB,CAEA,UAAIrH;;AAEF,OADAF,KAAK8uI,eACE9uI,KAAKkkF,MAAMhkF,MACpB,CAEA,iBAAIk/O;;AAEF,OADAp/O,KAAK8uI,eACE9uI,KAAKkkF,MAAMhkF,MACpB,CAEA6C,KAAAA,GAEE;;AADA/C,KAAK8uI,eACD9uI,KAAK4lF,UACP,MAAMx6E,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wCACA,+BAGJ,IAAK,MAAMgC,QAAQrN,KAAKkkF,MACtBnsD,OAAO1qB,MAETrN,KAAKkkF,MAAMhkF,OAAS,EACpBF,KAAK+uI,cACP,CAEA+pE,UAAAA,CAAWumC,SAET;;AADAr/O,KAAK8uI,eACD9uI,KAAK4lF,UACP,MAAMx6E,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wCACA,+BAGJ,IAAK,MAAMgC,QAAQrN,KAAKkkF,MACtBnsD,OAAO1qB,MAETrN,KAAKkkF,MAAMhkF,OAAS,EAEpBssF,OAAO6yJ,QAASr/O,MAChBA,KAAKkkF,MAAM5jF,KAAK++O,SAChBr/O,KAAK+uI,cACP,CAEAizD,OAAAA,CAAQ10L,OAEN;;AADAtN,KAAK8uI,eACDxhI,OAAStN,KAAKkkF,MAAMhkF,OACtB,MAAMkL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,uBAAuBiC,yDAAyDtN,KAAKkkF,MAAMhkF,WAC3F,mBAGJ,OAAOF,KAAKkkF,MAAM52E,MACpB,CAEAgyO,gBAAAA,CAAiBD,QAAS/xO,OAExB;;AADAtN,KAAK8uI,eACD9uI,KAAK4lF,UACP,MAAMx6E,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wCACA,+BAUJ,OANIiC,MAAQtN,KAAKkkF,MAAMhkF,SACrBoN,MAAQtN,KAAKkkF,MAAMhkF,QAErBF,KAAKkkF,MAAMhhF,OAAOoK,MAAO,EAAG+xO,SAC5B7yJ,OAAO6yJ,QAASr/O,MAChBA,KAAK+uI,eACEswG,OACT,CAEAE,WAAAA,CAAYF,QAAS/xO,OAEnB;;AADAtN,KAAK8uI,eACD9uI,KAAK4lF,UACP,MAAMx6E,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wCACA,+BAGJ,GAAIiC,OAAStN,KAAKkkF,MAAMhkF,OACtB,MAAMkL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,uBAAuBiC,yDAAyDtN,KAAKkkF,MAAMhkF,WAC3F,mBAQJ,OAJA63B,OAAO/3B,KAAKkkF,MAAM52E,QAClBtN,KAAKkkF,MAAM52E,OAAS+xO,QACpB7yJ,OAAO6yJ,QAASr/O,MAChBA,KAAK+uI,eACEswG,OACT,CAEAh9C,UAAAA,CAAW/0L,OAET;;AADAtN,KAAK8uI,eACD9uI,KAAK4lF,UACP,MAAMx6E,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,wCACA,+BAGJ,GAAIiC,OAAStN,KAAKkkF,MAAMhkF,OACtB,MAAMkL,aAAavN,OAAOmC,KAAKqL,cAAe,CAC5C,uBAAuBiC,yDAAyDtN,KAAKkkF,MAAMhkF,WAC3F,mBAGJ,MAAMmN,KAAOrN,KAAKkkF,MAAM52E,OAIxB,OAHAyqB,OAAO1qB,MACPrN,KAAKkkF,MAAMhhF,OAAOoK,MAAO,GACzBtN,KAAK+uI,eACE1hI,IACT,CAEAmyO,UAAAA,CAAWH;;AAMT,OALAr/O,KAAK8uI,eAEL9uI,KAAKkkF,MAAM5jF,KAAK++O,SAChB7yJ,OAAO6yJ,QAASr/O,MAChBA,KAAK+uI,eACEswG,OACT,CAEA,CAACt9O,SAAS09O,eAAenyO,MAAOvP;;AAE9BiC,KAAKu/O,YAAYxhP,MAAOuP,MAC1B,CAEA,CAACvL,SAAS29O,oBAAoBpyO,MAAOvP;;AACnCiC,KAAKu/O,YAAYxhP,MAAOuP,MAC1B,EAGF5Q,OAAOC,QAAUsiP,I,6EChMjB,MAAMnuF,SAAWh0J,oBAAQ,OACnB6iP,QAAU7iP,oBAAQ,OAClBiyE,aAAejyE,oBAAQ,QACvB,gBAAqBA,oBAAQ,OAEnC,SAAS8iP,iBAAiB3gM;;AACxB,MAAO,gBAAgBjvB,KAAKivB,IAC9B,CAEA,SAAS4gM,WAAWngO;;AAClB,IAAI9C,MAAQ,EACRwJ,IAAM2oD,aAAa7uE,OAAS,EAEhC,KAAO0c,OAASwJ,KAAK,CACnB,MAAM0qD,IAAMp4D,KAAKC,OAAOiE,MAAQwJ,KAAO,GAEjCvgB,OAASkpE,aAAa+B,KACtB3jC,IAAMxlC,MAAMirB,QAAQ/sB,OAAO,IAAMA,OAAO,GAAG,GAAKA,OAAO,GACvDiT,IAAMnR,MAAMirB,QAAQ/sB,OAAO,IAAMA,OAAO,GAAG,GAAKA,OAAO,GAE7D,GAAIsnC,KAAOztB,KAAO5G,KAAO4G,IACvB,OAAO7Z,OAAO+C,MAAM,GACXukC,IAAMztB,IACf0G,IAAM0qD,IAAM,EAEZl0D,MAAQk0D,IAAM,CAElB,CAEA,OAAO,IACT,CAqCA,SAASgvK,cAAc1lN,OAAO,aAChB,UACH,aACG,uBACU,kBACL;;AAIjB,GAAqB,IAAjBA,MAAMl6B,OACR,OAAO,EAIT,GAAIk6B,MAAMihD,UAAU,SAAWjhD,MAC7B,OAAO,EAGT,MAAM2lN,WAAap4O,MAAMgb,KAAKyX,OAM9B,GAAIyiJ,eACqB,MAAlBkjE,WAAW,IAAgC,MAAlBA,WAAW,IACpC3lN,MAAMrwB,WAAW,MAAQqwB,MAAM+R,SAAS,MAC3C,OAAO,EAKX,IAAK0wI,cACCziJ,MAAMrwB,WAAW,QACnB,OAAO,EAKX,GAAIqwB,MAAMrlB,SAAS,KACjB,OAAO,EAIT,GAAI4qO,QAAQjgJ,eAAe1vE,KAAK+vN,WAAW,IACzC,OAAO,EAIT,IAAK,MAAM1oL,MAAM0oL,WAAY,CAC3B,MAAMp+J,UAAYtqB,GAAGkpB,YAAY,IAC1BxjE,QAAU8iO,WAAWl+J,WAC5B,GAAIs7F,wBAEF,GAAIlgK,SAAWwkL,eAAe16I,MAC5B,OAAO,OAEJ,GAAI9pC,SAAWwkL,eAAe16I,OAAS9pC,SAAWwkL,eAAeE,UAEtE,OAAO,EAKT,GAAIzkB,mBAAqBr7F,WAAa,MAC/B,uBAAuB3xD,KAAKqnC,IAC/B,OAAO,CAGb,CAIA,GAAI0lH,aAAc,CAChB,IAAInrE,KAAO,EACX,IAAK,MAAOnxG,EAAG42D,MAAO0oL,WAAW9hO,UAC/B,GAAW,MAAPo5C,IAA0B,MAAPA,GAAiB,CACtC,GAAI52D,EAAI,EAAG,CACT,GAAIk/O,QAAQhgJ,qBAAqB3vE,KAAK+vN,WAAWt/O,EAAI,IACnD,SAEF,GAAW,MAAP42D,GAAiB,CAEnB,MAAM/7C,KAAOykO,WAAWz7O,QAAQ,IAAU7D,EAAI,GACxCuvB,KAAO1U,KAAO,EAAIykO,WAAWn3O,MAAMgpG,MAAQmuI,WAAWn3O,MAAMgpG,KAAMt2F,MACxE,GAAIqkO,QAAQ//I,UAAU5vE,KAAKA,KAAKQ,KAAK,KAAM,CACzCohF,KAAOnxG,EAAI,EACX,QACF,CACF,CACF,CACA,OAAO,CACT,CAEJ,CAIA,GAAIq8K,WAAakjE,OAAQ,CACvB,IAAIC,IAGJ,GAAIN,QAAQ7/I,UAAU9vE,KAAK+vN,WAAW,IACpCE,KAAM,MACD,KAAIN,QAAQ5/I,UAAU/vE,KAAK+vN,WAAW,IAG3C,OAAO,EAFPE,KAAM,CAGR,CAEA,GAAIA,KAEF,IAAKN,QAAQ3/I,OAAOhwE,KAAKoK,SACpBulN,QAAQ1/I,OAAOjwE,KAAKoK,QACpBulN,QAAQz/I,SAASlwE,KAAKoK,QAAUulN,QAAQx/I,SAASnwE,KAAKoK,OACzD,OAAO,OAEJ,IAAKulN,QAAQv/I,OAAOpwE,KAAKoK,SACpBulN,QAAQt/I,OAAOrwE,KAAKoK,OAC9B,OAAO,CAEX,CAEA,OAAO,CACT,CAgBA,SAAS8lN,WAAWtvF,WAAY/gJ;;AAE9B,IAAIsyD,OAjLN,SAAkByuF,YAAY;;AAC5B,IAAIuvF,UAAY,GAEhB,IAAK,MAAM9oL,MAAMu5F,WAAY,CAC3B,MAAO7zI,OAAQ0oL,SAAWo6C,WAAWxoL,GAAGkpB,YAAY,IAEpD,OAAQxjE,QACN,KAAKwkL,eAAeC,WAClB2+C,WAAa9oL,GACb,MACF,KAAKkqI,eAAeG,QAClB,MACF,KAAKH,eAAe5+H,OAEhBw9K,WADEljE,wBAAiC,MAAP5lH,GACf,KAEAouI,QAEf,MACF,KAAKlE,eAAeE,UAEhB0+C,WADEljE,uBACWwoB,QAEApuI,GAEf,MACF,KAAKkqI,eAAe16I,MAClBs5L,WAAa9oL,GAGnB,CAEA,OAAO8oL,SACT,CAgJeC,CAASxvF,WAAY/gJ,SAGlCsyD,OAASA,OAAOkZ,UAAU,OAG1B,MAAM+hC,OAASj7C,OAAOr5D,MAAM,KACtBk3O,OAvBR,SAAsB5iI;;AACpB,MAAM70G,OAAS60G,OAAOl1G,IAAIkyB;;AACxB,GAAIA,MAAMrwB,WAAW,QACnB,IACE,OAAO+mJ,SAASx6H,OAAO8D,MAAMnwB,UAAU,GACzC,CAAE,MACA,MAAO,EACT,CAEF,OAAOmwB,QACN5J,KAAK,KACR,OAAOmvN,QAAQ9/I,WAAW7vE,KAAKznB,OACjC,CAWiB83O,CAAajjI,QAG5B,IAAI9lG,OAAQ,EACZ,IAAK,MAAO7W,EAAG6/O,aAAcljI,OAAOn/F,UAAW,CAC7C,IAAImc,MAAQkmN,UACRC,mCAAqC1wO,QAAQotK,uBACjD,GAAI7iJ,MAAMrwB,WAAW,QAAS,CAC5B,GAAI61O,iBAAiBxlN,OAAQ,CAC3B9iB,OAAQ,EACR,QACF,CAEA,IACE8iB,MAAQ02H,SAASx6H,OAAO8D,MAAMnwB,UAAU,GAC1C,CAAE,MACA,IAAK4F,QAAQstK,sBAAuB,CAClC7lK,OAAQ,EACR,QACF,CACF,CACA8lG,OAAO38G,GAAK25B,MAEE,KAAVA,OAAiBwlN,iBAAiBxlN,SACpC9iB,OAAQ,GAGVipO,oCAAqC,CACvC,CAGA,GAAIjpO,MACF,SAEiBwoO,cAAc1lN,MAAO,IACnCvqB,QACHotK,uBAAwBsjE,mCACxBP,WAGA1oO,OAAQ,EAEZ,CAEA,MAAO,CACL6qD,OAAQi7C,OAAO5sF,KAAK,KACpBlZ,MAEJ,CA0EA5a,OAAOC,QAAU,CACfw2J,QAzEF,SAAiBvC,YAAY,cACZ,EAAK,WACR,EAAK,cACF,EAAK,mBACA,EAAK,iBACP,EAAK,wBACE,EAAK,uBACN,GACtB,CAAC;;AACH,MAAM17H,OAASgrN,WAAWtvF,WAAY,CACpCisB,aACAC,UACAC,aACAC,kBACAC,uBACAE,wBAEF,IAAI//D,OAASloF,OAAOitC,OAAOr5D,MAAM,KAYjC,GAXAs0G,OAASA,OAAOl1G,IAAI+H;;AAClB,GAAI2vO,iBAAiB3vO,GACnB,IACE,MAAO,OAAO6gJ,SAAS7uF,OAAOhyD,IAChC,CAAE,MACAilB,OAAO5d,OAAQ,CACjB,CAEF,OAAOrH,IAGLitK,gBAAiB,CACnB,MAAMhnJ,MAAQknF,OAAO5sF,KAAK,KAAKtwB,QAC3Bg2B,MAAQ,KAAiB,IAAVA,SACjBhB,OAAO5d,OAAQ,GAGjB,IAAK,IAAI7W,EAAI,EAAGA,EAAI28G,OAAOl9G,SAAUO,EACnC,GAAI28G,OAAO38G,GAAGP,OAAS,IAA2B,IAArBk9G,OAAO38G,GAAGP,OAAc,CACnDg1B,OAAO5d,OAAQ,EACf,KACF,CAEJ,CAEA,OAAI4d,OAAO5d,MACF,KAEF8lG,OAAO5sF,KAAK,IACrB,EA2BEgwN,UAzBF,SAAmB5vF,YAAY,cACd,EAAK,WACR,EAAK,cACF,EAAK,mBACA,EAAK,wBACA,EAAK,uBACN,GACtB,CAAC;;AACH,MAAM17H,OAASgrN,WAAWtvF,WAAY,CACpCisB,aACAC,UACAC,aACAC,kBACAC,uBACAE,wBAGF,MAAO,CACL50K,OAAQ2sB,OAAOitC,OACf7qD,MAAO4d,OAAO5d,MAElB,E,iBCjVA,IAOImpO,iBACAC,mBARAxpO,QAAUxa,OAAOC,QAAU,CAAC,EAUhC,SAASgkP;;AACL,MAAM,IAAI5wO,MAAM,kCACpB,CACA,SAAS6wO;;AACL,MAAM,IAAI7wO,MAAM,oCACpB,CAqBA,SAAS8wO,WAAWC;;AAChB,GAAIL,mBAAqB/9O,WAErB,OAAOA,WAAWo+O,IAAK,GAG3B,IAAKL,mBAAqBE,mBAAqBF,mBAAqB/9O,WAEhE,OADA+9O,iBAAmB/9O,WACZA,WAAWo+O,IAAK,GAE3B,IAEI,OAAOL,iBAAiBK,IAAK,EACjC,CAAE,MAAMz2O,GACJ,IAEI,OAAOo2O,iBAAiBx4O,KAAK,KAAM64O,IAAK,EAC5C,CAAE,MAAMz2O,GAEJ,OAAOo2O,iBAAiBx4O,KAAKjI,KAAM8gP,IAAK,EAC5C,CACJ,CAGJ,EA5CC;;AACG,IAEQL,iBADsB,mBAAf/9O,WACYA,WAEAi+O,gBAE3B,CAAE,MAAOt2O,GACLo2O,iBAAmBE,gBACvB,CACA,IAEQD,mBADwB,mBAAjB59O,aACcA,aAEA89O,mBAE7B,CAAE,MAAOv2O,GACLq2O,mBAAqBE,mBACzB,CACH,CAnBA,GAwED,IAEIG,aAFAx/K,MAAQ,GACRy/K,UAAW,EAEXC,YAAc,EAElB,SAASC;;AACAF,UAAaD,eAGlBC,UAAW,EACPD,aAAa7gP,OACbqhE,MAAQw/K,aAAar5O,OAAO65D,OAE5B0/K,YAAc,EAEd1/K,MAAMrhE,QACNihP,aAER,CAEA,SAASA;;AACL,IAAIH,SAAJ,CAGA,IAAIz9H,QAAUs9H,WAAWK,iBACzBF,UAAW,EAGX,IADA,IAAIngN,IAAM0gC,MAAMrhE,OACV2gC,KAAK,CAGP,IAFAkgN,aAAex/K,MACfA,MAAQ,KACC0/K,WAAapgN,KACdkgN,cACAA,aAAaE,YAAYG,MAGjCH,YAAc,EACdpgN,IAAM0gC,MAAMrhE,MAChB,CACA6gP,aAAe,KACfC,UAAW,EAnEf,SAAyBK;;AACrB,GAAIX,qBAAuB59O,aAEvB,OAAOA,aAAau+O,QAGxB,IAAKX,qBAAuBE,sBAAwBF,qBAAuB59O,aAEvE,OADA49O,mBAAqB59O,aACdA,aAAau+O,QAExB,IAEI,OAAOX,mBAAmBW,OAC9B,CAAE,MAAOh3O,GACL,IAEI,OAAOq2O,mBAAmBz4O,KAAK,KAAMo5O,OACzC,CAAE,MAAOh3O,GAGL,OAAOq2O,mBAAmBz4O,KAAKjI,KAAMqhP,OACzC,CACJ,CAIJ,CA0CIC,CAAgB/9H,QAlBhB,CAmBJ,CAgBA,SAASg+H,KAAKT,IAAK//K;;AACf/gE,KAAK8gP,IAAMA,IACX9gP,KAAK+gE,MAAQA,KACjB,CAWA,SAASu2E,OAAQ,CA5BjBpgI,QAAQ+O,SAAW,SAAU66N;;AACzB,IAAI3gP,KAAO,IAAIwH,MAAM1H,UAAUC,OAAS,GACxC,GAAID,UAAUC,OAAS,EACnB,IAAK,IAAIO,EAAI,EAAGA,EAAIR,UAAUC,OAAQO,IAClCN,KAAKM,EAAI,GAAKR,UAAUQ,GAGhC8gE,MAAMjhE,KAAK,IAAIihP,KAAKT,IAAK3gP,OACJ,IAAjBohE,MAAMrhE,QAAiB8gP,UACvBH,WAAWM,WAEnB,EAOAI,KAAK7jP,UAAU0jP,IAAM;;AACjBphP,KAAK8gP,IAAI9yO,MAAM,KAAMhO,KAAK+gE,MAC9B,EACA7pD,QAAQpT,MAAQ,UAChBoT,QAAQsqO,SAAU,EAClBtqO,QAAQoB,IAAM,CAAC,EACfpB,QAAQuqO,KAAO,GACfvqO,QAAQ2zD,QAAU,GAClB3zD,QAAQwqO,SAAW,CAAC,EAIpBxqO,QAAQ+b,GAAKqkH,KACbpgI,QAAQisB,YAAcm0G,KACtBpgI,QAAQ2O,KAAOyxH,KACfpgI,QAAQozL,IAAMhzD,KACdpgI,QAAQ6b,eAAiBukH,KACzBpgI,QAAQksB,mBAAqBk0G,KAC7BpgI,QAAQgpB,KAAOo3G,KACfpgI,QAAQ6rB,gBAAkBu0G,KAC1BpgI,QAAQyqO,oBAAsBrqG,KAE9BpgI,QAAQylB,UAAY,SAAU50B;;AAAQ,MAAO,EAAG,EAEhDmP,QAAQuvE,QAAU,SAAU1+E;;AACxB,MAAM,IAAIgI,MAAM,mCACpB,EAEAmH,QAAQk0N,IAAM;;AAAc,MAAO,GAAI,EACvCl0N,QAAQ0qO,MAAQ,SAAUnwL;;AACtB,MAAM,IAAI1hD,MAAM,iCACpB,EACAmH,QAAQ2qO,MAAQ;;AAAa,OAAO,CAAG,C,6ECrLvC,IAAIC,WAA+B,oBAAXxgP,QAA0BA,OAC9CygP,cAAgBjlP,oBAAQ,MAG5BJ,OAAOC,QAAU;;AAChB,MAA0B,mBAAfmlP,aACW,mBAAXxgP,SACsB,iBAAtBwgP,WAAW,SACO,iBAAlBxgP,OAAO,QAEXygP,kBACR,C,6ECXA,MAAMllP,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBklP,cAAgBllP,oBAAQ,OACxB68B,uBAAyB78B,oBAAAA,OAAAA,aACzBG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAsC,iBAAEM,WAGxDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,+CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMw8H,yBAAyBx8H,aAAa+H,YAC1CzF,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEA4gB,IAAAA;;AACE,MAAMpf,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOwB,QAAQ5C,YAAYgiB,MAC7B,CAEAuuC,WAAAA,CAAYtmD;;AACV,MAAMrH,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,wFAAwF0B,UAAUC,mBAGtG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,qEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYuwD,eAAevtD,MACpE,CAEAwtD,IAAAA;;AACE,IACE,MAAM5tD,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAYwwD,OACrD,CAAE,MAAOtjD,GACP,OAAO/M,aAAa0T,QAAQ2gB,OAAOtnB,EACrC,CACF,CAEAw4B,KAAAA;;AACE,MAAM9iC,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOwB,QAAQ5C,YAAY0lC,OAC7B,CAEA+qB,YAAAA,CAAa/zB;;AACX,MAAM95B,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,yFAAyF0B,UAAUC,mBAGvG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAAS4hP,cAAc5jP,QAAQd,aAAc8C,OAAQ,CACnD/B,QAAS,wEAEX8B,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,sEACTgC,QAAS/C,eAGF,GAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,sEACTgC,QAAS/C,eAGF,GAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYywD,gBAAgBztD,MACrE,CAEA,OAAI25B;;AACF,MAAM/5B,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJtB,4CAA4CK,cAC5C,IACE,MAAMS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,OACjE,GAAc,OAAVzH,MACF,MAAO,GAGT,GAAIiC,KAAK+5B,kBAAoBh8B,MAC3B,OAAOiC,KAAKg6B,aAGdh6B,KAAK+5B,gBAAkBh8B,MAEvB,MAAMukB,UAAYviB,QAAQ5C,YAAYgO,eAAe8uB,kBAAkBl8B,OACvE,OAAkB,OAAdukB,WACFtiB,KAAKg6B,aAAeL,uBAAuBrX,WACpCtiB,KAAKg6B,eAEdh6B,KAAKg6B,aAAen9B,YAAYq9B,UAAUn8B,OACnCiC,KAAKg6B,aACd,CAAE,QACA98B,6CAA6CI,aAC/C,CACF,CAEA,OAAIw8B,CAAIr0B;;AACN,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,6EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,MAAOD,EAC5D,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,cAAIivD;;AACF,MAAMxsD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOwB,QAAQ5C,YAAwB,UACzC,CAEA,eAAI+qF;;AACF,MAAMnoF,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAIJtB,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYqI,+BAA+B,cAC5D,CAAE,QACAtI,6CAA6CI,aAC/C,CACF,CAEA,eAAI4qF,CAAYziF;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAKFkH,EADEA,QACE,KAEA5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,qFACTgC,QAAS/C,eAIbL,4CAA4CK,cAC5C,IACY,OAANmI,EACF1F,QAAQ5C,YAAYiJ,kCAAkC,eAEtDrG,QAAQ5C,YAAYuI,+BAA+B,cAAeD,EAEtE,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,gBAAI+uD;;AACF,MAAMtsD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJ,OAAOwB,QAAQ5C,YAA0B,YAC3C,CAEA,WAAI8kP;;AACF,MAAMliP,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJtB,4CAA4CK,cAC5C,IACE,MAAMS,MAAQgC,QAAQ5C,YAAYqI,+BAA+B,WACjE,OAAiB,OAAVzH,MAAiB,GAAKA,KAC/B,CAAE,QACAb,6CAA6CI,aAC/C,CACF,CAEA,WAAI2kP,CAAQx8O;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,iFACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAYuI,+BAA+B,UAAWD,EAChE,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,YAAIy0B;;AACF,MAAMhyB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,cAAIyU;;AACF,MAAM7R,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOwB,QAAQ5C,YAAwB,UACzC,CAEA,WAAIqvD;;AACF,MAAMzsD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOwB,QAAQ5C,YAAqB,OACtC,CAEA,eAAImvD;;AACF,MAAMvsD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAIJ,OAAOwB,QAAQ5C,YAAyB,WAC1C,CAEA,eAAImvD,CAAY7mD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAIJkH,EAAI5I,YAAoB,OAAE4I,EAAG,CAC3BpH,QAAS,qFACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,YAAIgnD;;AACF,MAAM1sD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOwB,QAAQ5C,YAAsB,QACvC,CAEA,UAAIyhC;;AACF,MAAM7+B,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,uBAAI4vD;;AACF,MAAMhtD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mGAIJ,OAAOwB,QAAQ5C,YAAiC,mBAClD,CAEA,uBAAI4vD,CAAoBtnD;;AACtB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mGAIJkH,EAAI5I,YAAoB,OAAE4I,EAAG,CAC3BpH,QAAS,6FACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAiC,oBAAIsI,CAC/C,CAEA,gBAAIynD;;AACF,MAAMntD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJ,OAAOwB,QAAQ5C,YAA0B,YAC3C,CAEA,gBAAI+vD,CAAaznD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJkH,EAAI5I,YAAoB,OAAE4I,EAAG,CAC3BpH,QAAS,sFACTgC,QAAS/C,eAGXyC,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,UAAIinD;;AACF,MAAM3sD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,YAAIwvD;;AACF,MAAM5sD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,SAAI6oB;;AACF,MAAMjmB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOwB,QAAQ5C,YAAmB,KACpC,CAEA,YAAI+kP;;AACF,MAAMniP,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJtB,4CAA4CK,cAC5C,IACE,OAA0E,OAAnEyC,QAAQ5C,YAAYqI,+BAA+B,WAC5D,CAAE,QACAtI,6CAA6CI,aAC/C,CACF,CAEA,YAAI4kP,CAASz8O;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJkH,EAAI5I,YAAqB,QAAE4I,EAAG,CAC5BpH,QAAS,kFACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACMmI,EACF1F,QAAQ5C,YAAYuI,+BAA+B,WAAY,IAE/D3F,QAAQ5C,YAAYiJ,kCAAkC,WAE1D,CAAE,QACAlJ,6CAA6CI,aAC/C,CACF,CAEA,QAAIouM;;AACF,MAAM3rM,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJtB,4CAA4CK,cAC5C,IACE,OAAsE,OAA/DyC,QAAQ5C,YAAYqI,+BAA+B,OAC5D,CAAE,QACAtI,6CAA6CI,aAC/C,CACF,CAEA,QAAIouM,CAAKjmM;;AACP,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJkH,EAAI5I,YAAqB,QAAE4I,EAAG,CAC5BpH,QAAS,8EACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACMmI,EACF1F,QAAQ5C,YAAYuI,+BAA+B,OAAQ,IAE3D3F,QAAQ5C,YAAYiJ,kCAAkC,OAE1D,CAAE,QACAlJ,6CAA6CI,aAC/C,CACF,CAEA,YAAIwhF;;AACF,MAAM/+E,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJtB,4CAA4CK,cAC5C,IACE,OAA0E,OAAnEyC,QAAQ5C,YAAYqI,+BAA+B,WAC5D,CAAE,QACAtI,6CAA6CI,aAC/C,CACF,CAEA,YAAIwhF,CAASr5E;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJkH,EAAI5I,YAAqB,QAAE4I,EAAG,CAC5BpH,QAAS,kFACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACMmI,EACF1F,QAAQ5C,YAAYuI,+BAA+B,WAAY,IAE/D3F,QAAQ5C,YAAYiJ,kCAAkC,WAE1D,CAAE,QACAlJ,6CAA6CI,aAC/C,CACF,CAEA,UAAIkwD;;AACF,MAAMztD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,UAAIqwD,CAAO/nD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJkH,EAAI5I,YAAoB,OAAE4I,EAAG,CAC3BpH,QAAS,gFACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,SAAI2nD;;AACF,MAAMrtD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOwB,QAAQ5C,YAAmB,KACpC,CAEA,SAAIiwD,CAAM3nD;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJkH,EAAI5I,YAAqB,QAAE4I,EAAG,CAC5BpH,QAAS,+EACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAmB,MAAIsI,CACjC,CAEA,gBAAI6nD;;AACF,MAAMvtD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJtB,4CAA4CK,cAC5C,IACE,OAAuE,OAAhEyC,QAAQ5C,YAAYqI,+BAA+B,QAC5D,CAAE,QACAtI,6CAA6CI,aAC/C,CACF,CAEA,gBAAIgwD,CAAa7nD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJkH,EAAI5I,YAAqB,QAAE4I,EAAG,CAC5BpH,QAAS,sFACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACMmI,EACF1F,QAAQ5C,YAAYuI,+BAA+B,QAAS,IAE5D3F,QAAQ5C,YAAYiJ,kCAAkC,QAE1D,CAAE,QACAlJ,6CAA6CI,aAC/C,CACF,CAEA,eAAIsvD;;AACF,MAAM7sD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,cAAe,IACvCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,aAEpE,CAEA,eAAI0vD;;AACF,MAAM9sD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,2FAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,cAAe,IACvCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,aAEpE,CAEA,cAAI2vD;;AACF,MAAM/sD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,aAAc,IACtCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,YAEnE,EAEFS,OAAOwD,iBAAiB04H,iBAAiBp8H,UAAW,CAClDyhB,KAAM,CAAE9d,YAAY,GACpBqsD,YAAa,CAAErsD,YAAY,GAC3BssD,KAAM,CAAEtsD,YAAY,GACpBwhC,MAAO,CAAExhC,YAAY,GACrBusD,aAAc,CAAEvsD,YAAY,GAC5By4B,IAAK,CAAEz4B,YAAY,GACnBkrD,WAAY,CAAElrD,YAAY,GAC1B6mF,YAAa,CAAE7mF,YAAY,GAC3BgrD,aAAc,CAAEhrD,YAAY,GAC5B4gP,QAAS,CAAE5gP,YAAY,GACvB0wB,SAAU,CAAE1wB,YAAY,GACxBuQ,WAAY,CAAEvQ,YAAY,GAC1BmrD,QAAS,CAAEnrD,YAAY,GACvBirD,YAAa,CAAEjrD,YAAY,GAC3BorD,SAAU,CAAEprD,YAAY,GACxBu9B,OAAQ,CAAEv9B,YAAY,GACtB0rD,oBAAqB,CAAE1rD,YAAY,GACnC6rD,aAAc,CAAE7rD,YAAY,GAC5BqrD,OAAQ,CAAErrD,YAAY,GACtBsrD,SAAU,CAAEtrD,YAAY,GACxB2kB,MAAO,CAAE3kB,YAAY,GACrB6gP,SAAU,CAAE7gP,YAAY,GACxBqqM,KAAM,CAAErqM,YAAY,GACpBy9E,SAAU,CAAEz9E,YAAY,GACxBmsD,OAAQ,CAAEnsD,YAAY,GACtB+rD,MAAO,CAAE/rD,YAAY,GACrBisD,aAAc,CAAEjsD,YAAY,GAC5BurD,YAAa,CAAEvrD,YAAY,GAC3BwrD,YAAa,CAAExrD,YAAY,GAC3ByrD,WAAY,CAAEzrD,YAAY,GAC1B,CAACC,OAAOC,aAAc,CAAExD,MAAO,mBAAoBgB,cAAc,GACjEojP,cAAe,CAAEpkP,MAAO,EAAGsD,YAAY,GACvC+gP,aAAc,CAAErkP,MAAO,EAAGsD,YAAY,GACtCghP,gBAAiB,CAAEtkP,MAAO,EAAGsD,YAAY,GACzCihP,kBAAmB,CAAEvkP,MAAO,EAAGsD,YAAY,GAC3CkhP,aAAc,CAAExkP,MAAO,EAAGsD,YAAY,GACtCmhP,cAAe,CAAEzkP,MAAO,EAAGsD,YAAY,GACvCohP,kBAAmB,CAAE1kP,MAAO,EAAGsD,YAAY,GAC3CqhP,iBAAkB,CAAE3kP,MAAO,EAAGsD,YAAY,GAC1CshP,iBAAkB,CAAE5kP,MAAO,EAAGsD,YAAY,KAE5CzD,OAAOwD,iBAAiB04H,iBAAkB,CACxCqoH,cAAe,CAAEpkP,MAAO,EAAGsD,YAAY,GACvC+gP,aAAc,CAAErkP,MAAO,EAAGsD,YAAY,GACtCghP,gBAAiB,CAAEtkP,MAAO,EAAGsD,YAAY,GACzCihP,kBAAmB,CAAEvkP,MAAO,EAAGsD,YAAY,GAC3CkhP,aAAc,CAAExkP,MAAO,EAAGsD,YAAY,GACtCmhP,cAAe,CAAEzkP,MAAO,EAAGsD,YAAY,GACvCohP,kBAAmB,CAAE1kP,MAAO,EAAGsD,YAAY,GAC3CqhP,iBAAkB,CAAE3kP,MAAO,EAAGsD,YAAY,GAC1CshP,iBAAkB,CAAE5kP,MAAO,EAAGsD,YAAY,KAE5C5B,aAA0B,iBAAIq6H,iBAE9Bl8H,OAAOkB,eAAexB,aA12BF,mBA02B+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO+7H,oBAIX,MAAM77H,KAAOnB,oBAAQ,K,6EC53BrB,MAAMiF,SAAWjF,oBAAQ,OAEzBH,QAAQuB,eAAiB,cAA2ByJ,MAClD/H,WAAAA;;AACE4J,MAAM,EACR,CACA6D,IAAAA,CAAKC;;AACH,OAAOtN,KAAKsN,QAAU,IACxB,CACA,IAAKvL,SAASoM;;AACZ,OAAOnO,KAAKuH,MACd,E,6ECXF,MAAM1K,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBk0D,oBAAsBl0D,oBAAQ,OAC9BK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3B09E,YAAch+E,oBAAQ,OAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAiC,YAAEM,WAGnDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,0CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjCw9E,YAAYj8E,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,SAAU,WAEnCxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMqa,oBAAoBra,aAAaw9E,YACrCl7E,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEA08O,cAAAA;;AACE,MAAMl7O,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOwB,QAAQ5C,YAAY89O,gBAC7B,CAEA,WAAIljO;;AACF,MAAMhY,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOwB,QAAQ5C,YAAqB,OACtC,CAEA,UAAI2a;;AACF,MAAM/X,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,WAAIya;;AACF,MAAM7X,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIya,CAAQnS;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,YAAO2S;;AACL,MAAMjY,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,QACRxC,IAAX2C,SACFA,OAASvD,YAAiB,IAAEuD,OAAQ,CAClC/B,QAAS,0DACTgC,QAAS/C,gBAGb6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBtC,KAAKC,eAAeka,MAAM9a,gBAAiB6C,MAC5E,CAEA,cAAOojH,CAAQg4H;;AACb,GAAIt7O,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,+EAA+E0B,UAAUC,mBAG7F,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAY,sBAAsBuD,OAAQ,CACjD/B,QAAS,4DACTgC,QAAS/C,aACTixJ,cAAc,IAEhBpuJ,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBtC,KAAKC,eAAeqlH,QAAQjmH,gBAAiB6C,MAC9E,CAEA,UAAO4uJ,CAAIosF;;AACT,GAAIl7O,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,2EAA2E0B,UAAUC,mBAGzF,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvB,IAAKlD,MAAMY,SAASyC,QAClB,MAAM,IAAI9C,aAAaiB,UACrB,oFAEG,CACL,MAAMkH,EAAI,GACJoxB,IAAMz2B,OACZ,IAAK,IAAI02B,YAAYD,IACnBC,SAAWn6B,QAAQyB,QAAQd,aAAcw5B,SAAU,CACjDz4B,QAAS,oEAGXoH,EAAEnF,KAAKw2B,UAET12B,OAASqF,CACX,CACAtF,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBtC,KAAKC,eAAe6wJ,IAAIzxJ,gBAAiB6C,MAC1E,EAEFvC,OAAOwD,iBAAiBuW,YAAYja,UAAW,CAC7Cu9O,eAAgB,CAAE55O,YAAY,GAC9B0W,QAAS,CAAE1W,YAAY,GACvByW,OAAQ,CAAEzW,YAAY,GACtBuW,QAAS,CAAEvW,YAAY,GACvB,CAACC,OAAOC,aAAc,CAAExD,MAAO,cAAegB,cAAc,KAE9DnB,OAAOwD,iBAAiBuW,YAAa,CACnCS,MAAO,CAAE/W,YAAY,GACrBkiH,QAAS,CAAEliH,YAAY,GACvB0tJ,IAAK,CAAE1tJ,YAAY,KAErB5B,aAA0B,YAAIkY,YAE9B/Z,OAAOkB,eAAexB,aAvOF,cAuO+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO4Z,eAIX,MAAM1Z,KAAOnB,oBAAQ,M,6ECtPrB,MAAMD,YAAcC,oBAAQ,OAGtB8lF,WAFQ9lF,oBAAQ,OAEJA,oBAAQ,QAE1BH,QAAQq+E,gBAAkB,CAAC19E,aAAc2U,IAAKmvB,KAAO/iC,QAAU,sBAAyB,CAAC;;AACvFukF,UAAU5H,gBAAgB19E,aAAc2U,IAAKmvB,IAAK,CAAE/iC,UAEpD,CACE,MAAM6P,IAAM,QACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,OACFA,MAAQlB,YAAiB,IAAEkB,MAAO,CAAEM,QAASA,QAAU,2BAA4BgC,QAAS/C,eAE5F8jC,IAAIlzB,KAAOnQ,OAEXqjC,IAAIlzB,KAAO,IAEf,GAGFvR,QAAQyB,QAAU,CAACd,aAAc2U,KAAO5T,QAAU,sBAAyB,CAAC;;AAC1E,QAAYZ,IAARwU,KAAoC,iBAARA,KAAmC,mBAARA,IACzD,MAAM,IAAI3U,aAAaiB,UAAU,GAAGF,6BAGtC,MAAM+iC,IAAMxjC,OAAOC,OAAO,MAE1B,OADAlB,QAAQq+E,gBAAgB19E,aAAc2U,IAAKmvB,IAAK,CAAE/iC,UAC3C+iC,I,6EC5BT,MAAMvkC,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAiBjC,SAASC,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAmC,cAAEM,WAGrDE,OAAOC,OAAOL,MACvB,CAEA,SAASsP,UAAUpO,QAASpB;;AAC1B,IAAIyP,aAAeC,kBAAkBC,IAAI3P,cAKzC,YAJqBG,IAAjBsP,eACFA,aAAe,IAAIG,aAAa5P,cAChC0P,kBAAkB9G,IAAI5I,aAAcyP,eAE/B,IAAII,MAAMzO,QAASqO,aAC5B,CAjCApQ,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,4CAyBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB,kBAEnCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,KAGhBL,QAAUoO,UAAUpO,QAASpB,eAErBH,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,IAAImB,QAAUrB,YAAYC,aAAcC,WAcxC,OAZAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAUoO,UAAUpO,QAASpB,cAE7BoB,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMk+H,cACJ57H,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEAwE,KAAAA;;AACE,MAAMhD,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOwB,QAAQ5C,YAAY4F,OAC7B,CAEA+1M,UAAAA,CAAWumC;;AACT,MAAMt/O,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,oFAAoF0B,UAAUC,mBAGlG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAY27M,cAAc34M,KAC3C,CAEA6hM,OAAAA,CAAQ10L;;AACN,MAAMvN,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,iFAAiF0B,UAAUC,mBAG/F,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAY,iBAAiBuD,OAAQ,CAC5C/B,QAAS,8DACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAY6kM,WAAW7hM,KACxC,CAEAm/O,gBAAAA,CAAiBD,QAAS/xO;;AACxB,MAAMvN,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,2FAA2F0B,UAAUC,mBAGzG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,uEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASvD,YAAY,iBAAiBuD,OAAQ,CAC5C/B,QAAS,uEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAYmiP,oBAAoBn/O,KACjD,CAEAo/O,WAAAA,CAAYF,QAAS/xO;;AACnB,MAAMvN,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,sFAAsF0B,UAAUC,mBAGpG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,kEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASvD,YAAY,iBAAiBuD,OAAQ,CAC5C/B,QAAS,kEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAYoiP,eAAep/O,KAC5C,CAEAkiM,UAAAA,CAAW/0L;;AACT,MAAMvN,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,oFAAoF0B,UAAUC,mBAGlG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAY,iBAAiBuD,OAAQ,CAC5C/B,QAAS,iEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAYklM,cAAcliM,KAC3C,CAEAq/O,UAAAA,CAAWH;;AACT,MAAMt/O,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,oFAAoF0B,UAAUC,mBAGlG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAYqiP,cAAcr/O,KAC3C,CAEA,UAAID;;AACF,MAAMH,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,iBAAIiiP;;AACF,MAAMr/O,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOwB,QAAQ5C,YAA2B,aAC5C,EAEFS,OAAOwD,iBAAiBo6H,cAAc99H,UAAW,CAC/CqF,MAAO,CAAE1B,YAAY,GACrBy3M,WAAY,CAAEz3M,YAAY,GAC1B2gM,QAAS,CAAE3gM,YAAY,GACvBi+O,iBAAkB,CAAEj+O,YAAY,GAChCk+O,YAAa,CAAEl+O,YAAY,GAC3BghM,WAAY,CAAEhhM,YAAY,GAC1Bm+O,WAAY,CAAEn+O,YAAY,GAC1BnB,OAAQ,CAAEmB,YAAY,GACtB+9O,cAAe,CAAE/9O,YAAY,GAC7B,CAACC,OAAOC,aAAc,CAAExD,MAAO,gBAAiBgB,cAAc,GAC9D,CAACuC,OAAOkM,UAAW,CAAEzP,MAAOT,aAAaqK,MAAMjK,UAAU4D,OAAOkM,UAAWzO,cAAc,EAAM2C,UAAU,KAE3GjC,aAA0B,cAAI+7H,cAE9B59H,OAAOkB,eAAexB,aAxTF,gBAwT+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOy9H,iBAIX,MAAMxuH,kBAAoB,IAAIS,QAC9B,MAAMP,aACJtN,WAAAA,CAAYtC;;AACV0C,KAAKqL,cAAgB/N,YACvB,CAEA2P,GAAAA,CAAIpH,OAAQ6H,EAAGC;;AACb,GAAiB,iBAAND,EACT,OAAOzH,QAAQgH,IAAIpH,OAAQ6H,EAAGC,UAEhC,MAAMC,KAAO5N,KAAK6N,yBAAyBhI,OAAQ6H,GACnD,QAAajQ,IAATmQ,KAAoB,CAEtB,GAAe,OADAhQ,OAAOkQ,eAAejI,QAEnC,OAEF,OAAOI,QAAQgH,IAAIpH,OAAQ6H,EAAGC,SAChC,CACA,IAAKC,KAAKX,MAAQW,KAAK1H,IACrB,OAAO0H,KAAK7P,MAEd,MAAMgQ,OAASH,KAAKX,IACpB,YAAexP,IAAXsQ,OAGG9H,QAAQ+H,MAAMD,OAAQJ,SAAU,SAHvC,CAIF,CAEAnO,GAAAA,CAAIqG,OAAQ6H;;AACV,GAAiB,iBAANA,EACT,OAAOzH,QAAQzG,IAAIqG,OAAQ6H,GAG7B,QAAajQ,IADAuC,KAAK6N,yBAAyBhI,OAAQ6H,GAEjD,OAAO,EAET,MAAMnD,OAAS3M,OAAOkQ,eAAejI,QACrC,OAAe,OAAX0E,QACKtE,QAAQzG,IAAI+K,OAAQmD,EAG/B,CAEAO,OAAAA,CAAQpI;;AACN,MAAM0B,KAAO,IAAIpI,IAEjB,IAAK,MAAM+O,OAAOrI,OAAO1I,YAAYJ,MAAMoR,0BACzC5G,KAAK3E,IAAI,GAAGsL,OAGd,IAAK,MAAMA,OAAOjI,QAAQgI,QAAQpI,QAChC0B,KAAK3E,IAAIsL,KAEX,MAAO,IAAI3G,KACb,CAEAsG,wBAAAA,CAAyBhI,OAAQ6H;;AAC/B,GAAiB,iBAANA,EACT,OAAOzH,QAAQ4H,yBAAyBhI,OAAQ6H,GAElD,IAAIU,kBAAmB,EAEvB,GAAIrR,MAAMsR,qBAAqBX,GAAI,CACjC,MAAMJ,MAAQI,IAAM,EAEpB,GAAI7H,OAAO1I,YAAYJ,MAAMoS,uBAAuB7B,OAAQ,CAC1D,MAAMgB,aAAezI,OAAO1I,YAAY6kM,QAAQ10L,OAChD,MAAO,CACL5L,UAAU,EACVL,YAAY,EACZtC,cAAc,EACdhB,MAAOhB,MAAMwD,kBAAkB+N,cAEnC,CACAF,kBAAmB,CACrB,CAEA,OAAOnI,QAAQ4H,yBAAyBhI,OAAQ6H,EAClD,CAEAxH,GAAAA,CAAIL,OAAQ6H,EAAGjI,EAAGkI;;AAChB,GAAiB,iBAAND,EACT,OAAOzH,QAAQC,IAAIL,OAAQ6H,EAAGjI,EAAGkI,UAInC,GAAI9H,OAAO1I,YAAYJ,MAAMiC,iBAAmB2O,SAAU,CACxD,MAAMrQ,aAAe0C,KAAKqL,cAE1B,GAAItO,MAAMsR,qBAAqBX,GAAI,CACjC,MAAMJ,MAAQI,IAAM,EACpB,IAAIY,aAAe7I,EAEnB6I,aAAezR,YAAuB,UAAEyR,aAAc,CACpDjQ,QAAS,qBAAuBiP,MAAQ,mDACxCjN,QAAS/C,eAUX,OAPkBuI,OAAO1I,YAAYJ,MAAMoS,uBAAuB7B,OAEhEzH,OAAO1I,YAAYJ,MAAM0iP,eAAenyO,MAAOgB,cAE/CzI,OAAO1I,YAAYJ,MAAM2iP,oBAAoBpyO,MAAOgB,eAG/C,CACT,CACF,CACA,IAAIC,QAEJ,GAAIxR,MAAMsR,qBAAqBX,GAAI,CACjC,MAAMJ,MAAQI,IAAM,EAEpB,GAAI7H,OAAO1I,YAAYJ,MAAMoS,uBAAuB7B,OAAQ,CAC1D,MAAMgB,aAAezI,OAAO1I,YAAY6kM,QAAQ10L,OAChDiB,QAAU,CACR7M,UAAU,EACVL,YAAY,EACZtC,cAAc,EACdhB,MAAOhB,MAAMwD,kBAAkB+N,cAEnC,CACF,CAKA,QAHgB7Q,IAAZ8Q,UACFA,QAAUtI,QAAQ4H,yBAAyBhI,OAAQ6H,SAErCjQ,IAAZ8Q,QAAuB,CACzB,MAAMhE,OAAStE,QAAQ6H,eAAejI,QACtC,GAAe,OAAX0E,OACF,OAAOtE,QAAQC,IAAIqE,OAAQmD,EAAGjI,EAAGkI,UAEnCY,QAAU,CAAE7M,UAAU,EAAML,YAAY,EAAMtC,cAAc,EAAMhB,WAAON,EAC3E,CACA,IAAK8Q,QAAQ7M,SACX,OAAO,EAET,IAAK3E,MAAMY,SAASgQ,UAClB,OAAO,EAET,MAAMa,aAAevI,QAAQ4H,yBAAyBF,SAAUD,GAChE,IAAIe,UACJ,QAAqBhR,IAAjB+Q,aAA4B,CAC9B,GAAIA,aAAavB,KAAOuB,aAAatI,IACnC,OAAO,EAET,IAAKsI,aAAa9M,SAChB,OAAO,EAET+M,UAAY,CAAE1Q,MAAO0H,EACvB,MACEgJ,UAAY,CAAE/M,UAAU,EAAML,YAAY,EAAMtC,cAAc,EAAMhB,MAAO0H,GAE7E,OAAOQ,QAAQnH,eAAe6O,SAAUD,EAAGe,UAC7C,CAEA3P,cAAAA,CAAe+G,OAAQ6H,EAAGE;;AACxB,GAAiB,iBAANF,EACT,OAAOzH,QAAQnH,eAAe+G,OAAQ6H,EAAGE,MAG3C,MAAMtQ,aAAe0C,KAAKqL,cAE1B,GAAItO,MAAMsR,qBAAqBX,GAAI,CACjC,GAAIE,KAAKX,KAAOW,KAAK1H,IACnB,OAAO,EAGT,MAAMoH,MAAQI,IAAM,EACpB,IAAIY,aAAeV,KAAK7P,MAExBuQ,aAAezR,YAAuB,UAAEyR,aAAc,CACpDjQ,QAAS,qBAAuBiP,MAAQ,mDACxCjN,QAAS/C,eAUX,OAPkBuI,OAAO1I,YAAYJ,MAAMoS,uBAAuB7B,OAEhEzH,OAAO1I,YAAYJ,MAAM0iP,eAAenyO,MAAOgB,cAE/CzI,OAAO1I,YAAYJ,MAAM2iP,oBAAoBpyO,MAAOgB,eAG/C,CACT,CAEA,OAAOrI,QAAQnH,eAAe+G,OAAQ6H,EAAGE,KAC3C,CAEAc,cAAAA,CAAe7I,OAAQ6H;;AACrB,GAAiB,iBAANA,EACT,OAAOzH,QAAQyI,eAAe7I,OAAQ6H,GAGnB1N,KAAKqL,cAE1B,GAAItO,MAAMsR,qBAAqBX,GAAI,CACjC,MAAMJ,MAAQI,IAAM,EACpB,OAAQ7H,OAAO1I,YAAYJ,MAAMoS,uBAAuB7B,MAC1D,CAEA,OAAOrH,QAAQyI,eAAe7I,OAAQ6H,EACxC,CAEAiB,iBAAAA;;AACE,OAAO,CACT,EAGF,MAAM1Q,KAAOnB,oBAAQ,M,6ECvhBrB,MAAM,eAAoBA,oBAAQ,QAC5B,mBAAoB,WAAgBA,oBAAQ,OAKlDH,QAAQwmF,iBAAmBl4E;;AACzB,IAAIiqB,OAAS,GACb,MAAM1nB,SAAWlD,cAAc0uF,iBAAiB/tF,MAChD,IAAK,MAAM6wE,SAAStuE,SACdsuE,MAAMziD,WAAaghC,WAEnByhB,MAAMziD,WAAa00B,qBACrB74B,QAAU4mD,MAAMxoD,MAGpB,OAAO4B,O,gEChBT,IAAIw0B,MAAQ,CACVE,QAAS9sD,oBAAAA,OAAAA,QACToqF,gBAAiBpqF,oBAAAA,OAAAA,gBAQnB4sD,kBAA0B;;AACxBA,MAAMw9B,gBAAgBj/E,KAAKjI,MAC3BA,KAAKi+L,UAAY,GACjBj+L,KAAKowD,SAAW,EAClB,GAEA1G,MAAM6hI,kBAAkB7tL,UAAY,IAAIgsD,MAAMw9B,gBAC9Cx9B,MAAM6hI,kBAAkB7tL,UAAUkC,YAAc8pD,MAAM6hI,kBACtD7hI,MAAM6hI,kBAAkB7tL,UAAU0J,KAAO,GAEzCxJ,OAAOwD,iBAAiBsoD,MAAM6hI,kBAAkB7tL,UAAW,CACzDmuL,cAAe,CACb5+K,IAAK;;AACH,OAAOjN,KAAKi+L,SACd,EACA/3L,IAAK,SAAUnI;;AACbiC,KAAKi+L,UAAYlgM,KACnB,EACAgB,cAAc,EACdsC,YAAY,GAEd8I,QAAS,CACP8C,IAAK,WAEH;;AADA,IAAIo6E,SAAW,GACN5mF,EAAI,EAAGP,OAASF,KAAKowD,SAASlwD,OAAQO,EAAIP,OAAQO,IACzD4mF,SAAS/mF,KAAKN,KAAKowD,SAAS3vD,GAAG0J,SAEjC,MAAO,UAAYnK,KAAK6rL,cAAgB,KAAOxkG,SAAS72D,KAAK,IAAM,GACrE,EACAzxB,cAAc,EACdsC,YAAY,KAKhB1E,QAAQ4uL,kBAAoB7hI,MAAM6hI,iB,6EC7ClC,MAAM5pL,UAAY7E,oBAAQ,QACpB,2BAAgCA,oBAAQ,OACxC,UAAeA,oBAAQ,MAoV7B,SAAS8lP,gBAAgBC;;AACN,OAAbA,KAAK7+O,KAAoC,SAApB6+O,KAAK7+O,IAAIuf,QAAqB5hB,UAAUuzH,gBAAgB2tH,KAAK7+O,MAOxF,SAAmB6+O;;AACjB,MAAMx8O,KAAOw8O,KAAK3+N,eAAe,KAAM,QACvC,GAAa,OAAT7d,KAEF,YADAw8O,KAAK7+O,IAAM,MAIb,MAAMkrD,OAAS2zL,KAAK13O,eAAe8uB,kBAAkB5zB,MAErDw8O,KAAK7+O,IAAiB,OAAXkrD,OAAkB,KAAOA,MACtC,CAbE4zL,CAAUD,KACZ,CAcA,SAASE,WAAWF;;AAClBA,KAAKz+N,eAAe,KAAM,OAAQziB,UAAUsD,aAAa49O,KAAK7+O,KAChE,CAxWArH,QAAQ,EAAiB,MACvB0wE,+BAAAA;;AACErtE,KAAKgE,IAAM,IACb,CAGAg/O,eAAAA;;AAEE,MAA2B,MAApBhjP,KAAKq+D,aAAuBr+D,KAAKk8E,WAC1C,CAGA+mK,oBAAAA;;AACE,GAAIjjP,KAAK6vD,eAAe,KAAM,UAC5B,OAAO7vD,KAAKkkB,eAAe,KAAM,UAGnC,MAAMg/N,OAASljP,KAAKmL,eAAevK,cAAc,gBAEjD,OAAIsiP,OACKA,OAAOh/N,eAAe,KAAM,UAG9B,EACT,CAGAi/N,uBAAAA,CAAwBp7O,KAAM4qB;;AAC5B,IAAIywN,OAAS,KAcb,MAZa,KAATr7O,MAAe2mD,0BAA0B3mD,KAAM,SACjDq7O,OAASzwN,QACA+7B,0BAA0B3mD,KAAM,WACzCq7O,OAASzwN,QAAQpoB,OACRmkD,0BAA0B3mD,KAAM,QACzCq7O,OAASzwN,QAAQmwD,IACPp0B,0BAA0B3mD,KAAM,UAMrCq7O,MACT,CAGA51K,iBAAAA;;AACE,GAAIxtE,KAAKgjP,kBACP,OAGF,MAAMhsN,OAASh3B,KAAKmL,eAAesiD,aACnC,IAAI41L,qBAAuB,GAEH,MAApBrjP,KAAKq+D,YAA0C,SAApBr+D,KAAKq+D,aAClCglL,qBAAuBrjP,KAAKijP,wBAG9B,MAAMK,SAAWtjP,KAAK+F,QAAQmyB,SAAS,eAAiBl4B,KAAK+F,QAAQmyB,SAAS,YAExEryB,OAAS7F,KAAKmjP,wBAAwBE,qBAAsBrsN,OAAQssN,UAE1E,GAAe,OAAXz9O,OACF,OAGF,MAAM7B,IAAMhE,KAAKmL,eAAe8uB,kBAAkBj6B,KAAKqG,MAE3C,OAARrC,KAKJtB,WAAW;;AACTqgB,SAASld,OAAQ7B,IAAK,CAAC,IACtB,EACL,CAEAsC,QAAAA;;AACE,OAAOtG,KAAKqG,IACd,CAEA,QAAIA;;AACFu8O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,GAAY,OAARgE,IAAc,CAChB,MAAMqC,KAAOrG,KAAKkkB,eAAe,KAAM,QACvC,OAAgB,OAAT7d,KAAgB,GAAKA,IAC9B,CAEA,OAAO1E,UAAUsD,aAAajB,IAChC,CAEA,QAAIqC,CAAKoL;;AACPzR,KAAKokB,eAAe,KAAM,OAAQ3S,EACpC,CAEA,UAAIlL;;AAGF,OAFAq8O,gBAAgB5iP,MAEC,OAAbA,KAAKgE,IACA,GAGFrC,UAAU80F,mBAAmBz2F,KAAKgE,IAC3C,CAEA,YAAIwC;;AAGF,OAFAo8O,gBAAgB5iP,MAEC,OAAbA,KAAKgE,IACA,IAGFhE,KAAKgE,IAAIuf,OAAS,GAC3B,CAEA,YAAI/c,CAASiL;;AACXmxO,gBAAgB5iP,MAEC,OAAbA,KAAKgE,MAITrC,UAAUmzH,cAAcrjH,EAAI,IAAK,CAAEzN,IAAKhE,KAAKgE,IAAK+wH,cAAe,iBACjEguH,WAAW/iP,MACb,CAEA,YAAIyG;;AAGF,OAFAm8O,gBAAgB5iP,MAEC,OAAbA,KAAKgE,IACA,GAGFhE,KAAKgE,IAAIyC,QAClB,CAEA,YAAIA,CAASgL;;AACXmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEJ,OAARgE,KAAgBrC,UAAUwzH,gCAAgCnxH,OAI9DrC,UAAUgrJ,eAAe3oJ,IAAKyN,GAC9BsxO,WAAW/iP,MACb,CAEA,YAAI0G;;AACFk8O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,IACK,GAGFA,IAAI0C,QACb,CAEA,YAAIA,CAAS+K;;AACXmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEJ,OAARgE,KAAgBrC,UAAUwzH,gCAAgCnxH,OAI9DrC,UAAUirJ,eAAe5oJ,IAAKyN,GAC9BsxO,WAAW/iP,MACb,CAEA,QAAI2G;;AACFi8O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,KAA6B,OAAbA,IAAI2C,KACf,GAGQ,OAAb3C,IAAI6C,KACClF,UAAUqzH,cAAchxH,IAAI2C,MAG9BhF,UAAUqzH,cAAchxH,IAAI2C,MAAQ,IAAMhF,UAAUszH,iBAAiBjxH,IAAI6C,KAClF,CAEA,QAAIF,CAAK8K;;AACPmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEJ,OAARgE,KAAgBrC,UAAUuzH,gBAAgBlxH,OAI9CrC,UAAUmzH,cAAcrjH,EAAG,CAAEzN,IAAK+wH,cAAe,SACjDguH,WAAW/iP,MACb,CAEA,YAAI4G;;AACFg8O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,KAA6B,OAAbA,IAAI2C,KACf,GAGFhF,UAAUqzH,cAAchxH,IAAI2C,KACrC,CAEA,YAAIC,CAAS6K;;AACXmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEJ,OAARgE,KAAgBrC,UAAUuzH,gBAAgBlxH,OAI9CrC,UAAUmzH,cAAcrjH,EAAG,CAAEzN,IAAK+wH,cAAe,aACjDguH,WAAW/iP,MACb,CAEA,QAAI6G;;AACF+7O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,KAA6B,OAAbA,IAAI6C,KACf,GAGFlF,UAAUszH,iBAAiBjxH,IAAI6C,KACxC,CAEA,QAAIA,CAAK4K;;AACPmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEJ,OAARgE,KAAgBrC,UAAUwzH,gCAAgCnxH,OAIpD,KAANyN,EACFzN,IAAI6C,KAAO,KAEXlF,UAAUmzH,cAAcrjH,EAAG,CAAEzN,IAAK+wH,cAAe,SAEnDguH,WAAW/iP,MACb,CAEA,YAAI8G;;AACF87O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,IACK,GAGFrC,UAAUyzH,cAAcpxH,IACjC,CAEA,YAAI8C,CAAS2K;;AACXmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEJ,OAARgE,KAAgBrC,UAAUuzH,gBAAgBlxH,OAI9CA,IAAIsyE,KAAO,GACX30E,UAAUmzH,cAAcrjH,EAAG,CAAEzN,IAAK+wH,cAAe,eACjDguH,WAAW/iP,MACb,CAEA,UAAI+G;;AACF67O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,KAA8B,OAAdA,IAAIm2F,OAAgC,KAAdn2F,IAAIm2F,MACrC,GAGF,IAAMn2F,IAAIm2F,KACnB,CAEA,UAAIpzF,CAAO0K;;AACTmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,GAAY,OAARgE,IAAJ,CAIA,GAAU,KAANyN,EACFzN,IAAIm2F,MAAQ,SACP,CACL,MAAMvrC,MAAiB,MAATn9C,EAAE,GAAaA,EAAExH,UAAU,GAAKwH,EAC9CzN,IAAIm2F,MAAQ,GACZx4F,UAAUmzH,cAAclmE,MAAO,CAC7B5qD,IACA+wH,cAAe,QACfM,iBAAkBr1H,KAAKmL,eAAe02D,SAE1C,CACAkhL,WAAW/iP,KAbX,CAcF,CAEA,QAAIgH;;AACF47O,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,OAAY,OAARgE,KAAiC,OAAjBA,IAAIE,UAAsC,KAAjBF,IAAIE,SACxC,GAGF,IAAMF,IAAIE,QACnB,CAEA,QAAI8C,CAAKyK;;AACPmxO,gBAAgB5iP,MAChB,MAAM,KAAUA,KAEhB,GAAY,OAARgE,IAAJ,CAIA,GAAU,KAANyN,EACFzN,IAAIE,SAAW,SACV,CACL,MAAM0qD,MAAiB,MAATn9C,EAAE,GAAaA,EAAExH,UAAU,GAAKwH,EAC9CzN,IAAIE,SAAW,GACfvC,UAAUmzH,cAAclmE,MAAO,CAAE5qD,IAAK+wH,cAAe,YACvD,CACAguH,WAAW/iP,KATX,CAUF,E,6EClVF,MAAM,aAAkBlD,oBAAQ,OAE1B6U,gBAAkB7U,oBAAAA,OAAAA,eA4BxBJ,OAAOC,QAAU,CACfuB,eA3BF,cAAqCyT,gBACnC/R,WAAAA,CAAYtC,aAAc6C,KAAM1B;;AAC9B+K,MAAMlM,aAAc6C,KAAM1B,aAE1BuB,KAAKujP,WAAa,IACpB,CAEAC,oBAAAA;;AACExjP,KAAKujP,WAAa,KAElBv+O,YAAY,SAAUhF,KACxB,CAEA4J,aAAAA,CAAc7B,KAAMhK,MAAO8L;;AACzBL,MAAMI,cAAc7B,KAAMhK,MAAO8L,UAEpB,SAAT9B,MAAuC,OAApB/H,KAAKujP,aAErBxlP,QAAU8L,UAAsB,OAAV9L,OAA+B,OAAb8L,UAC9B,OAAV9L,OAA+B,OAAb8L,YACrB7J,KAAKujP,WAAa7gP,WAAW1C,KAAKwjP,qBAAqBjgN,KAAKvjC,MAAO,GAGzE,G,yDCvBF,IAAI8/J,GASA0F,MAgBArE,cAMAU,UAmIAzE,OAvKJx/J,OAAOkB,eAAenC,QAAS,aAAc,CAAEoB,OAAO,IACtDpB,QAAQwqK,iBAAmBxqK,QAAQ84K,iBAAmB94K,QAAQygK,OAASzgK,QAAQklK,UAAYllK,QAAQwkK,cAAgBxkK,QAAQ6oK,MAAQ7oK,QAAQmjK,QAAK,EAChJnjK,QAAQ+iK,SAiaR,SAAkBnmE;;AACd,IAAI44E,GACJ,OAA8C,QAAtCA,GAAKsxE,eAAex2O,IAAIssF,gBAA6B,IAAP44E,GAAgBA,GAAK/U,OAAOsR,OACtF,EAnaA/xK,QAAQ+mP,iBAygBR,SAA0BnkF,GAAInpE;;AAC1B,OAAOutJ,eAAenkP,IAAI+/J,KAAQnpE,kBAAoBmpE,KAAOsC,UAAUc,QAC3E,EAxgBA,SAAW7C;;AACPA,GAAS,KAAI,+BACbA,GAAW,OAAI,qCACfA,GAAQ,IAAI,6BACZA,GAAU,MAAI,+BACdA,GAAQ,IAAI,uCACZA,GAAU,MAAI,+BACjB,CAPD,CAOGA,KAAOnjK,QAAQmjK,GAAKA,GAAK,CAAC,IAE7B,SAAW0F;;AACPA,MAAY,KAAI,OAChBA,MAAc,OAAI,SAClBA,MAAgB,SAAI,WACpBA,MAAc,OAAI,SAClBA,MAAY,KAAI,OAChBA,MAAa,MAAI,QACjBA,MAAY,KAAI,OAChBA,MAAY,KAAI,MACnB,CATD,CASGA,QAAU7oK,QAAQ6oK,MAAQA,MAAQ,CAAC,IAOtC,SAAWrE;;AACPA,cAAyB,UAAI,YAC7BA,cAAsB,OAAI,SAC1BA,cAA8B,eAAI,gBACrC,CAJD,CAIGA,gBAAkBxkK,QAAQwkK,cAAgBA,cAAgB,CAAC,IAE9D,SAAWU;;AACPA,UAAa,EAAI,IACjBA,UAAmB,QAAI,UACvBA,UAA0B,eAAI,iBAC9BA,UAAkB,OAAI,SACtBA,UAAgB,KAAI,OACpBA,UAAmB,QAAI,UACvBA,UAAiB,MAAI,QACrBA,UAAa,EAAI,IACjBA,UAAgB,KAAI,OACpBA,UAAoB,SAAI,WACxBA,UAAmB,QAAI,UACvBA,UAAe,IAAI,MACnBA,UAAsB,WAAI,aAC1BA,UAAgB,KAAI,OACpBA,UAAc,GAAI,KAClBA,UAAkB,OAAI,SACtBA,UAAmB,QAAI,UACvBA,UAAkB,OAAI,SACtBA,UAAgB,KAAI,OACpBA,UAAe,IAAI,MACnBA,UAAoB,SAAI,WACxBA,UAAc,GAAI,KAClBA,UAAgB,KAAI,OACpBA,UAAmB,QAAI,UACvBA,UAAkB,OAAI,SACtBA,UAAe,IAAI,MACnBA,UAAe,IAAI,MACnBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAiB,MAAI,QACrBA,UAAoB,SAAI,WACxBA,UAAsB,WAAI,aAC1BA,UAAkB,OAAI,SACtBA,UAAgB,KAAI,OACpBA,UAAkB,OAAI,SACtBA,UAA0B,eAAI,gBAC9BA,UAAgB,KAAI,OACpBA,UAAiB,MAAI,QACrBA,UAAoB,SAAI,WACxBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAgB,KAAI,OACpBA,UAAkB,OAAI,SACtBA,UAAkB,OAAI,SACtBA,UAAc,GAAI,KAClBA,UAAgB,KAAI,OACpBA,UAAa,EAAI,IACjBA,UAAe,IAAI,MACnBA,UAAiB,MAAI,QACrBA,UAAiB,MAAI,QACrBA,UAAkB,OAAI,SACtBA,UAAkB,OAAI,SACtBA,UAAiB,MAAI,QACrBA,UAAc,GAAI,KAClBA,UAAgB,KAAI,OACpBA,UAAmB,QAAI,UACvBA,UAAgB,KAAI,OACpBA,UAAsB,WAAI,aAC1BA,UAAmB,QAAI,UACvBA,UAAgB,KAAI,OACpBA,UAAgB,KAAI,OACpBA,UAAgB,KAAI,OACpBA,UAAkB,OAAI,SACtBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAiB,MAAI,QACrBA,UAAe,IAAI,MACnBA,UAAgB,KAAI,OACpBA,UAAoB,SAAI,WACxBA,UAAmB,QAAI,UACvBA,UAAoB,SAAI,WACxBA,UAAkB,OAAI,SACtBA,UAAc,GAAI,KAClBA,UAAoB,SAAI,WACxBA,UAAkB,OAAI,SACtBA,UAAa,EAAI,IACjBA,UAAiB,MAAI,QACrBA,UAAqB,UAAI,YACzBA,UAAe,IAAI,MACnBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAe,IAAI,MACnBA,UAAgB,KAAI,OACpBA,UAAa,EAAI,IACjBA,UAAkB,OAAI,SACtBA,UAAkB,OAAI,SACtBA,UAAmB,QAAI,UACvBA,UAAkB,OAAI,SACtBA,UAAkB,OAAI,SACtBA,UAAiB,MAAI,QACrBA,UAAgB,KAAI,OACpBA,UAAkB,OAAI,SACtBA,UAAkB,OAAI,SACtBA,UAAiB,MAAI,QACrBA,UAAe,IAAI,MACnBA,UAAmB,QAAI,UACvBA,UAAe,IAAI,MACnBA,UAAiB,MAAI,QACrBA,UAAiB,MAAI,QACrBA,UAAoB,SAAI,WACxBA,UAAoB,SAAI,WACxBA,UAAiB,MAAI,QACrBA,UAAc,GAAI,KAClBA,UAAc,GAAI,KAClBA,UAAiB,MAAI,QACrBA,UAAiB,MAAI,QACrBA,UAAc,GAAI,KAClBA,UAAiB,MAAI,QACrBA,UAAc,GAAI,KAClBA,UAAa,EAAI,IACjBA,UAAc,GAAI,KAClBA,UAAe,IAAI,MACnBA,UAAe,IAAI,MACnBA,UAAe,IAAI,MACnBA,UAAe,IAAI,KACtB,CA5HD,CA4HGA,YAAcllK,QAAQklK,UAAYA,UAAY,CAAC,IAOlD,SAAWzE;;AACPA,OAAOA,OAAgB,QAAI,GAAK,UAChCA,OAAOA,OAAU,EAAI,GAAK,IAC1BA,OAAOA,OAAgB,QAAI,GAAK,UAChCA,OAAOA,OAAuB,eAAI,GAAK,iBACvCA,OAAOA,OAAe,OAAI,GAAK,SAC/BA,OAAOA,OAAa,KAAI,GAAK,OAC7BA,OAAOA,OAAgB,QAAI,GAAK,UAChCA,OAAOA,OAAc,MAAI,GAAK,QAC9BA,OAAOA,OAAU,EAAI,GAAK,IAC1BA,OAAOA,OAAa,KAAI,GAAK,OAC7BA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAmB,WAAI,IAAM,aACpCA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAmB,WAAI,IAAM,aACpCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAuB,eAAI,IAAM,iBACxCA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAU,EAAI,IAAM,IAC3BA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAmB,WAAI,IAAM,aACpCA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAiB,SAAI,IAAM,WAClCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAU,EAAI,IAAM,IAC3BA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAkB,UAAI,IAAM,YACnCA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAW,GAAI,IAAM,KAC5BA,OAAOA,OAAY,IAAI,IAAM,MAC7BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAU,EAAI,IAAM,IAC3BA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAgB,QAAI,IAAM,UACjCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAe,OAAI,IAAM,SAChCA,OAAOA,OAAc,MAAI,IAAM,QAC/BA,OAAOA,OAAa,KAAI,IAAM,OAC9BA,OAAOA,OAAe,OAAI,KAAO,SACjCA,OAAOA,OAAe,OAAI,KAAO,SACjCA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAY,IAAI,KAAO,MAC9BA,OAAOA,OAAgB,QAAI,KAAO,UAClCA,OAAOA,OAAY,IAAI,KAAO,MAC9BA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAiB,SAAI,KAAO,WACnCA,OAAOA,OAAiB,SAAI,KAAO,WACnCA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAW,GAAI,KAAO,KAC7BA,OAAOA,OAAW,GAAI,KAAO,KAC7BA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAW,GAAI,KAAO,KAC7BA,OAAOA,OAAc,MAAI,KAAO,QAChCA,OAAOA,OAAW,GAAI,KAAO,KAC7BA,OAAOA,OAAU,EAAI,KAAO,IAC5BA,OAAOA,OAAW,GAAI,KAAO,KAC7BA,OAAOA,OAAY,IAAI,KAAO,MAC9BA,OAAOA,OAAY,IAAI,KAAO,MAC9BA,OAAOA,OAAY,IAAI,KAAO,MAC9BA,OAAOA,OAAY,IAAI,KAAO,KACjC,CA7HD,CA6HGA,SAAWzgK,QAAQygK,OAASA,OAAS,CAAC,IACzC,MAAMqmF,eAAiB,IAAI54O,IAAI,CAC3B,CAACg3J,UAAU2E,EAAGpJ,OAAOoJ,GACrB,CAAC3E,UAAUwG,QAASjL,OAAOiL,SAC3B,CAACxG,UAAUqS,eAAgB9W,OAAO8W,gBAClC,CAACrS,UAAU2K,OAAQpP,OAAOoP,QAC1B,CAAC3K,UAAUyH,KAAMlM,OAAOkM,MACxB,CAACzH,UAAUyG,QAASlL,OAAOkL,SAC3B,CAACzG,UAAUgG,MAAOzK,OAAOyK,OACzB,CAAChG,UAAUgE,EAAGzI,OAAOyI,GACrB,CAAChE,UAAU9/D,KAAMq7D,OAAOr7D,MACxB,CAAC8/D,UAAUK,SAAU9E,OAAO8E,UAC5B,CAACL,UAAUM,QAAS/E,OAAO+E,SAC3B,CAACN,UAAUmE,IAAK5I,OAAO4I,KACvB,CAACnE,UAAU8G,WAAYvL,OAAOuL,YAC9B,CAAC9G,UAAU4C,KAAMrH,OAAOqH,MACxB,CAAC5C,UAAUsH,GAAI/L,OAAO+L,IACtB,CAACtH,UAAUyK,OAAQlP,OAAOkP,QAC1B,CAACzK,UAAU2M,QAASpR,OAAOoR,SAC3B,CAAC3M,UAAUiG,OAAQ1K,OAAO0K,QAC1B,CAACjG,UAAUoE,KAAM7I,OAAO6I,MACxB,CAACpE,UAAUuM,IAAKhR,OAAOgR,KACvB,CAACvM,UAAU4M,SAAUrR,OAAOqR,UAC5B,CAAC5M,UAAUkH,GAAI3L,OAAO2L,IACtB,CAAClH,UAAUorB,KAAM7vB,OAAO6vB,MACxB,CAACprB,UAAUuG,QAAShL,OAAOgL,SAC3B,CAACvG,UAAUsG,OAAQ/K,OAAO+K,QAC1B,CAACtG,UAAU4F,IAAKrK,OAAOqK,KACvB,CAAC5F,UAAU2F,IAAKpK,OAAOoK,KACvB,CAAC3F,UAAUwF,GAAIjK,OAAOiK,IACtB,CAACxF,UAAUmH,GAAI5L,OAAO4L,IACtB,CAACnH,UAAUiE,GAAI1I,OAAO0I,IACtB,CAACjE,UAAU0H,MAAOnM,OAAOmM,OACzB,CAAC1H,UAAU6G,SAAUtL,OAAOsL,UAC5B,CAAC7G,UAAU+G,WAAYxL,OAAOwL,YAC9B,CAAC/G,UAAUkG,OAAQ3K,OAAO2K,QAC1B,CAAClG,UAAUqE,KAAM9I,OAAO8I,MACxB,CAACrE,UAAUmG,OAAQ5K,OAAO4K,QAC1B,CAACnG,UAAUqrB,eAAgB9vB,OAAO8vB,gBAClC,CAACrrB,UAAUoJ,KAAM7N,OAAO6N,MACxB,CAACpJ,UAAU0M,MAAOnR,OAAOmR,OACzB,CAAC1M,UAAU6L,SAAUtQ,OAAOsQ,UAC5B,CAAC7L,UAAU8E,GAAIvJ,OAAOuJ,IACtB,CAAC9E,UAAU+E,GAAIxJ,OAAOwJ,IACtB,CAAC/E,UAAUgF,GAAIzJ,OAAOyJ,IACtB,CAAChF,UAAUiF,GAAI1J,OAAO0J,IACtB,CAACjF,UAAUkF,GAAI3J,OAAO2J,IACtB,CAAClF,UAAUmF,GAAI5J,OAAO4J,IACtB,CAACnF,UAAUC,KAAM1E,OAAO0E,MACxB,CAACD,UAAUoG,OAAQ7K,OAAO6K,QAC1B,CAACpG,UAAUqG,OAAQ9K,OAAO8K,QAC1B,CAACrG,UAAU4H,GAAIrM,OAAOqM,IACtB,CAAC5H,UAAU9B,KAAM3C,OAAO2C,MACxB,CAAC8B,UAAU+D,EAAGxI,OAAOwI,GACrB,CAAC/D,UAAUuH,IAAKhM,OAAOgM,KACvB,CAACvH,UAAUuK,MAAOhP,OAAOgP,OACzB,CAACvK,UAAUiK,MAAO1O,OAAO0O,OACzB,CAACjK,UAAU+K,OAAQxP,OAAOwP,QAC1B,CAAC/K,UAAU2H,OAAQpM,OAAOoM,QAC1B,CAAC3H,UAAU+hF,MAAOxmF,OAAOwmF,OACzB,CAAC/hF,UAAUiH,GAAI1L,OAAO0L,IACtB,CAACjH,UAAUO,KAAMhF,OAAOgF,MACxB,CAACP,UAAUuI,QAAShN,OAAOgN,SAC3B,CAACvI,UAAU8F,KAAMvK,OAAOuK,MACxB,CAAC9F,UAAUuS,WAAYhX,OAAOgX,YAC9B,CAACvS,UAAU6K,QAAStP,OAAOsP,SAC3B,CAAC7K,UAAU0J,KAAMnO,OAAOmO,MACxB,CAAC1J,UAAU+F,KAAMxK,OAAOwK,MACxB,CAAC/F,UAAUQ,KAAMjF,OAAOiF,MACxB,CAACR,UAAUsS,OAAQ/W,OAAO+W,QAC1B,CAACtS,UAAU8qB,GAAIvvB,OAAOuvB,IACtB,CAAC9qB,UAAUgrB,GAAIzvB,OAAOyvB,IACtB,CAAChrB,UAAU+qB,GAAIxvB,OAAOwvB,IACtB,CAAC/qB,UAAUirB,GAAI1vB,OAAO0vB,IACtB,CAACjrB,UAAUkrB,MAAO3vB,OAAO2vB,OACzB,CAAClrB,UAAU6F,IAAKtK,OAAOsK,KACvB,CAAC7F,UAAUwJ,KAAMjO,OAAOiO,MACxB,CAACxJ,UAAUkB,SAAU3F,OAAO2F,UAC5B,CAAClB,UAAU4L,QAASrQ,OAAOqQ,SAC3B,CAAC5L,UAAUc,SAAUvF,OAAOuF,UAC5B,CAACd,UAAU4K,OAAQrP,OAAOqP,QAC1B,CAAC5K,UAAUyF,GAAIlK,OAAOkK,IACtB,CAACzF,UAAU0L,SAAUnQ,OAAOmQ,UAC5B,CAAC1L,UAAUyL,OAAQlQ,OAAOkQ,QAC1B,CAACzL,UAAUn0J,EAAG0vJ,OAAO1vJ,GACrB,CAACm0J,UAAUmK,MAAO5O,OAAO4O,OACzB,CAACnK,UAAUqM,UAAW9Q,OAAO8Q,WAC7B,CAACrM,UAAUsI,IAAK/M,OAAO+M,KACvB,CAACtI,UAAU8H,GAAIvM,OAAOuM,IACtB,CAAC9H,UAAUoI,GAAI7M,OAAO6M,IACtB,CAACpI,UAAUmI,GAAI5M,OAAO4M,IACtB,CAACnI,UAAU+H,IAAKxM,OAAOwM,KACvB,CAAC/H,UAAUgI,KAAMzM,OAAOyM,MACxB,CAAChI,UAAUv+F,EAAG85F,OAAO95F,GACrB,CAACu+F,UAAUoB,OAAQ7F,OAAO6F,QAC1B,CAACpB,UAAU0G,OAAQnL,OAAOmL,QAC1B,CAAC1G,UAAU2G,QAASpL,OAAOoL,SAC3B,CAAC3G,UAAUiL,OAAQ1P,OAAO0P,QAC1B,CAACjL,UAAUqK,OAAQ9O,OAAO8O,QAC1B,CAACrK,UAAUsE,MAAO/I,OAAO+I,OACzB,CAACtE,UAAUgiF,KAAMzmF,OAAOymF,MACxB,CAAChiF,UAAUuE,OAAQhJ,OAAOgJ,QAC1B,CAACvE,UAAUwE,OAAQjJ,OAAOiJ,QAC1B,CAACxE,UAAUmB,MAAO5F,OAAO4F,OACzB,CAACnB,UAAUiiF,IAAK1mF,OAAO0mF,KACvB,CAACjiF,UAAU4G,QAASrL,OAAOqL,SAC3B,CAAC5G,UAAUkiF,IAAK3mF,OAAO2mF,KACvB,CAACliF,UAAUxE,MAAOD,OAAOC,OACzB,CAACwE,UAAUvE,MAAOF,OAAOE,OACzB,CAACuE,UAAUhC,SAAUzC,OAAOyC,UAC5B,CAACgC,UAAUiM,SAAU1Q,OAAO0Q,UAC5B,CAACjM,UAAUtE,MAAOH,OAAOG,OACzB,CAACsE,UAAUyM,GAAIlR,OAAOkR,IACtB,CAACzM,UAAUwM,GAAIjR,OAAOiR,IACtB,CAACxM,UAAUrE,MAAOJ,OAAOI,OACzB,CAACqE,UAAUW,MAAOpF,OAAOoF,OACzB,CAACX,UAAUpE,GAAIL,OAAOK,IACtB,CAACoE,UAAUoK,MAAO7O,OAAO6O,OACzB,CAACpK,UAAUkE,GAAI3I,OAAO2I,IACtB,CAAClE,UAAUvS,EAAG8N,OAAO9N,GACrB,CAACuS,UAAU0F,GAAInK,OAAOmK,IACtB,CAAC1F,UAAU4I,IAAKrN,OAAOqN,KACvB,CAAC5I,UAAUvkB,IAAK8f,OAAO9f,KACvB,CAACukB,UAAUwH,IAAKjM,OAAOiM,KACvB,CAACxH,UAAU0I,IAAKnN,OAAOmN,OAM3B,MAAMy5E,EAAI5mF,OACVzgK,QAAQ84K,iBAAmB,CACvB,CAAC3V,GAAGC,MAAO,IAAI5gK,IAAI,CACf6kP,EAAE37E,QACF27E,EAAEx3E,OACFw3E,EAAE16E,KACF06E,EAAE17E,QACF07E,EAAEn8E,MACFm8E,EAAEjiJ,KACFiiJ,EAAE9hF,SACF8hF,EAAE7hF,QACF6hF,EAAEr7E,WACFq7E,EAAEv/E,KACFu/E,EAAE76E,GACF66E,EAAE13E,OACF03E,EAAEx1E,QACFw1E,EAAEl8E,OACFk8E,EAAE51E,IACF41E,EAAEv1E,SACFu1E,EAAEj7E,GACFi7E,EAAE57E,QACF47E,EAAEv8E,IACFu8E,EAAEx8E,IACFw8E,EAAE38E,GACF28E,EAAEh7E,GACFg7E,EAAEz6E,MACFy6E,EAAEt7E,SACFs7E,EAAEp7E,WACFo7E,EAAEj8E,OACFi8E,EAAEh8E,OACFg8E,EAAE/4E,KACF+4E,EAAEz1E,MACFy1E,EAAEt2E,SACFs2E,EAAEr9E,GACFq9E,EAAEp9E,GACFo9E,EAAEn9E,GACFm9E,EAAEl9E,GACFk9E,EAAEj9E,GACFi9E,EAAEh9E,GACFg9E,EAAEliF,KACFkiF,EAAE/7E,OACF+7E,EAAE97E,OACF87E,EAAEv6E,GACFu6E,EAAEjkF,KACFikF,EAAEp3E,OACFo3E,EAAE56E,IACF46E,EAAEl4E,MACFk4E,EAAEl7E,GACFk7E,EAAE5hF,KACF4hF,EAAE55E,QACF45E,EAAEr8E,KACFq8E,EAAEt3E,QACFs3E,EAAEp8E,KACFo8E,EAAE3hF,KACF2hF,EAAEt8E,IACFs8E,EAAEv2E,QACFu2E,EAAEjhF,SACFihF,EAAErhF,SACFqhF,EAAEv3E,OACFu3E,EAAE18E,GACF08E,EAAEt2O,EACFs2O,EAAEh4E,MACFg4E,EAAE91E,UACF81E,EAAE75E,IACF65E,EAAE/gF,OACF+gF,EAAEx7E,QACFw7E,EAAEl3E,OACFk3E,EAAE93E,OACF83E,EAAEhhF,MACFghF,EAAEv7E,QACFu7E,EAAE3mF,MACF2mF,EAAE1mF,MACF0mF,EAAE11E,GACF01E,EAAEnkF,SACFmkF,EAAEl2E,SACFk2E,EAAEzmF,MACFymF,EAAE31E,GACF21E,EAAExmF,MACFwmF,EAAExhF,MACFwhF,EAAEvmF,GACFumF,EAAE/3E,MACF+3E,EAAEz8E,GACFy8E,EAAE36E,IACF26E,EAAEz5E,MAEN,CAACzK,GAAG2L,QAAS,IAAItsK,IAAI,CAAC6kP,EAAEr3D,GAAIq3D,EAAEn3D,GAAIm3D,EAAEp3D,GAAIo3D,EAAEl3D,GAAIk3D,EAAEj3D,MAAOi3D,EAAE9vE,iBACzD,CAACpU,GAAG2K,KAAM,IAAItrK,IAAI,CAAC6kP,EAAExhF,MAAOwhF,EAAE92D,eAAgB82D,EAAE/2D,OAChD,CAACntB,GAAGmkF,OAAQ,IAAI9kP,IAChB,CAAC2gK,GAAGvrC,KAAM,IAAIp1H,IACd,CAAC2gK,GAAGxrC,OAAQ,IAAIn1H,KAEpBxC,QAAQwqK,iBAAmB,IAAIhoK,IAAI,CAAC6kP,EAAEr9E,GAAIq9E,EAAEp9E,GAAIo9E,EAAEn9E,GAAIm9E,EAAEl9E,GAAIk9E,EAAEj9E,GAAIi9E,EAAEh9E,KACpE,MAAM28E,eAAiB,IAAIxkP,IAAI,CAC3B0iK,UAAUmB,MACVnB,UAAUoB,OACVpB,UAAU0I,IACV1I,UAAU+K,OACV/K,UAAU4L,QACV5L,UAAUkB,SACVlB,UAAUqM,W,yDCzgBd,MAAMvwC,kBAAoB,IAAIx+H,IAAI,CAAC,OAAQ,gBAC3CxC,QAAQghI,kBAAoBA,kBAE5BhhI,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,MAAM8jE,OAAS,GAAGpkE,QAClB,IAAK4/H,kBAAkBn+H,IAAI2iE,QACzB,MAAM,IAAI7kE,aAAaiB,UAAU,GAAGF,YAAY8jE,2DAElD,OAAOA,O,6ECRT,MAAMtlE,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBonP,uBAAyBpnP,oBAAQ,OACjCG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CE,KAAOF,oBAAQ,OACfouD,WAAapuD,oBAAQ,MACrBuI,YAAcvI,oBAAQ,MACtBk0D,oBAAsBl0D,oBAAQ,OAC9Bm0D,2BAA6Bn0D,oBAAQ,OACrCK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAiBjC,SAASC,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAA8B,SAAEM,WAGhDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,uCAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UA2C9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjCN,KAAK6B,eAAeH,QAASpB,cAE7BP,MAAM0rD,OAAO/pD,QA3Cf,SAAyBpB;;AACvB,IAAIy+L,aAAeC,gBAAgB/uL,IAAI3P,cAoCvC,YAnCqBG,IAAjBs+L,eACFA,aAAen+L,OAAOC,OAAO,MAC7Bd,MAAM0rD,OAAOszI,aAAc,CACzB,YAAI7iG;;AACF,MAAMn5F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,EACA,YAAI+7F,CAASzzF;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,MAAMyH,EAAIjG,QAAkB,SAC5B,IAAKhD,MAAMY,SAASqI,GAClB,MAAM,IAAI1I,aAAaiB,UAAU,wCAEnC0H,QAAQC,IAAIF,EAAG,OAAQP,EACzB,IAEF7H,OAAOwD,iBAAiB26L,aAAc,CACpC7iG,SAAU,CAAEn6F,cAAc,KAE5Bi9L,gBAAgB91L,IAAI5I,aAAcy+L,eAE7BA,YACT,CAKwBE,CAAgB3+L,gBAGxCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM6+L,gBAAkB,IAAIvuL,QACtBvO,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMy/G,iBAAiBz/G,aAAaN,KAClC4C,WAAAA;;AACE,OAAOjD,QAAQgC,MAAMf,OAAOC,kBAAkBH,WAAYJ,kBAAcG,EAC1E,CAEAs8F,oBAAAA,CAAqB6C;;AACnB,MAAM78F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,yFAAyF0B,UAAUC,mBAGvG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,sEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY48F,wBAAwB55F,MAC7E,CAEA2+F,sBAAAA,CAAuB9tD,UAAWtmC;;AAChC,MAAM3K,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,4FAA4F0B,UAAUC,mBAG1G,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GAErBG,OADEA,aACO,KAEAvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,wEACTgC,QAAS/C,eAGb6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,wEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY2hG,0BAA0B3+F,MAC/E,CAEA6+F,sBAAAA,CAAuBC;;AACrB,MAAMl/F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,2FAA2F0B,UAAUC,mBAGzG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,wEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY6hG,0BAA0B7+F,MAC/E,CAEAq+D,aAAAA,CAAc9zD;;AACZ,MAAM3K,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,kFAAkF0B,UAAUC,mBAGhG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,+DACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,QACRxC,IAAX2C,SAEAA,OADEA,aACO8jP,uBAAuB9lP,QAAQd,aAAc8C,OAAQ,CAC5D/B,QAAS,iEAEFtB,MAAMY,SAASyC,QACf8jP,uBAAuB9lP,QAAQd,aAAc8C,OAAQ,CAC5D/B,QAAS,4EAGFxB,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,+DACTgC,QAAS/C,gBAIf6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOP,MAAMwD,kBAAkBR,QAAQ5C,YAAYqhE,iBAAiBr+D,MACtE,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAg+F,eAAAA,CAAgBtqD,UAAW4rD;;AACzB,MAAM78F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,qFAAqF0B,UAAUC,mBAGnG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GAErBG,OADEA,aACO,KAEAvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEACTgC,QAAS/C,eAGb6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,QACRxC,IAAX2C,SAEAA,OADEA,aACO8jP,uBAAuB9lP,QAAQd,aAAc8C,OAAQ,CAC5D/B,QAAS,mEAEFtB,MAAMY,SAASyC,QACf8jP,uBAAuB9lP,QAAQd,aAAc8C,OAAQ,CAC5D/B,QAAS,8EAGFxB,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEACTgC,QAAS/C,gBAIf6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOP,MAAMwD,kBAAkBR,QAAQ5C,YAAYm+F,mBAAmBn7F,MACxE,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAw/F,sBAAAA;;AACE,MAAM/8F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAY2/F,yBACrD,CAEAL,cAAAA,CAAenpE;;AACb,MAAMvzB,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,mFAAmF0B,UAAUC,mBAGjG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,gEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYs/F,kBAAkBt8F,MACvE,CAEAq8F,kBAAAA,CAAmBlpE;;AACjB,MAAMvzB,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,uFAAuF0B,UAAUC,mBAGrG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,oEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYq/F,sBAAsBr8F,MAC3E,CAEAu8F,aAAAA,CAAcppE;;AACZ,MAAMvzB,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,kFAAkF0B,UAAUC,mBAGhG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,+DACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYu/F,iBAAiBv8F,MACtE,CAEAo8F,2BAAAA,CAA4B12F,OAAQytB;;AAClC,MAAMvzB,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,+FAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,iGAAiG0B,UAAUC,mBAG/G,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,6EACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,6EACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYo/F,+BAA+Bp8F,MACpF,CAEAq9F,UAAAA,CAAWvyF;;AACT,MAAMlL,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,+EAA+E0B,UAAUC,mBAG7F,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASpD,KAAKoB,QAAQd,aAAc8C,OAAQ,CAC1C/B,QAAS,8DAEX8B,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,QACOvD,YAAqB,QAAEuD,OAAQ,CACtC/B,QAAS,4DACTgC,QAAS/C,eAKb6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOP,MAAMwD,kBAAkBR,QAAQ5C,YAAYqgG,cAAcr9F,MACnE,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAogG,SAAAA,CAAUzyF;;AACR,MAAMlL,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAGnC,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,8EAA8E0B,UAAUC,mBAG5F,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASpD,KAAKoB,QAAQd,aAAc8C,OAAQ,CAC1C/B,QAAS,6DAEX8B,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOP,MAAMwD,kBAAkBR,QAAQ5C,YAAYugG,aAAav9F,MAClE,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAy/F,eAAAA,CAAgBryF;;AACd,MAAM3K,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,oFAAoF0B,UAAUC,mBAGlG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY4/F,mBAAmB58F,MACxE,CAEA88F,iBAAAA,CAAkBjsD,UAAW4rD;;AAC3B,MAAM78F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,uFAAuF0B,UAAUC,mBAGrG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GAErBG,OADEA,aACO,KAEAvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,mEACTgC,QAAS/C,eAGb6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,mEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY8/F,qBAAqB98F,MAC1E,CAEA+7F,WAAAA,CAAYioJ;;AACV,MAAMpkP,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,gFAAgF0B,UAAUC,mBAG9F,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,6DACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY++F,eAAe/7F,MACpE,CAEAm8F,WAAAA;;AACE,MAAMv8F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAYm/F,cACrD,CAEAgB,kBAAAA,CAAmBjmE;;AACjB,MAAMt3B,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,uFAAuF0B,UAAUC,mBAGrG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASpD,KAAKoB,QAAQd,aAAc8C,OAAQ,CAC1C/B,QAAS,sEAEX8B,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAY,iBAAiBuD,OAAQ,CAC5C/B,QAAS,oEACTgC,QAAS/C,eAGF,WAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAGnBG,YAFW3C,IAAX2C,OACEA,aACO,KAEA8qD,WAAW9sD,QAAQd,aAAc8C,OAAQ,CAChD/B,QAAS,sEAIJ,KAEX8B,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYmgG,sBAAsBn9F,MAC3E,CAEAk9F,gBAAAA,CAAiBhmE;;AACf,MAAMt3B,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,qFAAqF0B,UAAUC,mBAGnG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASpD,KAAKoB,QAAQd,aAAc8C,OAAQ,CAC1C/B,QAAS,oEAEX8B,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAY,iBAAiBuD,OAAQ,CAC5C/B,QAAS,kEACTgC,QAAS/C,eAGF,WAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAGnBG,YAFW3C,IAAX2C,OACEA,aACO,KAEA8qD,WAAW9sD,QAAQd,aAAc8C,OAAQ,CAChD/B,QAAS,oEAIJ,KAEX8B,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYkgG,oBAAoBl9F,MACzE,CAEA66F,iBAAAA,CAAkBC;;AAChB,MAAMl7F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,sFAAsF0B,UAAUC,mBAGpG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,mEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY69F,qBAAqB76F,MAC1E,CAEAo0B,IAAAA;;AACE,MAAMx0B,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,wEAEnC,MAAM4B,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,sDACTgC,QAAS/C,eAGF,YAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,sDACTgC,QAAS/C,eAGF,GAEX6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOP,MAAMwD,kBAAkBR,QAAQ5C,YAAYo3B,QAAQp0B,MAC7D,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAo9F,KAAAA;;AACE,MAAM36F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,yEAGnCtB,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYu9F,OAC7B,CAAE,QACAx9F,6CAA6CI,aAC/C,CACF,CAEA0iC,KAAAA;;AACE,MAAMjgC,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,yEAEnC,MAAM4B,KAAO,GACb,IAAK,IAAIM,EAAI,EAAGA,EAAIR,UAAUC,OAAQO,IAAK,CACzC,IAAIL,OAASH,UAAUQ,GACvBL,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,uDAAyDoC,EAAI,GACtEJ,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAY6iC,SAAS7/B,KACtC,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAs8F,OAAAA;;AACE,MAAM75F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,2EAEnC,MAAM4B,KAAO,GACb,IAAK,IAAIM,EAAI,EAAGA,EAAIR,UAAUC,OAAQO,IAAK,CACzC,IAAIL,OAASH,UAAUQ,GACvBL,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,yDAA2DoC,EAAI,GACxEJ,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYy8F,WAAWz5F,KACxC,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEA+7F,QAAAA;;AACE,MAAMt5F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,4EAGnC,OAAOwB,QAAQ5C,YAAYk8F,UAC7B,CAEAt2F,KAAAA;;AACE,MAAMhD,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,yEAGnC,OAAOwB,QAAQ5C,YAAY4F,OAC7B,CAEAq7F,aAAAA;;AACE,MAAMr+F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOwB,QAAQ5C,YAAYihG,eAC7B,CAEAC,aAAAA;;AACE,MAAMt+F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOwB,QAAQ5C,YAAYkhG,eAC7B,CAEAI,YAAAA;;AACE,MAAM1+F,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAYshG,eACrD,CAEA5+F,cAAAA,CAAeC;;AACb,MAAMC,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,mFAAmF0B,UAAUC,mBAGjG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,gEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY0C,kBAAkBM,MACvE,CAEAK,OAAAA;;AACE,MAAMT,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,2EAEnC,MAAM4B,KAAO,GACb,IAAK,IAAIM,EAAI,EAAGA,EAAIR,UAAUC,OAAQO,IAAK,CACzC,IAAIL,OAASH,UAAUQ,GAErBL,OADEpD,KAAKc,GAAGsC,QACDrD,MAAMuB,eAAe8B,QAErBvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,yDAA2DoC,EAAI,GACxEJ,QAAS/C,eAGb6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYqD,WAAWL,KACxC,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAoD,MAAAA;;AACE,MAAMX,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,0EAEnC,MAAM4B,KAAO,GACb,IAAK,IAAIM,EAAI,EAAGA,EAAIR,UAAUC,OAAQO,IAAK,CACzC,IAAIL,OAASH,UAAUQ,GAErBL,OADEpD,KAAKc,GAAGsC,QACDrD,MAAMuB,eAAe8B,QAErBvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,wDAA0DoC,EAAI,GACvEJ,QAAS/C,eAGb6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYuD,UAAUP,KACvC,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAqD,eAAAA;;AACE,MAAMZ,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAGJ,MAAM4B,KAAO,GACb,IAAK,IAAIM,EAAI,EAAGA,EAAIR,UAAUC,OAAQO,IAAK,CACzC,IAAIL,OAASH,UAAUQ,GAErBL,OADEpD,KAAKc,GAAGsC,QACDrD,MAAMuB,eAAe8B,QAErBvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iEAAmEoC,EAAI,GAChFJ,QAAS/C,eAGb6C,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYwD,mBAAmBR,KAChD,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEAsD,aAAAA,CAAcC;;AACZ,MAAMd,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,kFAAkF0B,UAAUC,mBAGhG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,+DACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYyD,iBAAiBT,MACtE,CAEAW,gBAAAA,CAAiBD;;AACf,MAAMd,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,qFAAqF0B,UAAUC,mBAGnG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,kEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAY2D,oBAAoBX,MACzE,CAEA,kBAAIjC;;AACF,MAAM6B,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,iBAAkB,IAC1CjD,MAAMwD,kBAAkBR,QAAQ5C,YAA4B,gBAEvE,CAEA,OAAIu3E;;AACF,MAAM30E,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,2EAGnC,OAAOwB,QAAQ5C,YAAiB,GAClC,CAEA,eAAI87F;;AACF,MAAMl5F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOwB,QAAQ5C,YAAyB,WAC1C,CAEA,cAAIw7F;;AACF,MAAM54F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOwB,QAAQ5C,YAAwB,UACzC,CAEA,gBAAI07F;;AACF,MAAM94F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOwB,QAAQ5C,YAA0B,YAC3C,CAEA,WAAI0kE;;AACF,MAAM9hE,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOwB,QAAQ5C,YAAqB,OACtC,CAEA,iBAAI27F;;AACF,MAAM/4F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOwB,QAAQ5C,YAA2B,aAC5C,CAEA,eAAIi5B;;AACF,MAAMr2B,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOwB,QAAQ5C,YAAyB,WAC1C,CAEA,WAAIy7F;;AACF,MAAM74F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,mBAAIg8F;;AACF,MAAMp5F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA6B,gBACtE,CAEA,YAAI65F;;AACF,MAAMj3F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOwB,QAAQ5C,YAAsB,QACvC,CAEA,UAAIy4E;;AACF,MAAM71E,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,UAAIy4E,CAAOnwE;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnCkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,wEACTgC,QAAS/C,eAGXyC,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,gBAAIg5E;;AACF,MAAM1+E,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOwB,QAAQ5C,YAA0B,YAC3C,CAEA,cAAIyU;;AACF,MAAM7R,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,SAAI2G;;AACF,MAAM/D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAGnCtB,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAmB,KACpC,CAAE,QACAD,6CAA6CI,aAC/C,CACF,CAEA,SAAIwG,CAAM2B;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAGnCkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,uEACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAmB,MAAIsI,CACjC,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,OAAIm0D;;AACF,MAAM1xD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,2EAGnCtB,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAiB,GAClC,CAAE,QACAD,6CAA6CI,aAC/C,CACF,CAEA,OAAIm0D,CAAIhsD;;AACN,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,2EAGnCkH,EAAI5I,YAAuB,UAAE4I,EAAG,CAC9BpH,QAAS,qEACTgC,QAAS/C,eAGXL,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAiB,IAAIsI,CAC/B,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,QAAIo+F;;AACF,MAAM37F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,4EAGnCtB,4CAA4CK,cAC5C,IACE,OAAOP,MAAMwD,kBAAkBR,QAAQ5C,YAAkB,KAC3D,CAAE,QACAD,6CAA6CI,aAC/C,CACF,CAEA,QAAIo+F,CAAKj2F;;AACP,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,4EAIjCkH,EADEA,QACE,KAEAJ,YAAYjH,QAAQd,aAAcmI,EAAG,CACvCpH,QAAS,wEAIbpB,4CAA4CK,cAC5C,IACEyC,QAAQ5C,YAAkB,KAAIsI,CAChC,CAAE,QACAvI,6CAA6CI,aAC/C,CACF,CAEA,QAAIke;;AACF,MAAMzb,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,4EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAkB,KAC3D,CAEA,UAAI28F;;AACF,MAAM/5F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,SAAU,IAClCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,QAE/D,CAEA,UAAI68F;;AACF,MAAMj6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,SAAU,IAClCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,QAE/D,CAEA,WAAI88F;;AACF,MAAMl6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,UAAW,IACnCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,SAEhE,CAEA,SAAI+8F;;AACF,MAAMn6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,QAAS,IACjCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAmB,OAE9D,CAEA,SAAIk9F;;AACF,MAAMt6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,QAAS,IACjCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAmB,OAE9D,CAEA,WAAIm9F;;AACF,MAAMv6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,UAAW,IACnCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,SAEhE,CAEA,iBAAIi8F;;AACF,MAAMr5F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,eAAIs4F;;AACF,MAAM11F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,sBAAIinP;;AACF,MAAMrkP,QAAUC,WAAsCA,KAAO1C,aAE7D,GAAKX,QAAQmB,GAAGiC,SAIhB,OAAOhD,MAAMwD,kBAAkBR,QAAQ5C,YAAgC,mBACzE,CAEA,sBAAIinP,CAAmB3+O;;AACrB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAExDX,QAAQmB,GAAGiC,WAOd0F,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,sFAHP,KAMN0B,QAAQ5C,YAAgC,mBAAIsI,EAC9C,CAEA,WAAI80F;;AACF,MAAMx6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,UAAW,IACnCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,SAEhE,CAEA,WAAIq9F;;AACF,MAAMz6F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMiE,cAAchB,KAAM,UAAW,IACnCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,SAEhE,CAEA,eAAIszD;;AACF,MAAM1wD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,cAAe,IACvCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,aAEpE,CAEA,UAAIu0D;;AACF,MAAM3xD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,mBAAIqhG;;AACF,MAAMz+F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA6B,gBACtE,CAEA,sBAAIknP;;AACF,MAAMtkP,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAgC,mBACzE,CAEA,sBAAIknP,CAAmB5+O;;AACrB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,0FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,sFAHP,KAMN0B,QAAQ5C,YAAgC,mBAAIsI,CAC9C,CAEA,WAAImS;;AACF,MAAM7X,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIya,CAAQnS;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,cAAIysD;;AACF,MAAMnyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI+0D,CAAWzsD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,iBAAI0sD;;AACF,MAAMpyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAIg1D,CAAc1sD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,iBAAI2sD;;AACF,MAAMryD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAIi1D,CAAc3sD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,kBAAI4sD;;AACF,MAAMtyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA4B,eACrE,CAEA,kBAAIk1D,CAAe5sD;;AACjB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA4B,eAAIsI,CAC1C,CAEA,UAAI6sD;;AACF,MAAMvyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIm1D,CAAO7sD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,YAAI8sD;;AACF,MAAMxyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIo1D,CAAS9sD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,aAAI+sD;;AACF,MAAMzyD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIq1D,CAAU/sD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,oBAAIgtD;;AACF,MAAM1yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,oBAAIs1D,CAAiBhtD;;AACnB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,oFAHP,KAMN0B,QAAQ5C,YAA8B,iBAAIsI,CAC5C,CAEA,YAAIitD;;AACF,MAAM3yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIu1D,CAASjtD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,WAAIktD;;AACF,MAAM5yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIw1D,CAAQltD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAI88B;;AACF,MAAMxiC,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIolC,CAAQ98B;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,iBAAImtD;;AACF,MAAM7yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAIy1D,CAAcntD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,iBAAIotD;;AACF,MAAM9yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAI01D,CAAcptD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,qBAAIqtD;;AACF,MAAM/yD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA+B,kBACxE,CAEA,qBAAI21D,CAAkBrtD;;AACpB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,qFAHP,KAMN0B,QAAQ5C,YAA+B,kBAAIsI,CAC7C,CAEA,UAAIstD;;AACF,MAAMhzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAI41D,CAAOttD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,eAAIutD;;AACF,MAAMjzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAI61D,CAAYvtD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,SAAIwtD;;AACF,MAAMlzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAmB,MAC5D,CAEA,SAAI81D,CAAMxtD;;AACR,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,6EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,yEAHP,KAMN0B,QAAQ5C,YAAmB,MAAIsI,CACjC,CAEA,cAAIytD;;AACF,MAAMnzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI+1D,CAAWztD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,UAAI0tD;;AACF,MAAMpzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIg2D,CAAO1tD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,aAAI2tD;;AACF,MAAMrzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIi2D,CAAU3tD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,eAAI4tD;;AACF,MAAMtzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIk2D,CAAY5tD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,eAAI6tD;;AACF,MAAMvzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIm2D,CAAY7tD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,cAAI8tD;;AACF,MAAMxzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIo2D,CAAW9tD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,eAAI+tD;;AACF,MAAMzzD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIq2D,CAAY/tD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,UAAIguD;;AACF,MAAM1zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIs2D,CAAOhuD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,oBAAIiuD;;AACF,MAAM3zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,oBAAIu2D,CAAiBjuD;;AACnB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,oFAHP,KAMN0B,QAAQ5C,YAA8B,iBAAIsI,CAC5C,CAEA,aAAIkuD;;AACF,MAAM5zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIw2D,CAAUluD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,WAAImuD;;AACF,MAAM7zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIy2D,CAAQnuD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIutB;;AACF,MAAMjzB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI61B,CAAQvtB;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdwrD,2BAA2B7yD,QAAQd,aAAcmI,EAAG,CACtDpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIouD;;AACF,MAAM9zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI02D,CAAQpuD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,cAAIquD;;AACF,MAAM/zD,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI22D,CAAWruD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,WAAIsuD;;AACF,MAAMh0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI42D,CAAQtuD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,aAAIuuD;;AACF,MAAMj0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI62D,CAAUvuD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,aAAIwuD;;AACF,MAAMl0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI82D,CAAUxuD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,cAAIyuD;;AACF,MAAMn0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAI+2D,CAAWzuD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,WAAI0uD;;AACF,MAAMp0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIg3D,CAAQ1uD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,UAAI2uD;;AACF,MAAMr0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIi3D,CAAO3uD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,gBAAI4uD;;AACF,MAAMt0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIk3D,CAAa5uD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,oBAAI6uD;;AACF,MAAMv0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,oBAAIm3D,CAAiB7uD;;AACnB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,oFAHP,KAMN0B,QAAQ5C,YAA8B,iBAAIsI,CAC5C,CAEA,eAAI8uD;;AACF,MAAMx0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIo3D,CAAY9uD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,eAAI+uD;;AACF,MAAMz0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIq3D,CAAY/uD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,gBAAIgvD;;AACF,MAAM10D,QAAUC,WAAsCA,KAAO1C,aAE7D,GAAKX,QAAQmB,GAAGiC,SAIhB,OAAOhD,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIs3D,CAAahvD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAExDX,QAAQmB,GAAGiC,WAOd0F,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,EACxC,CAEA,gBAAIivD;;AACF,MAAM30D,QAAUC,WAAsCA,KAAO1C,aAE7D,GAAKX,QAAQmB,GAAGiC,SAIhB,OAAOhD,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIu3D,CAAajvD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAExDX,QAAQmB,GAAGiC,WAOd0F,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,EACxC,CAEA,eAAIkvD;;AACF,MAAM50D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIw3D,CAAYlvD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,cAAImvD;;AACF,MAAM70D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIy3D,CAAWnvD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,eAAIovD;;AACF,MAAM90D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAI03D,CAAYpvD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,aAAIqvD;;AACF,MAAM/0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI23D,CAAUrvD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,WAAIsvD;;AACF,MAAMh1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI43D,CAAQtvD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIuvD;;AACF,MAAMj1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI63D,CAAQvvD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,UAAIwvD;;AACF,MAAMl1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAI83D,CAAOxvD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,8EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0EAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,aAAIyvD;;AACF,MAAMn1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI+3D,CAAUzvD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,cAAI0vD;;AACF,MAAMp1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIg4D,CAAW1vD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,gBAAI2vD;;AACF,MAAMr1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIi4D,CAAa3vD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,WAAI4vD;;AACF,MAAMt1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIk4D,CAAQ5vD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,YAAI6vD;;AACF,MAAMv1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIm4D,CAAS7vD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,YAAI8vD;;AACF,MAAMx1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIo4D,CAAS9vD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,eAAI+vD;;AACF,MAAMz1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIq4D,CAAY/vD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,6BAAIgwD;;AACF,MAAM11D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuC,0BAChF,CAEA,6BAAIs4D,CAA0BhwD;;AAC5B,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6FAHP,KAMN0B,QAAQ5C,YAAuC,0BAAIsI,CACrD,CAEA,YAAIiwD;;AACF,MAAM31D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIu4D,CAASjwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,aAAIkwD;;AACF,MAAM51D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIw4D,CAAUlwD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,YAAImwD;;AACF,MAAM71D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAIy4D,CAASnwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,gBAAIowD;;AACF,MAAM91D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAI04D,CAAapwD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,aAAIqwD;;AACF,MAAM/1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI24D,CAAUrwD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,YAAIswD;;AACF,MAAMh2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAI44D,CAAStwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,aAAIuwD;;AACF,MAAMj2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAI64D,CAAUvwD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,gBAAIwwD;;AACF,MAAMl2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAI84D,CAAaxwD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,YAAIywD;;AACF,MAAMn2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,SAC/D,CAEA,YAAI+4D,CAASzwD;;AACX,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4EAHP,KAMN0B,QAAQ5C,YAAsB,SAAIsI,CACpC,CAEA,kBAAI0wD;;AACF,MAAMp2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA4B,eACrE,CAEA,kBAAIg5D,CAAe1wD;;AACjB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,sFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,kFAHP,KAMN0B,QAAQ5C,YAA4B,eAAIsI,CAC1C,CAEA,aAAI2wD;;AACF,MAAMr2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIi5D,CAAU3wD;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,6EAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,wBAAI4wD;;AACF,MAAMt2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAkC,qBAC3E,CAEA,wBAAIk5D,CAAqB5wD;;AACvB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,wFAHP,KAMN0B,QAAQ5C,YAAkC,qBAAIsI,CAChD,CAEA,8BAAI6wD;;AACF,MAAMv2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwC,2BACjF,CAEA,8BAAIm5D,CAA2B7wD;;AAC7B,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8FAHP,KAMN0B,QAAQ5C,YAAwC,2BAAIsI,CACtD,CAEA,0BAAI8wD;;AACF,MAAMx2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,8FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoC,uBAC7E,CAEA,0BAAIo5D,CAAuB9wD;;AACzB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,8FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,0FAHP,KAMN0B,QAAQ5C,YAAoC,uBAAIsI,CAClD,CAEA,yBAAI+wD;;AACF,MAAMz2D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,6FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAmC,sBAC5E,CAEA,yBAAIq5D,CAAsB/wD;;AACxB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,6FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,yFAHP,KAMN0B,QAAQ5C,YAAmC,sBAAIsI,CACjD,CAEA,WAAIgxD;;AACF,MAAM12D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAGnC,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIs5D,CAAQhxD;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UAAU,+EAMjCkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2EAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,gBAAIixD;;AACF,MAAM32D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA0B,aACnE,CAEA,gBAAIu5D,CAAajxD;;AACf,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gFAHP,KAMN0B,QAAQ5C,YAA0B,aAAIsI,CACxC,CAEA,cAAIkxD;;AACF,MAAM52D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIw5D,CAAWlxD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8EAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,eAAImxD;;AACF,MAAM72D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIy5D,CAAYnxD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+EAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,iBAAIoxD;;AACF,MAAM92D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,iBAAI05D,CAAcpxD;;AAChB,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,iFAHP,KAMN0B,QAAQ5C,YAA2B,cAAIsI,CACzC,CAEA,iBAAIu2F;;AACF,MAAMj8F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA2B,cACpE,CAEA,YAAI4D;;AACF,MAAMhB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOxB,MAAMiE,cAAchB,KAAM,WAAY,IACpCjD,MAAMwD,kBAAkBR,QAAQ5C,YAAsB,UAEjE,CAEA,qBAAI8D;;AACF,MAAMlB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA+B,kBACxE,CAEA,oBAAI+D;;AACF,MAAMnB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAA8B,iBACvE,CAEA,qBAAIgE;;AACF,MAAMpB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,yFAIJ,OAAOwB,QAAQ5C,YAA+B,iBAChD,EAEFS,OAAOwD,iBAAiB27G,SAASr/G,UAAW,CAC1Cq8F,qBAAsB,CAAE14F,YAAY,GACpCy9F,uBAAwB,CAAEz9F,YAAY,GACtC29F,uBAAwB,CAAE39F,YAAY,GACtCm9D,cAAe,CAAEn9D,YAAY,GAC7Bi6F,gBAAiB,CAAEj6F,YAAY,GAC/By7F,uBAAwB,CAAEz7F,YAAY,GACtCo7F,eAAgB,CAAEp7F,YAAY,GAC9Bm7F,mBAAoB,CAAEn7F,YAAY,GAClCq7F,cAAe,CAAEr7F,YAAY,GAC7Bk7F,4BAA6B,CAAEl7F,YAAY,GAC3Cm8F,WAAY,CAAEn8F,YAAY,GAC1Bq8F,UAAW,CAAEr8F,YAAY,GACzB07F,gBAAiB,CAAE17F,YAAY,GAC/B47F,kBAAmB,CAAE57F,YAAY,GACjC66F,YAAa,CAAE76F,YAAY,GAC3Bi7F,YAAa,CAAEj7F,YAAY,GAC3Bi8F,mBAAoB,CAAEj8F,YAAY,GAClCg8F,iBAAkB,CAAEh8F,YAAY,GAChC25F,kBAAmB,CAAE35F,YAAY,GACjCkzB,KAAM,CAAElzB,YAAY,GACpBq5F,MAAO,CAAEr5F,YAAY,GACrB2+B,MAAO,CAAE3+B,YAAY,GACrBu4F,QAAS,CAAEv4F,YAAY,GACvBg4F,SAAU,CAAEh4F,YAAY,GACxB0B,MAAO,CAAE1B,YAAY,GACrB+8F,cAAe,CAAE/8F,YAAY,GAC7Bg9F,cAAe,CAAEh9F,YAAY,GAC7Bo9F,aAAc,CAAEp9F,YAAY,GAC5BxB,eAAgB,CAAEwB,YAAY,GAC9Bb,QAAS,CAAEa,YAAY,GACvBX,OAAQ,CAAEW,YAAY,GACtBV,gBAAiB,CAAEU,YAAY,GAC/BT,cAAe,CAAES,YAAY,GAC7BP,iBAAkB,CAAEO,YAAY,GAChCnD,eAAgB,CAAEmD,YAAY,GAC9BqzE,IAAK,CAAErzE,YAAY,GACnB43F,YAAa,CAAE53F,YAAY,GAC3Bs3F,WAAY,CAAEt3F,YAAY,GAC1Bw3F,aAAc,CAAEx3F,YAAY,GAC5BwgE,QAAS,CAAExgE,YAAY,GACvBy3F,cAAe,CAAEz3F,YAAY,GAC7B+0B,YAAa,CAAE/0B,YAAY,GAC3Bu3F,QAAS,CAAEv3F,YAAY,GACvB83F,gBAAiB,CAAE93F,YAAY,GAC/B21F,SAAU,CAAE31F,YAAY,GACxBu0E,OAAQ,CAAEv0E,YAAY,GACtBo9E,aAAc,CAAEp9E,YAAY,GAC5BuQ,WAAY,CAAEvQ,YAAY,GAC1ByC,MAAO,CAAEzC,YAAY,GACrBowD,IAAK,CAAEpwD,YAAY,GACnBq6F,KAAM,CAAEr6F,YAAY,GACpBma,KAAM,CAAEna,YAAY,GACpBy4F,OAAQ,CAAEz4F,YAAY,GACtB24F,OAAQ,CAAE34F,YAAY,GACtB44F,QAAS,CAAE54F,YAAY,GACvB64F,MAAO,CAAE74F,YAAY,GACrBg5F,MAAO,CAAEh5F,YAAY,GACrBi5F,QAAS,CAAEj5F,YAAY,GACvB+3F,cAAe,CAAE/3F,YAAY,GAC7Bo0F,YAAa,CAAEp0F,YAAY,GAC3B+iP,mBAAoB,CAAE/iP,YAAY,GAClCk5F,QAAS,CAAEl5F,YAAY,GACvBm5F,QAAS,CAAEn5F,YAAY,GACvBovD,YAAa,CAAEpvD,YAAY,GAC3BqwD,OAAQ,CAAErwD,YAAY,GACtBm9F,gBAAiB,CAAEn9F,YAAY,GAC/BgjP,mBAAoB,CAAEhjP,YAAY,GAClCuW,QAAS,CAAEvW,YAAY,GACvB6wD,WAAY,CAAE7wD,YAAY,GAC1B8wD,cAAe,CAAE9wD,YAAY,GAC7B+wD,cAAe,CAAE/wD,YAAY,GAC7BgxD,eAAgB,CAAEhxD,YAAY,GAC9BixD,OAAQ,CAAEjxD,YAAY,GACtBkxD,SAAU,CAAElxD,YAAY,GACxBmxD,UAAW,CAAEnxD,YAAY,GACzBoxD,iBAAkB,CAAEpxD,YAAY,GAChCqxD,SAAU,CAAErxD,YAAY,GACxBsxD,QAAS,CAAEtxD,YAAY,GACvBkhC,QAAS,CAAElhC,YAAY,GACvBuxD,cAAe,CAAEvxD,YAAY,GAC7BwxD,cAAe,CAAExxD,YAAY,GAC7ByxD,kBAAmB,CAAEzxD,YAAY,GACjC0xD,OAAQ,CAAE1xD,YAAY,GACtB2xD,YAAa,CAAE3xD,YAAY,GAC3B4xD,MAAO,CAAE5xD,YAAY,GACrB6xD,WAAY,CAAE7xD,YAAY,GAC1B8xD,OAAQ,CAAE9xD,YAAY,GACtB+xD,UAAW,CAAE/xD,YAAY,GACzBgyD,YAAa,CAAEhyD,YAAY,GAC3BiyD,YAAa,CAAEjyD,YAAY,GAC3BkyD,WAAY,CAAElyD,YAAY,GAC1BmyD,YAAa,CAAEnyD,YAAY,GAC3BoyD,OAAQ,CAAEpyD,YAAY,GACtBqyD,iBAAkB,CAAEryD,YAAY,GAChCsyD,UAAW,CAAEtyD,YAAY,GACzBuyD,QAAS,CAAEvyD,YAAY,GACvB2xB,QAAS,CAAE3xB,YAAY,GACvBwyD,QAAS,CAAExyD,YAAY,GACvByyD,WAAY,CAAEzyD,YAAY,GAC1B0yD,QAAS,CAAE1yD,YAAY,GACvB2yD,UAAW,CAAE3yD,YAAY,GACzB4yD,UAAW,CAAE5yD,YAAY,GACzB6yD,WAAY,CAAE7yD,YAAY,GAC1B8yD,QAAS,CAAE9yD,YAAY,GACvB+yD,OAAQ,CAAE/yD,YAAY,GACtBgzD,aAAc,CAAEhzD,YAAY,GAC5BizD,iBAAkB,CAAEjzD,YAAY,GAChCkzD,YAAa,CAAElzD,YAAY,GAC3BmzD,YAAa,CAAEnzD,YAAY,GAC3BozD,aAAc,CAAEpzD,YAAY,GAC5BqzD,aAAc,CAAErzD,YAAY,GAC5BszD,YAAa,CAAEtzD,YAAY,GAC3BuzD,WAAY,CAAEvzD,YAAY,GAC1BwzD,YAAa,CAAExzD,YAAY,GAC3ByzD,UAAW,CAAEzzD,YAAY,GACzB0zD,QAAS,CAAE1zD,YAAY,GACvB2zD,QAAS,CAAE3zD,YAAY,GACvB4zD,OAAQ,CAAE5zD,YAAY,GACtB6zD,UAAW,CAAE7zD,YAAY,GACzB8zD,WAAY,CAAE9zD,YAAY,GAC1B+zD,aAAc,CAAE/zD,YAAY,GAC5Bg0D,QAAS,CAAEh0D,YAAY,GACvBi0D,SAAU,CAAEj0D,YAAY,GACxBk0D,SAAU,CAAEl0D,YAAY,GACxBm0D,YAAa,CAAEn0D,YAAY,GAC3Bo0D,0BAA2B,CAAEp0D,YAAY,GACzCq0D,SAAU,CAAEr0D,YAAY,GACxBs0D,UAAW,CAAEt0D,YAAY,GACzBu0D,SAAU,CAAEv0D,YAAY,GACxBw0D,aAAc,CAAEx0D,YAAY,GAC5By0D,UAAW,CAAEz0D,YAAY,GACzB00D,SAAU,CAAE10D,YAAY,GACxB20D,UAAW,CAAE30D,YAAY,GACzB40D,aAAc,CAAE50D,YAAY,GAC5B60D,SAAU,CAAE70D,YAAY,GACxB80D,eAAgB,CAAE90D,YAAY,GAC9B+0D,UAAW,CAAE/0D,YAAY,GACzBg1D,qBAAsB,CAAEh1D,YAAY,GACpCi1D,2BAA4B,CAAEj1D,YAAY,GAC1Ck1D,uBAAwB,CAAEl1D,YAAY,GACtCm1D,sBAAuB,CAAEn1D,YAAY,GACrCo1D,QAAS,CAAEp1D,YAAY,GACvBq1D,aAAc,CAAEr1D,YAAY,GAC5Bs1D,WAAY,CAAEt1D,YAAY,GAC1Bu1D,YAAa,CAAEv1D,YAAY,GAC3Bw1D,cAAe,CAAEx1D,YAAY,GAC7B26F,cAAe,CAAE36F,YAAY,GAC7BN,SAAU,CAAEM,YAAY,GACxBJ,kBAAmB,CAAEI,YAAY,GACjCH,iBAAkB,CAAEG,YAAY,GAChCF,kBAAmB,CAAEE,YAAY,GACjC,CAACC,OAAOC,aAAc,CAAExD,MAAO,WAAYgB,cAAc,GACzD,CAACuC,OAAOE,aAAc,CACpBzD,MAAO,CAAEyC,SAAS,EAAME,QAAQ,EAAMC,iBAAiB,EAAMc,UAAW,MACxE1C,cAAc,KAGlBU,aAA0B,SAAIs9G,SAE9Bn/G,OAAOkB,eAAexB,aAriIF,WAqiI+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOg/G,YAIX,MAAM9+G,KAAOnB,oBAAQ,M,6EC1jIrB,IAAIymC,KAAOzmC,oBAAQ,OACf8qJ,OAAS9qJ,oBAAQ,OACjBwnP,YAAcxnP,oBAAQ,OAG1BJ,OAAOC,QAAU;;AAChB,OAAO2nP,YAAY/gN,KAAMqkH,OAAQ3nJ,UAClC,C,6ECPA,MAAMpD,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEtBH,QAAQq+E,gBAAkB,CAAC19E,aAAc2U,IAAKmvB,KAAO/iC,QAAU,sBAAyB,CAAC;;AACvF,CACE,MAAM6P,IAAM,kBACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,KAChE,QAAczQ,IAAVM,MAAqB,CACvB,IAAKhB,MAAMY,SAASI,OAClB,MAAM,IAAIT,aAAaiB,UACrBF,yEAEG,CACL,MAAMoH,EAAI,GACJoxB,IAAM94B,MACZ,IAAK,IAAI+4B,YAAYD,IACnBC,SAAWj6B,YAAuB,UAAEi6B,SAAU,CAC5Cz4B,QAASA,uDACTgC,QAAS/C,eAGXmI,EAAEnF,KAAKw2B,UAET/4B,MAAQ0H,CACV,CAEA27B,IAAIlzB,KAAOnQ,KACb,CACF,CAEA,CACE,MAAMmQ,IAAM,oBACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,QACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CACpCM,QAASA,QAAU,uCACnBgC,QAAS/C,eAGX8jC,IAAIlzB,KAAOnQ,MAEf,CAEA,CACE,MAAMmQ,IAAM,aACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,QACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CACpCM,QAASA,QAAU,gCACnBgC,QAAS/C,eAGX8jC,IAAIlzB,KAAOnQ,MAEf,CAEA,CACE,MAAMmQ,IAAM,gBACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,QACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CACpCM,QAASA,QAAU,mCACnBgC,QAAS/C,eAGX8jC,IAAIlzB,KAAOnQ,MAEf,CAEA,CACE,MAAMmQ,IAAM,wBACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,QACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CACpCM,QAASA,QAAU,2CACnBgC,QAAS/C,eAGX8jC,IAAIlzB,KAAOnQ,MAEf,CAEA,CACE,MAAMmQ,IAAM,YACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,OACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CACpCM,QAASA,QAAU,+BACnBgC,QAAS/C,eAGX8jC,IAAIlzB,KAAOnQ,OAEXqjC,IAAIlzB,MAAO,CAEf,CAEA,CACE,MAAMA,IAAM,UACZ,IAAInQ,MAAQkU,eAAoCxU,EAAYwU,IAAI/D,UAClDzQ,IAAVM,OACFA,MAAQlB,YAAqB,QAAEkB,MAAO,CAAEM,QAASA,QAAU,6BAA8BgC,QAAS/C,eAElG8jC,IAAIlzB,KAAOnQ,OAEXqjC,IAAIlzB,MAAO,CAEf,GAGFvR,QAAQyB,QAAU,CAACd,aAAc2U,KAAO5T,QAAU,sBAAyB,CAAC;;AAC1E,QAAYZ,IAARwU,KAAoC,iBAARA,KAAmC,mBAARA,IACzD,MAAM,IAAI3U,aAAaiB,UAAU,GAAGF,6BAGtC,MAAM+iC,IAAMxjC,OAAOC,OAAO,MAE1B,OADAlB,QAAQq+E,gBAAgB19E,aAAc2U,IAAKmvB,IAAK,CAAE/iC,UAC3C+iC,I,6ECrHT,MAAMvkC,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhB0pJ,gBAAkB1pJ,oBAAQ,OAC1BK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3B8J,MAAQpK,oBAAQ,OAiBtB,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAiC,YAAEM,WAGnDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,0CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC4J,MAAMrI,eAAeH,QAASpB,eAGhCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMq+H,oBAAoBr+H,aAAa4J,MACrCtH,WAAAA,CAAYwH;;AACV,GAAInH,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,oEAAoE0B,UAAUC,mBAGlF,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,iDACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASomJ,gBAAgBpoJ,QAAQd,aAAc8C,OAAQ,CACrD/B,QAAS,mDAEX8B,KAAKG,KAAKF,OACZ,CACA,OAAOzD,QAAQgC,MAAMf,OAAOC,kBAAkBH,WAAYJ,aAAc6C,KAC1E,CAEA,aAAIy+E;;AACF,MAAM7+E,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,EAEFS,OAAOwD,iBAAiBu6H,YAAYj+H,UAAW,CAC7CkhF,UAAW,CAAEv9E,YAAY,GACzB,CAACC,OAAOC,aAAc,CAAExD,MAAO,cAAegB,cAAc,KAE9DU,aAA0B,YAAIk8H,YAE9B/9H,OAAOkB,eAAexB,aA9HF,cA8H+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO49H,eAIX,MAAM19H,KAAOnB,oBAAQ,M,8BC3IrBJ,OAAOC,QAAU,IAAIwC,IAAI,CACvB,aACA,wBACA,mBACA,mBACA,sBACA,oBACA,SACA,gBACA,sBACA,sBACA,sBACA,kBACA,eACA,cACA,oBACA,oBACA,oBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,mBACA,mBACA,eACA,SACA,QACA,OACA,QACA,OACA,aACA,YACA,cACA,QACA,cACA,OACA,cACA,YACA,aACA,eACA,cACA,SACA,OACA,iBACA,cACA,SACA,gBACA,cACA,eACA,aACA,UACA,gBACA,UACA,iBACA,eACA,gBACA,cACA,QACA,aACA,MACA,6BACA,8BACA,2BACA,6BACA,4BACA,8BACA,8BACA,0BACA,4BACA,S,6EC3EF,MAAMtC,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhBynP,yBAA2BznP,oBAAQ,OACnC0nP,yBAA2B1nP,oBAAQ,OACnCG,4CAA8CH,oBAAAA,OAAAA,oBAC9CI,6CAA+CJ,oBAAAA,OAAAA,qBAC/CE,KAAOF,oBAAQ,OACfK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAiBjC,SAASC,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAA2C,sBAAEM,WAG7DE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,oDAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB,kBAEnCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMgiH,sBACJ1/G,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEAkqD,MAAAA,CAAO1gD,KAAMnI;;AACX,MAAMG,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,uFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,yFAAyF0B,UAAUC,mBAGvG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,qEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASmkP,yBAAyBnmP,QAAQd,aAAc8C,OAAQ,CAC9D/B,QAAS,uEAEX8B,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GACvBG,OAASokP,yBAAyBpmP,QAAQd,aAAc8C,OAAQ,CAC9D/B,QAAS,uEAEX8B,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYsrD,UAAUtoD,KACvC,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,CAEA2P,GAAAA,CAAIlF;;AACF,MAAMhI,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,qFAAqF0B,UAAUC,mBAGnG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,kEACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOL,QAAQ5C,YAAY8P,OAAO9M,KACpC,CAEAqpL,WAAAA,CAAYzhL;;AACV,IACE,MAAMhI,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,4FAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,6FAA6F0B,UAAUC,mBAG3G,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASvD,YAAuB,UAAEuD,OAAQ,CACxC/B,QAAS,0EACTgC,QAAS/C,eAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBR,QAAQ5C,YAAYqsL,eAAerpL,MACpE,CAAE,MAAOkK,GACP,OAAO/M,aAAa0T,QAAQ2gB,OAAOtnB,EACrC,CACF,CAEAq/K,OAAAA,CAAQryJ;;AACN,MAAMt3B,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,wFAIJ,GAAI0B,UAAUC,OAAS,EACrB,MAAM,IAAI5C,aAAaiB,UACrB,yFAAyF0B,UAAUC,mBAGvG,MAAMC,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASpD,KAAKoB,QAAQd,aAAc8C,OAAQ,CAC1C/B,QAAS,wEAEX8B,KAAKG,KAAKF,OACZ,CACAnD,4CAA4CK,cAC5C,IACE,OAAOyC,QAAQ5C,YAAYusL,WAAWvpL,KACxC,CAAE,QACAjD,6CAA6CI,aAC/C,CACF,EAEFM,OAAOwD,iBAAiBk+G,sBAAsB5hH,UAAW,CACvD+qD,OAAQ,CAAEpnD,YAAY,GACtB4L,IAAK,CAAE5L,YAAY,GACnBmoL,YAAa,CAAEnoL,YAAY,GAC3BqoL,QAAS,CAAEroL,YAAY,GACvB,CAACC,OAAOC,aAAc,CAAExD,MAAO,wBAAyBgB,cAAc,KAExEU,aAA0B,sBAAI6/G,sBAE9B1hH,OAAOkB,eAAexB,aA7NF,wBA6N+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOuhH,yBAIX,MAAMrhH,KAAOnB,oBAAQ,M,6EC/ODA,oBAAQ,OAA5B,MACMC,MAAQD,oBAAQ,OAEhBk0D,oBAAsBl0D,oBAAQ,OAC9BK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3B09E,YAAch+E,oBAAQ,OAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAA+C,0BAAEM,WAGjEE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,wDAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjCw9E,YAAYj8E,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,SAAU,kBAAmB,iBAEtDxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAM++H,kCAAkC/+H,aAAaw9E,YACnDl7E,WAAAA;;AACE,MAAM,IAAItC,aAAaiB,UAAU,sBACnC,CAEA,eAAIg2D;;AACF,MAAMx0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAyB,YAClE,CAEA,eAAIo3D,CAAY9uD;;AACd,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,gGAHP,KAMN0B,QAAQ5C,YAAyB,YAAIsI,CACvC,CAEA,cAAI0vD;;AACF,MAAMp1D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAwB,WACjE,CAEA,cAAIg4D,CAAW1vD;;AACb,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,+FAHP,KAMN0B,QAAQ5C,YAAwB,WAAIsI,CACtC,CAEA,WAAImS;;AACF,MAAM7X,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAIya,CAAQnS;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4FAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,WAAIutB;;AACF,MAAMjzB,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAqB,QAC9D,CAEA,WAAI61B,CAAQvtB;;AACV,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,4FAHP,KAMN0B,QAAQ5C,YAAqB,QAAIsI,CACnC,CAEA,UAAI2uD;;AACF,MAAMr0D,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,+FAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAoB,OAC7D,CAEA,UAAIi3D,CAAO3uD;;AACT,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,+FAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,2FAHP,KAMN0B,QAAQ5C,YAAoB,OAAIsI,CAClC,CAEA,aAAIg/O;;AACF,MAAM1kP,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAIsnP,CAAUh/O;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8FAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,CAEA,aAAI6mI;;AACF,MAAMvsI,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kGAIJ,OAAOxB,MAAMwD,kBAAkBR,QAAQ5C,YAAuB,UAChE,CAEA,aAAImvI,CAAU7mI;;AACZ,MAAM1F,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kGAOFkH,EAHG1I,MAAMY,SAAS8H,GAGdurD,oBAAoB5yD,QAAQd,aAAcmI,EAAG,CAC/CpH,QAAS,8FAHP,KAMN0B,QAAQ5C,YAAuB,UAAIsI,CACrC,EAEF7H,OAAOwD,iBAAiBi7H,0BAA0B3+H,UAAW,CAC3D62D,YAAa,CAAElzD,YAAY,GAC3B8zD,WAAY,CAAE9zD,YAAY,GAC1BuW,QAAS,CAAEvW,YAAY,GACvB2xB,QAAS,CAAE3xB,YAAY,GACvB+yD,OAAQ,CAAE/yD,YAAY,GACtBojP,UAAW,CAAEpjP,YAAY,GACzBirI,UAAW,CAAEjrI,YAAY,GACzB,CAACC,OAAOC,aAAc,CAAExD,MAAO,4BAA6BgB,cAAc,KAE5EU,aAA0B,0BAAI48H,0BAE9Bz+H,OAAOkB,eAAexB,aA5TF,4BA4T+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOs+H,6BAIX,MAAMp+H,KAAOnB,oBAAQ,M,6EC3UrB,MAAMD,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEtBH,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,SAASo/E,6BAA6Bt9E;;AACpC,MAAM0qD,QAAU9tD,MAAMwD,kBAAkBP,MACxC,IAAIgrD,WAEJ,GAAqB,mBAAVjtD,MAAsB,CAC/B,IAAK,IAAI0C,EAAI,EAAGA,EAAIiY,KAAKy0B,IAAIhtC,KAAKD,OAAQ,GAAIO,IAC5CN,KAAKM,GAAK1D,MAAMwD,kBAAkBJ,KAAKM,IAGzC,GAAIN,KAAKD,OAAS,EAChB,IAAK,IAAIO,EAAIN,KAAKD,OAAQO,EAAI,EAAGA,IAC/BN,KAAKM,QAAKhD,OAEH0C,KAAKD,OAAS,IACvBC,KAAKD,OAAS,GAGhB8qD,WAAa/kD,QAAQ+H,MAAMjQ,MAAO8sD,QAAS1qD,KAC7C,CAIA,OAFA6qD,WAAanuD,YAAiB,IAAEmuD,WAAY,CAAE3sD,QAAkBgC,QAAS/C,eAElE0tD,UACT,CAyBA,OAvBAyyB,0BAA0BxY,UAAY,IAAI9kE;;AACxC,IAAK,IAAIM,EAAI,EAAGA,EAAIiY,KAAKy0B,IAAIhtC,KAAKD,OAAQ,GAAIO,IAC5CN,KAAKM,GAAK1D,MAAMwD,kBAAkBJ,KAAKM,IAGzC,GAAIN,KAAKD,OAAS,EAChB,IAAK,IAAIO,EAAIN,KAAKD,OAAQO,EAAI,EAAGA,IAC/BN,KAAKM,QAAKhD,OAEH0C,KAAKD,OAAS,IACvBC,KAAKD,OAAS,GAGhB,IAAI8qD,WAAa/kD,QAAQg/D,UAAUlnE,MAAOoC,MAI1C,OAFA6qD,WAAanuD,YAAiB,IAAEmuD,WAAY,CAAE3sD,QAAkBgC,QAAS/C,eAElE0tD,YAGTyyB,0BAA0B1gF,MAAMiC,eAAiBjB,MACjD0/E,0BAA0BxyB,gBAAkBltD,MAErC0/E,0B,6ECpDT,MAAM5gF,YAAcC,oBAAQ,OACtBC,MAAQD,oBAAQ,OAEhB4nP,YAAc5nP,oBAAQ,OACtBK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAiBjC,SAASC,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAqC,gBAAEM,WAGvDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,8CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB,kBAEnCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,SAAU,WAEnCxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAMulF,gBACJjjF,WAAAA;;AACE,MAAMO,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAY,uBAAuBuD,OAAQ,CAClD/B,QAAS,qDACTgC,QAAS/C,eAGF,EAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAY,uBAAuBuD,OAAQ,CAClD/B,QAAS,qDACTgC,QAAS/C,eAGF,EAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAY,uBAAuBuD,OAAQ,CAClD/B,QAAS,qDACTgC,QAAS/C,eAGF,EAEX6C,KAAKG,KAAKF,OACZ,CACA,CACE,IAAIA,OAASH,UAAU,GAErBG,YADa3C,IAAX2C,OACOvD,YAAY,uBAAuBuD,OAAQ,CAClD/B,QAAS,qDACTgC,QAAS/C,eAGF,EAEX6C,KAAKG,KAAKF,OACZ,CACA,OAAOzD,QAAQgC,MAAMf,OAAOC,kBAAkBH,WAAYJ,aAAc6C,KAC1E,CAEAg5E,MAAAA;;AACE,MAAMp5E,QAAUC,WAAsCA,KAAO1C,aAC7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,iFAIJ,OAAOwB,QAAQ5C,YAAYg8E,QAC7B,CAEA,KAAI5lE;;AACF,MAAMxT,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOwB,QAAQ5C,YAAe,CAChC,CAEA,KAAIqW;;AACF,MAAMzT,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,gFAIJ,OAAOwB,QAAQ5C,YAAe,CAChC,CAEA,SAAIsW;;AACF,MAAM1T,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOwB,QAAQ5C,YAAmB,KACpC,CAEA,UAAIuW;;AACF,MAAM3T,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,OAAI2lF;;AACF,MAAM/iF,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,kFAIJ,OAAOwB,QAAQ5C,YAAiB,GAClC,CAEA,SAAI4lF;;AACF,MAAMhjF,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,oFAIJ,OAAOwB,QAAQ5C,YAAmB,KACpC,CAEA,UAAI6lF;;AACF,MAAMjjF,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,qFAIJ,OAAOwB,QAAQ5C,YAAoB,MACrC,CAEA,QAAI8lF;;AACF,MAAMljF,QAAUC,WAAsCA,KAAO1C,aAE7D,IAAKX,QAAQmB,GAAGiC,SACd,MAAM,IAAIzC,aAAaiB,UACrB,mFAIJ,OAAOwB,QAAQ5C,YAAkB,IACnC,CAEA,eAAOkW;;AACL,MAAMlT,KAAO,GACb,CACE,IAAIC,OAASH,UAAU,GACvBG,OAASskP,YAAYtmP,QAAQd,aAAc8C,OAAQ,CACjD/B,QAAS,mEAEX8B,KAAKG,KAAKF,OACZ,CACA,OAAOrD,MAAMwD,kBAAkBtC,KAAKC,eAAemV,SAAS/V,gBAAiB6C,MAC/E,EAEFvC,OAAOwD,iBAAiByhF,gBAAgBnlF,UAAW,CACjDy7E,OAAQ,CAAE93E,YAAY,GACtBkS,EAAG,CAAElS,YAAY,GACjBmS,EAAG,CAAEnS,YAAY,GACjBoS,MAAO,CAAEpS,YAAY,GACrBqS,OAAQ,CAAErS,YAAY,GACtByhF,IAAK,CAAEzhF,YAAY,GACnB0hF,MAAO,CAAE1hF,YAAY,GACrB2hF,OAAQ,CAAE3hF,YAAY,GACtB4hF,KAAM,CAAE5hF,YAAY,GACpB,CAACC,OAAOC,aAAc,CAAExD,MAAO,kBAAmBgB,cAAc,KAElEnB,OAAOwD,iBAAiByhF,gBAAiB,CAAExvE,SAAU,CAAEhS,YAAY,KACnE5B,aAA0B,gBAAIojF,gBAE9BjlF,OAAOkB,eAAexB,aA5QF,kBA4Q+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAO8kF,mBAIX,MAAM5kF,KAAOnB,oBAAQ,M,6EC1RDA,oBAAQ,OAA5B,MACMC,MAAQD,oBAAQ,OAEhBsI,yCAA2CtI,oBAAAA,OAAAA,gBAC3CK,WAAaJ,MAAMI,WACnBC,mBAAqBL,MAAMK,mBAC3BiI,YAAcvI,oBAAQ,MAiB5B,SAASO,YAAYC,aAAcC;;AACjC,IAAIC,MASJ,YARkBC,IAAdF,YACFC,MAAQD,UAAUG,WAGfX,MAAMY,SAASH,SAClBA,MAAQF,aAAaF,oBAAqC,gBAAEM,WAGvDE,OAAOC,OAAOL,MACvB,CAxBAb,QAAQmB,GAAKC,OACJhB,MAAMY,SAASI,QAAUhB,MAAMiB,OAAOD,MAAOZ,aAAeY,MAAMZ,sBAAuBc,KAAKC,eAEvGvB,QAAQwB,OAASJ,OACRhB,MAAMY,SAASI,QAAUA,iBAAiBE,KAAKC,eAExDvB,QAAQyB,QAAU,CAACd,aAAcS,OAASM,QAAU,sBAAyB,CAAC;;AAC5E,GAAI1B,QAAQmB,GAAGC,OACb,OAAOhB,MAAMuB,eAAeP,OAE9B,MAAM,IAAIT,aAAaiB,UAAU,GAAGF,8CAgBtC1B,QAAQkB,OAAS,CAACP,aAAckB,gBAAiBC;;AAC/C,MAAMC,QAAUrB,YAAYC,cAC5B,OAAOX,QAAQgC,MAAMD,QAASpB,aAAckB,gBAAiBC,cAG/D9B,QAAQiC,WAAa,CAACtB,aAAckB,gBAAiBC;;AACnD,MAAMC,QAAU/B,QAAQkB,OAAOP,aAAckB,gBAAiBC,aAC9D,OAAO1B,MAAMuB,eAAeI,UAG9B/B,QAAQkC,eAAiB,CAACH,QAASpB;;AACjC+H,YAAYxG,eAAeH,QAASpB,eAGtCX,QAAQgC,MAAQ,CAACD,QAASpB,aAAckB,gBAAkB,GAAIC,YAAc,CAAC;;AAC3EA,YAAYC,QAAUA,QAEtB/B,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAO,IAAIE,KAAKC,eAAeZ,aAAckB,gBAAiBC,aAC9DM,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,SAGT/B,QAAAA,IAAc,CAACW,aAAcC;;AAC3B,MAAMmB,QAAUrB,YAAYC,aAAcC,WAY1C,OAVAZ,QAAQkC,eAAeH,QAASpB,cAChCM,OAAOkB,eAAeJ,QAASvB,WAAY,CACzCY,MAAOH,OAAOC,OAAOI,KAAKC,eAAeR,WACzCqB,cAAc,IAGhBL,QAAQvB,YAAYJ,MAAMiC,eAAiBN,QACvCT,KAAKgB,MACPhB,KAAKgB,KAAKP,QAAQvB,aAEbuB,QAAQvB,aAGjB,MAAM+B,QAAU,IAAIC,IAAI,CAAC,WAEzBxC,QAAQyC,QAAU,CAAC9B,aAAc+B;;AAC/B,IAAKA,YAAYC,KAAKC,YAAcL,QAAQM,IAAID,aAC9C,OAGF,MAAME,aAAe1C,MAAM2C,iBAAiBpC,cAC5C,MAAM46H,wBAAwB56H,aAAa+H,YACzCzF,WAAAA;;AACE,OAAOwF,yCAAyC9H,aApFhC,6BAqFlB,EAEFM,OAAOwD,iBAAiB82H,gBAAgBx6H,UAAW,CACjD,CAAC4D,OAAOC,aAAc,CAAExD,MAAO,kBAAmBgB,cAAc,KAElEU,aAA0B,gBAAIy4H,gBAE9Bt6H,OAAOkB,eAAexB,aA5FF,kBA4F+B,CACjDyB,cAAc,EACd2C,UAAU,EACV3D,MAAOm6H,mBAIX,MAAMj6H,KAAOnB,oBAAQ,M,2CCzGrBJ,OAAOC,QAAU,IAAIwC,IAAI,CACvB,qBACA,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,eACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,UACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,iBACA,kBACA,iBACA,aACA,aACA,mBACA,oBACA,mBACA,kBACA,iBACA,iBACA,iBACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,WACA,cACA,eACA,eACA,eACA,QACA,cACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,8BACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,qBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,WACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,YACA,UACA,oBACA,sBACA,YACA,cACA,OACA,aACA,aACA,aACA,eACA,cACA,gBACA,cACA,YACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,eACA,kBACA,cACA,gBACA,YACA,YACA,OACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,aACA,mBACA,kBACA,sBACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,uBACA,wBACA,uBACA,UACA,oBACA,kBACA,mBACA,iBACA,uBACA,sBACA,cACA,gBACA,QACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,mBACA,YACA,aACA,iBACA,YACA,YACA,aACA,aACA,YACA,kBACA,gBACA,eACA,OACA,iBACA,iBACA,aACA,aACA,gBACA,YACA,cACA,mBACA,eACA,YACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,eACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,uBACA,wBACA,aACA,iBACA,iBACA,cACA,eACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,YACA,iBACA,aACA,kBACA,uBACA,YACA,iBACA,WACA,WACA,YACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,6BACA,iCACA,mCACA,8BACA,8BACA,kCACA,oCACA,4BACA,6BACA,2BACA,kBACA,gBACA,aACA,aACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,QACA,cACA,gBACA,cACA,aACA,cACA,WACA,kBACA,gBACA,eACA,yBACA,qBACA,sBACA,qBACA,SACA,eACA,kBACA,SACA,OACA,aACA,cACA,WACA,QACA,SACA,UACA,WACA,iBACA,iBACA,kBACA,iBACA,iBACA,aACA,aACA,gBACA,gBACA,OACA,aACA,aACA,cACA,mBACA,aACA,aACA,UACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,sBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,sBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,eACA,gBACA,qBACA,4BACA,6BACA,8BACA,QACA,WACA,eACA,gBACA,oBACA,cACA,SACA,aACA,SACA,eACA,mBACA,eACA,eACA,qBACA,sBACA,oBACA,mBACA,oBACA,oBACA,eACA,iBACA,kBACA,oBACA,iBACA,gBACA,kBACA,gBACA,cACA,eACA,WACA,eACA,aACA,iBACA,kBACA,iBACA,WACA,gBACA,gBACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,2BACA,6BACA,4BACA,8BACA,wBACA,4BACA,gBACA,sBACA,yBACA,qBACA,sBACA,mBACA,cACA,eACA,mBACA,gBACA,cACA,eACA,oBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,iBACA,gBACA,qBACA,sBACA,qBACA,wBACA,wBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,SACA,cACA,uBACA,mBACA,SACA,QACA,cACA,aACA,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","sources":["webpack://D3Test/./node_modules/es-errors/eval.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/SessionHistory.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js","webpack://D3Test/./node_modules/define-properties/index.js","webpack://D3Test/./node_modules/is-nan/implementation.js","webpack://D3Test/./node_modules/tough-cookie/dist/permuteDomain.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/selectors.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGTitleElement-impl.js","webpack://D3Test/./node_modules/is-regex/index.js","webpack://D3Test/./node_modules/es-errors/type.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MimeTypeArray.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLSlotElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Plugin.js","webpack://D3Test/../src/index.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js","webpack://D3Test/./node_modules/define-data-property/index.js","webpack://D3Test/./node_modules/side-channel-weakmap/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/geometry/DOMRect-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/iterable-weak-set.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/EventModifierMixin-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMException.js","webpack://D3Test/../../src/index.ts","webpack://D3Test/./node_modules/cssstyle/lib/allExtraProperties.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/navigation.js","webpack://D3Test/./node_modules/has-symbols/shams.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGPreserveAspectRatio.js","webpack://D3Test/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/colors.js","webpack://D3Test/../src/parse-proxy-response.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/resources/async-resource-queue.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDetailsElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/file-api/FileReader-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGDescElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/parser/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/domparsing/XMLSerializer-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Comment.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMTokenList.js","webpack://D3Test/./node_modules/tough-cookie/dist/getPublicSuffix.js","webpack://D3Test/./node_modules/readable-stream/lib/_stream_readable.js","webpack://D3Test/../../src/js/css-calc.ts","webpack://D3Test/../../src/js/cache.ts","webpack://D3Test/../../src/js/util.ts","webpack://D3Test/../../src/js/common.ts","webpack://D3Test/../../src/js/constant.ts","webpack://D3Test/../../src/js/color.ts","webpack://D3Test/../../src/js/css-var.ts","webpack://D3Test/../../src/js/relative-color.ts","webpack://D3Test/../../src/js/resolve.ts","webpack://D3Test/../../src/js/css-gradient.ts","webpack://D3Test/../../src/js/convert.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/utils.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSFontFaceRule.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGTitleElement.js","webpack://D3Test/./node_modules/cssstyle/lib/allWebkitProperties.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/NodeFilter.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/strings.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLMarqueeElement.js","webpack://D3Test/./node_modules/object-is/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/range/Range-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js","webpack://D3Test/./node_modules/ms/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js","webpack://D3Test/./node_modules/qs/lib/utils.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js","webpack://D3Test/./node_modules/es-errors/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/StyleSheetList.js","webpack://D3Test/../../../../src/xml/1.1/ed2.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CDATASection.js","webpack://D3Test/./node_modules/assert/build/internal/assert/assertion_error.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/binary-data.js","webpack://D3Test/./node_modules/is-nan/index.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/index.js","webpack://D3Test/./node_modules/whatwg-mimetype/lib/mime-type-parameters.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js","webpack://D3Test/./node_modules/iconv-lite/encodings/dbcs-codec.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Crypto.js","webpack://D3Test/./node_modules/readable-stream/readable-browser.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/cookieJar.js","webpack://D3Test/./node_modules/call-bind/callBound.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/defaultPath.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Node.js","webpack://D3Test/./node_modules/call-bound/index.js","webpack://D3Test/./node_modules/side-channel-map/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Function.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGRect.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js","webpack://D3Test/./node_modules/whatwg-url/lib/percent-encoding.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/agent-factory.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/geometry/DOMRectReadOnly-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js","webpack://D3Test/./node_modules/function-bind/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/fetch/header-list.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLPictureElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/RadioNodeList-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CloseEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLCollection.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGPreserveAspectRatio-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js","webpack://D3Test/./node_modules/es-errors/uri.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGStringList-impl.js","webpack://D3Test/./node_modules/safer-buffer/safer.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/AbortController.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSSupportsRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/file-api/Blob-impl.js","webpack://D3Test/./node_modules/is-nan/shim.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js","webpack://D3Test/./node_modules/util/support/isBufferBrowser.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://D3Test/./node_modules/safe-regex-test/index.js","webpack://D3Test/./node_modules/debug/src/common.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/domparsing/InnerHTML-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/AssignedNodesOptions.js","webpack://D3Test/./node_modules/tough-cookie/dist/utils.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/svg/basic-types.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/BlobCallback.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGAnimatedPreserveAspectRatio.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSMediaRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/file-api/File-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/webidl/DOMException-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/mutation-observers.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CustomElementConstructor.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/TouchEventInit.js","webpack://D3Test/./node_modules/safe-buffer/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js","webpack://D3Test/./node_modules/tr46/lib/regexes.js","webpack://D3Test/./node_modules/decimal.js/decimal.js","webpack://D3Test/./node_modules/es-errors/range.js","webpack://D3Test/./node_modules/tough-cookie/dist/memstore.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/level3/xpath.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/StyleSheet.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedPreserveAspectRatio-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js","webpack://D3Test/./node_modules/whatwg-mimetype/lib/parser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/Window.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Blob.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/hr-time/Performance-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EventListener.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/InputEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLFormControlsCollection.js","webpack://D3Test/./node_modules/util/util.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/ordered-set.js","webpack://D3Test/./node_modules/set-function-length/index.js","webpack://D3Test/./node_modules/qs/lib/index.js","webpack://D3Test/./node_modules/w3c-xmlserializer/lib/attributes.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/Location-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/CompositionEvent-impl.js","webpack://D3Test/../src/helpers.ts","webpack://D3Test/./node_modules/whatwg-url/lib/infra.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGGraphicsElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Text.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/range/StaticRange-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/interfaces.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/WebSocket.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js","webpack://D3Test/./node_modules/whatwg-url/webidl2js-wrapper.js","webpack://D3Test/./node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/OnBeforeUnloadEventHandlerNonNull.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ShadowRoot.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Selection.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Navigator.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/BarProp.js","webpack://D3Test/./node_modules/iconv-lite/encodings/utf16.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/crypto/Crypto-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestResponseType.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ElementDefinitionOptions.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLSlotElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/FileReader.js","webpack://D3Test/../../src/escape.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGMetadataElement.js","webpack://D3Test/./node_modules/side-channel-list/index.js","webpack://D3Test/./node_modules/is-potential-custom-element-name/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/domparsing/serialization.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGDefsElement-impl.js","webpack://D3Test/./node_modules/parse5/dist/cjs/common/token.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGNumber-impl.js","webpack://D3Test/./node_modules/xtend/immutable.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMStringMap.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js","webpack://D3Test/./node_modules/qs/lib/stringify.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/TextTrackKind.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/style-rules.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/File.js","webpack://D3Test/./node_modules/cssstyle/lib/utils/propertyDescriptors.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js","webpack://D3Test/./node_modules/is-generator-function/index.js","webpack://D3Test/./node_modules/@csstools/css-tokenizer/dist/index.cjs","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/FileList.js","webpack://D3Test/./node_modules/stream-browserify/index.js","webpack://D3Test/./node_modules/object-keys/implementation.js","webpack://D3Test/./node_modules/cssstyle/lib/parsers.js","webpack://D3Test/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://D3Test/./node_modules/whatwg-mimetype/lib/serializer.js","webpack://D3Test/./node_modules/is-nan/polyfill.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/GetRootNodeOptions.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js","webpack://D3Test/./node_modules/parse5/dist/cjs/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MutationRecord.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/namespaces.js","webpack://D3Test/./node_modules/math-intrinsics/isNaN.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSConditionRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js","webpack://D3Test/./node_modules/iconv-lite/encodings/utf32.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/parser/html.js","webpack://D3Test/../../../../src/xml/1.0/ed5.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js","webpack://D3Test/./node_modules/math-intrinsics/round.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/SubmitEvent-impl.js","webpack://D3Test/./node_modules/iconv-lite/encodings/dbcs-data.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/InputEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js","webpack://D3Test/./node_modules/get-intrinsic/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSContainerRule.js","webpack://D3Test/./node_modules/dunder-proto/get.js","webpack://D3Test/./node_modules/whatwg-url/lib/URL-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/fetch/header-types.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js","webpack://D3Test/./node_modules/webidl-conversions/lib/index.js","webpack://D3Test/./node_modules/hasown/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGMetadataElement-impl.js","webpack://D3Test/./node_modules/builtin-status-codes/browser.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/permutePath.js","webpack://D3Test/./node_modules/data-urls/lib/utils.js","webpack://D3Test/./node_modules/whatwg-url/lib/Function.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/BarProp-impl.js","webpack://D3Test/./node_modules/qs/lib/formats.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/canonicalDomain.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js","webpack://D3Test/./node_modules/url/url.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SelectionMode.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGDescElement-impl.js","webpack://D3Test/./node_modules/object.assign/polyfill.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/parser/xml.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/svg/render.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/domainMatch.js","webpack://D3Test/./node_modules/iconv-lite/lib/index.js","webpack://D3Test/./node_modules/whatwg-url/lib/encoding.js","webpack://D3Test/../../../src/generated/decode-data-xml.ts","webpack://D3Test/./node_modules/object.assign/implementation.js","webpack://D3Test/./node_modules/xml-name-validator/lib/xml-name-validator.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/json.js","webpack://D3Test/./node_modules/gopd/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js","webpack://D3Test/./node_modules/is-arguments/index.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSValue.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGSVGElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/PageTransitionEvent-impl.js","webpack://D3Test/./node_modules/parse5/dist/cjs/parser/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EndingType.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/History-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js","webpack://D3Test/./node_modules/whatwg-url/lib/url-state-machine.js","webpack://D3Test/./node_modules/util/support/types.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MimeType.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/node.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSGroupingRule.js","webpack://D3Test/./node_modules/assert/build/assert.js","webpack://D3Test/./node_modules/get-proto/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CloseEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/parse.js","webpack://D3Test/./node_modules/parse5/dist/cjs/parser/open-element-stack.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGDefsElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/PluginArray.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/BlobPropertyBag.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/NodeList.js","webpack://D3Test/./node_modules/parse5/dist/cjs/common/doctype.js","webpack://D3Test/./node_modules/possible-typed-array-names/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/custom-elements/ElementInternals-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/AbstractRange.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSValueExpression.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/not-implemented.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/details.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/StorageEvent-impl.js","webpack://D3Test/./node_modules/readable-stream/lib/_stream_writable.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ValidityState.js","webpack://D3Test/./node_modules/object-inspect/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SubmitEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Range.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Location.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/ShadowRoot-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/clone.js","webpack://D3Test/./node_modules/cssstyle/lib/utils/camelize.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/traversal.js","webpack://D3Test/./node_modules/parse5/dist/cjs/common/unicode.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/resources/resource-loader.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js","webpack://D3Test/./node_modules/symbol-tree/lib/SymbolTreeNode.js","webpack://D3Test/./node_modules/tr46/lib/statusMapping.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/webstorage/Storage-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/level2/style.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js","webpack://D3Test/../../src/saxes.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js","webpack://D3Test/./node_modules/debug/src/browser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js","webpack://D3Test/./node_modules/os-browserify/browser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/MimeTypeArray-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGSwitchElement-impl.js","webpack://D3Test/./node_modules/nwsapi/src/nwsapi.js","webpack://D3Test/./node_modules/iconv-lite/encodings/utf7.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/node-type.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js","webpack://D3Test/./node_modules/w3c-xmlserializer/lib/constants.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js","webpack://D3Test/./node_modules/stream-http/lib/capability.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/html-constructor.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/StorageEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationRecord-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/shadow-dom.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSKeyframeRule.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js","webpack://D3Test/./node_modules/whatwg-url/lib/URLSearchParams-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js","webpack://D3Test/./node_modules/symbol-tree/lib/TreeIterator.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/selection/Selection-impl.js","webpack://D3Test/./node_modules/readable-stream/lib/_stream_transform.js","webpack://D3Test/./node_modules/math-intrinsics/pow.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/resources/no-op-resource-loader.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload.js","webpack://D3Test/./node_modules/parse5/dist/cjs/tokenizer/index.js","webpack://D3Test/./node_modules/cssstyle/lib/generated/properties.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGNumber.js","webpack://D3Test/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/http-request.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js","webpack://D3Test/./node_modules/parse5/dist/cjs/tree-adapters/default.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js","webpack://D3Test/./node_modules/path-browserify/index.js","webpack://D3Test/../../src/decode.ts","webpack://D3Test/./node_modules/tough-cookie/dist/store.js","webpack://D3Test/../../../src/extract-hostname.ts","webpack://D3Test/../../../src/is-valid.ts","webpack://D3Test/../../../src/options.ts","webpack://D3Test/../../../src/factory.ts","webpack://D3Test/../../../src/is-ip.ts","webpack://D3Test/../../../src/domain.ts","webpack://D3Test/../../../src/subdomain.ts","webpack://D3Test/../../../src/domain-without-suffix.ts","webpack://D3Test/../../../../src/data/trie.ts","webpack://D3Test/../../../src/suffix-trie.ts","webpack://D3Test/../../../../src/lookup/fast-path.ts","webpack://D3Test/../../index.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js","webpack://D3Test/./node_modules/parse5/dist/cjs/tokenizer/preprocessor.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/StaticRange.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSStyleDeclaration.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormControlsCollection-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSStartingStyleRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/aborting/AbortController-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGListBase.js","webpack://D3Test/./node_modules/tr46/index.js","webpack://D3Test/./node_modules/process/browser.js","webpack://D3Test/./node_modules/has-symbols/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/file-api/FileList-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/AbortSignal.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGStringList.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/text.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSLayerBlockRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js","webpack://D3Test/./node_modules/parse5/dist/cjs/common/html.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/BinaryType.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Document.js","webpack://D3Test/./node_modules/call-bind-apply-helpers/applyBind.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MutationObserverInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SubmitEvent.js","webpack://D3Test/./node_modules/cssstyle/lib/generated/implementedProperties.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CustomElementRegistry.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/OnErrorEventHandlerNonNull.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMRectReadOnly.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js","webpack://D3Test/./node_modules/cssstyle/lib/generated/allProperties.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGAnimatedString.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ElementCreationOptions.js","webpack://D3Test/./node_modules/util-deprecate/browser.js","webpack://D3Test/./node_modules/math-intrinsics/floor.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMRect.js","webpack://D3Test/./node_modules/object-keys/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/resources/per-document-resource-loader.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js","webpack://D3Test/./node_modules/es-define-property/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js","webpack://D3Test/./node_modules/cssstyle/lib/CSSStyleDeclaration.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSStyleRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/utils.js","webpack://D3Test/./node_modules/base64-js/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js","webpack://D3Test/./node_modules/punycode/punycode.es6.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/resources/resource-queue.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMRectInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/WheelEvent-impl.js","webpack://D3Test/./node_modules/ieee754/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/documents.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js","webpack://D3Test/./node_modules/parse5/dist/cjs/parser/formatting-element-list.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js","webpack://D3Test/./node_modules/@csstools/css-color-parser/dist/index.cjs","webpack://D3Test/./node_modules/math-intrinsics/min.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/named-properties-window.js","webpack://D3Test/./node_modules/inherits/inherits_browser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/NodeList-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js","webpack://D3Test/./node_modules/iconv-lite/encodings/sbcs-codec.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js","webpack://D3Test/./node_modules/call-bind-apply-helpers/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/traversal/helpers.js","webpack://D3Test/./node_modules/whatwg-mimetype/lib/utils.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/Plugin-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Attr.js","webpack://D3Test/./node_modules/events/events.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EventHandlerNonNull.js","webpack://D3Test/./node_modules/is-typed-array/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/fetch/Headers-impl.js","webpack://D3Test/./node_modules/tough-cookie/dist/validators.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js","webpack://D3Test/./node_modules/iconv-lite/lib/bom-handling.js","webpack://D3Test/./src/mock/text-encoding-mock.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/CloseEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js","webpack://D3Test/./node_modules/call-bind-apply-helpers/reflectApply.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/WheelEvent.js","webpack://D3Test/./node_modules/whatwg-url/lib/urlencoded.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Event.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/page-transition-event.js","webpack://D3Test/./node_modules/symbol-tree/lib/TreePosition.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/MimeType-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSImportRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/InputEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js","webpack://D3Test/./node_modules/whatwg-mimetype/lib/mime-type.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/range/boundary-point.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js","webpack://D3Test/./node_modules/whatwg-url/lib/utils.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js","webpack://D3Test/./node_modules/gopd/gOPD.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSStyleSheet.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/cookie.js","webpack://D3Test/./node_modules/side-channel/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js","webpack://D3Test/./node_modules/has-property-descriptors/index.js","webpack://D3Test/../../../src/generated/decode-data-html.ts","webpack://D3Test/./node_modules/iconv-lite/encodings/internal.js","webpack://D3Test/./node_modules/symbol-tree/lib/SymbolTree.js","webpack://D3Test/./node_modules/parse5/dist/cjs/serializer/index.js","webpack://D3Test/./node_modules/stream-http/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/focusing.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/browser/resources/request-manager.js","webpack://D3Test/./node_modules/data-urls/lib/parser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGGElement.js","webpack://D3Test/./node_modules/which-typed-array/index.js","webpack://D3Test/./node_modules/iconv-lite/encodings/index.js","webpack://D3Test/./node_modules/is-callable/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGSymbolElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MutationObserver.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js","webpack://D3Test/./node_modules/stream-http/lib/response.js","webpack://D3Test/./node_modules/w3c-xmlserializer/lib/serialize.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js","webpack://D3Test/./node_modules/@csstools/css-parser-algorithms/dist/index.cjs","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js","webpack://D3Test/./node_modules/@csstools/css-calc/dist/index.cjs","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/NodeIterator.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/RadioNodeList.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedRect-impl.js","webpack://D3Test/./node_modules/iconv-lite/lib/streams.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/XMLSerializer.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/Slotable-impl.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSHostRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGGElement-impl.js","webpack://D3Test/./node_modules/buffer/index.js","webpack://D3Test/./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSDocumentRule.js","webpack://D3Test/./node_modules/url/node_modules/punycode/punycode.js","webpack://D3Test/./node_modules/call-bind-apply-helpers/actualApply.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SupportedType.js","webpack://D3Test/./node_modules/iconv-lite/encodings/sbcs-data-generated.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/WheelEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/dates-and-times.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/svg/SVGRect-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js","webpack://D3Test/./node_modules/whatwg-encoding/lib/whatwg-encoding.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ShadowRootInit.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/History.js","webpack://D3Test/./node_modules/for-each/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js","webpack://D3Test/./node_modules/assert/build/internal/util/comparisons.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js","webpack://D3Test/./node_modules/jsdom/lib/api.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/CSSKeyframesRule.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/External.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/node-document-position.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/NamedNodeMap.js","webpack://D3Test/./node_modules/math-intrinsics/abs.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/SVGSymbolElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/StorageEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ShadowRootMode.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js","webpack://D3Test/./node_modules/assert/build/internal/errors.js","webpack://D3Test/./node_modules/has-tostringtag/shams.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/Screen-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Performance.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js","webpack://D3Test/./node_modules/object-is/shim.js","webpack://D3Test/./node_modules/tough-cookie/dist/pathMatch.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/Event-impl.js","webpack://D3Test/./node_modules/whatwg-url/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/multipart-form-data.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Element.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/FormData.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js","webpack://D3Test/./node_modules/call-bind/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/virtual-console.js","webpack://D3Test/./node_modules/math-intrinsics/sign.js","webpack://D3Test/./node_modules/es-object-atoms/index.js","webpack://D3Test/./node_modules/iconv-lite/encodings/sbcs-data.js","webpack://D3Test/./node_modules/object-keys/isArguments.js","webpack://D3Test/./node_modules/get-proto/Object.getPrototypeOf.js","webpack://D3Test/./node_modules/available-typed-arrays/index.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/FilePropertyBag.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/cssom/StyleSheetList-impl.js","webpack://D3Test/./node_modules/cssstyle/lib/utils/strings.js","webpack://D3Test/./node_modules/whatwg-url/lib/URLSearchParams.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/constants.js","webpack://D3Test/./node_modules/parse5/dist/cjs/common/foreign-content.js","webpack://D3Test/./node_modules/es-errors/syntax.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/named-properties-tracker.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/MediaList.js","webpack://D3Test/../../src/decode-codepoint.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Headers.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/create-element.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/attributes.js","webpack://D3Test/./node_modules/string_decoder/lib/string_decoder.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/custom-elements.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CompositionEvent.js","webpack://D3Test/./node_modules/function-bind/implementation.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/number-and-date-inputs.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Storage.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js","webpack://D3Test/./node_modules/qs/lib/parse.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js","webpack://D3Test/./node_modules/object-is/polyfill.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/window/External-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionsCollection.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/StaticRangeInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js","webpack://D3Test/./node_modules/object-is/implementation.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/parseDate.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ElementInternals.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/CompositionEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js","webpack://D3Test/./node_modules/ws/browser.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/node.js","webpack://D3Test/./node_modules/es-errors/ref.js","webpack://D3Test/./node_modules/parse5/dist/cjs/common/error-codes.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js","webpack://D3Test/./node_modules/tough-cookie/dist/version.js","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/cookieCompare.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js","webpack://D3Test/../../../../src/xmlns/1.0/ed3.ts","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/helpers/events.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/Screen.js","webpack://D3Test/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://D3Test/./node_modules/whatwg-url/lib/URL.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGAnimatedRect.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/SVGSwitchElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js","webpack://D3Test/./node_modules/readable-stream/errors-browser.js","webpack://D3Test/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js","webpack://D3Test/./node_modules/rrweb-cssom/lib/MatcherList.js","webpack://D3Test/./node_modules/@csstools/color-helpers/dist/index.cjs","webpack://D3Test/./node_modules/tough-cookie/dist/cookie/formatDate.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationObserver-impl.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js","webpack://D3Test/./node_modules/math-intrinsics/max.js","webpack://D3Test/./node_modules/jsdom/lib/jsdom/living/generated/MutationCallback.js","webpack://D3Test/./node_modules/stream-http/lib/request.js","webpack://D3Test/webpack/bootstrap","webpack://D3Test/webpack/runtime/define property getters","webpack://D3Test/webpack/runtime/global","webpack://D3Test/webpack/runtime/hasOwnProperty shorthand","webpack://D3Test/webpack/runtime/make namespace object","webpack://D3Test/webpack/runtime/node module decorator","webpack://D3Test/./node_modules/d3-selection/src/selector.js","webpack://D3Test/./node_modules/d3-selection/src/selectorAll.js","webpack://D3Test/./node_modules/d3-selection/src/selection/selectAll.js","webpack://D3Test/./node_modules/d3-selection/src/array.js","webpack://D3Test/./node_modules/d3-selection/src/matcher.js","webpack://D3Test/./node_modules/d3-selection/src/selection/selectChild.js","webpack://D3Test/./node_modules/d3-selection/src/selection/selectChildren.js","webpack://D3Test/./node_modules/d3-selection/src/selection/sparse.js","webpack://D3Test/./node_modules/d3-selection/src/selection/enter.js","webpack://D3Test/./node_modules/d3-selection/src/selection/data.js","webpack://D3Test/./node_modules/d3-selection/src/selection/sort.js","webpack://D3Test/./node_modules/d3-selection/src/namespaces.js","webpack://D3Test/./node_modules/d3-selection/src/namespace.js","webpack://D3Test/./node_modules/d3-selection/src/selection/attr.js","webpack://D3Test/./node_modules/d3-selection/src/window.js","webpack://D3Test/./node_modules/d3-selection/src/selection/style.js","webpack://D3Test/./node_modules/d3-selection/src/selection/property.js","webpack://D3Test/./node_modules/d3-selection/src/selection/classed.js","webpack://D3Test/./node_modules/d3-selection/src/selection/text.js","webpack://D3Test/./node_modules/d3-selection/src/selection/html.js","webpack://D3Test/./node_modules/d3-selection/src/selection/raise.js","webpack://D3Test/./node_modules/d3-selection/src/selection/lower.js","webpack://D3Test/./node_modules/d3-selection/src/creator.js","webpack://D3Test/./node_modules/d3-selection/src/selection/insert.js","webpack://D3Test/./node_modules/d3-selection/src/selection/remove.js","webpack://D3Test/./node_modules/d3-selection/src/selection/clone.js","webpack://D3Test/./node_modules/d3-selection/src/selection/on.js","webpack://D3Test/./node_modules/d3-selection/src/selection/dispatch.js","webpack://D3Test/./node_modules/d3-selection/src/selection/index.js","webpack://D3Test/./node_modules/d3-selection/src/selection/select.js","webpack://D3Test/./node_modules/d3-selection/src/selection/filter.js","webpack://D3Test/./node_modules/d3-selection/src/constant.js","webpack://D3Test/./node_modules/d3-selection/src/selection/exit.js","webpack://D3Test/./node_modules/d3-selection/src/selection/join.js","webpack://D3Test/./node_modules/d3-selection/src/selection/merge.js","webpack://D3Test/./node_modules/d3-selection/src/selection/order.js","webpack://D3Test/./node_modules/d3-selection/src/selection/call.js","webpack://D3Test/./node_modules/d3-selection/src/selection/nodes.js","webpack://D3Test/./node_modules/d3-selection/src/selection/node.js","webpack://D3Test/./node_modules/d3-selection/src/selection/size.js","webpack://D3Test/./node_modules/d3-selection/src/selection/empty.js","webpack://D3Test/./node_modules/d3-selection/src/selection/each.js","webpack://D3Test/./node_modules/d3-selection/src/selection/append.js","webpack://D3Test/./node_modules/d3-selection/src/selection/datum.js","webpack://D3Test/./node_modules/d3-selection/src/selection/iterator.js","webpack://D3Test/./node_modules/d3-dispatch/src/dispatch.js","webpack://D3Test/./node_modules/d3-timer/src/timer.js","webpack://D3Test/./node_modules/d3-timer/src/timeout.js","webpack://D3Test/./node_modules/d3-transition/src/transition/schedule.js","webpack://D3Test/./node_modules/d3-interpolate/src/number.js","webpack://D3Test/./node_modules/d3-interpolate/src/transform/decompose.js","webpack://D3Test/./node_modules/d3-interpolate/src/transform/parse.js","webpack://D3Test/./node_modules/d3-interpolate/src/transform/index.js","webpack://D3Test/./node_modules/d3-transition/src/transition/tween.js","webpack://D3Test/./node_modules/d3-color/src/define.js","webpack://D3Test/./node_modules/d3-color/src/color.js","webpack://D3Test/./node_modules/d3-interpolate/src/basis.js","webpack://D3Test/./node_modules/d3-interpolate/src/constant.js","webpack://D3Test/./node_modules/d3-interpolate/src/color.js","webpack://D3Test/./node_modules/d3-interpolate/src/rgb.js","webpack://D3Test/./node_modules/d3-interpolate/src/basisClosed.js","webpack://D3Test/./node_modules/d3-interpolate/src/string.js","webpack://D3Test/./node_modules/d3-transition/src/transition/interpolate.js","webpack://D3Test/./node_modules/d3-transition/src/transition/attr.js","webpack://D3Test/./node_modules/d3-transition/src/transition/attrTween.js","webpack://D3Test/./node_modules/d3-transition/src/transition/delay.js","webpack://D3Test/./node_modules/d3-transition/src/transition/duration.js","webpack://D3Test/./node_modules/d3-transition/src/transition/selection.js","webpack://D3Test/./node_modules/d3-transition/src/transition/style.js","webpack://D3Test/./node_modules/d3-transition/src/transition/index.js","webpack://D3Test/./node_modules/d3-transition/src/transition/select.js","webpack://D3Test/./node_modules/d3-transition/src/transition/selectAll.js","webpack://D3Test/./node_modules/d3-transition/src/transition/filter.js","webpack://D3Test/./node_modules/d3-transition/src/transition/merge.js","webpack://D3Test/./node_modules/d3-transition/src/transition/transition.js","webpack://D3Test/./node_modules/d3-transition/src/transition/on.js","webpack://D3Test/./node_modules/d3-transition/src/transition/styleTween.js","webpack://D3Test/./node_modules/d3-transition/src/transition/text.js","webpack://D3Test/./node_modules/d3-transition/src/transition/textTween.js","webpack://D3Test/./node_modules/d3-transition/src/transition/remove.js","webpack://D3Test/./node_modules/d3-transition/src/transition/ease.js","webpack://D3Test/./node_modules/d3-transition/src/transition/easeVarying.js","webpack://D3Test/./node_modules/d3-transition/src/transition/end.js","webpack://D3Test/./node_modules/d3-transition/src/selection/transition.js","webpack://D3Test/./node_modules/d3-ease/src/cubic.js","webpack://D3Test/./node_modules/d3-transition/src/selection/index.js","webpack://D3Test/./node_modules/d3-transition/src/selection/interrupt.js","webpack://D3Test/./node_modules/d3-transition/src/interrupt.js","webpack://D3Test/./node_modules/d3-brush/src/brush.js","webpack://D3Test/./node_modules/robust-predicates/esm/util.js","webpack://D3Test/./node_modules/robust-predicates/esm/orient2d.js","webpack://D3Test/./node_modules/robust-predicates/esm/orient3d.js","webpack://D3Test/./node_modules/robust-predicates/esm/incircle.js","webpack://D3Test/./node_modules/robust-predicates/esm/insphere.js","webpack://D3Test/./node_modules/delaunator/index.js","webpack://D3Test/./node_modules/d3-delaunay/src/path.js","webpack://D3Test/./node_modules/d3-delaunay/src/polygon.js","webpack://D3Test/./node_modules/d3-delaunay/src/voronoi.js","webpack://D3Test/./node_modules/d3-delaunay/src/delaunay.js","webpack://D3Test/./node_modules/d3-dsv/src/dsv.js","webpack://D3Test/./node_modules/d3-dsv/src/csv.js","webpack://D3Test/./node_modules/d3-dsv/src/autoType.js","webpack://D3Test/./node_modules/d3-geo/src/identity.js","webpack://D3Test/./node_modules/d3-geo/src/stream.js","webpack://D3Test/./node_modules/d3-array/src/fsum.js","webpack://D3Test/./node_modules/d3-geo/src/math.js","webpack://D3Test/./node_modules/d3-geo/src/noop.js","webpack://D3Test/./node_modules/d3-geo/src/path/area.js","webpack://D3Test/./node_modules/d3-geo/src/path/bounds.js","webpack://D3Test/./node_modules/d3-geo/src/path/centroid.js","webpack://D3Test/./node_modules/d3-geo/src/path/context.js","webpack://D3Test/./node_modules/d3-geo/src/path/measure.js","webpack://D3Test/./node_modules/d3-geo/src/path/string.js","webpack://D3Test/./node_modules/d3-selection/src/select.js","webpack://D3Test/./node_modules/d3-zoom/src/transform.js","webpack://D3Test/./node_modules/topojson-client/src/identity.js","webpack://D3Test/./node_modules/topojson-client/src/feature.js","webpack://D3Test/./node_modules/topojson-client/src/transform.js","webpack://D3Test/./node_modules/topojson-client/src/reverse.js","webpack://D3Test/./node_modules/topojson-client/src/stitch.js","webpack://D3Test/./node_modules/topojson-client/src/mesh.js","webpack://D3Test/./src/test.mjs","webpack://D3Test/./node_modules/d3-geo/src/path/index.js"],"sourcesContent":["'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Node = require(\"./Node.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"DocumentFragment\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'DocumentFragment'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"DocumentFragment\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Node._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class DocumentFragment extends globalObject.Node {\n constructor() {\n return exports.setup(Object.create(new.target.prototype), globalObject, undefined);\n }\n\n getElementById(elementId) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'getElementById' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'getElementById' on 'DocumentFragment': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'getElementById' on 'DocumentFragment': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].getElementById(...args));\n }\n\n prepend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'prepend' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n if (Node.is(curArg)) {\n curArg = utils.implForWrapper(curArg);\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'prepend' on 'DocumentFragment': parameter \" + (i + 1),\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].prepend(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n append() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'append' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n if (Node.is(curArg)) {\n curArg = utils.implForWrapper(curArg);\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'append' on 'DocumentFragment': parameter \" + (i + 1),\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].append(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n replaceChildren() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'replaceChildren' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n if (Node.is(curArg)) {\n curArg = utils.implForWrapper(curArg);\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'replaceChildren' on 'DocumentFragment': parameter \" + (i + 1),\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].replaceChildren(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n querySelector(selectors) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'querySelector' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'querySelector' on 'DocumentFragment': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'querySelector' on 'DocumentFragment': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].querySelector(...args));\n }\n\n querySelectorAll(selectors) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'querySelectorAll' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'querySelectorAll' on 'DocumentFragment': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'querySelectorAll' on 'DocumentFragment': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].querySelectorAll(...args));\n }\n\n get children() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get children' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n return utils.getSameObject(this, \"children\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"children\"]);\n });\n }\n\n get firstElementChild() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get firstElementChild' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"firstElementChild\"]);\n }\n\n get lastElementChild() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get lastElementChild' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"lastElementChild\"]);\n }\n\n get childElementCount() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get childElementCount' called on an object that is not a valid instance of DocumentFragment.\"\n );\n }\n\n return esValue[implSymbol][\"childElementCount\"];\n }\n }\n Object.defineProperties(DocumentFragment.prototype, {\n getElementById: { enumerable: true },\n prepend: { enumerable: true },\n append: { enumerable: true },\n replaceChildren: { enumerable: true },\n querySelector: { enumerable: true },\n querySelectorAll: { enumerable: true },\n children: { enumerable: true },\n firstElementChild: { enumerable: true },\n lastElementChild: { enumerable: true },\n childElementCount: { enumerable: true },\n [Symbol.toStringTag]: { value: \"DocumentFragment\", configurable: true },\n [Symbol.unscopables]: {\n value: { prepend: true, append: true, replaceChildren: true, __proto__: null },\n configurable: true\n }\n });\n ctorRegistry[interfaceName] = DocumentFragment;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: DocumentFragment\n });\n};\n\nconst Impl = require(\"../nodes/DocumentFragment-impl.js\");\n","\"use strict\";\nconst whatwgURL = require(\"whatwg-url\");\nconst HashChangeEvent = require(\"../generated/HashChangeEvent.js\");\nconst PopStateEvent = require(\"../generated/PopStateEvent.js\");\nconst notImplemented = require(\"../../browser/not-implemented.js\");\nconst idlUtils = require(\"../generated/utils.js\");\nconst { fireAnEvent } = require(\"../helpers/events\");\n\n// https://html.spec.whatwg.org/#session-history\nclass SessionHistory {\n constructor(initialEntry, window) {\n this._window = window;\n this._windowImpl = idlUtils.implForWrapper(window);\n this._historyTraversalQueue = new Set();\n this._entries = [initialEntry];\n this._currentIndex = 0;\n }\n\n _queueHistoryTraversalTask(fn) {\n const timeoutId = this._window.setTimeout(() => {\n this._historyTraversalQueue.delete(timeoutId);\n fn();\n }, 0);\n\n this._historyTraversalQueue.add(timeoutId);\n }\n\n clearHistoryTraversalTasks() {\n for (const timeoutId of this._historyTraversalQueue) {\n this._window.clearTimeout(timeoutId);\n }\n this._historyTraversalQueue.clear();\n }\n\n get length() {\n return this._entries.length;\n }\n\n get currentEntry() {\n return this._entries[this._currentIndex];\n }\n\n // https://html.spec.whatwg.org/#dom-history-pushstate\n removeAllEntriesAfterCurrentEntry() {\n this._entries.splice(this._currentIndex + 1, Infinity);\n }\n\n // https://html.spec.whatwg.org/#traverse-the-history-by-a-delta\n traverseByDelta(delta) {\n this._queueHistoryTraversalTask(() => {\n const newIndex = this._currentIndex + delta;\n if (newIndex < 0 || newIndex >= this.length) {\n return;\n }\n\n const specifiedEntry = this._entries[newIndex];\n\n // Not implemented: unload a document guard\n\n // Not clear that this should be queued. html/browsers/history/the-history-interface/004.html can be fixed\n // by removing the queue, but doing so breaks some tests in history.js that also pass in browsers.\n this._queueHistoryTraversalTask(() => {\n // If there is an ongoing attempt to navigate specified browsing context that has not yet matured,\n // then cancel that attempt to navigate the browsing context.\n\n // Doing this seems to break tests involving navigating via push/pop state and via fragments. I think this\n // is because these navigations should already count as having \"matured\" because the document is not changing.\n\n // this.clearHistoryTraversalTasks();\n\n if (specifiedEntry.document !== this.currentEntry.document) {\n // TODO: unload the active document with the recycle parameter set to false\n notImplemented(\"Traversing history in a way that would change the window\", this._window);\n }\n this.traverseHistory(specifiedEntry);\n });\n });\n }\n\n // https://html.spec.whatwg.org/#traverse-the-history\n traverseHistory(specifiedEntry, flags = {}) {\n if (!specifiedEntry.document) {\n // If entry no longer holds a Document object, then navigate the browsing context to entry's URL\n // to perform an entry update of entry, and abort these steps\n notImplemented(\"Traversing the history to an entry that no longer holds a Document object\", this._window);\n }\n // Not spec compliant, just minimal. Lots of missing steps.\n\n const nonBlockingEvents = Boolean(flags.nonBlockingEvents);\n\n const document = idlUtils.implForWrapper(this._window._document);\n\n const { currentEntry } = this;\n\n // If the current entry's title was not set by the pushState() or replaceState() methods, then set its title\n // to the value returned by the document.title IDL attribute.\n if (currentEntry.title === undefined) {\n currentEntry.title = document.title;\n }\n\n\n if (specifiedEntry.document !== currentEntry.document) {\n // If entry has a different Document object than the current entry, then...\n notImplemented(\"Traversing the history to an entry with a different Document\", this._window);\n }\n\n document._URL = specifiedEntry.url;\n\n const hashChanged =\n specifiedEntry.url.fragment !== currentEntry.url.fragment && specifiedEntry.document === currentEntry.document;\n let oldURL, newURL;\n if (hashChanged) {\n oldURL = currentEntry.url;\n newURL = specifiedEntry.url;\n }\n\n if (flags.replacement) {\n // If the traversal was initiated with replacement enabled, remove the entry immediately before the\n // specified entry in the session history.\n this._entries.splice(this._entries.indexOf(specifiedEntry) - 1, 1);\n }\n\n this.updateCurrentEntry(specifiedEntry);\n\n const state = specifiedEntry.stateObject; // TODO structured clone\n\n // arguably it's a bit odd that the state and latestEntry do not belong to the SessionHistory\n // but the spec gives them to \"History\" and \"Document\" respecively.\n document._history._state = state;\n const stateChanged = specifiedEntry.document._latestEntry !== specifiedEntry;\n specifiedEntry.document._latestEntry = specifiedEntry;\n\n const fireEvents = () => this._fireEvents(stateChanged, hashChanged, state, oldURL, newURL);\n\n if (nonBlockingEvents) {\n this._window.setTimeout(fireEvents, 0);\n } else {\n fireEvents();\n }\n }\n\n _fireEvents(stateChanged, hashChanged, state, oldURL, newURL) {\n if (stateChanged) {\n fireAnEvent(\"popstate\", this._windowImpl, PopStateEvent, { state });\n }\n\n if (hashChanged) {\n fireAnEvent(\"hashchange\", this._windowImpl, HashChangeEvent, {\n oldURL: whatwgURL.serializeURL(oldURL),\n newURL: whatwgURL.serializeURL(newURL)\n });\n }\n }\n\n addEntryAfterCurrentEntry(entry) {\n this._entries.splice(this._currentIndex + 1, 0, entry);\n }\n\n updateCurrentEntry(entry) {\n this._currentIndex = this._entries.indexOf(entry);\n }\n}\nmodule.exports = SessionHistory;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLAreaElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLAreaElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLAreaElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLAreaElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get alt() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get alt' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"alt\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set alt(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set alt' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'alt' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"alt\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get coords() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get coords' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"coords\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set coords(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set coords' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'coords' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"coords\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get shape() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get shape' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"shape\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set shape(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set shape' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'shape' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"shape\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get target() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get target' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"target\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set target(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set target' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'target' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"target\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get rel() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get rel' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"rel\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set rel(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set rel' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'rel' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"rel\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get relList() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get relList' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n return utils.getSameObject(this, \"relList\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"relList\"]);\n });\n }\n\n set relList(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set relList' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n const Q = esValue[\"relList\"];\n if (!utils.isObject(Q)) {\n throw new globalObject.TypeError(\"Property 'relList' is not an object\");\n }\n Reflect.set(Q, \"value\", V);\n }\n\n get noHref() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get noHref' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"nohref\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set noHref(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set noHref' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'noHref' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"nohref\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"nohref\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get href() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get href' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"href\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set href(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set href' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'href' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"href\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n toString() {\n const esValue = this;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'toString' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"href\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get origin() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get origin' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n return esValue[implSymbol][\"origin\"];\n }\n\n get protocol() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get protocol' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"protocol\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set protocol(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set protocol' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'protocol' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"protocol\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get username() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get username' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"username\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set username(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set username' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'username' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"username\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get password() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get password' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"password\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set password(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set password' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'password' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"password\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get host() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get host' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"host\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set host(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set host' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'host' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"host\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get hostname() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get hostname' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"hostname\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set hostname(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set hostname' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'hostname' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"hostname\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get port() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get port' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"port\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set port(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set port' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'port' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"port\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get pathname() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get pathname' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"pathname\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set pathname(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set pathname' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'pathname' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"pathname\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get search() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get search' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"search\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set search(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set search' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'search' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"search\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get hash() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get hash' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"hash\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set hash(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set hash' called on an object that is not a valid instance of HTMLAreaElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'hash' property on 'HTMLAreaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"hash\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLAreaElement.prototype, {\n alt: { enumerable: true },\n coords: { enumerable: true },\n shape: { enumerable: true },\n target: { enumerable: true },\n rel: { enumerable: true },\n relList: { enumerable: true },\n noHref: { enumerable: true },\n href: { enumerable: true },\n toString: { enumerable: true },\n origin: { enumerable: true },\n protocol: { enumerable: true },\n username: { enumerable: true },\n password: { enumerable: true },\n host: { enumerable: true },\n hostname: { enumerable: true },\n port: { enumerable: true },\n pathname: { enumerable: true },\n search: { enumerable: true },\n hash: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLAreaElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLAreaElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLAreaElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLAreaElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst CustomEventInit = require(\"./CustomEventInit.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst Event = require(\"./Event.js\");\n\nconst interfaceName = \"CustomEvent\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'CustomEvent'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"CustomEvent\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Event._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class CustomEvent extends globalObject.Event {\n constructor(type) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'CustomEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'CustomEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = CustomEventInit.convert(globalObject, curArg, {\n context: \"Failed to construct 'CustomEvent': parameter 2\"\n });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n initCustomEvent(type) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'initCustomEvent' called on an object that is not a valid instance of CustomEvent.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'initCustomEvent' on 'CustomEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = false;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 3\",\n globals: globalObject\n });\n } else {\n curArg = false;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[3];\n if (curArg !== undefined) {\n curArg = conversions[\"any\"](curArg, {\n context: \"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 4\",\n globals: globalObject\n });\n } else {\n curArg = null;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].initCustomEvent(...args);\n }\n\n get detail() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get detail' called on an object that is not a valid instance of CustomEvent.\"\n );\n }\n\n return esValue[implSymbol][\"detail\"];\n }\n }\n Object.defineProperties(CustomEvent.prototype, {\n initCustomEvent: { enumerable: true },\n detail: { enumerable: true },\n [Symbol.toStringTag]: { value: \"CustomEvent\", configurable: true }\n });\n ctorRegistry[interfaceName] = CustomEvent;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: CustomEvent\n });\n};\n\nconst Impl = require(\"../events/CustomEvent-impl.js\");\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.permuteDomain = permuteDomain;\nconst getPublicSuffix_1 = require(\"./getPublicSuffix\");\n/**\n * Generates the permutation of all possible values that {@link domainMatch} the given `domain` parameter. The\n * array is in shortest-to-longest order. Useful when building custom {@link Store} implementations.\n *\n * @example\n * ```\n * permuteDomain('foo.bar.example.com')\n * // ['example.com', 'bar.example.com', 'foo.bar.example.com']\n * ```\n *\n * @public\n * @param domain - the domain to generate permutations for\n * @param allowSpecialUseDomain - flag to control if {@link https://www.rfc-editor.org/rfc/rfc6761.html | Special Use Domains} such as `localhost` should be allowed\n */\nfunction permuteDomain(domain, allowSpecialUseDomain) {\n const pubSuf = (0, getPublicSuffix_1.getPublicSuffix)(domain, {\n allowSpecialUseDomain: allowSpecialUseDomain,\n });\n if (!pubSuf) {\n return undefined;\n }\n if (pubSuf == domain) {\n return [domain];\n }\n // Nuke trailing dot\n if (domain.slice(-1) == '.') {\n domain = domain.slice(0, -1);\n }\n const prefix = domain.slice(0, -(pubSuf.length + 1)); // \".example.com\"\n const parts = prefix.split('.').reverse();\n let cur = pubSuf;\n const permutations = [cur];\n while (parts.length) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const part = parts.shift();\n cur = `${part}.${cur}`;\n permutations.push(cur);\n }\n return permutations;\n}\n","\"use strict\";\n\nconst { domSymbolTree } = require(\"../helpers/internal-constants\");\nconst { SVG_NS } = require(\"../helpers/namespaces\");\nconst { mixin } = require(\"../../utils\");\nconst ElementImpl = require(\"./Element-impl\").implementation;\nconst ElementCSSInlineStyleImpl = require(\"./ElementCSSInlineStyle-impl\").implementation;\nconst GlobalEventHandlersImpl = require(\"./GlobalEventHandlers-impl\").implementation;\nconst HTMLOrSVGElementImpl = require(\"./HTMLOrSVGElement-impl\").implementation;\n\nclass SVGElementImpl extends ElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n this._initHTMLOrSVGElement();\n this._initElementCSSInlineStyle();\n this._initGlobalEvents();\n }\n\n // Keep in sync with HTMLElement. https://github.com/jsdom/jsdom/issues/2599\n _attrModified(name, value, oldValue) {\n if (name === \"style\" && value !== oldValue && !this._settingCssText) {\n this._settingCssText = true;\n this._style.cssText = value;\n this._settingCssText = false;\n } else if (name.startsWith(\"on\")) {\n this._globalEventChanged(name.substring(2));\n }\n\n super._attrModified(name, value, oldValue);\n }\n\n get ownerSVGElement() {\n let e = domSymbolTree.parent(this);\n while (e && e.namespaceURI === SVG_NS) {\n if (e.localName === \"svg\") {\n return e;\n }\n e = domSymbolTree.parent(e);\n }\n\n return null;\n }\n\n get viewportElement() {\n // Get the nearest ancestor that establishes the viewport.\n // https://svgwg.org/svg2-draft/coords.html#EstablishingANewSVGViewport\n let e = domSymbolTree.parent(this);\n while (e && e.namespaceURI === SVG_NS) {\n if (e.localName === \"svg\" || e.localName === \"symbol\") {\n return e;\n }\n e = domSymbolTree.parent(e);\n }\n return null;\n }\n}\n\nSVGElementImpl.attributeRegistry = new Map();\n\nmixin(SVGElementImpl.prototype, ElementCSSInlineStyleImpl.prototype);\nmixin(SVGElementImpl.prototype, GlobalEventHandlersImpl.prototype);\nmixin(SVGElementImpl.prototype, HTMLOrSVGElementImpl.prototype);\n\nexports.implementation = SVGElementImpl;\n","\"use strict\";\n\nconst nwsapi = require(\"nwsapi\");\n\nconst idlUtils = require(\"../generated/utils\");\n\nfunction initNwsapi(node) {\n const { _globalObject, _ownerDocument } = node;\n\n return nwsapi({\n document: idlUtils.wrapperForImpl(_ownerDocument),\n DOMException: _globalObject.DOMException\n });\n}\n\nexports.matchesDontThrow = (elImpl, selector) => {\n const document = elImpl._ownerDocument;\n\n if (!document._nwsapiDontThrow) {\n document._nwsapiDontThrow = initNwsapi(elImpl);\n document._nwsapiDontThrow.configure({\n LOGERRORS: false,\n VERBOSITY: false,\n IDS_DUPES: true,\n MIXEDCASE: true\n });\n }\n\n return document._nwsapiDontThrow.match(selector, idlUtils.wrapperForImpl(elImpl));\n};\n\n// nwsapi gets `document.documentElement` at creation-time, so we have to initialize lazily, since in the initial\n// stages of Document initialization, there is no documentElement present yet.\nexports.addNwsapi = parentNode => {\n const document = parentNode._ownerDocument;\n\n if (!document._nwsapi) {\n document._nwsapi = initNwsapi(parentNode);\n document._nwsapi.configure({\n LOGERRORS: false,\n IDS_DUPES: true,\n MIXEDCASE: true\n });\n }\n\n return document._nwsapi;\n};\n","\"use strict\";\n\nconst SVGElementImpl = require(\"./SVGElement-impl\").implementation;\n\nclass SVGTitleElementImpl extends SVGElementImpl { }\n\nmodule.exports = {\n implementation: SVGTitleElementImpl\n};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType, ...args: Parameters) => ReturnType} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType, ...args: Parameters) => ReturnType} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"MimeTypeArray\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'MimeTypeArray'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"MimeTypeArray\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class MimeTypeArray {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n item(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'item' called on an object that is not a valid instance of MimeTypeArray.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'item' on 'MimeTypeArray': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'item' on 'MimeTypeArray': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].item(...args);\n }\n\n namedItem(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'namedItem' called on an object that is not a valid instance of MimeTypeArray.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'namedItem' on 'MimeTypeArray': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'namedItem' on 'MimeTypeArray': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].namedItem(...args);\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get length' called on an object that is not a valid instance of MimeTypeArray.\"\n );\n }\n\n return esValue[implSymbol][\"length\"];\n }\n }\n Object.defineProperties(MimeTypeArray.prototype, {\n item: { enumerable: true },\n namedItem: { enumerable: true },\n length: { enumerable: true },\n [Symbol.toStringTag]: { value: \"MimeTypeArray\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = MimeTypeArray;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: MimeTypeArray\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !(target[implSymbol].item(index) !== null);\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../navigator/MimeTypeArray-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst AssignedNodesOptions = require(\"./AssignedNodesOptions.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLSlotElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLSlotElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLSlotElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLSlotElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n assignedNodes() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'assignedNodes' called on an object that is not a valid instance of HTMLSlotElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = AssignedNodesOptions.convert(globalObject, curArg, {\n context: \"Failed to execute 'assignedNodes' on 'HTMLSlotElement': parameter 1\"\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].assignedNodes(...args));\n }\n\n assignedElements() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'assignedElements' called on an object that is not a valid instance of HTMLSlotElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = AssignedNodesOptions.convert(globalObject, curArg, {\n context: \"Failed to execute 'assignedElements' on 'HTMLSlotElement': parameter 1\"\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].assignedElements(...args));\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of HTMLSlotElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"name\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set name(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set name' called on an object that is not a valid instance of HTMLSlotElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'name' property on 'HTMLSlotElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"name\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLSlotElement.prototype, {\n assignedNodes: { enumerable: true },\n assignedElements: { enumerable: true },\n name: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLSlotElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLSlotElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLSlotElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLSlotElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"Plugin\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Plugin'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Plugin\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Plugin {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n item(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'item' called on an object that is not a valid instance of Plugin.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'item' on 'Plugin': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'item' on 'Plugin': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].item(...args);\n }\n\n namedItem(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'namedItem' called on an object that is not a valid instance of Plugin.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'namedItem' on 'Plugin': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'namedItem' on 'Plugin': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].namedItem(...args);\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get name' called on an object that is not a valid instance of Plugin.\");\n }\n\n return esValue[implSymbol][\"name\"];\n }\n\n get description() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get description' called on an object that is not a valid instance of Plugin.\"\n );\n }\n\n return esValue[implSymbol][\"description\"];\n }\n\n get filename() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get filename' called on an object that is not a valid instance of Plugin.\");\n }\n\n return esValue[implSymbol][\"filename\"];\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get length' called on an object that is not a valid instance of Plugin.\");\n }\n\n return esValue[implSymbol][\"length\"];\n }\n }\n Object.defineProperties(Plugin.prototype, {\n item: { enumerable: true },\n namedItem: { enumerable: true },\n name: { enumerable: true },\n description: { enumerable: true },\n filename: { enumerable: true },\n length: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Plugin\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = Plugin;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Plugin\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n\n if (target[implSymbol][utils.supportsPropertyIndex](index)) {\n const indexedValue = target[implSymbol].item(index);\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n\n if (target[implSymbol][utils.supportsPropertyIndex](index)) {\n const indexedValue = target[implSymbol].item(index);\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !target[implSymbol][utils.supportsPropertyIndex](index);\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../navigator/Plugin-impl.js\");\n",null,"\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HashChangeEventInit = require(\"./HashChangeEventInit.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst Event = require(\"./Event.js\");\n\nconst interfaceName = \"HashChangeEvent\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HashChangeEvent'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HashChangeEvent\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Event._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HashChangeEvent extends globalObject.Event {\n constructor(type) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'HashChangeEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'HashChangeEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = HashChangeEventInit.convert(globalObject, curArg, {\n context: \"Failed to construct 'HashChangeEvent': parameter 2\"\n });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n get oldURL() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oldURL' called on an object that is not a valid instance of HashChangeEvent.\"\n );\n }\n\n return esValue[implSymbol][\"oldURL\"];\n }\n\n get newURL() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get newURL' called on an object that is not a valid instance of HashChangeEvent.\"\n );\n }\n\n return esValue[implSymbol][\"newURL\"];\n }\n }\n Object.defineProperties(HashChangeEvent.prototype, {\n oldURL: { enumerable: true },\n newURL: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HashChangeEvent\", configurable: true }\n });\n ctorRegistry[interfaceName] = HashChangeEvent;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HashChangeEvent\n });\n};\n\nconst Impl = require(\"../events/HashChangeEvent-impl.js\");\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLTrackElementImpl extends HTMLElementImpl {\n get readyState() {\n return 0;\n }\n}\n\nmodule.exports = {\n implementation: HTMLTrackElementImpl\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\nvar getSideChannelMap = require('side-channel-map');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\n\n/** @type {(thisArg: WeakMap, key: K) => V} */\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\n/** @type {(thisArg: WeakMap, key: K, value: V) => void} */\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\n/** @type {(thisArg: WeakMap, key: K) => boolean} */\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\n/** @type {(thisArg: WeakMap, key: K) => boolean} */\nvar $weakMapDelete = callBound('WeakMap.prototype.delete', true);\n\n/** @type {import('.')} */\nmodule.exports = $WeakMap\n\t? /** @type {Exclude} */ function getSideChannelWeakMap() {\n\t\t/** @typedef {ReturnType} Channel */\n\t\t/** @typedef {Parameters[0]} K */\n\t\t/** @typedef {Parameters[1]} V */\n\n\t\t/** @type {WeakMap | undefined} */ var $wm;\n\t\t/** @type {Channel | undefined} */ var $m;\n\n\t\t/** @type {Channel} */\n\t\tvar channel = {\n\t\t\tassert: function (key) {\n\t\t\t\tif (!channel.has(key)) {\n\t\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapDelete($wm, key);\n\t\t\t\t\t}\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif ($m) {\n\t\t\t\t\t\treturn $m['delete'](key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $m && $m.get(key);\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!$m && $m.has(key);\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif (!$wm) {\n\t\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t\t}\n\t\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif (!$m) {\n\t\t\t\t\t\t$m = getSideChannelMap();\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\t\t/** @type {NonNullable} */ ($m).set(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// @ts-expect-error TODO: figure out why this is erroring\n\t\treturn channel;\n\t}\n\t: getSideChannelMap;\n","\"use strict\";\nconst DOMRectReadOnlyImpl = require(\"./DOMRectReadOnly-impl\").implementation;\nconst DOMRect = require(\"../generated/DOMRect\");\n\nclass DOMRectImpl extends DOMRectReadOnlyImpl {\n static fromRect(globalObject, other) {\n return DOMRect.createImpl(globalObject, [other.x, other.y, other.width, other.height]);\n }\n\n get x() {\n return super.x;\n }\n set x(newX) {\n this._x = newX;\n }\n\n get y() {\n return super.y;\n }\n set y(newY) {\n this._y = newY;\n }\n\n get width() {\n return super.width;\n }\n set width(newWidth) {\n this._width = newWidth;\n }\n\n get height() {\n return super.height;\n }\n set height(newHeight) {\n this._height = newHeight;\n }\n}\n\nexports.implementation = DOMRectImpl;\n","\"use strict\";\n\n// An iterable WeakSet implementation inspired by the iterable WeakMap example code in the WeakRefs specification:\n// https://github.com/tc39/proposal-weakrefs#iterable-weakmaps\nmodule.exports = class IterableWeakSet {\n constructor() {\n this._refSet = new Set();\n this._refMap = new WeakMap();\n this._finalizationRegistry = new FinalizationRegistry(({ ref, set }) => set.delete(ref));\n }\n\n add(value) {\n if (!this._refMap.has(value)) {\n const ref = new WeakRef(value);\n this._refMap.set(value, ref);\n this._refSet.add(ref);\n this._finalizationRegistry.register(value, { ref, set: this._refSet }, ref);\n }\n\n return this;\n }\n\n delete(value) {\n const ref = this._refMap.get(value);\n if (!ref) {\n return false;\n }\n\n this._refMap.delete(value);\n this._refSet.delete(ref);\n this._finalizationRegistry.unregister(ref);\n return true;\n }\n\n has(value) {\n return this._refMap.has(value);\n }\n\n * [Symbol.iterator]() {\n for (const ref of this._refSet) {\n const value = ref.deref();\n if (value === undefined) {\n continue;\n }\n yield value;\n }\n }\n};\n","\"use strict\";\n\n// This mixin doesn't have an IDL equivalent, but since MouseEvent and KeyboardEvent implement getModifierState() the\n// same way, its implementation is shared here.\n\nclass EventModifierMixinImpl {\n // Event's constructor assumes all options correspond to IDL attributes with the same names, and sets them on `this`.\n // That is not the case for these modifier boolean options, but since the options are set on `this` anyway we'll\n // access them that way. The spec doesn't say much about the case where keyArg is not one of the valid ones\n // (https://w3c.github.io/uievents-key/#keys-modifier), but at least Chrome returns false for invalid modifiers. Since\n // these invalid modifiers will be undefined on `this` (thus `false` after casting it to boolean), we don't need to do\n // extra checking for validity.\n getModifierState(keyArg) {\n if (keyArg === \"Control\") {\n return Boolean(this.ctrlKey);\n }\n if ([\"Alt\", \"Meta\", \"Shift\"].includes(keyArg)) {\n return Boolean(this[`${keyArg.toLowerCase()}Key`]);\n }\n return Boolean(this[`modifier${keyArg}`]);\n }\n}\n\nexports.implementation = EventModifierMixinImpl;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"DOMException\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'DOMException'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"DOMException\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class DOMException {\n constructor() {\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'DOMException': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'DOMException': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = \"Error\";\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of DOMException.\"\n );\n }\n\n return esValue[implSymbol][\"name\"];\n }\n\n get message() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get message' called on an object that is not a valid instance of DOMException.\"\n );\n }\n\n return esValue[implSymbol][\"message\"];\n }\n\n get code() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get code' called on an object that is not a valid instance of DOMException.\"\n );\n }\n\n return esValue[implSymbol][\"code\"];\n }\n }\n Object.defineProperties(DOMException.prototype, {\n name: { enumerable: true },\n message: { enumerable: true },\n code: { enumerable: true },\n [Symbol.toStringTag]: { value: \"DOMException\", configurable: true },\n INDEX_SIZE_ERR: { value: 1, enumerable: true },\n DOMSTRING_SIZE_ERR: { value: 2, enumerable: true },\n HIERARCHY_REQUEST_ERR: { value: 3, enumerable: true },\n WRONG_DOCUMENT_ERR: { value: 4, enumerable: true },\n INVALID_CHARACTER_ERR: { value: 5, enumerable: true },\n NO_DATA_ALLOWED_ERR: { value: 6, enumerable: true },\n NO_MODIFICATION_ALLOWED_ERR: { value: 7, enumerable: true },\n NOT_FOUND_ERR: { value: 8, enumerable: true },\n NOT_SUPPORTED_ERR: { value: 9, enumerable: true },\n INUSE_ATTRIBUTE_ERR: { value: 10, enumerable: true },\n INVALID_STATE_ERR: { value: 11, enumerable: true },\n SYNTAX_ERR: { value: 12, enumerable: true },\n INVALID_MODIFICATION_ERR: { value: 13, enumerable: true },\n NAMESPACE_ERR: { value: 14, enumerable: true },\n INVALID_ACCESS_ERR: { value: 15, enumerable: true },\n VALIDATION_ERR: { value: 16, enumerable: true },\n TYPE_MISMATCH_ERR: { value: 17, enumerable: true },\n SECURITY_ERR: { value: 18, enumerable: true },\n NETWORK_ERR: { value: 19, enumerable: true },\n ABORT_ERR: { value: 20, enumerable: true },\n URL_MISMATCH_ERR: { value: 21, enumerable: true },\n QUOTA_EXCEEDED_ERR: { value: 22, enumerable: true },\n TIMEOUT_ERR: { value: 23, enumerable: true },\n INVALID_NODE_TYPE_ERR: { value: 24, enumerable: true },\n DATA_CLONE_ERR: { value: 25, enumerable: true }\n });\n Object.defineProperties(DOMException, {\n INDEX_SIZE_ERR: { value: 1, enumerable: true },\n DOMSTRING_SIZE_ERR: { value: 2, enumerable: true },\n HIERARCHY_REQUEST_ERR: { value: 3, enumerable: true },\n WRONG_DOCUMENT_ERR: { value: 4, enumerable: true },\n INVALID_CHARACTER_ERR: { value: 5, enumerable: true },\n NO_DATA_ALLOWED_ERR: { value: 6, enumerable: true },\n NO_MODIFICATION_ALLOWED_ERR: { value: 7, enumerable: true },\n NOT_FOUND_ERR: { value: 8, enumerable: true },\n NOT_SUPPORTED_ERR: { value: 9, enumerable: true },\n INUSE_ATTRIBUTE_ERR: { value: 10, enumerable: true },\n INVALID_STATE_ERR: { value: 11, enumerable: true },\n SYNTAX_ERR: { value: 12, enumerable: true },\n INVALID_MODIFICATION_ERR: { value: 13, enumerable: true },\n NAMESPACE_ERR: { value: 14, enumerable: true },\n INVALID_ACCESS_ERR: { value: 15, enumerable: true },\n VALIDATION_ERR: { value: 16, enumerable: true },\n TYPE_MISMATCH_ERR: { value: 17, enumerable: true },\n SECURITY_ERR: { value: 18, enumerable: true },\n NETWORK_ERR: { value: 19, enumerable: true },\n ABORT_ERR: { value: 20, enumerable: true },\n URL_MISMATCH_ERR: { value: 21, enumerable: true },\n QUOTA_EXCEEDED_ERR: { value: 22, enumerable: true },\n TIMEOUT_ERR: { value: 23, enumerable: true },\n INVALID_NODE_TYPE_ERR: { value: 24, enumerable: true },\n DATA_CLONE_ERR: { value: 25, enumerable: true }\n });\n ctorRegistry[interfaceName] = DOMException;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: DOMException\n });\n};\n\nconst Impl = require(\"../webidl/DOMException-impl.js\");\n","/**\n * @module LRUCache\n */\n\n// module-private names and types\ntype Perf = { now: () => number }\nconst perf: Perf =\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date\n\nconst warned = new Set()\n\n// either a function or a class\ntype ForC = ((...a: any[]) => any) | { new (...a: any[]): any }\n\n/* c8 ignore start */\nconst PROCESS = (\n typeof process === 'object' && !!process ? process : {}\n) as { [k: string]: any }\n/* c8 ignore start */\n\nconst emitWarning = (\n msg: string,\n type: string,\n code: string,\n fn: ForC\n) => {\n typeof PROCESS.emitWarning === 'function'\n ? PROCESS.emitWarning(msg, type, code, fn)\n : console.error(`[${code}] ${type}: ${msg}`)\n}\n\nlet AC = globalThis.AbortController\nlet AS = globalThis.AbortSignal\n\n/* c8 ignore start */\nif (typeof AC === 'undefined') {\n //@ts-ignore\n AS = class AbortSignal {\n onabort?: (...a: any[]) => any\n _onabort: ((...a: any[]) => any)[] = []\n reason?: any\n aborted: boolean = false\n addEventListener(_: string, fn: (...a: any[]) => any) {\n this._onabort.push(fn)\n }\n }\n //@ts-ignore\n AC = class AbortController {\n constructor() {\n warnACPolyfill()\n }\n signal = new AS()\n abort(reason: any) {\n if (this.signal.aborted) return\n //@ts-ignore\n this.signal.reason = reason\n //@ts-ignore\n this.signal.aborted = true\n //@ts-ignore\n for (const fn of this.signal._onabort) {\n fn(reason)\n }\n this.signal.onabort?.(reason)\n }\n }\n let printACPolyfillWarning =\n PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1'\n const warnACPolyfill = () => {\n if (!printACPolyfillWarning) return\n printACPolyfillWarning = false\n emitWarning(\n 'AbortController is not defined. If using lru-cache in ' +\n 'node 14, load an AbortController polyfill from the ' +\n '`node-abort-controller` package. A minimal polyfill is ' +\n 'provided for use by LRUCache.fetch(), but it should not be ' +\n 'relied upon in other contexts (eg, passing it to other APIs that ' +\n 'use AbortController/AbortSignal might have undesirable effects). ' +\n 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.',\n 'NO_ABORT_CONTROLLER',\n 'ENOTSUP',\n warnACPolyfill\n )\n }\n}\n/* c8 ignore stop */\n\nconst shouldWarn = (code: string) => !warned.has(code)\n\nconst TYPE = Symbol('type')\nexport type PosInt = number & { [TYPE]: 'Positive Integer' }\nexport type Index = number & { [TYPE]: 'LRUCache Index' }\n\nconst isPosInt = (n: any): n is PosInt =>\n n && n === Math.floor(n) && n > 0 && isFinite(n)\n\nexport type UintArray = Uint8Array | Uint16Array | Uint32Array\nexport type NumberArray = UintArray | number[]\n\n/* c8 ignore start */\n// This is a little bit ridiculous, tbh.\n// The maximum array length is 2^32-1 or thereabouts on most JS impls.\n// And well before that point, you're caching the entire world, I mean,\n// that's ~32GB of just integers for the next/prev links, plus whatever\n// else to hold that many keys and values. Just filling the memory with\n// zeroes at init time is brutal when you get that big.\n// But why not be complete?\n// Maybe in the future, these limits will have expanded.\nconst getUintArray = (max: number) =>\n !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null\n/* c8 ignore stop */\n\nclass ZeroArray extends Array {\n constructor(size: number) {\n super(size)\n this.fill(0)\n }\n}\nexport type { ZeroArray }\nexport type { Stack }\n\nexport type StackLike = Stack | Index[]\nclass Stack {\n heap: NumberArray\n length: number\n // private constructor\n static #constructing: boolean = false\n static create(max: number): StackLike {\n const HeapCls = getUintArray(max)\n if (!HeapCls) return []\n Stack.#constructing = true\n const s = new Stack(max, HeapCls)\n Stack.#constructing = false\n return s\n }\n constructor(\n max: number,\n HeapCls: { new (n: number): NumberArray }\n ) {\n /* c8 ignore start */\n if (!Stack.#constructing) {\n throw new TypeError('instantiate Stack using Stack.create(n)')\n }\n /* c8 ignore stop */\n this.heap = new HeapCls(max)\n this.length = 0\n }\n push(n: Index) {\n this.heap[this.length++] = n\n }\n pop(): Index {\n return this.heap[--this.length] as Index\n }\n}\n\n/**\n * Promise representing an in-progress {@link LRUCache#fetch} call\n */\nexport type BackgroundFetch = Promise & {\n __returned: BackgroundFetch | undefined\n __abortController: AbortController\n __staleWhileFetching: V | undefined\n}\n\nexport type DisposeTask = [\n value: V,\n key: K,\n reason: LRUCache.DisposeReason\n]\n\nexport namespace LRUCache {\n /**\n * An integer greater than 0, reflecting the calculated size of items\n */\n export type Size = number\n\n /**\n * Integer greater than 0, representing some number of milliseconds, or the\n * time at which a TTL started counting from.\n */\n export type Milliseconds = number\n\n /**\n * An integer greater than 0, reflecting a number of items\n */\n export type Count = number\n\n /**\n * The reason why an item was removed from the cache, passed\n * to the {@link Disposer} methods.\n *\n * - `evict`: The item was evicted because it is the least recently used,\n * and the cache is full.\n * - `set`: A new value was set, overwriting the old value being disposed.\n * - `delete`: The item was explicitly deleted, either by calling\n * {@link LRUCache#delete}, {@link LRUCache#clear}, or\n * {@link LRUCache#set} with an undefined value.\n * - `expire`: The item was removed due to exceeding its TTL.\n * - `fetch`: A {@link OptionsBase#fetchMethod} operation returned\n * `undefined` or was aborted, causing the item to be deleted.\n */\n export type DisposeReason =\n | 'evict'\n | 'set'\n | 'delete'\n | 'expire'\n | 'fetch'\n /**\n * A method called upon item removal, passed as the\n * {@link OptionsBase.dispose} and/or\n * {@link OptionsBase.disposeAfter} options.\n */\n export type Disposer = (\n value: V,\n key: K,\n reason: DisposeReason\n ) => void\n\n /**\n * A function that returns the effective calculated size\n * of an entry in the cache.\n */\n export type SizeCalculator = (value: V, key: K) => Size\n\n /**\n * Options provided to the\n * {@link OptionsBase.fetchMethod} function.\n */\n export interface FetcherOptions {\n signal: AbortSignal\n options: FetcherFetchOptions\n /**\n * Object provided in the {@link FetchOptions.context} option to\n * {@link LRUCache#fetch}\n */\n context: FC\n }\n\n /**\n * Occasionally, it may be useful to track the internal behavior of the\n * cache, particularly for logging, debugging, or for behavior within the\n * `fetchMethod`. To do this, you can pass a `status` object to the\n * {@link LRUCache#fetch}, {@link LRUCache#get}, {@link LRUCache#set},\n * {@link LRUCache#memo}, and {@link LRUCache#has} methods.\n *\n * The `status` option should be a plain JavaScript object. The following\n * fields will be set on it appropriately, depending on the situation.\n */\n export interface Status {\n /**\n * The status of a set() operation.\n *\n * - add: the item was not found in the cache, and was added\n * - update: the item was in the cache, with the same value provided\n * - replace: the item was in the cache, and replaced\n * - miss: the item was not added to the cache for some reason\n */\n set?: 'add' | 'update' | 'replace' | 'miss'\n\n /**\n * the ttl stored for the item, or undefined if ttls are not used.\n */\n ttl?: Milliseconds\n\n /**\n * the start time for the item, or undefined if ttls are not used.\n */\n start?: Milliseconds\n\n /**\n * The timestamp used for TTL calculation\n */\n now?: Milliseconds\n\n /**\n * the remaining ttl for the item, or undefined if ttls are not used.\n */\n remainingTTL?: Milliseconds\n\n /**\n * The calculated size for the item, if sizes are used.\n */\n entrySize?: Size\n\n /**\n * The total calculated size of the cache, if sizes are used.\n */\n totalCalculatedSize?: Size\n\n /**\n * A flag indicating that the item was not stored, due to exceeding the\n * {@link OptionsBase.maxEntrySize}\n */\n maxEntrySizeExceeded?: true\n\n /**\n * The old value, specified in the case of `set:'update'` or\n * `set:'replace'`\n */\n oldValue?: V\n\n /**\n * The results of a {@link LRUCache#has} operation\n *\n * - hit: the item was found in the cache\n * - stale: the item was found in the cache, but is stale\n * - miss: the item was not found in the cache\n */\n has?: 'hit' | 'stale' | 'miss'\n\n /**\n * The status of a {@link LRUCache#fetch} operation.\n * Note that this can change as the underlying fetch() moves through\n * various states.\n *\n * - inflight: there is another fetch() for this key which is in process\n * - get: there is no {@link OptionsBase.fetchMethod}, so\n * {@link LRUCache#get} was called.\n * - miss: the item is not in cache, and will be fetched.\n * - hit: the item is in the cache, and was resolved immediately.\n * - stale: the item is in the cache, but stale.\n * - refresh: the item is in the cache, and not stale, but\n * {@link FetchOptions.forceRefresh} was specified.\n */\n fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'\n\n /**\n * The {@link OptionsBase.fetchMethod} was called\n */\n fetchDispatched?: true\n\n /**\n * The cached value was updated after a successful call to\n * {@link OptionsBase.fetchMethod}\n */\n fetchUpdated?: true\n\n /**\n * The reason for a fetch() rejection. Either the error raised by the\n * {@link OptionsBase.fetchMethod}, or the reason for an\n * AbortSignal.\n */\n fetchError?: Error\n\n /**\n * The fetch received an abort signal\n */\n fetchAborted?: true\n\n /**\n * The abort signal received was ignored, and the fetch was allowed to\n * continue.\n */\n fetchAbortIgnored?: true\n\n /**\n * The fetchMethod promise resolved successfully\n */\n fetchResolved?: true\n\n /**\n * The fetchMethod promise was rejected\n */\n fetchRejected?: true\n\n /**\n * The status of a {@link LRUCache#get} operation.\n *\n * - fetching: The item is currently being fetched. If a previous value\n * is present and allowed, that will be returned.\n * - stale: The item is in the cache, and is stale.\n * - hit: the item is in the cache\n * - miss: the item is not in the cache\n */\n get?: 'stale' | 'hit' | 'miss'\n\n /**\n * A fetch or get operation returned a stale value.\n */\n returnedStale?: true\n }\n\n /**\n * options which override the options set in the LRUCache constructor\n * when calling {@link LRUCache#fetch}.\n *\n * This is the union of {@link GetOptions} and {@link SetOptions}, plus\n * {@link OptionsBase.noDeleteOnFetchRejection},\n * {@link OptionsBase.allowStaleOnFetchRejection},\n * {@link FetchOptions.forceRefresh}, and\n * {@link FetcherOptions.context}\n *\n * Any of these may be modified in the {@link OptionsBase.fetchMethod}\n * function, but the {@link GetOptions} fields will of course have no\n * effect, as the {@link LRUCache#get} call already happened by the time\n * the fetchMethod is called.\n */\n export interface FetcherFetchOptions\n extends Pick<\n OptionsBase,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n | 'noDeleteOnFetchRejection'\n | 'allowStaleOnFetchRejection'\n | 'ignoreFetchAbort'\n | 'allowStaleOnFetchAbort'\n > {\n status?: Status\n size?: Size\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#fetch} method.\n */\n export interface FetchOptions\n extends FetcherFetchOptions {\n /**\n * Set to true to force a re-load of the existing data, even if it\n * is not yet stale.\n */\n forceRefresh?: boolean\n /**\n * Context provided to the {@link OptionsBase.fetchMethod} as\n * the {@link FetcherOptions.context} param.\n *\n * If the FC type is specified as unknown (the default),\n * undefined or void, then this is optional. Otherwise, it will\n * be required.\n */\n context?: FC\n signal?: AbortSignal\n status?: Status\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is something\n * other than `unknown`, `undefined`, or `void`\n */\n export interface FetchOptionsWithContext\n extends FetchOptions {\n context: FC\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is\n * `undefined` or `void`\n */\n export interface FetchOptionsNoContext\n extends FetchOptions {\n context?: undefined\n }\n\n export interface MemoOptions\n extends Pick<\n OptionsBase,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n | 'noDeleteOnFetchRejection'\n | 'allowStaleOnFetchRejection'\n | 'ignoreFetchAbort'\n | 'allowStaleOnFetchAbort'\n > {\n /**\n * Set to true to force a re-load of the existing data, even if it\n * is not yet stale.\n */\n forceRefresh?: boolean\n /**\n * Context provided to the {@link OptionsBase.memoMethod} as\n * the {@link MemoizerOptions.context} param.\n *\n * If the FC type is specified as unknown (the default),\n * undefined or void, then this is optional. Otherwise, it will\n * be required.\n */\n context?: FC\n status?: Status\n }\n /**\n * Options provided to {@link LRUCache#memo} when the FC type is something\n * other than `unknown`, `undefined`, or `void`\n */\n export interface MemoOptionsWithContext\n extends MemoOptions {\n context: FC\n }\n /**\n * Options provided to {@link LRUCache#memo} when the FC type is\n * `undefined` or `void`\n */\n export interface MemoOptionsNoContext\n extends MemoOptions {\n context?: undefined\n }\n\n /**\n * Options provided to the\n * {@link OptionsBase.memoMethod} function.\n */\n export interface MemoizerOptions {\n options: MemoizerMemoOptions\n /**\n * Object provided in the {@link MemoOptions.context} option to\n * {@link LRUCache#memo}\n */\n context: FC\n }\n\n /**\n * options which override the options set in the LRUCache constructor\n * when calling {@link LRUCache#memo}.\n *\n * This is the union of {@link GetOptions} and {@link SetOptions}, plus\n * {@link MemoOptions.forceRefresh}, and\n * {@link MemoerOptions.context}\n *\n * Any of these may be modified in the {@link OptionsBase.memoMethod}\n * function, but the {@link GetOptions} fields will of course have no\n * effect, as the {@link LRUCache#get} call already happened by the time\n * the memoMethod is called.\n */\n export interface MemoizerMemoOptions\n extends Pick<\n OptionsBase,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n > {\n status?: Status\n size?: Size\n start?: Milliseconds\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#has} method.\n */\n export interface HasOptions\n extends Pick, 'updateAgeOnHas'> {\n status?: Status\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#get} method.\n */\n export interface GetOptions\n extends Pick<\n OptionsBase,\n 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'\n > {\n status?: Status\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#peek} method.\n */\n export interface PeekOptions\n extends Pick, 'allowStale'> {}\n\n /**\n * Options that may be passed to the {@link LRUCache#set} method.\n */\n export interface SetOptions\n extends Pick<\n OptionsBase,\n 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'\n > {\n /**\n * If size tracking is enabled, then setting an explicit size\n * in the {@link LRUCache#set} call will prevent calling the\n * {@link OptionsBase.sizeCalculation} function.\n */\n size?: Size\n /**\n * If TTL tracking is enabled, then setting an explicit start\n * time in the {@link LRUCache#set} call will override the\n * default time from `performance.now()` or `Date.now()`.\n *\n * Note that it must be a valid value for whichever time-tracking\n * method is in use.\n */\n start?: Milliseconds\n status?: Status\n }\n\n /**\n * The type signature for the {@link OptionsBase.fetchMethod} option.\n */\n export type Fetcher = (\n key: K,\n staleValue: V | undefined,\n options: FetcherOptions\n ) => Promise | V | undefined | void\n\n /**\n * the type signature for the {@link OptionsBase.memoMethod} option.\n */\n export type Memoizer = (\n key: K,\n staleValue: V | undefined,\n options: MemoizerOptions\n ) => V\n\n /**\n * Options which may be passed to the {@link LRUCache} constructor.\n *\n * Most of these may be overridden in the various options that use\n * them.\n *\n * Despite all being technically optional, the constructor requires that\n * a cache is at minimum limited by one or more of {@link OptionsBase.max},\n * {@link OptionsBase.ttl}, or {@link OptionsBase.maxSize}.\n *\n * If {@link OptionsBase.ttl} is used alone, then it is strongly advised\n * (and in fact required by the type definitions here) that the cache\n * also set {@link OptionsBase.ttlAutopurge}, to prevent potentially\n * unbounded storage.\n *\n * All options are also available on the {@link LRUCache} instance, making\n * it safe to pass an LRUCache instance as the options argumemnt to\n * make another empty cache of the same type.\n *\n * Some options are marked as read-only, because changing them after\n * instantiation is not safe. Changing any of the other options will of\n * course only have an effect on subsequent method calls.\n */\n export interface OptionsBase {\n /**\n * The maximum number of items to store in the cache before evicting\n * old entries. This is read-only on the {@link LRUCache} instance,\n * and may not be overridden.\n *\n * If set, then storage space will be pre-allocated at construction\n * time, and the cache will perform significantly faster.\n *\n * Note that significantly fewer items may be stored, if\n * {@link OptionsBase.maxSize} and/or {@link OptionsBase.ttl} are also\n * set.\n *\n * **It is strongly recommended to set a `max` to prevent unbounded growth\n * of the cache.**\n */\n max?: Count\n\n /**\n * Max time in milliseconds for items to live in cache before they are\n * considered stale. Note that stale items are NOT preemptively removed by\n * default, and MAY live in the cache, contributing to its LRU max, long\n * after they have expired, unless {@link OptionsBase.ttlAutopurge} is\n * set.\n *\n * If set to `0` (the default value), then that means \"do not track\n * TTL\", not \"expire immediately\".\n *\n * Also, as this cache is optimized for LRU/MRU operations, some of\n * the staleness/TTL checks will reduce performance, as they will incur\n * overhead by deleting items.\n *\n * This is not primarily a TTL cache, and does not make strong TTL\n * guarantees. There is no pre-emptive pruning of expired items, but you\n * _may_ set a TTL on the cache, and it will treat expired items as missing\n * when they are fetched, and delete them.\n *\n * Optional, but must be a non-negative integer in ms if specified.\n *\n * This may be overridden by passing an options object to `cache.set()`.\n *\n * At least one of `max`, `maxSize`, or `TTL` is required. This must be a\n * positive integer if set.\n *\n * Even if ttl tracking is enabled, **it is strongly recommended to set a\n * `max` to prevent unbounded growth of the cache.**\n *\n * If ttl tracking is enabled, and `max` and `maxSize` are not set,\n * and `ttlAutopurge` is not set, then a warning will be emitted\n * cautioning about the potential for unbounded memory consumption.\n * (The TypeScript definitions will also discourage this.)\n */\n ttl?: Milliseconds\n\n /**\n * Minimum amount of time in ms in which to check for staleness.\n * Defaults to 1, which means that the current time is checked\n * at most once per millisecond.\n *\n * Set to 0 to check the current time every time staleness is tested.\n * (This reduces performance, and is theoretically unnecessary.)\n *\n * Setting this to a higher value will improve performance somewhat\n * while using ttl tracking, albeit at the expense of keeping stale\n * items around a bit longer than their TTLs would indicate.\n *\n * @default 1\n */\n ttlResolution?: Milliseconds\n\n /**\n * Preemptively remove stale items from the cache.\n *\n * Note that this may *significantly* degrade performance, especially if\n * the cache is storing a large number of items. It is almost always best\n * to just leave the stale items in the cache, and let them fall out as new\n * items are added.\n *\n * Note that this means that {@link OptionsBase.allowStale} is a bit\n * pointless, as stale items will be deleted almost as soon as they\n * expire.\n *\n * Use with caution!\n */\n ttlAutopurge?: boolean\n\n /**\n * When using time-expiring entries with `ttl`, setting this to `true` will\n * make each item's age reset to 0 whenever it is retrieved from cache with\n * {@link LRUCache#get}, causing it to not expire. (It can still fall out\n * of cache based on recency of use, of course.)\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n *\n * This may be overridden by passing an options object to `cache.get()`.\n */\n updateAgeOnGet?: boolean\n\n /**\n * When using time-expiring entries with `ttl`, setting this to `true` will\n * make each item's age reset to 0 whenever its presence in the cache is\n * checked with {@link LRUCache#has}, causing it to not expire. (It can\n * still fall out of cache based on recency of use, of course.)\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n */\n updateAgeOnHas?: boolean\n\n /**\n * Allow {@link LRUCache#get} and {@link LRUCache#fetch} calls to return\n * stale data, if available.\n *\n * By default, if you set `ttl`, stale items will only be deleted from the\n * cache when you `get(key)`. That is, it's not preemptively pruning items,\n * unless {@link OptionsBase.ttlAutopurge} is set.\n *\n * If you set `allowStale:true`, it'll return the stale value *as well as*\n * deleting it. If you don't set this, then it'll return `undefined` when\n * you try to get a stale entry.\n *\n * Note that when a stale entry is fetched, _even if it is returned due to\n * `allowStale` being set_, it is removed from the cache immediately. You\n * can suppress this behavior by setting\n * {@link OptionsBase.noDeleteOnStaleGet}, either in the constructor, or in\n * the options provided to {@link LRUCache#get}.\n *\n * This may be overridden by passing an options object to `cache.get()`.\n * The `cache.has()` method will always return `false` for stale items.\n *\n * Only relevant if a ttl is set.\n */\n allowStale?: boolean\n\n /**\n * Function that is called on items when they are dropped from the\n * cache, as `dispose(value, key, reason)`.\n *\n * This can be handy if you want to close file descriptors or do\n * other cleanup tasks when items are no longer stored in the cache.\n *\n * **NOTE**: It is called _before_ the item has been fully removed\n * from the cache, so if you want to put it right back in, you need\n * to wait until the next tick. If you try to add it back in during\n * the `dispose()` function call, it will break things in subtle and\n * weird ways.\n *\n * Unlike several other options, this may _not_ be overridden by\n * passing an option to `set()`, for performance reasons.\n *\n * The `reason` will be one of the following strings, corresponding\n * to the reason for the item's deletion:\n *\n * - `evict` Item was evicted to make space for a new addition\n * - `set` Item was overwritten by a new value\n * - `expire` Item expired its TTL\n * - `fetch` Item was deleted due to a failed or aborted fetch, or a\n * fetchMethod returning `undefined.\n * - `delete` Item was removed by explicit `cache.delete(key)`,\n * `cache.clear()`, or `cache.set(key, undefined)`.\n */\n dispose?: Disposer\n\n /**\n * The same as {@link OptionsBase.dispose}, but called *after* the entry\n * is completely removed and the cache is once again in a clean state.\n *\n * It is safe to add an item right back into the cache at this point.\n * However, note that it is *very* easy to inadvertently create infinite\n * recursion this way.\n */\n disposeAfter?: Disposer\n\n /**\n * Set to true to suppress calling the\n * {@link OptionsBase.dispose} function if the entry key is\n * still accessible within the cache.\n *\n * This may be overridden by passing an options object to\n * {@link LRUCache#set}.\n *\n * Only relevant if `dispose` or `disposeAfter` are set.\n */\n noDisposeOnSet?: boolean\n\n /**\n * Boolean flag to tell the cache to not update the TTL when setting a new\n * value for an existing key (ie, when updating a value rather than\n * inserting a new value). Note that the TTL value is _always_ set (if\n * provided) when adding a new entry into the cache.\n *\n * Has no effect if a {@link OptionsBase.ttl} is not set.\n *\n * May be passed as an option to {@link LRUCache#set}.\n */\n noUpdateTTL?: boolean\n\n /**\n * Set to a positive integer to track the sizes of items added to the\n * cache, and automatically evict items in order to stay below this size.\n * Note that this may result in fewer than `max` items being stored.\n *\n * Attempting to add an item to the cache whose calculated size is greater\n * that this amount will be a no-op. The item will not be cached, and no\n * other items will be evicted.\n *\n * Optional, must be a positive integer if provided.\n *\n * Sets `maxEntrySize` to the same value, unless a different value is\n * provided for `maxEntrySize`.\n *\n * At least one of `max`, `maxSize`, or `TTL` is required. This must be a\n * positive integer if set.\n *\n * Even if size tracking is enabled, **it is strongly recommended to set a\n * `max` to prevent unbounded growth of the cache.**\n *\n * Note also that size tracking can negatively impact performance,\n * though for most cases, only minimally.\n */\n maxSize?: Size\n\n /**\n * The maximum allowed size for any single item in the cache.\n *\n * If a larger item is passed to {@link LRUCache#set} or returned by a\n * {@link OptionsBase.fetchMethod} or {@link OptionsBase.memoMethod}, then\n * it will not be stored in the cache.\n *\n * Attempting to add an item whose calculated size is greater than\n * this amount will not cache the item or evict any old items, but\n * WILL delete an existing value if one is already present.\n *\n * Optional, must be a positive integer if provided. Defaults to\n * the value of `maxSize` if provided.\n */\n maxEntrySize?: Size\n\n /**\n * A function that returns a number indicating the item's size.\n *\n * Requires {@link OptionsBase.maxSize} to be set.\n *\n * If not provided, and {@link OptionsBase.maxSize} or\n * {@link OptionsBase.maxEntrySize} are set, then all\n * {@link LRUCache#set} calls **must** provide an explicit\n * {@link SetOptions.size} or sizeCalculation param.\n */\n sizeCalculation?: SizeCalculator\n\n /**\n * Method that provides the implementation for {@link LRUCache#fetch}\n *\n * ```ts\n * fetchMethod(key, staleValue, { signal, options, context })\n * ```\n *\n * If `fetchMethod` is not provided, then `cache.fetch(key)` is equivalent\n * to `Promise.resolve(cache.get(key))`.\n *\n * If at any time, `signal.aborted` is set to `true`, or if the\n * `signal.onabort` method is called, or if it emits an `'abort'` event\n * which you can listen to with `addEventListener`, then that means that\n * the fetch should be abandoned. This may be passed along to async\n * functions aware of AbortController/AbortSignal behavior.\n *\n * The `fetchMethod` should **only** return `undefined` or a Promise\n * resolving to `undefined` if the AbortController signaled an `abort`\n * event. In all other cases, it should return or resolve to a value\n * suitable for adding to the cache.\n *\n * The `options` object is a union of the options that may be provided to\n * `set()` and `get()`. If they are modified, then that will result in\n * modifying the settings to `cache.set()` when the value is resolved, and\n * in the case of\n * {@link OptionsBase.noDeleteOnFetchRejection} and\n * {@link OptionsBase.allowStaleOnFetchRejection}, the handling of\n * `fetchMethod` failures.\n *\n * For example, a DNS cache may update the TTL based on the value returned\n * from a remote DNS server by changing `options.ttl` in the `fetchMethod`.\n */\n fetchMethod?: Fetcher\n\n /**\n * Method that provides the implementation for {@link LRUCache#memo}\n */\n memoMethod?: Memoizer\n\n /**\n * Set to true to suppress the deletion of stale data when a\n * {@link OptionsBase.fetchMethod} returns a rejected promise.\n */\n noDeleteOnFetchRejection?: boolean\n\n /**\n * Do not delete stale items when they are retrieved with\n * {@link LRUCache#get}.\n *\n * Note that the `get` return value will still be `undefined`\n * unless {@link OptionsBase.allowStale} is true.\n *\n * When using time-expiring entries with `ttl`, by default stale\n * items will be removed from the cache when the key is accessed\n * with `cache.get()`.\n *\n * Setting this option will cause stale items to remain in the cache, until\n * they are explicitly deleted with `cache.delete(key)`, or retrieved with\n * `noDeleteOnStaleGet` set to `false`.\n *\n * This may be overridden by passing an options object to `cache.get()`.\n *\n * Only relevant if a ttl is used.\n */\n noDeleteOnStaleGet?: boolean\n\n /**\n * Set to true to allow returning stale data when a\n * {@link OptionsBase.fetchMethod} throws an error or returns a rejected\n * promise.\n *\n * This differs from using {@link OptionsBase.allowStale} in that stale\n * data will ONLY be returned in the case that the {@link LRUCache#fetch}\n * fails, not any other times.\n *\n * If a `fetchMethod` fails, and there is no stale value available, the\n * `fetch()` will resolve to `undefined`. Ie, all `fetchMethod` errors are\n * suppressed.\n *\n * Implies `noDeleteOnFetchRejection`.\n *\n * This may be set in calls to `fetch()`, or defaulted on the constructor,\n * or overridden by modifying the options object in the `fetchMethod`.\n */\n allowStaleOnFetchRejection?: boolean\n\n /**\n * Set to true to return a stale value from the cache when the\n * `AbortSignal` passed to the {@link OptionsBase.fetchMethod} dispatches\n * an `'abort'` event, whether user-triggered, or due to internal cache\n * behavior.\n *\n * Unless {@link OptionsBase.ignoreFetchAbort} is also set, the underlying\n * {@link OptionsBase.fetchMethod} will still be considered canceled, and\n * any value it returns will be ignored and not cached.\n *\n * Caveat: since fetches are aborted when a new value is explicitly\n * set in the cache, this can lead to fetch returning a stale value,\n * since that was the fallback value _at the moment the `fetch()` was\n * initiated_, even though the new updated value is now present in\n * the cache.\n *\n * For example:\n *\n * ```ts\n * const cache = new LRUCache({\n * ttl: 100,\n * fetchMethod: async (url, oldValue, { signal }) => {\n * const res = await fetch(url, { signal })\n * return await res.json()\n * }\n * })\n * cache.set('https://example.com/', { some: 'data' })\n * // 100ms go by...\n * const result = cache.fetch('https://example.com/')\n * cache.set('https://example.com/', { other: 'thing' })\n * console.log(await result) // { some: 'data' }\n * console.log(cache.get('https://example.com/')) // { other: 'thing' }\n * ```\n */\n allowStaleOnFetchAbort?: boolean\n\n /**\n * Set to true to ignore the `abort` event emitted by the `AbortSignal`\n * object passed to {@link OptionsBase.fetchMethod}, and still cache the\n * resulting resolution value, as long as it is not `undefined`.\n *\n * When used on its own, this means aborted {@link LRUCache#fetch} calls\n * are not immediately resolved or rejected when they are aborted, and\n * instead take the full time to await.\n *\n * When used with {@link OptionsBase.allowStaleOnFetchAbort}, aborted\n * {@link LRUCache#fetch} calls will resolve immediately to their stale\n * cached value or `undefined`, and will continue to process and eventually\n * update the cache when they resolve, as long as the resulting value is\n * not `undefined`, thus supporting a \"return stale on timeout while\n * refreshing\" mechanism by passing `AbortSignal.timeout(n)` as the signal.\n *\n * For example:\n *\n * ```ts\n * const c = new LRUCache({\n * ttl: 100,\n * ignoreFetchAbort: true,\n * allowStaleOnFetchAbort: true,\n * fetchMethod: async (key, oldValue, { signal }) => {\n * // note: do NOT pass the signal to fetch()!\n * // let's say this fetch can take a long time.\n * const res = await fetch(`https://slow-backend-server/${key}`)\n * return await res.json()\n * },\n * })\n *\n * // this will return the stale value after 100ms, while still\n * // updating in the background for next time.\n * const val = await c.fetch('key', { signal: AbortSignal.timeout(100) })\n * ```\n *\n * **Note**: regardless of this setting, an `abort` event _is still\n * emitted on the `AbortSignal` object_, so may result in invalid results\n * when passed to other underlying APIs that use AbortSignals.\n *\n * This may be overridden in the {@link OptionsBase.fetchMethod} or the\n * call to {@link LRUCache#fetch}.\n */\n ignoreFetchAbort?: boolean\n }\n\n export interface OptionsMaxLimit\n extends OptionsBase {\n max: Count\n }\n export interface OptionsTTLLimit\n extends OptionsBase {\n ttl: Milliseconds\n ttlAutopurge: boolean\n }\n export interface OptionsSizeLimit\n extends OptionsBase {\n maxSize: Size\n }\n\n /**\n * The valid safe options for the {@link LRUCache} constructor\n */\n export type Options =\n | OptionsMaxLimit\n | OptionsSizeLimit\n | OptionsTTLLimit\n\n /**\n * Entry objects used by {@link LRUCache#load} and {@link LRUCache#dump},\n * and returned by {@link LRUCache#info}.\n */\n export interface Entry {\n value: V\n ttl?: Milliseconds\n size?: Size\n start?: Milliseconds\n }\n}\n\n/**\n * Default export, the thing you're using this module to get.\n *\n * The `K` and `V` types define the key and value types, respectively. The\n * optional `FC` type defines the type of the `context` object passed to\n * `cache.fetch()` and `cache.memo()`.\n *\n * Keys and values **must not** be `null` or `undefined`.\n *\n * All properties from the options object (with the exception of `max`,\n * `maxSize`, `fetchMethod`, `memoMethod`, `dispose` and `disposeAfter`) are\n * added as normal public members. (The listed options are read-only getters.)\n *\n * Changing any of these will alter the defaults for subsequent method calls.\n */\nexport class LRUCache\n implements Map\n{\n // options that cannot be changed without disaster\n readonly #max: LRUCache.Count\n readonly #maxSize: LRUCache.Size\n readonly #dispose?: LRUCache.Disposer\n readonly #disposeAfter?: LRUCache.Disposer\n readonly #fetchMethod?: LRUCache.Fetcher\n readonly #memoMethod?: LRUCache.Memoizer\n\n /**\n * {@link LRUCache.OptionsBase.ttl}\n */\n ttl: LRUCache.Milliseconds\n\n /**\n * {@link LRUCache.OptionsBase.ttlResolution}\n */\n ttlResolution: LRUCache.Milliseconds\n /**\n * {@link LRUCache.OptionsBase.ttlAutopurge}\n */\n ttlAutopurge: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnGet}\n */\n updateAgeOnGet: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnHas}\n */\n updateAgeOnHas: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStale}\n */\n allowStale: boolean\n\n /**\n * {@link LRUCache.OptionsBase.noDisposeOnSet}\n */\n noDisposeOnSet: boolean\n /**\n * {@link LRUCache.OptionsBase.noUpdateTTL}\n */\n noUpdateTTL: boolean\n /**\n * {@link LRUCache.OptionsBase.maxEntrySize}\n */\n maxEntrySize: LRUCache.Size\n /**\n * {@link LRUCache.OptionsBase.sizeCalculation}\n */\n sizeCalculation?: LRUCache.SizeCalculator\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}\n */\n noDeleteOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}\n */\n noDeleteOnStaleGet: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}\n */\n allowStaleOnFetchAbort: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}\n */\n allowStaleOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.ignoreFetchAbort}\n */\n ignoreFetchAbort: boolean\n\n // computed properties\n #size: LRUCache.Count\n #calculatedSize: LRUCache.Size\n #keyMap: Map\n #keyList: (K | undefined)[]\n #valList: (V | BackgroundFetch | undefined)[]\n #next: NumberArray\n #prev: NumberArray\n #head: Index\n #tail: Index\n #free: StackLike\n #disposed?: DisposeTask[]\n #sizes?: ZeroArray\n #starts?: ZeroArray\n #ttls?: ZeroArray\n\n #hasDispose: boolean\n #hasFetchMethod: boolean\n #hasDisposeAfter: boolean\n\n /**\n * Do not call this method unless you need to inspect the\n * inner workings of the cache. If anything returned by this\n * object is modified in any way, strange breakage may occur.\n *\n * These fields are private for a reason!\n *\n * @internal\n */\n static unsafeExposeInternals<\n K extends {},\n V extends {},\n FC extends unknown = unknown\n >(c: LRUCache) {\n return {\n // properties\n starts: c.#starts,\n ttls: c.#ttls,\n sizes: c.#sizes,\n keyMap: c.#keyMap as Map,\n keyList: c.#keyList,\n valList: c.#valList,\n next: c.#next,\n prev: c.#prev,\n get head() {\n return c.#head\n },\n get tail() {\n return c.#tail\n },\n free: c.#free,\n // methods\n isBackgroundFetch: (p: any) => c.#isBackgroundFetch(p),\n backgroundFetch: (\n k: K,\n index: number | undefined,\n options: LRUCache.FetchOptions,\n context: any\n ): BackgroundFetch =>\n c.#backgroundFetch(\n k,\n index as Index | undefined,\n options,\n context\n ),\n moveToTail: (index: number): void =>\n c.#moveToTail(index as Index),\n indexes: (options?: { allowStale: boolean }) =>\n c.#indexes(options),\n rindexes: (options?: { allowStale: boolean }) =>\n c.#rindexes(options),\n isStale: (index: number | undefined) =>\n c.#isStale(index as Index),\n }\n }\n\n // Protected read-only members\n\n /**\n * {@link LRUCache.OptionsBase.max} (read-only)\n */\n get max(): LRUCache.Count {\n return this.#max\n }\n /**\n * {@link LRUCache.OptionsBase.maxSize} (read-only)\n */\n get maxSize(): LRUCache.Count {\n return this.#maxSize\n }\n /**\n * The total computed size of items in the cache (read-only)\n */\n get calculatedSize(): LRUCache.Size {\n return this.#calculatedSize\n }\n /**\n * The number of items stored in the cache (read-only)\n */\n get size(): LRUCache.Count {\n return this.#size\n }\n /**\n * {@link LRUCache.OptionsBase.fetchMethod} (read-only)\n */\n get fetchMethod(): LRUCache.Fetcher | undefined {\n return this.#fetchMethod\n }\n get memoMethod(): LRUCache.Memoizer | undefined {\n return this.#memoMethod\n }\n /**\n * {@link LRUCache.OptionsBase.dispose} (read-only)\n */\n get dispose() {\n return this.#dispose\n }\n /**\n * {@link LRUCache.OptionsBase.disposeAfter} (read-only)\n */\n get disposeAfter() {\n return this.#disposeAfter\n }\n\n constructor(\n options: LRUCache.Options | LRUCache\n ) {\n const {\n max = 0,\n ttl,\n ttlResolution = 1,\n ttlAutopurge,\n updateAgeOnGet,\n updateAgeOnHas,\n allowStale,\n dispose,\n disposeAfter,\n noDisposeOnSet,\n noUpdateTTL,\n maxSize = 0,\n maxEntrySize = 0,\n sizeCalculation,\n fetchMethod,\n memoMethod,\n noDeleteOnFetchRejection,\n noDeleteOnStaleGet,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n } = options\n\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer')\n }\n\n const UintArray = max ? getUintArray(max) : Array\n if (!UintArray) {\n throw new Error('invalid max value: ' + max)\n }\n\n this.#max = max\n this.#maxSize = maxSize\n this.maxEntrySize = maxEntrySize || this.#maxSize\n this.sizeCalculation = sizeCalculation\n if (this.sizeCalculation) {\n if (!this.#maxSize && !this.maxEntrySize) {\n throw new TypeError(\n 'cannot set sizeCalculation without setting maxSize or maxEntrySize'\n )\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function')\n }\n }\n\n if (\n memoMethod !== undefined &&\n typeof memoMethod !== 'function'\n ) {\n throw new TypeError('memoMethod must be a function if defined')\n }\n this.#memoMethod = memoMethod\n\n if (\n fetchMethod !== undefined &&\n typeof fetchMethod !== 'function'\n ) {\n throw new TypeError(\n 'fetchMethod must be a function if specified'\n )\n }\n this.#fetchMethod = fetchMethod\n this.#hasFetchMethod = !!fetchMethod\n\n this.#keyMap = new Map()\n this.#keyList = new Array(max).fill(undefined)\n this.#valList = new Array(max).fill(undefined)\n this.#next = new UintArray(max)\n this.#prev = new UintArray(max)\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free = Stack.create(max)\n this.#size = 0\n this.#calculatedSize = 0\n\n if (typeof dispose === 'function') {\n this.#dispose = dispose\n }\n if (typeof disposeAfter === 'function') {\n this.#disposeAfter = disposeAfter\n this.#disposed = []\n } else {\n this.#disposeAfter = undefined\n this.#disposed = undefined\n }\n this.#hasDispose = !!this.#dispose\n this.#hasDisposeAfter = !!this.#disposeAfter\n\n this.noDisposeOnSet = !!noDisposeOnSet\n this.noUpdateTTL = !!noUpdateTTL\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection\n this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection\n this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort\n this.ignoreFetchAbort = !!ignoreFetchAbort\n\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.#maxSize !== 0) {\n if (!isPosInt(this.#maxSize)) {\n throw new TypeError(\n 'maxSize must be a positive integer if specified'\n )\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError(\n 'maxEntrySize must be a positive integer if specified'\n )\n }\n this.#initializeSizeTracking()\n }\n\n this.allowStale = !!allowStale\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet\n this.updateAgeOnGet = !!updateAgeOnGet\n this.updateAgeOnHas = !!updateAgeOnHas\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1\n this.ttlAutopurge = !!ttlAutopurge\n this.ttl = ttl || 0\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError(\n 'ttl must be a positive integer if specified'\n )\n }\n this.#initializeTTLTracking()\n }\n\n // do not allow completely unbounded caches\n if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {\n throw new TypeError(\n 'At least one of max, maxSize, or ttl is required'\n )\n }\n if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED'\n if (shouldWarn(code)) {\n warned.add(code)\n const msg =\n 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.'\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)\n }\n }\n }\n\n /**\n * Return the number of ms left in the item's TTL. If item is not in cache,\n * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.\n */\n getRemainingTTL(key: K) {\n return this.#keyMap.has(key) ? Infinity : 0\n }\n\n #initializeTTLTracking() {\n const ttls = new ZeroArray(this.#max)\n const starts = new ZeroArray(this.#max)\n this.#ttls = ttls\n this.#starts = starts\n\n this.#setItemTTL = (index, ttl, start = perf.now()) => {\n starts[index] = ttl !== 0 ? start : 0\n ttls[index] = ttl\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.#isStale(index)) {\n this.#delete(this.#keyList[index] as K, 'expire')\n }\n }, ttl + 1)\n // unref() not supported on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n }\n\n this.#updateItemAge = index => {\n starts[index] = ttls[index] !== 0 ? perf.now() : 0\n }\n\n this.#statusTTL = (status, index) => {\n if (ttls[index]) {\n const ttl = ttls[index]\n const start = starts[index]\n /* c8 ignore next */\n if (!ttl || !start) return\n status.ttl = ttl\n status.start = start\n status.now = cachedNow || getNow()\n const age = status.now - start\n status.remainingTTL = ttl - age\n }\n }\n\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0\n const getNow = () => {\n const n = perf.now()\n if (this.ttlResolution > 0) {\n cachedNow = n\n const t = setTimeout(\n () => (cachedNow = 0),\n this.ttlResolution\n )\n // not available on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n return n\n }\n\n this.getRemainingTTL = key => {\n const index = this.#keyMap.get(key)\n if (index === undefined) {\n return 0\n }\n const ttl = ttls[index]\n const start = starts[index]\n if (!ttl || !start) {\n return Infinity\n }\n const age = (cachedNow || getNow()) - start\n return ttl - age\n }\n\n this.#isStale = index => {\n const s = starts[index]\n const t = ttls[index]\n return !!t && !!s && (cachedNow || getNow()) - s > t\n }\n }\n\n // conditionally set private methods related to TTL\n #updateItemAge: (index: Index) => void = () => {}\n #statusTTL: (status: LRUCache.Status, index: Index) => void =\n () => {}\n #setItemTTL: (\n index: Index,\n ttl: LRUCache.Milliseconds,\n start?: LRUCache.Milliseconds\n // ignore because we never call this if we're not already in TTL mode\n /* c8 ignore start */\n ) => void = () => {}\n /* c8 ignore stop */\n\n #isStale: (index: Index) => boolean = () => false\n\n #initializeSizeTracking() {\n const sizes = new ZeroArray(this.#max)\n this.#calculatedSize = 0\n this.#sizes = sizes\n this.#removeItemSize = index => {\n this.#calculatedSize -= sizes[index] as number\n sizes[index] = 0\n }\n this.#requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.#isBackgroundFetch(v)) {\n return 0\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function')\n }\n size = sizeCalculation(v, k)\n if (!isPosInt(size)) {\n throw new TypeError(\n 'sizeCalculation return invalid (expect positive integer)'\n )\n }\n } else {\n throw new TypeError(\n 'invalid size value (must be positive integer). ' +\n 'When maxSize or maxEntrySize is used, sizeCalculation ' +\n 'or size must be set.'\n )\n }\n }\n return size\n }\n this.#addItemSize = (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status\n ) => {\n sizes[index] = size\n if (this.#maxSize) {\n const maxSize = this.#maxSize - (sizes[index] as number)\n while (this.#calculatedSize > maxSize) {\n this.#evict(true)\n }\n }\n this.#calculatedSize += sizes[index] as number\n if (status) {\n status.entrySize = size\n status.totalCalculatedSize = this.#calculatedSize\n }\n }\n }\n\n #removeItemSize: (index: Index) => void = _i => {}\n #addItemSize: (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status\n ) => void = (_i, _s, _st) => {}\n #requireSize: (\n k: K,\n v: V | BackgroundFetch,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator\n ) => LRUCache.Size = (\n _k: K,\n _v: V | BackgroundFetch,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator\n ) => {\n if (size || sizeCalculation) {\n throw new TypeError(\n 'cannot set size without setting maxSize or maxEntrySize on cache'\n )\n }\n return 0\n };\n\n *#indexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#tail; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#head) {\n break\n } else {\n i = this.#prev[i] as Index\n }\n }\n }\n }\n\n *#rindexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#head; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#tail) {\n break\n } else {\n i = this.#next[i] as Index\n }\n }\n }\n }\n\n #isValidIndex(index: Index) {\n return (\n index !== undefined &&\n this.#keyMap.get(this.#keyList[index] as K) === index\n )\n }\n\n /**\n * Return a generator yielding `[key, value]` pairs,\n * in order from most recently used to least recently used.\n */\n *entries() {\n for (const i of this.#indexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]] as [K, V]\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.entries}\n *\n * Return a generator yielding `[key, value]` pairs,\n * in order from least recently used to most recently used.\n */\n *rentries() {\n for (const i of this.#rindexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]]\n }\n }\n }\n\n /**\n * Return a generator yielding the keys in the cache,\n * in order from most recently used to least recently used.\n */\n *keys() {\n for (const i of this.#indexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.keys}\n *\n * Return a generator yielding the keys in the cache,\n * in order from least recently used to most recently used.\n */\n *rkeys() {\n for (const i of this.#rindexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Return a generator yielding the values in the cache,\n * in order from most recently used to least recently used.\n */\n *values() {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i] as V\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.values}\n *\n * Return a generator yielding the values in the cache,\n * in order from least recently used to most recently used.\n */\n *rvalues() {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i]\n }\n }\n }\n\n /**\n * Iterating over the cache itself yields the same results as\n * {@link LRUCache.entries}\n */\n [Symbol.iterator]() {\n return this.entries()\n }\n\n /**\n * A String value that is used in the creation of the default string\n * description of an object. Called by the built-in method\n * `Object.prototype.toString`.\n */\n [Symbol.toStringTag] = 'LRUCache'\n\n /**\n * Find a value for which the supplied fn method returns a truthy value,\n * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.\n */\n find(\n fn: (v: V, k: K, self: LRUCache) => boolean,\n getOptions: LRUCache.GetOptions = {}\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n if (fn(value, this.#keyList[i] as K, this)) {\n return this.get(this.#keyList[i] as K, getOptions)\n }\n }\n }\n\n /**\n * Call the supplied function on each item in the cache, in order from most\n * recently used to least recently used.\n *\n * `fn` is called as `fn(value, key, cache)`.\n *\n * If `thisp` is provided, function will be called in the `this`-context of\n * the provided object, or the cache if no `thisp` object is provided.\n *\n * Does not update age or recenty of use, or iterate over stale values.\n */\n forEach(\n fn: (v: V, k: K, self: LRUCache) => any,\n thisp: any = this\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * The same as {@link LRUCache.forEach} but items are iterated over in\n * reverse order. (ie, less recently used items are iterated over first.)\n */\n rforEach(\n fn: (v: V, k: K, self: LRUCache) => any,\n thisp: any = this\n ) {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * Delete any stale entries. Returns true if anything was removed,\n * false otherwise.\n */\n purgeStale() {\n let deleted = false\n for (const i of this.#rindexes({ allowStale: true })) {\n if (this.#isStale(i)) {\n this.#delete(this.#keyList[i] as K, 'expire')\n deleted = true\n }\n }\n return deleted\n }\n\n /**\n * Get the extended info about a given entry, to get its value, size, and\n * TTL info simultaneously. Returns `undefined` if the key is not present.\n *\n * Unlike {@link LRUCache#dump}, which is designed to be portable and survive\n * serialization, the `start` value is always the current timestamp, and the\n * `ttl` is a calculated remaining time to live (negative if expired).\n *\n * Always returns stale values, if their info is found in the cache, so be\n * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})\n * if relevant.\n */\n info(key: K): LRUCache.Entry | undefined {\n const i = this.#keyMap.get(key)\n if (i === undefined) return undefined\n const v = this.#valList[i]\n const value: V | undefined = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) return undefined\n const entry: LRUCache.Entry = { value }\n if (this.#ttls && this.#starts) {\n const ttl = this.#ttls[i]\n const start = this.#starts[i]\n if (ttl && start) {\n const remain = ttl - (perf.now() - start)\n entry.ttl = remain\n entry.start = Date.now()\n }\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i]\n }\n return entry\n }\n\n /**\n * Return an array of [key, {@link LRUCache.Entry}] tuples which can be\n * passed to {@link LRLUCache#load}.\n *\n * The `start` fields are calculated relative to a portable `Date.now()`\n * timestamp, even if `performance.now()` is available.\n *\n * Stale entries are always included in the `dump`, even if\n * {@link LRUCache.OptionsBase.allowStale} is false.\n *\n * Note: this returns an actual array, not a generator, so it can be more\n * easily passed around.\n */\n dump() {\n const arr: [K, LRUCache.Entry][] = []\n for (const i of this.#indexes({ allowStale: true })) {\n const key = this.#keyList[i]\n const v = this.#valList[i]\n const value: V | undefined = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined || key === undefined) continue\n const entry: LRUCache.Entry = { value }\n if (this.#ttls && this.#starts) {\n entry.ttl = this.#ttls[i]\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - (this.#starts[i] as number)\n entry.start = Math.floor(Date.now() - age)\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i]\n }\n arr.unshift([key, entry])\n }\n return arr\n }\n\n /**\n * Reset the cache and load in the items in entries in the order listed.\n *\n * The shape of the resulting cache may be different if the same options are\n * not used in both caches.\n *\n * The `start` fields are assumed to be calculated relative to a portable\n * `Date.now()` timestamp, even if `performance.now()` is available.\n */\n load(arr: [K, LRUCache.Entry][]) {\n this.clear()\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset, so that\n // we get the intended remaining TTL, no matter how long it's\n // been on ice.\n //\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start\n entry.start = perf.now() - age\n }\n this.set(key, entry.value, entry)\n }\n }\n\n /**\n * Add a value to the cache.\n *\n * Note: if `undefined` is specified as a value, this is an alias for\n * {@link LRUCache#delete}\n *\n * Fields on the {@link LRUCache.SetOptions} options param will override\n * their corresponding values in the constructor options for the scope\n * of this single `set()` operation.\n *\n * If `start` is provided, then that will set the effective start\n * time for the TTL calculation. Note that this must be a previous\n * value of `performance.now()` if supported, or a previous value of\n * `Date.now()` if not.\n *\n * Options object may also include `size`, which will prevent\n * calling the `sizeCalculation` function and just use the specified\n * number if it is a positive integer, and `noDisposeOnSet` which\n * will prevent calling a `dispose` function in the case of\n * overwrites.\n *\n * If the `size` (or return value of `sizeCalculation`) for a given\n * entry is greater than `maxEntrySize`, then the item will not be\n * added to the cache.\n *\n * Will update the recency of the entry.\n *\n * If the value is `undefined`, then this is an alias for\n * `cache.delete(key)`. `undefined` is never stored in the cache.\n */\n set(\n k: K,\n v: V | BackgroundFetch | undefined,\n setOptions: LRUCache.SetOptions = {}\n ) {\n if (v === undefined) {\n this.delete(k)\n return this\n }\n const {\n ttl = this.ttl,\n start,\n noDisposeOnSet = this.noDisposeOnSet,\n sizeCalculation = this.sizeCalculation,\n status,\n } = setOptions\n let { noUpdateTTL = this.noUpdateTTL } = setOptions\n\n const size = this.#requireSize(\n k,\n v,\n setOptions.size || 0,\n sizeCalculation\n )\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n if (status) {\n status.set = 'miss'\n status.maxEntrySizeExceeded = true\n }\n // have to delete, in case something is there already.\n this.#delete(k, 'set')\n return this\n }\n let index = this.#size === 0 ? undefined : this.#keyMap.get(k)\n if (index === undefined) {\n // addition\n index = (\n this.#size === 0\n ? this.#tail\n : this.#free.length !== 0\n ? this.#free.pop()\n : this.#size === this.#max\n ? this.#evict(false)\n : this.#size\n ) as Index\n this.#keyList[index] = k\n this.#valList[index] = v\n this.#keyMap.set(k, index)\n this.#next[this.#tail] = index\n this.#prev[index] = this.#tail\n this.#tail = index\n this.#size++\n this.#addItemSize(index, size, status)\n if (status) status.set = 'add'\n noUpdateTTL = false\n } else {\n // update\n this.#moveToTail(index)\n const oldVal = this.#valList[index] as V | BackgroundFetch\n if (v !== oldVal) {\n if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort(new Error('replaced'))\n const { __staleWhileFetching: s } = oldVal\n if (s !== undefined && !noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(s as V, k, 'set')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([s as V, k, 'set'])\n }\n }\n } else if (!noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(oldVal as V, k, 'set')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([oldVal as V, k, 'set'])\n }\n }\n this.#removeItemSize(index)\n this.#addItemSize(index, size, status)\n this.#valList[index] = v\n if (status) {\n status.set = 'replace'\n const oldValue =\n oldVal && this.#isBackgroundFetch(oldVal)\n ? oldVal.__staleWhileFetching\n : oldVal\n if (oldValue !== undefined) status.oldValue = oldValue\n }\n } else if (status) {\n status.set = 'update'\n }\n }\n if (ttl !== 0 && !this.#ttls) {\n this.#initializeTTLTracking()\n }\n if (this.#ttls) {\n if (!noUpdateTTL) {\n this.#setItemTTL(index, ttl, start)\n }\n if (status) this.#statusTTL(status, index)\n }\n if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return this\n }\n\n /**\n * Evict the least recently used item, returning its value or\n * `undefined` if cache is empty.\n */\n pop(): V | undefined {\n try {\n while (this.#size) {\n const val = this.#valList[this.#head]\n this.#evict(true)\n if (this.#isBackgroundFetch(val)) {\n if (val.__staleWhileFetching) {\n return val.__staleWhileFetching\n }\n } else if (val !== undefined) {\n return val\n }\n }\n } finally {\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n }\n\n #evict(free: boolean) {\n const head = this.#head\n const k = this.#keyList[head] as K\n const v = this.#valList[head] as V\n if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('evicted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v, k, 'evict')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, 'evict'])\n }\n }\n this.#removeItemSize(head)\n // if we aren't about to use the index, then null these out\n if (free) {\n this.#keyList[head] = undefined\n this.#valList[head] = undefined\n this.#free.push(head)\n }\n if (this.#size === 1) {\n this.#head = this.#tail = 0 as Index\n this.#free.length = 0\n } else {\n this.#head = this.#next[head] as Index\n }\n this.#keyMap.delete(k)\n this.#size--\n return head\n }\n\n /**\n * Check if a key is in the cache, without updating the recency of use.\n * Will return false if the item is stale, even though it is technically\n * in the cache.\n *\n * Check if a key is in the cache, without updating the recency of\n * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set\n * to `true` in either the options or the constructor.\n *\n * Will return `false` if the item is stale, even though it is technically in\n * the cache. The difference can be determined (if it matters) by using a\n * `status` argument, and inspecting the `has` field.\n *\n * Will not update item age unless\n * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.\n */\n has(k: K, hasOptions: LRUCache.HasOptions = {}) {\n const { updateAgeOnHas = this.updateAgeOnHas, status } =\n hasOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const v = this.#valList[index]\n if (\n this.#isBackgroundFetch(v) &&\n v.__staleWhileFetching === undefined\n ) {\n return false\n }\n if (!this.#isStale(index)) {\n if (updateAgeOnHas) {\n this.#updateItemAge(index)\n }\n if (status) {\n status.has = 'hit'\n this.#statusTTL(status, index)\n }\n return true\n } else if (status) {\n status.has = 'stale'\n this.#statusTTL(status, index)\n }\n } else if (status) {\n status.has = 'miss'\n }\n return false\n }\n\n /**\n * Like {@link LRUCache#get} but doesn't update recency or delete stale\n * items.\n *\n * Returns `undefined` if the item is stale, unless\n * {@link LRUCache.OptionsBase.allowStale} is set.\n */\n peek(k: K, peekOptions: LRUCache.PeekOptions = {}) {\n const { allowStale = this.allowStale } = peekOptions\n const index = this.#keyMap.get(k)\n if (\n index === undefined ||\n (!allowStale && this.#isStale(index))\n ) {\n return\n }\n const v = this.#valList[index]\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v\n }\n\n #backgroundFetch(\n k: K,\n index: Index | undefined,\n options: LRUCache.FetchOptions,\n context: any\n ): BackgroundFetch {\n const v = index === undefined ? undefined : this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n return v\n }\n\n const ac = new AC()\n const { signal } = options\n // when/if our AC signals, then stop listening to theirs.\n signal?.addEventListener('abort', () => ac.abort(signal.reason), {\n signal: ac.signal,\n })\n\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n }\n\n const cb = (\n v: V | undefined,\n updateCache = false\n ): V | undefined => {\n const { aborted } = ac.signal\n const ignoreAbort = options.ignoreFetchAbort && v !== undefined\n if (options.status) {\n if (aborted && !updateCache) {\n options.status.fetchAborted = true\n options.status.fetchError = ac.signal.reason\n if (ignoreAbort) options.status.fetchAbortIgnored = true\n } else {\n options.status.fetchResolved = true\n }\n }\n if (aborted && !ignoreAbort && !updateCache) {\n return fetchFail(ac.signal.reason)\n }\n // either we didn't abort, and are still here, or we did, and ignored\n const bf = p as BackgroundFetch\n if (this.#valList[index as Index] === p) {\n if (v === undefined) {\n if (bf.__staleWhileFetching) {\n this.#valList[index as Index] = bf.__staleWhileFetching\n } else {\n this.#delete(k, 'fetch')\n }\n } else {\n if (options.status) options.status.fetchUpdated = true\n this.set(k, v, fetchOpts.options)\n }\n }\n return v\n }\n\n const eb = (er: any) => {\n if (options.status) {\n options.status.fetchRejected = true\n options.status.fetchError = er\n }\n return fetchFail(er)\n }\n\n const fetchFail = (er: any): V | undefined => {\n const { aborted } = ac.signal\n const allowStaleAborted =\n aborted && options.allowStaleOnFetchAbort\n const allowStale =\n allowStaleAborted || options.allowStaleOnFetchRejection\n const noDelete = allowStale || options.noDeleteOnFetchRejection\n const bf = p as BackgroundFetch\n if (this.#valList[index as Index] === p) {\n // if we allow stale on fetch rejections, then we need to ensure that\n // the stale value is not removed from the cache when the fetch fails.\n const del = !noDelete || bf.__staleWhileFetching === undefined\n if (del) {\n this.#delete(k, 'fetch')\n } else if (!allowStaleAborted) {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n // leave it untouched if we're still waiting for an\n // aborted background fetch that hasn't yet returned.\n this.#valList[index as Index] = bf.__staleWhileFetching\n }\n }\n if (allowStale) {\n if (options.status && bf.__staleWhileFetching !== undefined) {\n options.status.returnedStale = true\n }\n return bf.__staleWhileFetching\n } else if (bf.__returned === bf) {\n throw er\n }\n }\n\n const pcall = (\n res: (v: V | undefined) => void,\n rej: (e: any) => void\n ) => {\n const fmp = this.#fetchMethod?.(k, v, fetchOpts)\n if (fmp && fmp instanceof Promise) {\n fmp.then(v => res(v === undefined ? undefined : v), rej)\n }\n // ignored, we go until we finish, regardless.\n // defer check until we are actually aborting,\n // so fetchMethod can override.\n ac.signal.addEventListener('abort', () => {\n if (\n !options.ignoreFetchAbort ||\n options.allowStaleOnFetchAbort\n ) {\n res(undefined)\n // when it eventually resolves, update the cache.\n if (options.allowStaleOnFetchAbort) {\n res = v => cb(v, true)\n }\n }\n })\n }\n\n if (options.status) options.status.fetchDispatched = true\n const p = new Promise(pcall).then(cb, eb)\n const bf: BackgroundFetch = Object.assign(p, {\n __abortController: ac,\n __staleWhileFetching: v,\n __returned: undefined,\n })\n\n if (index === undefined) {\n // internal, don't expose status.\n this.set(k, bf, { ...fetchOpts.options, status: undefined })\n index = this.#keyMap.get(k)\n } else {\n this.#valList[index] = bf\n }\n return bf\n }\n\n #isBackgroundFetch(p: any): p is BackgroundFetch {\n if (!this.#hasFetchMethod) return false\n const b = p as BackgroundFetch\n return (\n !!b &&\n b instanceof Promise &&\n b.hasOwnProperty('__staleWhileFetching') &&\n b.__abortController instanceof AC\n )\n }\n\n /**\n * Make an asynchronous cached fetch using the\n * {@link LRUCache.OptionsBase.fetchMethod} function.\n *\n * If the value is in the cache and not stale, then the returned\n * Promise resolves to the value.\n *\n * If not in the cache, or beyond its TTL staleness, then\n * `fetchMethod(key, staleValue, { options, signal, context })` is\n * called, and the value returned will be added to the cache once\n * resolved.\n *\n * If called with `allowStale`, and an asynchronous fetch is\n * currently in progress to reload a stale value, then the former\n * stale value will be returned.\n *\n * If called with `forceRefresh`, then the cached item will be\n * re-fetched, even if it is not stale. However, if `allowStale` is also\n * set, then the old value will still be returned. This is useful\n * in cases where you want to force a reload of a cached value. If\n * a background fetch is already in progress, then `forceRefresh`\n * has no effect.\n *\n * If multiple fetches for the same key are issued, then they will all be\n * coalesced into a single call to fetchMethod.\n *\n * Note that this means that handling options such as\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort},\n * {@link LRUCache.FetchOptions.signal},\n * and {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} will be\n * determined by the FIRST fetch() call for a given key.\n *\n * This is a known (fixable) shortcoming which will be addresed on when\n * someone complains about it, as the fix would involve added complexity and\n * may not be worth the costs for this edge case.\n *\n * If {@link LRUCache.OptionsBase.fetchMethod} is not specified, then this is\n * effectively an alias for `Promise.resolve(cache.get(key))`.\n *\n * When the fetch method resolves to a value, if the fetch has not\n * been aborted due to deletion, eviction, or being overwritten,\n * then it is added to the cache using the options provided.\n *\n * If the key is evicted or deleted before the `fetchMethod`\n * resolves, then the AbortSignal passed to the `fetchMethod` will\n * receive an `abort` event, and the promise returned by `fetch()`\n * will reject with the reason for the abort.\n *\n * If a `signal` is passed to the `fetch()` call, then aborting the\n * signal will abort the fetch and cause the `fetch()` promise to\n * reject with the reason provided.\n *\n * **Setting `context`**\n *\n * If an `FC` type is set to a type other than `unknown`, `void`, or\n * `undefined` in the {@link LRUCache} constructor, then all\n * calls to `cache.fetch()` _must_ provide a `context` option. If\n * set to `undefined` or `void`, then calls to fetch _must not_\n * provide a `context` option.\n *\n * The `context` param allows you to provide arbitrary data that\n * might be relevant in the course of fetching the data. It is only\n * relevant for the course of a single `fetch()` operation, and\n * discarded afterwards.\n *\n * **Note: `fetch()` calls are inflight-unique**\n *\n * If you call `fetch()` multiple times with the same key value,\n * then every call after the first will resolve on the same\n * promise1,\n * _even if they have different settings that would otherwise change\n * the behavior of the fetch_, such as `noDeleteOnFetchRejection`\n * or `ignoreFetchAbort`.\n *\n * In most cases, this is not a problem (in fact, only fetching\n * something once is what you probably want, if you're caching in\n * the first place). If you are changing the fetch() options\n * dramatically between runs, there's a good chance that you might\n * be trying to fit divergent semantics into a single object, and\n * would be better off with multiple cache instances.\n *\n * **1**: Ie, they're not the \"same Promise\", but they resolve at\n * the same time, because they're both waiting on the same\n * underlying fetchMethod response.\n */\n\n fetch(\n k: K,\n fetchOptions: unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : LRUCache.FetchOptionsWithContext\n ): Promise\n\n // this overload not allowed if context is required\n fetch(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n fetchOptions?: unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : never\n ): Promise\n\n async fetch(\n k: K,\n fetchOptions: LRUCache.FetchOptions = {}\n ): Promise {\n const {\n // get options\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n // set options\n ttl = this.ttl,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,\n allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,\n ignoreFetchAbort = this.ignoreFetchAbort,\n allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,\n context,\n forceRefresh = false,\n status,\n signal,\n } = fetchOptions\n\n if (!this.#hasFetchMethod) {\n if (status) status.fetch = 'get'\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n status,\n })\n }\n\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n status,\n signal,\n }\n\n let index = this.#keyMap.get(k)\n if (index === undefined) {\n if (status) status.fetch = 'miss'\n const p = this.#backgroundFetch(k, index, options, context)\n return (p.__returned = p)\n } else {\n // in cache, maybe already fetching\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n const stale =\n allowStale && v.__staleWhileFetching !== undefined\n if (status) {\n status.fetch = 'inflight'\n if (stale) status.returnedStale = true\n }\n return stale ? v.__staleWhileFetching : (v.__returned = v)\n }\n\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n const isStale = this.#isStale(index)\n if (!forceRefresh && !isStale) {\n if (status) status.fetch = 'hit'\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n if (status) this.#statusTTL(status, index)\n return v\n }\n\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.#backgroundFetch(k, index, options, context)\n const hasStale = p.__staleWhileFetching !== undefined\n const staleVal = hasStale && allowStale\n if (status) {\n status.fetch = isStale ? 'stale' : 'refresh'\n if (staleVal && isStale) status.returnedStale = true\n }\n return staleVal ? p.__staleWhileFetching : (p.__returned = p)\n }\n }\n\n /**\n * In some cases, `cache.fetch()` may resolve to `undefined`, either because\n * a {@link LRUCache.OptionsBase#fetchMethod} was not provided (turning\n * `cache.fetch(k)` into just an async wrapper around `cache.get(k)`) or\n * because `ignoreFetchAbort` was specified (either to the constructor or\n * in the {@link LRUCache.FetchOptions}). Also, the\n * {@link OptionsBase.fetchMethod} may return `undefined` or `void`, making\n * the test even more complicated.\n *\n * Because inferring the cases where `undefined` might be returned are so\n * cumbersome, but testing for `undefined` can also be annoying, this method\n * can be used, which will reject if `this.fetch()` resolves to undefined.\n */\n forceFetch(\n k: K,\n fetchOptions: unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : LRUCache.FetchOptionsWithContext\n ): Promise\n // this overload not allowed if context is required\n forceFetch(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n fetchOptions?: unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : never\n ): Promise\n async forceFetch(\n k: K,\n fetchOptions: LRUCache.FetchOptions = {}\n ): Promise {\n const v = await this.fetch(\n k,\n fetchOptions as unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : LRUCache.FetchOptionsWithContext\n )\n if (v === undefined) throw new Error('fetch() returned undefined')\n return v\n }\n\n /**\n * If the key is found in the cache, then this is equivalent to\n * {@link LRUCache#get}. If not, in the cache, then calculate the value using\n * the {@link LRUCache.OptionsBase.memoMethod}, and add it to the cache.\n *\n * If an `FC` type is set to a type other than `unknown`, `void`, or\n * `undefined` in the LRUCache constructor, then all calls to `cache.memo()`\n * _must_ provide a `context` option. If set to `undefined` or `void`, then\n * calls to memo _must not_ provide a `context` option.\n *\n * The `context` param allows you to provide arbitrary data that might be\n * relevant in the course of fetching the data. It is only relevant for the\n * course of a single `memo()` operation, and discarded afterwards.\n */\n memo(\n k: K,\n memoOptions: unknown extends FC\n ? LRUCache.MemoOptions\n : FC extends undefined | void\n ? LRUCache.MemoOptionsNoContext\n : LRUCache.MemoOptionsWithContext\n ): V\n // this overload not allowed if context is required\n memo(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n memoOptions?: unknown extends FC\n ? LRUCache.MemoOptions\n : FC extends undefined | void\n ? LRUCache.MemoOptionsNoContext\n : never\n ): V\n memo(k: K, memoOptions: LRUCache.MemoOptions = {}) {\n const memoMethod = this.#memoMethod\n if (!memoMethod) {\n throw new Error('no memoMethod provided to constructor')\n }\n const { context, forceRefresh, ...options } = memoOptions\n const v = this.get(k, options)\n if (!forceRefresh && v !== undefined) return v\n const vv = memoMethod(k, v, {\n options,\n context,\n } as LRUCache.MemoizerOptions)\n this.set(k, vv, options)\n return vv\n }\n\n /**\n * Return a value from the cache. Will update the recency of the cache\n * entry found.\n *\n * If the key is not found, get() will return `undefined`.\n */\n get(k: K, getOptions: LRUCache.GetOptions = {}) {\n const {\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n status,\n } = getOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const value = this.#valList[index]\n const fetching = this.#isBackgroundFetch(value)\n if (status) this.#statusTTL(status, index)\n if (this.#isStale(index)) {\n if (status) status.get = 'stale'\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.#delete(k, 'expire')\n }\n if (status && allowStale) status.returnedStale = true\n return allowStale ? value : undefined\n } else {\n if (\n status &&\n allowStale &&\n value.__staleWhileFetching !== undefined\n ) {\n status.returnedStale = true\n }\n return allowStale ? value.__staleWhileFetching : undefined\n }\n } else {\n if (status) status.get = 'hit'\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching.\n // If it's not stale, and fetching, AND has a __staleWhileFetching\n // value, then that means the user fetched with {forceRefresh:true},\n // so it's safe to return that value.\n if (fetching) {\n return value.__staleWhileFetching\n }\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n return value\n }\n } else if (status) {\n status.get = 'miss'\n }\n }\n\n #connect(p: Index, n: Index) {\n this.#prev[n] = p\n this.#next[p] = n\n }\n\n #moveToTail(index: Index): void {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.#tail) {\n if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n this.#connect(\n this.#prev[index] as Index,\n this.#next[index] as Index\n )\n }\n this.#connect(this.#tail, index)\n this.#tail = index\n }\n }\n\n /**\n * Deletes a key out of the cache.\n *\n * Returns true if the key was deleted, false otherwise.\n */\n delete(k: K) {\n return this.#delete(k, 'delete')\n }\n\n #delete(k: K, reason: LRUCache.DisposeReason) {\n let deleted = false\n if (this.#size !== 0) {\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n deleted = true\n if (this.#size === 1) {\n this.#clear(reason)\n } else {\n this.#removeItemSize(index)\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k, reason)\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k, reason])\n }\n }\n this.#keyMap.delete(k)\n this.#keyList[index] = undefined\n this.#valList[index] = undefined\n if (index === this.#tail) {\n this.#tail = this.#prev[index] as Index\n } else if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n const pi = this.#prev[index] as number\n this.#next[pi] = this.#next[index] as number\n const ni = this.#next[index] as number\n this.#prev[ni] = this.#prev[index] as number\n }\n this.#size--\n this.#free.push(index)\n }\n }\n }\n if (this.#hasDisposeAfter && this.#disposed?.length) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return deleted\n }\n\n /**\n * Clear the cache entirely, throwing away all values.\n */\n clear() {\n return this.#clear('delete')\n }\n #clear(reason: LRUCache.DisposeReason) {\n for (const index of this.#rindexes({ allowStale: true })) {\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else {\n const k = this.#keyList[index]\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k as K, reason)\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k as K, reason])\n }\n }\n }\n\n this.#keyMap.clear()\n this.#valList.fill(undefined)\n this.#keyList.fill(undefined)\n if (this.#ttls && this.#starts) {\n this.#ttls.fill(0)\n this.#starts.fill(0)\n }\n if (this.#sizes) {\n this.#sizes.fill(0)\n }\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free.length = 0\n this.#calculatedSize = 0\n this.#size = 0\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n}\n","\"use strict\";\n\n/**\n * This file contains all implemented properties that are not a part of any\n * current specifications or drafts, but are handled by browsers nevertheless.\n */\n\nconst allWebkitProperties = require(\"./allWebkitProperties\");\n\nmodule.exports = new Set([\n \"background-position-x\",\n \"background-position-y\",\n \"background-repeat-x\",\n \"background-repeat-y\",\n \"color-interpolation\",\n \"color-profile\",\n \"color-rendering\",\n \"enable-background\",\n \"glyph-orientation-horizontal\",\n \"kerning\",\n \"marker-offset\",\n \"marks\",\n \"pointer-events\",\n \"shape-rendering\",\n \"size\",\n \"src\",\n \"stop-color\",\n \"stop-opacity\",\n \"text-anchor\",\n \"text-line-through\",\n \"text-line-through-color\",\n \"text-line-through-mode\",\n \"text-line-through-style\",\n \"text-line-through-width\",\n \"text-overline\",\n \"text-overline-color\",\n \"text-overline-mode\",\n \"text-overline-style\",\n \"text-overline-width\",\n \"text-rendering\",\n \"text-underline\",\n \"text-underline-color\",\n \"text-underline-mode\",\n \"text-underline-style\",\n \"text-underline-width\",\n \"unicode-range\",\n \"vector-effect\",\n ...allWebkitProperties\n]);\n","\"use strict\";\nconst whatwgURL = require(\"whatwg-url\");\nconst notImplemented = require(\"../../browser/not-implemented.js\");\nconst reportException = require(\"../helpers/runtime-script-errors.js\");\nconst idlUtils = require(\"../generated/utils.js\");\n\nexports.evaluateJavaScriptURL = (window, urlRecord) => {\n const urlString = whatwgURL.serializeURL(urlRecord);\n const encodedScriptSource = urlString.substring(\"javascript:\".length);\n const scriptSource = Buffer.from(whatwgURL.percentDecodeString(encodedScriptSource)).toString();\n if (window._runScripts === \"dangerously\") {\n try {\n return window.eval(scriptSource);\n } catch (e) {\n reportException(window, e, urlString);\n }\n }\n return undefined;\n};\n\n// https://html.spec.whatwg.org/#navigating-across-documents\nexports.navigate = (window, newURL, flags) => {\n // This is NOT a spec-compliant implementation of navigation in any way. It implements a few selective steps that\n // are nice for jsdom users, regarding hash changes and JavaScript URLs. Full navigation support is being worked on\n // and will likely require some additional hooks to be implemented.\n if (!window._document) {\n return;\n }\n\n const document = idlUtils.implForWrapper(window._document);\n const currentURL = document._URL;\n\n if (!flags.reloadTriggered && urlEquals(currentURL, newURL, { excludeFragments: true })) {\n if (newURL.fragment !== currentURL.fragment) {\n navigateToFragment(window, newURL, flags);\n }\n return;\n }\n\n // NOT IMPLEMENTED: Prompt to unload the active document of browsingContext.\n\n // NOT IMPLEMENTED: form submission algorithm\n // const navigationType = 'other';\n\n // NOT IMPLEMENTED: if resource is a response...\n if (newURL.scheme === \"javascript\") {\n setTimeout(() => {\n const result = exports.evaluateJavaScriptURL(window, newURL);\n if (typeof result === \"string\") {\n notImplemented(\"string results from 'javascript:' URLs\", window);\n }\n }, 0);\n return;\n }\n navigateFetch(window);\n};\n\n// https://html.spec.whatwg.org/#scroll-to-fragid\nfunction navigateToFragment(window, newURL, flags) {\n const document = idlUtils.implForWrapper(window._document);\n\n window._sessionHistory.clearHistoryTraversalTasks();\n\n if (!flags.replacement) {\n // handling replacement=true here deviates from spec, but matches real browser behaviour\n // see https://github.com/whatwg/html/issues/2796 for spec bug\n window._sessionHistory.removeAllEntriesAfterCurrentEntry();\n }\n const newEntry = { document, url: newURL };\n window._sessionHistory.addEntryAfterCurrentEntry(newEntry);\n window._sessionHistory.traverseHistory(newEntry, { nonBlockingEvents: true, replacement: flags.replacement });\n}\n\n// https://html.spec.whatwg.org/#process-a-navigate-fetch\nfunction navigateFetch(window) {\n // TODO:\n notImplemented(\"navigation (except hash changes)\", window);\n}\n\n// https://url.spec.whatwg.org/#concept-url-equals\nfunction urlEquals(a, b, flags) {\n const serializedA = whatwgURL.serializeURL(a, flags.excludeFragments);\n const serializedB = whatwgURL.serializeURL(b, flags.excludeFragments);\n return serializedA === serializedB;\n}\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLOListElementImpl extends HTMLElementImpl {\n get start() {\n const value = parseInt(this.getAttributeNS(null, \"start\"));\n\n if (!isNaN(value)) {\n return value;\n }\n\n return 1;\n }\n set start(value) {\n this.setAttributeNS(null, \"start\", value);\n }\n}\n\nmodule.exports = {\n implementation: HTMLOListElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"SVGPreserveAspectRatio\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGPreserveAspectRatio'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGPreserveAspectRatio\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGPreserveAspectRatio {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of SVGPreserveAspectRatio.\"\n );\n }\n\n return esValue[implSymbol][\"align\"];\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of SVGPreserveAspectRatio.\"\n );\n }\n\n V = conversions[\"unsigned short\"](V, {\n context: \"Failed to set the 'align' property on 'SVGPreserveAspectRatio': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"align\"] = V;\n }\n\n get meetOrSlice() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get meetOrSlice' called on an object that is not a valid instance of SVGPreserveAspectRatio.\"\n );\n }\n\n return esValue[implSymbol][\"meetOrSlice\"];\n }\n\n set meetOrSlice(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set meetOrSlice' called on an object that is not a valid instance of SVGPreserveAspectRatio.\"\n );\n }\n\n V = conversions[\"unsigned short\"](V, {\n context: \"Failed to set the 'meetOrSlice' property on 'SVGPreserveAspectRatio': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"meetOrSlice\"] = V;\n }\n }\n Object.defineProperties(SVGPreserveAspectRatio.prototype, {\n align: { enumerable: true },\n meetOrSlice: { enumerable: true },\n [Symbol.toStringTag]: { value: \"SVGPreserveAspectRatio\", configurable: true },\n SVG_PRESERVEASPECTRATIO_UNKNOWN: { value: 0, enumerable: true },\n SVG_PRESERVEASPECTRATIO_NONE: { value: 1, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMINYMIN: { value: 2, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMIDYMIN: { value: 3, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMAXYMIN: { value: 4, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMINYMID: { value: 5, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMIDYMID: { value: 6, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMAXYMID: { value: 7, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMINYMAX: { value: 8, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMIDYMAX: { value: 9, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMAXYMAX: { value: 10, enumerable: true },\n SVG_MEETORSLICE_UNKNOWN: { value: 0, enumerable: true },\n SVG_MEETORSLICE_MEET: { value: 1, enumerable: true },\n SVG_MEETORSLICE_SLICE: { value: 2, enumerable: true }\n });\n Object.defineProperties(SVGPreserveAspectRatio, {\n SVG_PRESERVEASPECTRATIO_UNKNOWN: { value: 0, enumerable: true },\n SVG_PRESERVEASPECTRATIO_NONE: { value: 1, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMINYMIN: { value: 2, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMIDYMIN: { value: 3, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMAXYMIN: { value: 4, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMINYMID: { value: 5, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMIDYMID: { value: 6, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMAXYMID: { value: 7, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMINYMAX: { value: 8, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMIDYMAX: { value: 9, enumerable: true },\n SVG_PRESERVEASPECTRATIO_XMAXYMAX: { value: 10, enumerable: true },\n SVG_MEETORSLICE_UNKNOWN: { value: 0, enumerable: true },\n SVG_MEETORSLICE_MEET: { value: 1, enumerable: true },\n SVG_MEETORSLICE_SLICE: { value: 2, enumerable: true }\n });\n ctorRegistry[interfaceName] = SVGPreserveAspectRatio;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGPreserveAspectRatio\n });\n};\n\nconst Impl = require(\"../svg/SVGPreserveAspectRatio-impl.js\");\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","\"use strict\";\n\n// https://drafts.csswg.org/css-color-4/#named-color\nconst namedColors = {\n __proto__: null,\n aliceblue: [0xF0, 0xF8, 0xFF],\n antiquewhite: [0xFA, 0xEB, 0xD7],\n aqua: [0x00, 0xFF, 0xFF],\n aquamarine: [0x7F, 0xFF, 0xD4],\n azure: [0xF0, 0xFF, 0xFF],\n beige: [0xF5, 0xF5, 0xDC],\n bisque: [0xFF, 0xE4, 0xC4],\n black: [0x00, 0x00, 0x00],\n blanchedalmond: [0xFF, 0xEB, 0xCD],\n blue: [0x00, 0x00, 0xFF],\n blueviolet: [0x8A, 0x2B, 0xE2],\n brown: [0xA5, 0x2A, 0x2A],\n burlywood: [0xDE, 0xB8, 0x87],\n cadetblue: [0x5F, 0x9E, 0xA0],\n chartreuse: [0x7F, 0xFF, 0x00],\n chocolate: [0xD2, 0x69, 0x1E],\n coral: [0xFF, 0x7F, 0x50],\n cornflowerblue: [0x64, 0x95, 0xED],\n cornsilk: [0xFF, 0xF8, 0xDC],\n crimson: [0xDC, 0x14, 0x3C],\n cyan: [0x00, 0xFF, 0xFF],\n darkblue: [0x00, 0x00, 0x8B],\n darkcyan: [0x00, 0x8B, 0x8B],\n darkgoldenrod: [0xB8, 0x86, 0x0B],\n darkgray: [0xA9, 0xA9, 0xA9],\n darkgreen: [0x00, 0x64, 0x00],\n darkgrey: [0xA9, 0xA9, 0xA9],\n darkkhaki: [0xBD, 0xB7, 0x6B],\n darkmagenta: [0x8B, 0x00, 0x8B],\n darkolivegreen: [0x55, 0x6B, 0x2F],\n darkorange: [0xFF, 0x8C, 0x00],\n darkorchid: [0x99, 0x32, 0xCC],\n darkred: [0x8B, 0x00, 0x00],\n darksalmon: [0xE9, 0x96, 0x7A],\n darkseagreen: [0x8F, 0xBC, 0x8F],\n darkslateblue: [0x48, 0x3D, 0x8B],\n darkslategray: [0x2F, 0x4F, 0x4F],\n darkslategrey: [0x2F, 0x4F, 0x4F],\n darkturquoise: [0x00, 0xCE, 0xD1],\n darkviolet: [0x94, 0x00, 0xD3],\n deeppink: [0xFF, 0x14, 0x93],\n deepskyblue: [0x00, 0xBF, 0xFF],\n dimgray: [0x69, 0x69, 0x69],\n dimgrey: [0x69, 0x69, 0x69],\n dodgerblue: [0x1E, 0x90, 0xFF],\n firebrick: [0xB2, 0x22, 0x22],\n floralwhite: [0xFF, 0xFA, 0xF0],\n forestgreen: [0x22, 0x8B, 0x22],\n fuchsia: [0xFF, 0x00, 0xFF],\n gainsboro: [0xDC, 0xDC, 0xDC],\n ghostwhite: [0xF8, 0xF8, 0xFF],\n gold: [0xFF, 0xD7, 0x00],\n goldenrod: [0xDA, 0xA5, 0x20],\n gray: [0x80, 0x80, 0x80],\n green: [0x00, 0x80, 0x00],\n greenyellow: [0xAD, 0xFF, 0x2F],\n grey: [0x80, 0x80, 0x80],\n honeydew: [0xF0, 0xFF, 0xF0],\n hotpink: [0xFF, 0x69, 0xB4],\n indianred: [0xCD, 0x5C, 0x5C],\n indigo: [0x4B, 0x00, 0x82],\n ivory: [0xFF, 0xFF, 0xF0],\n khaki: [0xF0, 0xE6, 0x8C],\n lavender: [0xE6, 0xE6, 0xFA],\n lavenderblush: [0xFF, 0xF0, 0xF5],\n lawngreen: [0x7C, 0xFC, 0x00],\n lemonchiffon: [0xFF, 0xFA, 0xCD],\n lightblue: [0xAD, 0xD8, 0xE6],\n lightcoral: [0xF0, 0x80, 0x80],\n lightcyan: [0xE0, 0xFF, 0xFF],\n lightgoldenrodyellow: [0xFA, 0xFA, 0xD2],\n lightgray: [0xD3, 0xD3, 0xD3],\n lightgreen: [0x90, 0xEE, 0x90],\n lightgrey: [0xD3, 0xD3, 0xD3],\n lightpink: [0xFF, 0xB6, 0xC1],\n lightsalmon: [0xFF, 0xA0, 0x7A],\n lightseagreen: [0x20, 0xB2, 0xAA],\n lightskyblue: [0x87, 0xCE, 0xFA],\n lightslategray: [0x77, 0x88, 0x99],\n lightslategrey: [0x77, 0x88, 0x99],\n lightsteelblue: [0xB0, 0xC4, 0xDE],\n lightyellow: [0xFF, 0xFF, 0xE0],\n lime: [0x00, 0xFF, 0x00],\n limegreen: [0x32, 0xCD, 0x32],\n linen: [0xFA, 0xF0, 0xE6],\n magenta: [0xFF, 0x00, 0xFF],\n maroon: [0x80, 0x00, 0x00],\n mediumaquamarine: [0x66, 0xCD, 0xAA],\n mediumblue: [0x00, 0x00, 0xCD],\n mediumorchid: [0xBA, 0x55, 0xD3],\n mediumpurple: [0x93, 0x70, 0xDB],\n mediumseagreen: [0x3C, 0xB3, 0x71],\n mediumslateblue: [0x7B, 0x68, 0xEE],\n mediumspringgreen: [0x00, 0xFA, 0x9A],\n mediumturquoise: [0x48, 0xD1, 0xCC],\n mediumvioletred: [0xC7, 0x15, 0x85],\n midnightblue: [0x19, 0x19, 0x70],\n mintcream: [0xF5, 0xFF, 0xFA],\n mistyrose: [0xFF, 0xE4, 0xE1],\n moccasin: [0xFF, 0xE4, 0xB5],\n navajowhite: [0xFF, 0xDE, 0xAD],\n navy: [0x00, 0x00, 0x80],\n oldlace: [0xFD, 0xF5, 0xE6],\n olive: [0x80, 0x80, 0x00],\n olivedrab: [0x6B, 0x8E, 0x23],\n orange: [0xFF, 0xA5, 0x00],\n orangered: [0xFF, 0x45, 0x00],\n orchid: [0xDA, 0x70, 0xD6],\n palegoldenrod: [0xEE, 0xE8, 0xAA],\n palegreen: [0x98, 0xFB, 0x98],\n paleturquoise: [0xAF, 0xEE, 0xEE],\n palevioletred: [0xDB, 0x70, 0x93],\n papayawhip: [0xFF, 0xEF, 0xD5],\n peachpuff: [0xFF, 0xDA, 0xB9],\n peru: [0xCD, 0x85, 0x3F],\n pink: [0xFF, 0xC0, 0xCB],\n plum: [0xDD, 0xA0, 0xDD],\n powderblue: [0xB0, 0xE0, 0xE6],\n purple: [0x80, 0x00, 0x80],\n rebeccapurple: [0x66, 0x33, 0x99],\n red: [0xFF, 0x00, 0x00],\n rosybrown: [0xBC, 0x8F, 0x8F],\n royalblue: [0x41, 0x69, 0xE1],\n saddlebrown: [0x8B, 0x45, 0x13],\n salmon: [0xFA, 0x80, 0x72],\n sandybrown: [0xF4, 0xA4, 0x60],\n seagreen: [0x2E, 0x8B, 0x57],\n seashell: [0xFF, 0xF5, 0xEE],\n sienna: [0xA0, 0x52, 0x2D],\n silver: [0xC0, 0xC0, 0xC0],\n skyblue: [0x87, 0xCE, 0xEB],\n slateblue: [0x6A, 0x5A, 0xCD],\n slategray: [0x70, 0x80, 0x90],\n slategrey: [0x70, 0x80, 0x90],\n snow: [0xFF, 0xFA, 0xFA],\n springgreen: [0x00, 0xFF, 0x7F],\n steelblue: [0x46, 0x82, 0xB4],\n tan: [0xD2, 0xB4, 0x8C],\n teal: [0x00, 0x80, 0x80],\n thistle: [0xD8, 0xBF, 0xD8],\n tomato: [0xFF, 0x63, 0x47],\n turquoise: [0x40, 0xE0, 0xD0],\n violet: [0xEE, 0x82, 0xEE],\n wheat: [0xF5, 0xDE, 0xB3],\n white: [0xFF, 0xFF, 0xFF],\n whitesmoke: [0xF5, 0xF5, 0xF5],\n yellow: [0xFF, 0xFF, 0x00],\n yellowgreen: [0x9A, 0xCD, 0x32]\n};\n\n// Implements some of https://drafts.csswg.org/css-color-4/#resolving-sRGB-values and\n// https://drafts.csswg.org/css-color-4/#serializing-sRGB-values, in a somewhat fragile way since\n// we're not using a real parser/serializer. Attempts to cover:\n// * hex colors\n// * 'rgb()' and 'rgba()' values\n// * named colors\n// * 'transparent'\n\nexports.getSpecifiedColor = color => {\n const lowercasedColor = color.toLowerCase();\n if (Object.hasOwn(namedColors, lowercasedColor) || lowercasedColor === \"transparent\") {\n return lowercasedColor;\n }\n\n return sharedSpecifiedAndComputedAndUsed(color);\n};\n\nexports.getComputedOrUsedColor = color => {\n const lowercasedColor = color.toLowerCase();\n const fromNamedColors = namedColors[lowercasedColor];\n if (fromNamedColors !== undefined) {\n return `rgb(${fromNamedColors.join(\", \")})`;\n }\n\n if (lowercasedColor === \"transparent\") {\n return \"rgba(0, 0, 0, 0)\";\n }\n\n return sharedSpecifiedAndComputedAndUsed(color);\n};\n\nfunction sharedSpecifiedAndComputedAndUsed(color) {\n if (/^#[0-9A-Fa-f]{6}$/.test(color) || /^#[0-9A-Fa-f]{3}$/.test(color)) {\n return hexToRGB(color.slice(1));\n }\n\n if (/^#[0-9A-Fa-f]{8}$/.test(color) || /^#[0-9A-Fa-f]{4}$/.test(color)) {\n return hexToRGBA(color.slice(1));\n }\n\n if (/^rgba?\\(/.test(color)) {\n return color.split(\",\").map(s => s.trim()).join(\", \");\n }\n\n return color;\n}\n\nfunction hexToRGB(color) {\n if (color.length === 6) {\n const [r1, r2, g1, g2, b1, b2] = color.split(\"\");\n\n return `rgb(${hexesToDecimals([r1, r2], [g1, g2], [b1, b2]).join(\", \")})`;\n }\n\n if (color.length === 3) {\n const [r1, g1, b1] = color.split(\"\");\n\n return `rgb(${hexesToDecimals([r1, r1], [g1, g1], [b1, b1]).join(\", \")})`;\n }\n\n return \"rgb(0, 0, 0)\";\n}\n\nfunction hexToRGBA(color) {\n if (color.length === 8) {\n const [r1, r2, g1, g2, b1, b2, a1, a2] = color.split(\"\");\n\n return `rgba(${hexesToDecimals([r1, r2], [g1, g2], [b1, b2]).join(\", \")}, ${hexToPercent(a1, a2)})`;\n }\n\n if (color.length === 4) {\n const [r1, g1, b1, a1] = color.split(\"\");\n\n return `rgba(${hexesToDecimals([r1, r1], [g1, g1], [b1, b1]).join(\", \")}, ${hexToPercent(a1, a1)})`;\n }\n\n return \"rgba(0, 0, 0, 1)\";\n}\n\nfunction hexToDecimal(d1, d2) {\n return parseInt(d1, 16) * 16 + parseInt(d2, 16);\n}\n\nfunction hexesToDecimals(...hexes) {\n return hexes.map(pair => hexToDecimal(pair[0], pair[1]));\n}\n\nfunction hexToPercent(d1, d2) {\n return Math.floor(1000 * hexToDecimal(d1, d2) / 255) / 1000;\n}\n",null,"\"use strict\";\n\nclass QueueItem {\n constructor(onLoad, onError, dependentItem) {\n this.onLoad = onLoad;\n this.onError = onError;\n this.data = null;\n this.error = null;\n this.dependentItem = dependentItem;\n }\n}\n\n/**\n * AsyncResourceQueue is the queue in charge of run the async scripts\n * and notify when they finish.\n */\nmodule.exports = class AsyncResourceQueue {\n constructor() {\n this.items = new Set();\n this.dependentItems = new Set();\n }\n\n count() {\n return this.items.size + this.dependentItems.size;\n }\n\n _notify() {\n if (this._listener) {\n this._listener();\n }\n }\n\n _check(item) {\n let promise;\n\n if (item.onError && item.error) {\n promise = item.onError(item.error);\n } else if (item.onLoad && item.data) {\n promise = item.onLoad(item.data);\n }\n\n promise\n .then(() => {\n this.items.delete(item);\n this.dependentItems.delete(item);\n\n if (this.count() === 0) {\n this._notify();\n }\n });\n }\n\n setListener(listener) {\n this._listener = listener;\n }\n\n push(request, onLoad, onError, dependentItem) {\n const q = this;\n\n const item = new QueueItem(onLoad, onError, dependentItem);\n\n q.items.add(item);\n\n return request\n .then(data => {\n item.data = data;\n\n if (dependentItem && !dependentItem.finished) {\n q.dependentItems.add(item);\n return q.items.delete(item);\n }\n\n if (onLoad) {\n return q._check(item);\n }\n\n q.items.delete(item);\n\n if (q.count() === 0) {\n q._notify();\n }\n\n return null;\n })\n .catch(err => {\n item.error = err;\n\n if (dependentItem && !dependentItem.finished) {\n q.dependentItems.add(item);\n return q.items.delete(item);\n }\n\n if (onError) {\n return q._check(item);\n }\n\n q.items.delete(item);\n\n if (q.count() === 0) {\n q._notify();\n }\n\n return null;\n });\n }\n\n notifyItem(syncItem) {\n for (const item of this.dependentItems) {\n if (item.dependentItem === syncItem) {\n this._check(item);\n }\n }\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLDetailsElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLDetailsElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLDetailsElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLDetailsElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get open() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get open' called on an object that is not a valid instance of HTMLDetailsElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"open\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set open(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set open' called on an object that is not a valid instance of HTMLDetailsElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'open' property on 'HTMLDetailsElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"open\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"open\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLDetailsElement.prototype, {\n open: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLDetailsElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLDetailsElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLDetailsElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLDetailsElement-impl.js\");\n","\"use strict\";\n\nconst whatwgEncoding = require(\"whatwg-encoding\");\nconst MIMEType = require(\"whatwg-mimetype\");\nconst DOMException = require(\"../generated/DOMException\");\nconst EventTargetImpl = require(\"../events/EventTarget-impl\").implementation;\nconst ProgressEvent = require(\"../generated/ProgressEvent\");\nconst { setupForSimpleEventAccessors } = require(\"../helpers/create-event-accessor\");\nconst { fireAnEvent } = require(\"../helpers/events\");\nconst { copyToArrayBufferInNewRealm } = require(\"../helpers/binary-data\");\n\nconst READY_STATES = Object.freeze({\n EMPTY: 0,\n LOADING: 1,\n DONE: 2\n});\n\nconst events = [\"loadstart\", \"progress\", \"load\", \"abort\", \"error\", \"loadend\"];\n\nclass FileReaderImpl extends EventTargetImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this.error = null;\n this.readyState = READY_STATES.EMPTY;\n this.result = null;\n\n this._globalObject = globalObject;\n this._ownerDocument = globalObject.document;\n this._terminated = false;\n }\n\n readAsArrayBuffer(file) {\n this._readFile(file, \"buffer\");\n }\n readAsBinaryString(file) {\n this._readFile(file, \"binaryString\");\n }\n readAsDataURL(file) {\n this._readFile(file, \"dataURL\");\n }\n readAsText(file, encoding) {\n this._readFile(file, \"text\", whatwgEncoding.labelToName(encoding) || \"UTF-8\");\n }\n\n abort() {\n if (this.readyState === READY_STATES.EMPTY || this.readyState === READY_STATES.DONE) {\n this.result = null;\n return;\n }\n\n if (this.readyState === READY_STATES.LOADING) {\n this.readyState = READY_STATES.DONE;\n this.result = null;\n }\n\n this._terminated = true;\n this._fireProgressEvent(\"abort\");\n this._fireProgressEvent(\"loadend\");\n }\n\n _fireProgressEvent(name, props) {\n fireAnEvent(name, this, ProgressEvent, props);\n }\n\n _readFile(file, format, encoding) {\n if (this.readyState === READY_STATES.LOADING) {\n throw DOMException.create(this._globalObject, [\n \"The object is in an invalid state.\",\n \"InvalidStateError\"\n ]);\n }\n\n this.readyState = READY_STATES.LOADING;\n\n setImmediate(() => {\n if (this._terminated) {\n this._terminated = false;\n return;\n }\n\n this._fireProgressEvent(\"loadstart\");\n\n let data = file._buffer;\n if (!data) {\n data = Buffer.alloc(0);\n }\n this._fireProgressEvent(\"progress\", {\n lengthComputable: !isNaN(file.size),\n total: file.size,\n loaded: data.length\n });\n\n setImmediate(() => {\n if (this._terminated) {\n this._terminated = false;\n return;\n }\n\n switch (format) {\n case \"binaryString\": {\n this.result = data.toString(\"binary\");\n break;\n }\n case \"dataURL\": {\n // Spec seems very unclear here; see https://github.com/w3c/FileAPI/issues/104.\n const contentType = MIMEType.parse(file.type) || \"application/octet-stream\";\n this.result = `data:${contentType};base64,${data.toString(\"base64\")}`;\n break;\n }\n case \"text\": {\n this.result = whatwgEncoding.decode(data, encoding);\n break;\n }\n case \"buffer\":\n default: {\n this.result = copyToArrayBufferInNewRealm(data, this._globalObject);\n break;\n }\n }\n this.readyState = READY_STATES.DONE;\n this._fireProgressEvent(\"load\");\n this._fireProgressEvent(\"loadend\");\n });\n });\n }\n}\nsetupForSimpleEventAccessors(FileReaderImpl.prototype, events);\n\nexports.implementation = FileReaderImpl;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst MessageEventInit = require(\"./MessageEventInit.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst Event = require(\"./Event.js\");\n\nconst interfaceName = \"MessageEvent\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'MessageEvent'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"MessageEvent\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Event._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\", \"AudioWorklet\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class MessageEvent extends globalObject.Event {\n constructor(type) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'MessageEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'MessageEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = MessageEventInit.convert(globalObject, curArg, {\n context: \"Failed to construct 'MessageEvent': parameter 2\"\n });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n initMessageEvent(type) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'initMessageEvent' called on an object that is not a valid instance of MessageEvent.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'initMessageEvent' on 'MessageEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = false;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 3\",\n globals: globalObject\n });\n } else {\n curArg = false;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[3];\n if (curArg !== undefined) {\n curArg = conversions[\"any\"](curArg, {\n context: \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 4\",\n globals: globalObject\n });\n } else {\n curArg = null;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[4];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 5\",\n globals: globalObject\n });\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[5];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 6\",\n globals: globalObject\n });\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[6];\n if (curArg !== undefined) {\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = utils.tryImplForWrapper(curArg);\n }\n } else {\n curArg = null;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[7];\n if (curArg !== undefined) {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\n \"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 8\" + \" is not an iterable object.\"\n );\n } else {\n const V = [];\n const tmp = curArg;\n for (let nextItem of tmp) {\n nextItem = utils.tryImplForWrapper(nextItem);\n\n V.push(nextItem);\n }\n curArg = V;\n }\n } else {\n curArg = [];\n }\n args.push(curArg);\n }\n return esValue[implSymbol].initMessageEvent(...args);\n }\n\n get data() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get data' called on an object that is not a valid instance of MessageEvent.\"\n );\n }\n\n return esValue[implSymbol][\"data\"];\n }\n\n get origin() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get origin' called on an object that is not a valid instance of MessageEvent.\"\n );\n }\n\n return esValue[implSymbol][\"origin\"];\n }\n\n get lastEventId() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get lastEventId' called on an object that is not a valid instance of MessageEvent.\"\n );\n }\n\n return esValue[implSymbol][\"lastEventId\"];\n }\n\n get source() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get source' called on an object that is not a valid instance of MessageEvent.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"source\"]);\n }\n\n get ports() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ports' called on an object that is not a valid instance of MessageEvent.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ports\"]);\n }\n }\n Object.defineProperties(MessageEvent.prototype, {\n initMessageEvent: { enumerable: true },\n data: { enumerable: true },\n origin: { enumerable: true },\n lastEventId: { enumerable: true },\n source: { enumerable: true },\n ports: { enumerable: true },\n [Symbol.toStringTag]: { value: \"MessageEvent\", configurable: true }\n });\n ctorRegistry[interfaceName] = MessageEvent;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: MessageEvent\n });\n};\n\nconst Impl = require(\"../events/MessageEvent-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst SVGElement = require(\"./SVGElement.js\");\n\nconst interfaceName = \"SVGDescElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGDescElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGDescElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n SVGElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGDescElement extends globalObject.SVGElement {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n }\n Object.defineProperties(SVGDescElement.prototype, {\n [Symbol.toStringTag]: { value: \"SVGDescElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = SVGDescElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGDescElement\n });\n};\n\nconst Impl = require(\"../nodes/SVGDescElement-impl.js\");\n","\"use strict\";\nconst { domSymbolTree } = require(\"../helpers/internal-constants\");\nconst { filter, FILTER_ACCEPT } = require(\"./helpers\");\n\nexports.implementation = class NodeIteratorImpl {\n constructor(globalObject, args, privateData) {\n this._active = false;\n this.root = privateData.root;\n this.whatToShow = privateData.whatToShow;\n this.filter = privateData.filter;\n\n this._referenceNode = this.root;\n this._pointerBeforeReferenceNode = true;\n\n this._globalObject = globalObject;\n }\n\n get referenceNode() {\n return this._referenceNode;\n }\n\n get pointerBeforeReferenceNode() {\n return this._pointerBeforeReferenceNode;\n }\n\n nextNode() {\n return this._traverse(\"next\");\n }\n\n previousNode() {\n return this._traverse(\"previous\");\n }\n\n detach() {\n // Intentionally do nothing, per spec.\n }\n\n // Called by Documents.\n _preRemovingSteps(toBeRemovedNode) {\n // Second clause is https://github.com/whatwg/dom/issues/496\n if (!toBeRemovedNode.contains(this._referenceNode) || toBeRemovedNode === this.root) {\n return;\n }\n\n if (this._pointerBeforeReferenceNode) {\n let next = null;\n let candidateForNext = domSymbolTree.following(toBeRemovedNode, { skipChildren: true });\n while (candidateForNext !== null) {\n if (this.root.contains(candidateForNext)) {\n next = candidateForNext;\n break;\n }\n candidateForNext = domSymbolTree.following(candidateForNext, { skipChildren: true });\n }\n\n if (next !== null) {\n this._referenceNode = next;\n return;\n }\n\n this._pointerBeforeReferenceNode = false;\n }\n\n const { previousSibling } = toBeRemovedNode;\n this._referenceNode = previousSibling === null ?\n toBeRemovedNode.parentNode :\n domSymbolTree.lastInclusiveDescendant(toBeRemovedNode.previousSibling);\n }\n\n _traverse(direction) {\n let node = this._referenceNode;\n let beforeNode = this._pointerBeforeReferenceNode;\n\n while (true) {\n if (direction === \"next\") {\n if (!beforeNode) {\n node = domSymbolTree.following(node, { root: this.root });\n\n if (!node) {\n return null;\n }\n }\n\n beforeNode = false;\n } else if (direction === \"previous\") {\n if (beforeNode) {\n node = domSymbolTree.preceding(node, { root: this.root });\n\n if (!node) {\n return null;\n }\n }\n\n beforeNode = true;\n }\n\n const result = filter(this, node);\n if (result === FILTER_ACCEPT) {\n break;\n }\n }\n\n this._referenceNode = node;\n this._pointerBeforeReferenceNode = beforeNode;\n return node;\n }\n};\n","\"use strict\";\n\nconst { mixin } = require(\"../../utils\");\nconst SVGNumber = require(\"../generated/SVGNumber\");\nconst SVGRect = require(\"../generated/SVGRect\");\nconst SVGGraphicsElementImpl = require(\"./SVGGraphicsElement-impl\").implementation;\nconst WindowEventHandlersImpl = require(\"./WindowEventHandlers-impl\").implementation;\nconst { domSymbolTree } = require(\"../helpers/internal-constants\");\nconst { ELEMENT_NODE } = require(\"../node-type\");\n\nclass SVGSVGElementImpl extends SVGGraphicsElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n this._proxyWindowEventsToWindow();\n }\n\n createSVGNumber() {\n return SVGNumber.createImpl(this._globalObject, [], {});\n }\n\n createSVGRect() {\n return SVGRect.createImpl(this._globalObject, [], {});\n }\n\n getElementById(elementId) {\n // TODO: optimize with _ids caching trick; see Document class.\n for (const node of domSymbolTree.treeIterator(this)) {\n if (node.nodeType === ELEMENT_NODE && node.getAttributeNS(null, \"id\") === elementId) {\n return node;\n }\n }\n return null;\n }\n\n suspendRedraw() {\n return 1;\n }\n unsuspendRedraw() {}\n unsuspendRedrawAll() {}\n forceRedraw() {}\n}\n\nmixin(SVGSVGElementImpl.prototype, WindowEventHandlersImpl.prototype);\n\nmodule.exports = {\n implementation: SVGSVGElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst serializeURLwhatwg_url = require(\"whatwg-url\").serializeURL;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTrackElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTrackElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTrackElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTrackElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get kind() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get kind' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"kind\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set kind(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set kind' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'kind' property on 'HTMLTrackElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"kind\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get src() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get src' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"src\");\n if (value === null) {\n return \"\";\n }\n\n if (this._srcURLCacheKey === value) {\n return this._srcURLCache;\n }\n\n this._srcURLCacheKey = value;\n\n const urlRecord = esValue[implSymbol]._ownerDocument.encodingParseAURL(value);\n if (urlRecord !== null) {\n this._srcURLCache = serializeURLwhatwg_url(urlRecord);\n return this._srcURLCache;\n }\n this._srcURLCache = conversions.USVString(value);\n return this._srcURLCache;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set src(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set src' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'src' property on 'HTMLTrackElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"src\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get srclang() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get srclang' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"srclang\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set srclang(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set srclang' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'srclang' property on 'HTMLTrackElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"srclang\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get label() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get label' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"label\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set label(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set label' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'label' property on 'HTMLTrackElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"label\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get default() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get default' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"default\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set default(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set default' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'default' property on 'HTMLTrackElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"default\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"default\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get readyState() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get readyState' called on an object that is not a valid instance of HTMLTrackElement.\"\n );\n }\n\n return esValue[implSymbol][\"readyState\"];\n }\n }\n Object.defineProperties(HTMLTrackElement.prototype, {\n kind: { enumerable: true },\n src: { enumerable: true },\n srclang: { enumerable: true },\n label: { enumerable: true },\n default: { enumerable: true },\n readyState: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTrackElement\", configurable: true },\n NONE: { value: 0, enumerable: true },\n LOADING: { value: 1, enumerable: true },\n LOADED: { value: 2, enumerable: true },\n ERROR: { value: 3, enumerable: true }\n });\n Object.defineProperties(HTMLTrackElement, {\n NONE: { value: 0, enumerable: true },\n LOADING: { value: 1, enumerable: true },\n LOADED: { value: 2, enumerable: true },\n ERROR: { value: 3, enumerable: true }\n });\n ctorRegistry[interfaceName] = HTMLTrackElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTrackElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTrackElement-impl.js\");\n","\"use strict\";\n\nconst xmlParser = require(\"./xml\");\nconst htmlParser = require(\"./html\");\n\n// https://w3c.github.io/DOM-Parsing/#dfn-fragment-parsing-algorithm\nfunction parseFragment(markup, contextElement) {\n const { _parsingMode } = contextElement._ownerDocument;\n\n let parseAlgorithm;\n if (_parsingMode === \"html\") {\n parseAlgorithm = htmlParser.parseFragment;\n } else if (_parsingMode === \"xml\") {\n parseAlgorithm = xmlParser.parseFragment;\n }\n\n // Note: HTML and XML fragment parsing algorithm already return a document fragments; no need to do steps 3 and 4\n return parseAlgorithm(markup, contextElement);\n}\n\nfunction parseIntoDocument(markup, ownerDocument) {\n const { _parsingMode } = ownerDocument;\n\n let parseAlgorithm;\n if (_parsingMode === \"html\") {\n parseAlgorithm = htmlParser.parseIntoDocument;\n } else if (_parsingMode === \"xml\") {\n parseAlgorithm = xmlParser.parseIntoDocument;\n }\n\n return parseAlgorithm(markup, ownerDocument);\n}\n\nmodule.exports = {\n parseFragment,\n parseIntoDocument\n};\n","\"use strict\";\nconst serialize = require(\"w3c-xmlserializer\");\nconst DOMException = require(\"../generated/DOMException\");\nconst utils = require(\"../generated/utils\");\n\nexports.implementation = class XMLSerializerImpl {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n serializeToString(root) {\n try {\n return serialize(utils.wrapperForImpl(root), { requireWellFormed: false });\n } catch (e) {\n throw DOMException.create(this._globalObject, [e.message, \"InvalidStateError\"]);\n }\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst CharacterData = require(\"./CharacterData.js\");\n\nconst interfaceName = \"Comment\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Comment'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Comment\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n CharacterData._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Comment extends globalObject.CharacterData {\n constructor() {\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'Comment': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n }\n Object.defineProperties(Comment.prototype, { [Symbol.toStringTag]: { value: \"Comment\", configurable: true } });\n ctorRegistry[interfaceName] = Comment;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Comment\n });\n};\n\nconst Impl = require(\"../nodes/Comment-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"DOMTokenList\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'DOMTokenList'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"DOMTokenList\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class DOMTokenList {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n item(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'item' called on an object that is not a valid instance of DOMTokenList.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'item' on 'DOMTokenList': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'item' on 'DOMTokenList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].item(...args);\n }\n\n contains(token) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'contains' called on an object that is not a valid instance of DOMTokenList.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'contains' on 'DOMTokenList': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'contains' on 'DOMTokenList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].contains(...args);\n }\n\n add() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'add' called on an object that is not a valid instance of DOMTokenList.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'add' on 'DOMTokenList': parameter \" + (i + 1),\n globals: globalObject\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].add(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n remove() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'remove' called on an object that is not a valid instance of DOMTokenList.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'remove' on 'DOMTokenList': parameter \" + (i + 1),\n globals: globalObject\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].remove(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n toggle(token) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'toggle' called on an object that is not a valid instance of DOMTokenList.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'toggle' on 'DOMTokenList': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'toggle' on 'DOMTokenList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'toggle' on 'DOMTokenList': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].toggle(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n replace(token, newToken) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'replace' called on an object that is not a valid instance of DOMTokenList.\");\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'replace' on 'DOMTokenList': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'replace' on 'DOMTokenList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'replace' on 'DOMTokenList': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].replace(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n supports(token) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'supports' called on an object that is not a valid instance of DOMTokenList.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'supports' on 'DOMTokenList': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'supports' on 'DOMTokenList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].supports(...args);\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get length' called on an object that is not a valid instance of DOMTokenList.\"\n );\n }\n\n return esValue[implSymbol][\"length\"];\n }\n\n get value() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get value' called on an object that is not a valid instance of DOMTokenList.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"value\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set value(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set value' called on an object that is not a valid instance of DOMTokenList.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'value' property on 'DOMTokenList': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"value\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n toString() {\n const esValue = this;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'toString' called on an object that is not a valid instance of DOMTokenList.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"value\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(DOMTokenList.prototype, {\n item: { enumerable: true },\n contains: { enumerable: true },\n add: { enumerable: true },\n remove: { enumerable: true },\n toggle: { enumerable: true },\n replace: { enumerable: true },\n supports: { enumerable: true },\n length: { enumerable: true },\n value: { enumerable: true },\n toString: { enumerable: true },\n [Symbol.toStringTag]: { value: \"DOMTokenList\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true },\n keys: { value: globalObject.Array.prototype.keys, configurable: true, enumerable: true, writable: true },\n values: { value: globalObject.Array.prototype.values, configurable: true, enumerable: true, writable: true },\n entries: { value: globalObject.Array.prototype.entries, configurable: true, enumerable: true, writable: true },\n forEach: { value: globalObject.Array.prototype.forEach, configurable: true, enumerable: true, writable: true }\n });\n ctorRegistry[interfaceName] = DOMTokenList;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: DOMTokenList\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !(target[implSymbol].item(index) !== null);\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../nodes/DOMTokenList-impl.js\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getPublicSuffix = getPublicSuffix;\nconst tldts_1 = require(\"tldts\");\n// RFC 6761\nconst SPECIAL_USE_DOMAINS = ['local', 'example', 'invalid', 'localhost', 'test'];\nconst SPECIAL_TREATMENT_DOMAINS = ['localhost', 'invalid'];\nconst defaultGetPublicSuffixOptions = {\n allowSpecialUseDomain: false,\n ignoreError: false,\n};\n/**\n * Returns the public suffix of this hostname. The public suffix is the shortest domain\n * name upon which a cookie can be set.\n *\n * @remarks\n * A \"public suffix\" is a domain that is controlled by a\n * public registry, such as \"com\", \"co.uk\", and \"pvt.k12.wy.us\".\n * This step is essential for preventing attacker.com from\n * disrupting the integrity of example.com by setting a cookie\n * with a Domain attribute of \"com\". Unfortunately, the set of\n * public suffixes (also known as \"registry controlled domains\")\n * changes over time. If feasible, user agents SHOULD use an\n * up-to-date public suffix list, such as the one maintained by\n * the Mozilla project at http://publicsuffix.org/.\n * (See {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-5.3 | RFC6265 - Section 5.3})\n *\n * @example\n * ```\n * getPublicSuffix('www.example.com') === 'example.com'\n * getPublicSuffix('www.subdomain.example.com') === 'example.com'\n * ```\n *\n * @param domain - the domain attribute of a cookie\n * @param options - optional configuration for controlling how the public suffix is determined\n * @public\n */\nfunction getPublicSuffix(domain, options = {}) {\n options = { ...defaultGetPublicSuffixOptions, ...options };\n const domainParts = domain.split('.');\n const topLevelDomain = domainParts[domainParts.length - 1];\n const allowSpecialUseDomain = !!options.allowSpecialUseDomain;\n const ignoreError = !!options.ignoreError;\n if (allowSpecialUseDomain &&\n topLevelDomain !== undefined &&\n SPECIAL_USE_DOMAINS.includes(topLevelDomain)) {\n if (domainParts.length > 1) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const secondLevelDomain = domainParts[domainParts.length - 2];\n // In aforementioned example, the eTLD/pubSuf will be apple.localhost\n return `${secondLevelDomain}.${topLevelDomain}`;\n }\n else if (SPECIAL_TREATMENT_DOMAINS.includes(topLevelDomain)) {\n // For a single word special use domain, e.g. 'localhost' or 'invalid', per RFC 6761,\n // \"Application software MAY recognize {localhost/invalid} names as special, or\n // MAY pass them to name resolution APIs as they would for other domain names.\"\n return topLevelDomain;\n }\n }\n if (!ignoreError &&\n topLevelDomain !== undefined &&\n SPECIAL_USE_DOMAINS.includes(topLevelDomain)) {\n throw new Error(`Cookie has domain set to the public suffix \"${topLevelDomain}\" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain: true, rejectPublicSuffixes: false}.`);\n }\n const publicSuffix = (0, tldts_1.getDomain)(domain, {\n allowIcannDomains: true,\n allowPrivateDomains: true,\n });\n if (publicSuffix)\n return publicSuffix;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","/**\n * css-calc\n */\n\nimport { calc } from '@csstools/css-calc';\nimport { CSSToken, TokenType, tokenize } from '@csstools/css-tokenizer';\nimport {\n CacheItem,\n NullObject,\n createCacheKey,\n getCache,\n setCache\n} from './cache';\nimport { isString, isStringOrNumber } from './common';\nimport { resolveVar } from './css-var';\nimport { roundToPrecision } from './util';\nimport { MatchedRegExp, Options } from './typedef';\n\n/* constants */\nimport {\n ANGLE,\n LENGTH,\n NUM,\n SYN_FN_CALC,\n SYN_FN_MATH_START,\n SYN_FN_VAR,\n SYN_FN_VAR_START,\n VAL_SPEC\n} from './constant';\nconst {\n CloseParen: PAREN_CLOSE,\n Comment: COMMENT,\n Dimension: DIM,\n EOF,\n Function: FUNC,\n OpenParen: PAREN_OPEN,\n Whitespace: W_SPACE\n} = TokenType;\nconst NAMESPACE = 'css-calc';\n\n/* numeric constants */\nconst TRIA = 3;\nconst HEX = 16;\nconst MAX_PCT = 100;\n\n/* regexp */\nconst REG_FN_CALC = new RegExp(SYN_FN_CALC);\nconst REG_FN_CALC_NUM = new RegExp(`^calc\\\\((${NUM})\\\\)$`);\nconst REG_FN_MATH_START = new RegExp(SYN_FN_MATH_START);\nconst REG_FN_VAR = new RegExp(SYN_FN_VAR);\nconst REG_FN_VAR_START = new RegExp(SYN_FN_VAR_START);\nconst REG_OPERATOR = /\\s[*+/-]\\s/;\nconst REG_TYPE_DIM = new RegExp(`^(${NUM})(${ANGLE}|${LENGTH})$`);\nconst REG_TYPE_DIM_PCT = new RegExp(`^(${NUM})(${ANGLE}|${LENGTH}|%)$`);\nconst REG_TYPE_PCT = new RegExp(`^(${NUM})%$`);\n\n/**\n * Calclator\n */\nexport class Calculator {\n /* private */\n // number\n #hasNum: boolean;\n #numSum: number[];\n #numMul: number[];\n // percentage\n #hasPct: boolean;\n #pctSum: number[];\n #pctMul: number[];\n // dimension\n #hasDim: boolean;\n #dimSum: string[];\n #dimSub: string[];\n #dimMul: string[];\n #dimDiv: string[];\n // et cetra\n #hasEtc: boolean;\n #etcSum: string[];\n #etcSub: string[];\n #etcMul: string[];\n #etcDiv: string[];\n\n /**\n * constructor\n */\n constructor() {\n // number\n this.#hasNum = false;\n this.#numSum = [];\n this.#numMul = [];\n // percentage\n this.#hasPct = false;\n this.#pctSum = [];\n this.#pctMul = [];\n // dimension\n this.#hasDim = false;\n this.#dimSum = [];\n this.#dimSub = [];\n this.#dimMul = [];\n this.#dimDiv = [];\n // et cetra\n this.#hasEtc = false;\n this.#etcSum = [];\n this.#etcSub = [];\n this.#etcMul = [];\n this.#etcDiv = [];\n }\n\n get hasNum() {\n return this.#hasNum;\n }\n\n set hasNum(value: boolean) {\n this.#hasNum = !!value;\n }\n\n get numSum() {\n return this.#numSum;\n }\n\n get numMul() {\n return this.#numMul;\n }\n\n get hasPct() {\n return this.#hasPct;\n }\n\n set hasPct(value: boolean) {\n this.#hasPct = !!value;\n }\n\n get pctSum() {\n return this.#pctSum;\n }\n\n get pctMul() {\n return this.#pctMul;\n }\n\n get hasDim() {\n return this.#hasDim;\n }\n\n set hasDim(value: boolean) {\n this.#hasDim = !!value;\n }\n\n get dimSum() {\n return this.#dimSum;\n }\n\n get dimSub() {\n return this.#dimSub;\n }\n\n get dimMul() {\n return this.#dimMul;\n }\n\n get dimDiv() {\n return this.#dimDiv;\n }\n\n get hasEtc() {\n return this.#hasEtc;\n }\n\n set hasEtc(value: boolean) {\n this.#hasEtc = !!value;\n }\n\n get etcSum() {\n return this.#etcSum;\n }\n\n get etcSub() {\n return this.#etcSub;\n }\n\n get etcMul() {\n return this.#etcMul;\n }\n\n get etcDiv() {\n return this.#etcDiv;\n }\n\n /**\n * clear values\n * @returns void\n */\n clear() {\n // number\n this.#hasNum = false;\n this.#numSum = [];\n this.#numMul = [];\n // percentage\n this.#hasPct = false;\n this.#pctSum = [];\n this.#pctMul = [];\n // dimension\n this.#hasDim = false;\n this.#dimSum = [];\n this.#dimSub = [];\n this.#dimMul = [];\n this.#dimDiv = [];\n // et cetra\n this.#hasEtc = false;\n this.#etcSum = [];\n this.#etcSub = [];\n this.#etcMul = [];\n this.#etcDiv = [];\n }\n\n /**\n * sort values\n * @param values - values\n * @returns sorted values\n */\n sort(values: string[] = []): string[] {\n const arr = [...values];\n if (arr.length > 1) {\n arr.sort((a, b) => {\n let res;\n if (REG_TYPE_DIM_PCT.test(a) && REG_TYPE_DIM_PCT.test(b)) {\n const [, valA, unitA] = a.match(REG_TYPE_DIM_PCT) as MatchedRegExp;\n const [, valB, unitB] = b.match(REG_TYPE_DIM_PCT) as MatchedRegExp;\n if (unitA === unitB) {\n if (Number(valA) === Number(valB)) {\n res = 0;\n } else if (Number(valA) > Number(valB)) {\n res = 1;\n } else {\n res = -1;\n }\n } else if (unitA > unitB) {\n res = 1;\n } else {\n res = -1;\n }\n } else {\n if (a === b) {\n res = 0;\n } else if (a > b) {\n res = 1;\n } else {\n res = -1;\n }\n }\n return res;\n });\n }\n return arr;\n }\n\n /**\n * multiply values\n * @returns resolved value\n */\n multiply(): string {\n const value = [];\n let num;\n if (this.#hasNum) {\n num = 1;\n for (const i of this.#numMul) {\n num *= i;\n if (num === 0 || !Number.isFinite(num) || Number.isNaN(num)) {\n break;\n }\n }\n if (!this.#hasPct && !this.#hasDim && !this.hasEtc) {\n if (Number.isFinite(num)) {\n num = roundToPrecision(num, HEX);\n }\n value.push(num);\n }\n }\n if (this.#hasPct) {\n if (typeof num !== 'number') {\n num = 1;\n }\n for (const i of this.#pctMul) {\n num *= i;\n if (num === 0 || !Number.isFinite(num) || Number.isNaN(num)) {\n break;\n }\n }\n if (Number.isFinite(num)) {\n num = `${roundToPrecision(num, HEX)}%`;\n }\n if (!this.#hasDim && !this.hasEtc) {\n value.push(num);\n }\n }\n if (this.#hasDim) {\n let dim = '';\n let mul = '';\n let div = '';\n if (this.#dimMul.length) {\n if (this.#dimMul.length === 1) {\n [mul] = this.#dimMul as [string];\n } else {\n mul = `${this.sort(this.#dimMul).join(' * ')}`;\n }\n }\n if (this.#dimDiv.length) {\n if (this.#dimDiv.length === 1) {\n [div] = this.#dimDiv as [string];\n } else {\n div = `${this.sort(this.#dimDiv).join(' * ')}`;\n }\n }\n if (Number.isFinite(num)) {\n if (mul) {\n if (div) {\n if (div.includes('*')) {\n dim = calc(`calc(${num} * ${mul} / (${div}))`, {\n toCanonicalUnits: true\n });\n } else {\n dim = calc(`calc(${num} * ${mul} / ${div})`, {\n toCanonicalUnits: true\n });\n }\n } else {\n dim = calc(`calc(${num} * ${mul})`, {\n toCanonicalUnits: true\n });\n }\n } else if (div.includes('*')) {\n dim = calc(`calc(${num} / (${div}))`, {\n toCanonicalUnits: true\n });\n } else {\n dim = calc(`calc(${num} / ${div})`, {\n toCanonicalUnits: true\n });\n }\n value.push(dim.replace(/^calc/, ''));\n } else {\n if (!value.length && num !== undefined) {\n value.push(num);\n }\n if (mul) {\n if (div) {\n if (div.includes('*')) {\n dim = calc(`calc(${mul} / (${div}))`, {\n toCanonicalUnits: true\n });\n } else {\n dim = calc(`calc(${mul} / ${div})`, {\n toCanonicalUnits: true\n });\n }\n } else {\n dim = calc(`calc(${mul})`, {\n toCanonicalUnits: true\n });\n }\n if (value.length) {\n value.push('*', dim.replace(/^calc/, ''));\n } else {\n value.push(dim.replace(/^calc/, ''));\n }\n } else {\n dim = calc(`calc(${div})`, {\n toCanonicalUnits: true\n });\n if (value.length) {\n value.push('/', dim.replace(/^calc/, ''));\n } else {\n value.push('1', '/', dim.replace(/^calc/, ''));\n }\n }\n }\n }\n if (this.#hasEtc) {\n if (this.#etcMul.length) {\n if (!value.length && num !== undefined) {\n value.push(num);\n }\n const mul = this.sort(this.#etcMul).join(' * ');\n if (value.length) {\n value.push(`* ${mul}`);\n } else {\n value.push(`${mul}`);\n }\n }\n if (this.#etcDiv.length) {\n const div = this.sort(this.#etcDiv).join(' * ');\n if (div.includes('*')) {\n if (value.length) {\n value.push(`/ (${div})`);\n } else {\n value.push(`1 / (${div})`);\n }\n } else if (value.length) {\n value.push(`/ ${div}`);\n } else {\n value.push(`1 / ${div}`);\n }\n }\n }\n if (value.length) {\n return value.join(' ');\n }\n return '';\n }\n\n /**\n * sum values\n * @returns resolved value\n */\n sum(): string {\n const value = [];\n if (this.#hasNum) {\n let num = 0;\n for (const i of this.#numSum) {\n num += i;\n if (!Number.isFinite(num) || Number.isNaN(num)) {\n break;\n }\n }\n value.push(num);\n }\n if (this.#hasPct) {\n let num: number | string = 0;\n for (const i of this.#pctSum) {\n num += i;\n if (!Number.isFinite(num)) {\n break;\n }\n }\n if (Number.isFinite(num)) {\n num = `${num}%`;\n }\n if (value.length) {\n value.push(`+ ${num}`);\n } else {\n value.push(num);\n }\n }\n if (this.#hasDim) {\n let dim, sum, sub;\n if (this.#dimSum.length) {\n sum = this.sort(this.#dimSum).join(' + ');\n }\n if (this.#dimSub.length) {\n sub = this.sort(this.#dimSub).join(' + ');\n }\n if (sum) {\n if (sub) {\n if (sub.includes('-')) {\n dim = calc(`calc(${sum} - (${sub}))`, {\n toCanonicalUnits: true\n });\n } else {\n dim = calc(`calc(${sum} - ${sub})`, {\n toCanonicalUnits: true\n });\n }\n } else {\n dim = calc(`calc(${sum})`, {\n toCanonicalUnits: true\n });\n }\n } else {\n dim = calc(`calc(-1 * (${sub}))`, {\n toCanonicalUnits: true\n });\n }\n if (value.length) {\n value.push('+', dim.replace(/^calc/, ''));\n } else {\n value.push(dim.replace(/^calc/, ''));\n }\n }\n if (this.#hasEtc) {\n if (this.#etcSum.length) {\n const sum = this.sort(this.#etcSum)\n .map(item => {\n let res;\n if (\n REG_OPERATOR.test(item) &&\n !item.startsWith('(') &&\n !item.endsWith(')')\n ) {\n res = `(${item})`;\n } else {\n res = item;\n }\n return res;\n })\n .join(' + ');\n if (value.length) {\n if (this.#etcSum.length > 1) {\n value.push(`+ (${sum})`);\n } else {\n value.push(`+ ${sum}`);\n }\n } else {\n value.push(`${sum}`);\n }\n }\n if (this.#etcSub.length) {\n const sub = this.sort(this.#etcSub)\n .map(item => {\n let res;\n if (\n REG_OPERATOR.test(item) &&\n !item.startsWith('(') &&\n !item.endsWith(')')\n ) {\n res = `(${item})`;\n } else {\n res = item;\n }\n return res;\n })\n .join(' + ');\n if (value.length) {\n if (this.#etcSub.length > 1) {\n value.push(`- (${sub})`);\n } else {\n value.push(`- ${sub}`);\n }\n } else if (this.#etcSub.length > 1) {\n value.push(`-1 * (${sub})`);\n } else {\n value.push(`-1 * ${sub}`);\n }\n }\n }\n if (value.length) {\n return value.join(' ');\n }\n return '';\n }\n}\n\n/**\n * sort calc values\n * @param values - values to sort\n * @param [finalize] - finalize values\n * @returns sorted values\n */\nexport const sortCalcValues = (\n values: (number | string)[] = [],\n finalize: boolean = false\n): string => {\n if (values.length < TRIA) {\n throw new Error(`Unexpected array length ${values.length}.`);\n }\n const start = values.shift();\n if (!isString(start) || !start.endsWith('(')) {\n throw new Error(`Unexpected token ${start}.`);\n }\n const end = values.pop();\n if (end !== ')') {\n throw new Error(`Unexpected token ${end}.`);\n }\n if (values.length === 1) {\n const [value] = values;\n if (!isStringOrNumber(value)) {\n throw new Error(`Unexpected token ${value}.`);\n }\n return `${start}${value}${end}`;\n }\n const sortedValues = [];\n const cal = new Calculator();\n let operator: string = '';\n const l = values.length;\n for (let i = 0; i < l; i++) {\n const value = values[i];\n if (!isStringOrNumber(value)) {\n throw new Error(`Unexpected token ${value}.`);\n }\n if (value === '*' || value === '/') {\n operator = value;\n } else if (value === '+' || value === '-') {\n const sortedValue = cal.multiply();\n if (sortedValue) {\n sortedValues.push(sortedValue, value);\n }\n cal.clear();\n operator = '';\n } else {\n const numValue = Number(value);\n const strValue = `${value}`;\n switch (operator) {\n case '/': {\n if (Number.isFinite(numValue)) {\n cal.hasNum = true;\n cal.numMul.push(1 / numValue);\n } else if (REG_TYPE_PCT.test(strValue)) {\n const [, val] = strValue.match(REG_TYPE_PCT) as MatchedRegExp;\n cal.hasPct = true;\n cal.pctMul.push((MAX_PCT * MAX_PCT) / Number(val));\n } else if (REG_TYPE_DIM.test(strValue)) {\n cal.hasDim = true;\n cal.dimDiv.push(strValue);\n } else {\n cal.hasEtc = true;\n cal.etcDiv.push(strValue);\n }\n break;\n }\n case '*':\n default: {\n if (Number.isFinite(numValue)) {\n cal.hasNum = true;\n cal.numMul.push(numValue);\n } else if (REG_TYPE_PCT.test(strValue)) {\n const [, val] = strValue.match(REG_TYPE_PCT) as MatchedRegExp;\n cal.hasPct = true;\n cal.pctMul.push(Number(val));\n } else if (REG_TYPE_DIM.test(strValue)) {\n cal.hasDim = true;\n cal.dimMul.push(strValue);\n } else {\n cal.hasEtc = true;\n cal.etcMul.push(strValue);\n }\n }\n }\n }\n if (i === l - 1) {\n const sortedValue = cal.multiply();\n if (sortedValue) {\n sortedValues.push(sortedValue);\n }\n cal.clear();\n operator = '';\n }\n }\n let resolvedValue = '';\n if (finalize && (sortedValues.includes('+') || sortedValues.includes('-'))) {\n const finalizedValues = [];\n cal.clear();\n operator = '';\n const l = sortedValues.length;\n for (let i = 0; i < l; i++) {\n const value = sortedValues[i];\n if (isStringOrNumber(value)) {\n if (value === '+' || value === '-') {\n operator = value;\n } else {\n const numValue = Number(value);\n const strValue = `${value}`;\n switch (operator) {\n case '-': {\n if (Number.isFinite(numValue)) {\n cal.hasNum = true;\n cal.numSum.push(-1 * numValue);\n } else if (REG_TYPE_PCT.test(strValue)) {\n const [, val] = strValue.match(REG_TYPE_PCT) as MatchedRegExp;\n cal.hasPct = true;\n cal.pctSum.push(-1 * Number(val));\n } else if (REG_TYPE_DIM.test(strValue)) {\n cal.hasDim = true;\n cal.dimSub.push(strValue);\n } else {\n cal.hasEtc = true;\n cal.etcSub.push(strValue);\n }\n break;\n }\n case '+':\n default: {\n if (Number.isFinite(numValue)) {\n cal.hasNum = true;\n cal.numSum.push(numValue);\n } else if (REG_TYPE_PCT.test(strValue)) {\n const [, val] = strValue.match(REG_TYPE_PCT) as MatchedRegExp;\n cal.hasPct = true;\n cal.pctSum.push(Number(val));\n } else if (REG_TYPE_DIM.test(strValue)) {\n cal.hasDim = true;\n cal.dimSum.push(strValue);\n } else {\n cal.hasEtc = true;\n cal.etcSum.push(strValue);\n }\n }\n }\n }\n }\n if (i === l - 1) {\n const sortedValue = cal.sum();\n if (sortedValue) {\n finalizedValues.push(sortedValue);\n }\n cal.clear();\n operator = '';\n }\n }\n resolvedValue = finalizedValues.join(' ').replace(/\\+\\s-/g, '- ');\n } else {\n resolvedValue = sortedValues.join(' ').replace(/\\+\\s-/g, '- ');\n }\n if (\n resolvedValue.startsWith('(') &&\n resolvedValue.endsWith(')') &&\n resolvedValue.lastIndexOf('(') === 0 &&\n resolvedValue.indexOf(')') === resolvedValue.length - 1\n ) {\n resolvedValue = resolvedValue.replace(/^\\(/, '').replace(/\\)$/, '');\n }\n return `${start}${resolvedValue}${end}`;\n};\n\n/**\n * serialize calc\n * @param value - CSS value\n * @param [opt] - options\n * @returns serialized value\n */\nexport const serializeCalc = (value: string, opt: Options = {}): string => {\n const { format = '' } = opt;\n if (isString(value)) {\n if (!REG_FN_VAR_START.test(value) || format !== VAL_SPEC) {\n return value;\n }\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'serializeCalc',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as string;\n }\n const items: string[] = tokenize({ css: value })\n .map((token: CSSToken): string => {\n const [type, value] = token as [TokenType, string];\n let res = '';\n if (type !== W_SPACE && type !== COMMENT) {\n res = value;\n }\n return res;\n })\n .filter(v => v);\n let startIndex = items.findLastIndex((item: string) => /\\($/.test(item));\n while (startIndex) {\n const endIndex = items.findIndex((item: unknown, index: number) => {\n return item === ')' && index > startIndex;\n });\n const slicedValues: string[] = items.slice(startIndex, endIndex + 1);\n let serializedValue: string = sortCalcValues(slicedValues);\n if (REG_FN_VAR_START.test(serializedValue)) {\n serializedValue = calc(serializedValue, {\n toCanonicalUnits: true\n });\n }\n items.splice(startIndex, endIndex - startIndex + 1, serializedValue);\n startIndex = items.findLastIndex((item: string) => /\\($/.test(item));\n }\n const serializedCalc = sortCalcValues(items, true);\n setCache(cacheKey, serializedCalc);\n return serializedCalc;\n};\n\n/**\n * resolve dimension\n * @param token - CSS token\n * @param [opt] - options\n * @returns resolved value\n */\nexport const resolveDimension = (\n token: CSSToken,\n opt: Options = {}\n): string | NullObject => {\n if (!Array.isArray(token)) {\n throw new TypeError(`${token} is not an array.`);\n }\n const [, , , , detail = {}] = token;\n const { unit, value } = detail as {\n unit: string;\n value: number;\n };\n const { dimension = {} } = opt;\n if (unit === 'px') {\n return `${value}${unit}`;\n }\n const relativeValue = Number(value);\n if (unit && Number.isFinite(relativeValue)) {\n let pixelValue;\n if (Object.hasOwnProperty.call(dimension, unit)) {\n pixelValue = dimension[unit];\n } else if (typeof dimension.callback === 'function') {\n pixelValue = dimension.callback(unit);\n }\n pixelValue = Number(pixelValue);\n if (Number.isFinite(pixelValue)) {\n return `${relativeValue * pixelValue}px`;\n }\n }\n return new NullObject();\n};\n\n/**\n * parse tokens\n * @param tokens - CSS tokens\n * @param [opt] - options\n * @returns parsed tokens\n */\nexport const parseTokens = (\n tokens: CSSToken[],\n opt: Options = {}\n): string[] => {\n if (!Array.isArray(tokens)) {\n throw new TypeError(`${tokens} is not an array.`);\n }\n const { format = '' } = opt;\n const mathFunc = new Set();\n let nest = 0;\n const res: string[] = [];\n while (tokens.length) {\n const token = tokens.shift();\n if (!Array.isArray(token)) {\n throw new TypeError(`${token} is not an array.`);\n }\n const [type = '', value = ''] = token as [TokenType, string];\n switch (type) {\n case DIM: {\n if (format === VAL_SPEC && !mathFunc.has(nest)) {\n res.push(value);\n } else {\n const resolvedValue = resolveDimension(token, opt);\n if (isString(resolvedValue)) {\n res.push(resolvedValue);\n } else {\n res.push(value);\n }\n }\n break;\n }\n case FUNC:\n case PAREN_OPEN: {\n res.push(value);\n nest++;\n if (REG_FN_MATH_START.test(value)) {\n mathFunc.add(nest);\n }\n break;\n }\n case PAREN_CLOSE: {\n if (res.length) {\n const lastValue = res[res.length - 1];\n if (lastValue === ' ') {\n res.splice(-1, 1, value);\n } else {\n res.push(value);\n }\n } else {\n res.push(value);\n }\n if (mathFunc.has(nest)) {\n mathFunc.delete(nest);\n }\n nest--;\n break;\n }\n case W_SPACE: {\n if (res.length) {\n const lastValue = res[res.length - 1];\n if (\n isString(lastValue) &&\n !lastValue.endsWith('(') &&\n lastValue !== ' '\n ) {\n res.push(value);\n }\n }\n break;\n }\n default: {\n if (type !== COMMENT && type !== EOF) {\n res.push(value);\n }\n }\n }\n }\n return res;\n};\n\n/**\n * CSS calc()\n * @param value - CSS value including calc()\n * @param [opt] - options\n * @returns resolved value\n */\nexport const cssCalc = (value: string, opt: Options = {}): string => {\n const { format = '' } = opt;\n if (isString(value)) {\n if (REG_FN_VAR.test(value)) {\n if (format === VAL_SPEC) {\n return value;\n } else {\n const resolvedValue = resolveVar(value, opt);\n if (isString(resolvedValue)) {\n return resolvedValue;\n } else {\n return '';\n }\n }\n } else if (!REG_FN_CALC.test(value)) {\n return value;\n }\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'cssCalc',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as string;\n }\n const tokens = tokenize({ css: value });\n const values = parseTokens(tokens, opt);\n let resolvedValue: string = calc(values.join(''), {\n toCanonicalUnits: true\n });\n if (REG_FN_VAR_START.test(value)) {\n if (REG_TYPE_DIM_PCT.test(resolvedValue)) {\n const [, val, unit] = resolvedValue.match(\n REG_TYPE_DIM_PCT\n ) as MatchedRegExp;\n resolvedValue = `${roundToPrecision(Number(val), HEX)}${unit}`;\n }\n // wrap with `calc()`\n if (\n resolvedValue &&\n !REG_FN_VAR_START.test(resolvedValue) &&\n format === VAL_SPEC\n ) {\n resolvedValue = `calc(${resolvedValue})`;\n }\n }\n if (format === VAL_SPEC) {\n if (/\\s[-+*/]\\s/.test(resolvedValue) && !resolvedValue.includes('NaN')) {\n resolvedValue = serializeCalc(resolvedValue, opt);\n } else if (REG_FN_CALC_NUM.test(resolvedValue)) {\n const [, val] = resolvedValue.match(REG_FN_CALC_NUM) as MatchedRegExp;\n resolvedValue = `calc(${roundToPrecision(Number(val), HEX)})`;\n }\n }\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n};\n","/**\n * cache\n */\n\nimport { LRUCache } from 'lru-cache';\nimport { Options } from './typedef';\nimport { valueToJsonString } from './util';\n\n/* numeric constants */\nconst MAX_CACHE = 4096;\n\n/**\n * CacheItem\n */\nexport class CacheItem {\n /* private */\n #isNull: boolean;\n #item: unknown;\n\n /**\n * constructor\n */\n constructor(item: unknown, isNull: boolean = false) {\n this.#item = item;\n this.#isNull = !!isNull;\n }\n\n get item() {\n return this.#item;\n }\n\n get isNull() {\n return this.#isNull;\n }\n}\n\n/**\n * NullObject\n */\nexport class NullObject extends CacheItem {\n /**\n * constructor\n */\n constructor() {\n super(Symbol('null'), true);\n }\n}\n\n/*\n * lru cache\n */\nexport const lruCache = new LRUCache({\n max: MAX_CACHE\n});\n\n/**\n * set cache\n * @param key - cache key\n * @param value - value to cache\n * @returns void\n */\nexport const setCache = (key: string, value: unknown): void => {\n if (key) {\n if (value === null) {\n lruCache.set(key, new NullObject());\n } else if (value instanceof CacheItem) {\n lruCache.set(key, value);\n } else {\n lruCache.set(key, new CacheItem(value));\n }\n }\n};\n\n/**\n * get cache\n * @param key - cache key\n * @returns cached item or false otherwise\n */\nexport const getCache = (key: string): CacheItem | boolean => {\n if (key && lruCache.has(key)) {\n const item = lruCache.get(key);\n if (item instanceof CacheItem) {\n return item;\n }\n // delete unexpected cached item\n lruCache.delete(key);\n return false;\n }\n return false;\n};\n\n/**\n * create cache key\n * @param keyData - key data\n * @param [opt] - options\n * @returns cache key\n */\nexport const createCacheKey = (\n keyData: Record,\n opt: Options = {}\n): string => {\n const { customProperty = {}, dimension = {} } = opt;\n let cacheKey = '';\n if (\n keyData &&\n Object.keys(keyData).length &&\n typeof customProperty.callback !== 'function' &&\n typeof dimension.callback !== 'function'\n ) {\n keyData.opt = valueToJsonString(opt);\n cacheKey = valueToJsonString(keyData);\n }\n return cacheKey;\n};\n","/**\n * util\n */\n\nimport { TokenType, tokenize } from '@csstools/css-tokenizer';\nimport { CacheItem, createCacheKey, getCache, setCache } from './cache';\nimport { isString } from './common';\nimport { resolveColor } from './resolve';\nimport { Options } from './typedef';\n\n/* constants */\nimport { NAMED_COLORS } from './color';\nimport { SYN_COLOR_TYPE, SYN_MIX, VAL_SPEC } from './constant';\nconst {\n CloseParen: PAREN_CLOSE,\n Comma: COMMA,\n Comment: COMMENT,\n Delim: DELIM,\n EOF,\n Function: FUNC,\n Ident: IDENT,\n OpenParen: PAREN_OPEN,\n Whitespace: W_SPACE\n} = TokenType;\nconst NAMESPACE = 'util';\n\n/* numeric constants */\nconst DEC = 10;\nconst HEX = 16;\nconst DEG = 360;\nconst DEG_HALF = 180;\n\n/* regexp */\nconst REG_COLOR = new RegExp(`^(?:${SYN_COLOR_TYPE})$`);\nconst REG_FN_COLOR =\n /^(?:(?:ok)?l(?:ab|ch)|color(?:-mix)?|hsla?|hwb|rgba?|var)\\(/;\nconst REG_MIX = new RegExp(SYN_MIX);\n\n/**\n * split value\n * NOTE: comments are stripped, it can be preserved if, in the options param,\n * `delimiter` is either ',' or '/' and with `preserveComment` set to `true`\n * @param value - CSS value\n * @param [opt] - options\n * @returns array of values\n */\nexport const splitValue = (value: string, opt: Options = {}): string[] => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { delimiter = ' ', preserveComment = false } = opt;\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'splitValue',\n value\n },\n {\n delimiter,\n preserveComment\n }\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as string[];\n }\n let regDelimiter;\n if (delimiter === ',') {\n regDelimiter = /^,$/;\n } else if (delimiter === '/') {\n regDelimiter = /^\\/$/;\n } else {\n regDelimiter = /^\\s+$/;\n }\n const tokens = tokenize({ css: value });\n let nest = 0;\n let str = '';\n const res: string[] = [];\n while (tokens.length) {\n const [type, value] = tokens.shift() as [TokenType, string];\n switch (type) {\n case COMMA: {\n if (regDelimiter.test(value)) {\n if (nest === 0) {\n res.push(str.trim());\n str = '';\n } else {\n str += value;\n }\n } else {\n str += value;\n }\n break;\n }\n case DELIM: {\n if (regDelimiter.test(value)) {\n if (nest === 0) {\n res.push(str.trim());\n str = '';\n } else {\n str += value;\n }\n } else {\n str += value;\n }\n break;\n }\n case COMMENT: {\n if (preserveComment && (delimiter === ',' || delimiter === '/')) {\n str += value;\n }\n break;\n }\n case FUNC:\n case PAREN_OPEN: {\n str += value;\n nest++;\n break;\n }\n case PAREN_CLOSE: {\n str += value;\n nest--;\n break;\n }\n case W_SPACE: {\n if (regDelimiter.test(value)) {\n if (nest === 0) {\n if (str) {\n res.push(str.trim());\n str = '';\n }\n } else {\n str += ' ';\n }\n } else if (!str.endsWith(' ')) {\n str += ' ';\n }\n break;\n }\n default: {\n if (type === EOF) {\n res.push(str.trim());\n str = '';\n } else {\n str += value;\n }\n }\n }\n }\n setCache(cacheKey, res);\n return res;\n};\n\n/**\n * extract dashed-ident tokens\n * @param value - CSS value\n * @returns array of dashed-ident tokens\n */\nexport const extractDashedIdent = (value: string): string[] => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey({\n namespace: NAMESPACE,\n name: 'extractDashedIdent',\n value\n });\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as string[];\n }\n const tokens = tokenize({ css: value });\n const items = new Set();\n while (tokens.length) {\n const [type, value] = tokens.shift() as [TokenType, string];\n if (type === IDENT && value.startsWith('--')) {\n items.add(value);\n }\n }\n const res = [...items] as string[];\n setCache(cacheKey, res);\n return res;\n};\n\n/**\n * is color\n * @param value - CSS value\n * @param [opt] - options\n * @returns result\n */\nexport const isColor = (value: unknown, opt: Options = {}): boolean => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n if (value && isString(value)) {\n if (/^[a-z]+$/.test(value)) {\n if (\n /^(?:currentcolor|transparent)$/.test(value) ||\n Object.prototype.hasOwnProperty.call(NAMED_COLORS, value)\n ) {\n return true;\n }\n } else if (REG_COLOR.test(value) || REG_MIX.test(value)) {\n return true;\n } else if (REG_FN_COLOR.test(value)) {\n opt.nullable = true;\n if (!opt.format) {\n opt.format = VAL_SPEC;\n }\n const resolvedValue = resolveColor(value, opt);\n if (resolvedValue) {\n return true;\n }\n }\n }\n }\n return false;\n};\n\n/**\n * value to JSON string\n * @param value - CSS value\n * @param [func] - stringify function\n * @returns stringified value in JSON notation\n */\nexport const valueToJsonString = (\n value: unknown,\n func: boolean = false\n): string => {\n if (typeof value === 'undefined') {\n return '';\n }\n const res = JSON.stringify(value, (_key, val) => {\n let replacedValue;\n if (typeof val === 'undefined') {\n replacedValue = null;\n } else if (typeof val === 'function') {\n if (func) {\n replacedValue = val.toString().replace(/\\s/g, '').substring(0, HEX);\n } else {\n replacedValue = val.name;\n }\n } else if (val instanceof Map || val instanceof Set) {\n replacedValue = [...val];\n } else if (typeof val === 'bigint') {\n replacedValue = val.toString();\n } else {\n replacedValue = val;\n }\n return replacedValue;\n });\n return res;\n};\n\n/**\n * round to specified precision\n * @param value - numeric value\n * @param bit - minimum bits\n * @returns rounded value\n */\nexport const roundToPrecision = (value: number, bit: number = 0): number => {\n if (!Number.isFinite(value)) {\n throw new TypeError(`${value} is not a finite number.`);\n }\n if (!Number.isFinite(bit)) {\n throw new TypeError(`${bit} is not a finite number.`);\n } else if (bit < 0 || bit > HEX) {\n throw new RangeError(`${bit} is not between 0 and ${HEX}.`);\n }\n if (bit === 0) {\n return Math.round(value);\n }\n let val;\n if (bit === HEX) {\n val = value.toPrecision(6);\n } else if (bit < DEC) {\n val = value.toPrecision(4);\n } else {\n val = value.toPrecision(5);\n }\n return parseFloat(val);\n};\n\n/**\n * interpolate hue\n * @param hueA - hue value\n * @param hueB - hue value\n * @param arc - shorter | longer | increasing | decreasing\n * @returns result - [hueA, hueB]\n */\nexport const interpolateHue = (\n hueA: number,\n hueB: number,\n arc: string = 'shorter'\n): [number, number] => {\n if (!Number.isFinite(hueA)) {\n throw new TypeError(`${hueA} is not a finite number.`);\n }\n if (!Number.isFinite(hueB)) {\n throw new TypeError(`${hueB} is not a finite number.`);\n }\n switch (arc) {\n case 'decreasing': {\n if (hueB > hueA) {\n hueA += DEG;\n }\n break;\n }\n case 'increasing': {\n if (hueB < hueA) {\n hueB += DEG;\n }\n break;\n }\n case 'longer': {\n if (hueB > hueA && hueB < hueA + DEG_HALF) {\n hueA += DEG;\n } else if (hueB > hueA + DEG_HALF * -1 && hueB <= hueA) {\n hueB += DEG;\n }\n break;\n }\n case 'shorter':\n default: {\n if (hueB > hueA + DEG_HALF) {\n hueA += DEG;\n } else if (hueB < hueA + DEG_HALF * -1) {\n hueB += DEG;\n }\n }\n }\n return [hueA, hueB];\n};\n","/**\n * common\n */\n\n/* numeric constants */\nconst TYPE_FROM = 8;\nconst TYPE_TO = -1;\n\n/**\n * get type\n * @param o - object to check\n * @returns type of object\n */\nexport const getType = (o: unknown): string =>\n Object.prototype.toString.call(o).slice(TYPE_FROM, TYPE_TO);\n\n/**\n * is string\n * @param o - object to check\n * @returns result\n */\nexport const isString = (o: unknown): o is string =>\n typeof o === 'string' || o instanceof String;\n\n/**\n * is string or number\n * @param o - object to check\n * @returns result\n */\nexport const isStringOrNumber = (o: unknown): boolean =>\n isString(o) || typeof o === 'number';\n","/**\n * constant\n */\n\n/* values and units */\nconst _DIGIT = '(?:0|[1-9]\\\\d*)';\nconst _COMPARE = 'clamp|max|min';\nconst _EXPO = 'exp|hypot|log|pow|sqrt';\nconst _SIGN = 'abs|sign';\nconst _STEP = 'mod|rem|round';\nconst _TRIG = 'a?(?:cos|sin|tan)|atan2';\nconst _MATH = `${_COMPARE}|${_EXPO}|${_SIGN}|${_STEP}|${_TRIG}`;\nconst _CALC = `calc|${_MATH}`;\nconst _VAR = `var|${_CALC}`;\nexport const ANGLE = 'deg|g?rad|turn';\nexport const LENGTH =\n '[cm]m|[dls]?v(?:[bhiw]|max|min)|in|p[ctx]|q|r?(?:[cl]h|cap|e[mx]|ic)';\nexport const NUM = `[+-]?(?:${_DIGIT}(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:e-?${_DIGIT})?`;\nexport const NUM_POSITIVE = `\\\\+?(?:${_DIGIT}(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:e-?${_DIGIT})?`;\nexport const NONE = 'none';\nexport const PCT = `${NUM}%`;\nexport const SYN_FN_CALC = `^(?:${_CALC})\\\\(|(?<=[*\\\\/\\\\s\\\\(])(?:${_CALC})\\\\(`;\nexport const SYN_FN_MATH_START = `^(?:${_MATH})\\\\($`;\nexport const SYN_FN_VAR = '^var\\\\(|(?<=[*\\\\/\\\\s\\\\(])var\\\\(';\nexport const SYN_FN_VAR_START = `^(?:${_VAR})\\\\(`;\n\n/* colors */\nconst _ALPHA = `(?:\\\\s*\\\\/\\\\s*(?:${NUM}|${PCT}|${NONE}))?`;\nconst _ALPHA_LV3 = `(?:\\\\s*,\\\\s*(?:${NUM}|${PCT}))?`;\nconst _COLOR_FUNC = '(?:ok)?l(?:ab|ch)|color|hsla?|hwb|rgba?';\nconst _COLOR_KEY = '[a-z]+|#[\\\\da-f]{3}|#[\\\\da-f]{4}|#[\\\\da-f]{6}|#[\\\\da-f]{8}';\nconst _CS_HUE = '(?:ok)?lch|hsl|hwb';\nconst _CS_HUE_ARC = '(?:de|in)creasing|longer|shorter';\nconst _NUM_ANGLE = `${NUM}(?:${ANGLE})?`;\nconst _NUM_ANGLE_NONE = `(?:${NUM}(?:${ANGLE})?|${NONE})`;\nconst _NUM_PCT_NONE = `(?:${NUM}|${PCT}|${NONE})`;\nexport const CS_HUE = `(?:${_CS_HUE})(?:\\\\s(?:${_CS_HUE_ARC})\\\\shue)?`;\nexport const CS_HUE_CAPT = `(${_CS_HUE})(?:\\\\s(${_CS_HUE_ARC})\\\\shue)?`;\nexport const CS_LAB = '(?:ok)?lab';\nexport const CS_LCH = '(?:ok)?lch';\nexport const CS_SRGB = 'srgb(?:-linear)?';\nexport const CS_RGB = `(?:a98|prophoto)-rgb|display-p3|rec2020|${CS_SRGB}`;\nexport const CS_XYZ = 'xyz(?:-d(?:50|65))?';\nexport const CS_RECT = `${CS_LAB}|${CS_RGB}|${CS_XYZ}`;\nexport const CS_MIX = `${CS_HUE}|${CS_RECT}`;\nexport const FN_COLOR = 'color(';\nexport const FN_MIX = 'color-mix(';\nexport const FN_REL = `(?:${_COLOR_FUNC})\\\\(\\\\s*from\\\\s+`;\nexport const FN_REL_CAPT = `(${_COLOR_FUNC})\\\\(\\\\s*from\\\\s+`;\nexport const FN_VAR = 'var(';\nexport const SYN_FN_COLOR = `(?:${CS_RGB}|${CS_XYZ})(?:\\\\s+${_NUM_PCT_NONE}){3}${_ALPHA}`;\nexport const SYN_FN_REL = `^${FN_REL}|(?<=[\\\\s])${FN_REL}`;\nexport const SYN_HSL = `${_NUM_ANGLE_NONE}(?:\\\\s+${_NUM_PCT_NONE}){2}${_ALPHA}`;\nexport const SYN_HSL_LV3 = `${_NUM_ANGLE}(?:\\\\s*,\\\\s*${PCT}){2}${_ALPHA_LV3}`;\nexport const SYN_LCH = `(?:${_NUM_PCT_NONE}\\\\s+){2}${_NUM_ANGLE_NONE}${_ALPHA}`;\nexport const SYN_MOD = `${_NUM_PCT_NONE}(?:\\\\s+${_NUM_PCT_NONE}){2}${_ALPHA}`;\nexport const SYN_RGB_LV3 = `(?:${NUM}(?:\\\\s*,\\\\s*${NUM}){2}|${PCT}(?:\\\\s*,\\\\s*${PCT}){2})${_ALPHA_LV3}`;\nexport const SYN_COLOR_TYPE = `${_COLOR_KEY}|hsla?\\\\(\\\\s*${SYN_HSL_LV3}\\\\s*\\\\)|rgba?\\\\(\\\\s*${SYN_RGB_LV3}\\\\s*\\\\)|(?:hsla?|hwb)\\\\(\\\\s*${SYN_HSL}\\\\s*\\\\)|(?:(?:ok)?lab|rgba?)\\\\(\\\\s*${SYN_MOD}\\\\s*\\\\)|(?:ok)?lch\\\\(\\\\s*${SYN_LCH}\\\\s*\\\\)|color\\\\(\\\\s*${SYN_FN_COLOR}\\\\s*\\\\)`;\nexport const SYN_MIX_PART = `(?:${SYN_COLOR_TYPE})(?:\\\\s+${PCT})?`;\nexport const SYN_MIX = `color-mix\\\\(\\\\s*in\\\\s+(?:${CS_MIX})\\\\s*,\\\\s*${SYN_MIX_PART}\\\\s*,\\\\s*${SYN_MIX_PART}\\\\s*\\\\)`;\nexport const SYN_MIX_CAPT = `color-mix\\\\(\\\\s*in\\\\s+(${CS_MIX})\\\\s*,\\\\s*(${SYN_MIX_PART})\\\\s*,\\\\s*(${SYN_MIX_PART})\\\\s*\\\\)`;\n\n/* formats */\nexport const VAL_COMP = 'computedValue';\nexport const VAL_MIX = 'mixValue';\nexport const VAL_SPEC = 'specifiedValue';\n","/**\n * color\n *\n * Ref: CSS Color Module Level 4\n * Sample code for Color Conversions\n * https://w3c.github.io/csswg-drafts/css-color-4/#color-conversion-code\n */\n\nimport {\n CacheItem,\n NullObject,\n createCacheKey,\n getCache,\n setCache\n} from './cache';\nimport { isString } from './common';\nimport { interpolateHue, roundToPrecision } from './util';\nimport {\n ColorChannels,\n ComputedColorChannels,\n Options,\n MatchedRegExp,\n SpecifiedColorChannels,\n StringColorChannels,\n StringColorSpacedChannels\n} from './typedef';\n\n/* constants */\nimport {\n ANGLE,\n CS_HUE_CAPT,\n CS_MIX,\n CS_RGB,\n CS_XYZ,\n FN_COLOR,\n FN_MIX,\n NONE,\n NUM,\n PCT,\n SYN_COLOR_TYPE,\n SYN_FN_COLOR,\n SYN_HSL,\n SYN_HSL_LV3,\n SYN_LCH,\n SYN_MIX,\n SYN_MIX_CAPT,\n SYN_MIX_PART,\n SYN_MOD,\n SYN_RGB_LV3,\n VAL_COMP,\n VAL_MIX,\n VAL_SPEC\n} from './constant';\nconst NAMESPACE = 'color';\n\n/* numeric constants */\nconst PPTH = 0.001;\nconst HALF = 0.5;\nconst DUO = 2;\nconst TRIA = 3;\nconst QUAD = 4;\nconst OCT = 8;\nconst DEC = 10;\nconst DOZ = 12;\nconst HEX = 16;\nconst SEXA = 60;\nconst DEG_HALF = 180;\nconst DEG = 360;\nconst MAX_PCT = 100;\nconst MAX_RGB = 255;\nconst POW_SQR = 2;\nconst POW_CUBE = 3;\nconst POW_LINEAR = 2.4;\nconst LINEAR_COEF = 12.92;\nconst LINEAR_OFFSET = 0.055;\nconst LAB_L = 116;\nconst LAB_A = 500;\nconst LAB_B = 200;\nconst LAB_EPSILON = 216 / 24389;\nconst LAB_KAPPA = 24389 / 27;\n\n/* type definitions */\n/**\n * @type NumStrColorChannels - string or numeric color channels\n */\ntype NumStrColorChannels = [\n x: number | string,\n y: number | string,\n z: number | string,\n alpha: number | string\n];\n\n/**\n * @type TriColorChannels - color channels without alpha\n */\ntype TriColorChannels = [x: number, y: number, z: number];\n\n/**\n * @type ColorMatrix - color matrix\n */\ntype ColorMatrix = [\n r1: TriColorChannels,\n r2: TriColorChannels,\n r3: TriColorChannels\n];\n\n/* white point */\nconst D50: TriColorChannels = [\n 0.3457 / 0.3585,\n 1.0,\n (1.0 - 0.3457 - 0.3585) / 0.3585\n];\nconst MATRIX_D50_TO_D65: ColorMatrix = [\n [0.955473421488075, -0.02309845494876471, 0.06325924320057072],\n [-0.0283697093338637, 1.0099953980813041, 0.021041441191917323],\n [0.012314014864481998, -0.020507649298898964, 1.330365926242124]\n];\nconst MATRIX_D65_TO_D50: ColorMatrix = [\n [1.0479297925449969, 0.022946870601609652, -0.05019226628920524],\n [0.02962780877005599, 0.9904344267538799, -0.017073799063418826],\n [-0.009243040646204504, 0.015055191490298152, 0.7518742814281371]\n];\n\n/* color space */\nconst MATRIX_L_RGB_TO_XYZ: ColorMatrix = [\n [506752 / 1228815, 87881 / 245763, 12673 / 70218],\n [87098 / 409605, 175762 / 245763, 12673 / 175545],\n [7918 / 409605, 87881 / 737289, 1001167 / 1053270]\n];\nconst MATRIX_XYZ_TO_L_RGB: ColorMatrix = [\n [12831 / 3959, -329 / 214, -1974 / 3959],\n [-851781 / 878810, 1648619 / 878810, 36519 / 878810],\n [705 / 12673, -2585 / 12673, 705 / 667]\n];\nconst MATRIX_XYZ_TO_LMS: ColorMatrix = [\n [0.819022437996703, 0.3619062600528904, -0.1288737815209879],\n [0.0329836539323885, 0.9292868615863434, 0.0361446663506424],\n [0.0481771893596242, 0.2642395317527308, 0.6335478284694309]\n];\nconst MATRIX_LMS_TO_XYZ: ColorMatrix = [\n [1.2268798758459243, -0.5578149944602171, 0.2813910456659647],\n [-0.0405757452148008, 1.112286803280317, -0.0717110580655164],\n [-0.0763729366746601, -0.4214933324022432, 1.5869240198367816]\n];\nconst MATRIX_OKLAB_TO_LMS: ColorMatrix = [\n [1.0, 0.3963377773761749, 0.2158037573099136],\n [1.0, -0.1055613458156586, -0.0638541728258133],\n [1.0, -0.0894841775298119, -1.2914855480194092]\n];\nconst MATRIX_LMS_TO_OKLAB: ColorMatrix = [\n [0.210454268309314, 0.7936177747023054, -0.0040720430116193],\n [1.9779985324311684, -2.4285922420485799, 0.450593709617411],\n [0.0259040424655478, 0.7827717124575296, -0.8086757549230774]\n];\nconst MATRIX_P3_TO_XYZ: ColorMatrix = [\n [608311 / 1250200, 189793 / 714400, 198249 / 1000160],\n [35783 / 156275, 247089 / 357200, 198249 / 2500400],\n [0 / 1, 32229 / 714400, 5220557 / 5000800]\n];\nconst MATRIX_REC2020_TO_XYZ: ColorMatrix = [\n [63426534 / 99577255, 20160776 / 139408157, 47086771 / 278816314],\n [26158966 / 99577255, 472592308 / 697040785, 8267143 / 139408157],\n [0 / 1, 19567812 / 697040785, 295819943 / 278816314]\n];\nconst MATRIX_A98_TO_XYZ: ColorMatrix = [\n [573536 / 994567, 263643 / 1420810, 187206 / 994567],\n [591459 / 1989134, 6239551 / 9945670, 374412 / 4972835],\n [53769 / 1989134, 351524 / 4972835, 4929758 / 4972835]\n];\nconst MATRIX_PROPHOTO_TO_XYZ_D50: ColorMatrix = [\n [0.7977666449006423, 0.13518129740053308, 0.0313477341283922],\n [0.2880748288194013, 0.711835234241873, 0.00008993693872564],\n [0.0, 0.0, 0.8251046025104602]\n];\n\n/* regexp */\nconst REG_COLOR = new RegExp(`^(?:${SYN_COLOR_TYPE})$`);\nconst REG_CS_HUE = new RegExp(`^${CS_HUE_CAPT}$`);\nconst REG_CS_XYZ = /^xyz(?:-d(?:50|65))?$/;\nconst REG_CURRENT = /^currentColor$/i;\nconst REG_FN_COLOR = new RegExp(`^color\\\\(\\\\s*(${SYN_FN_COLOR})\\\\s*\\\\)$`);\nconst REG_HSL = new RegExp(`^hsla?\\\\(\\\\s*(${SYN_HSL}|${SYN_HSL_LV3})\\\\s*\\\\)$`);\nconst REG_HWB = new RegExp(`^hwb\\\\(\\\\s*(${SYN_HSL})\\\\s*\\\\)$`);\nconst REG_LAB = new RegExp(`^lab\\\\(\\\\s*(${SYN_MOD})\\\\s*\\\\)$`);\nconst REG_LCH = new RegExp(`^lch\\\\(\\\\s*(${SYN_LCH})\\\\s*\\\\)$`);\nconst REG_MIX = new RegExp(`^${SYN_MIX}$`);\nconst REG_MIX_CAPT = new RegExp(`^${SYN_MIX_CAPT}$`);\nconst REG_MIX_NEST = new RegExp(`${SYN_MIX}`, 'g');\nconst REG_OKLAB = new RegExp(`^oklab\\\\(\\\\s*(${SYN_MOD})\\\\s*\\\\)$`);\nconst REG_OKLCH = new RegExp(`^oklch\\\\(\\\\s*(${SYN_LCH})\\\\s*\\\\)$`);\nconst REG_SPEC = /^(?:specifi|comput)edValue$/;\n\n/**\n * named colors\n */\nexport const NAMED_COLORS = {\n aliceblue: [0xf0, 0xf8, 0xff],\n antiquewhite: [0xfa, 0xeb, 0xd7],\n aqua: [0x00, 0xff, 0xff],\n aquamarine: [0x7f, 0xff, 0xd4],\n azure: [0xf0, 0xff, 0xff],\n beige: [0xf5, 0xf5, 0xdc],\n bisque: [0xff, 0xe4, 0xc4],\n black: [0x00, 0x00, 0x00],\n blanchedalmond: [0xff, 0xeb, 0xcd],\n blue: [0x00, 0x00, 0xff],\n blueviolet: [0x8a, 0x2b, 0xe2],\n brown: [0xa5, 0x2a, 0x2a],\n burlywood: [0xde, 0xb8, 0x87],\n cadetblue: [0x5f, 0x9e, 0xa0],\n chartreuse: [0x7f, 0xff, 0x00],\n chocolate: [0xd2, 0x69, 0x1e],\n coral: [0xff, 0x7f, 0x50],\n cornflowerblue: [0x64, 0x95, 0xed],\n cornsilk: [0xff, 0xf8, 0xdc],\n crimson: [0xdc, 0x14, 0x3c],\n cyan: [0x00, 0xff, 0xff],\n darkblue: [0x00, 0x00, 0x8b],\n darkcyan: [0x00, 0x8b, 0x8b],\n darkgoldenrod: [0xb8, 0x86, 0x0b],\n darkgray: [0xa9, 0xa9, 0xa9],\n darkgreen: [0x00, 0x64, 0x00],\n darkgrey: [0xa9, 0xa9, 0xa9],\n darkkhaki: [0xbd, 0xb7, 0x6b],\n darkmagenta: [0x8b, 0x00, 0x8b],\n darkolivegreen: [0x55, 0x6b, 0x2f],\n darkorange: [0xff, 0x8c, 0x00],\n darkorchid: [0x99, 0x32, 0xcc],\n darkred: [0x8b, 0x00, 0x00],\n darksalmon: [0xe9, 0x96, 0x7a],\n darkseagreen: [0x8f, 0xbc, 0x8f],\n darkslateblue: [0x48, 0x3d, 0x8b],\n darkslategray: [0x2f, 0x4f, 0x4f],\n darkslategrey: [0x2f, 0x4f, 0x4f],\n darkturquoise: [0x00, 0xce, 0xd1],\n darkviolet: [0x94, 0x00, 0xd3],\n deeppink: [0xff, 0x14, 0x93],\n deepskyblue: [0x00, 0xbf, 0xff],\n dimgray: [0x69, 0x69, 0x69],\n dimgrey: [0x69, 0x69, 0x69],\n dodgerblue: [0x1e, 0x90, 0xff],\n firebrick: [0xb2, 0x22, 0x22],\n floralwhite: [0xff, 0xfa, 0xf0],\n forestgreen: [0x22, 0x8b, 0x22],\n fuchsia: [0xff, 0x00, 0xff],\n gainsboro: [0xdc, 0xdc, 0xdc],\n ghostwhite: [0xf8, 0xf8, 0xff],\n gold: [0xff, 0xd7, 0x00],\n goldenrod: [0xda, 0xa5, 0x20],\n gray: [0x80, 0x80, 0x80],\n green: [0x00, 0x80, 0x00],\n greenyellow: [0xad, 0xff, 0x2f],\n grey: [0x80, 0x80, 0x80],\n honeydew: [0xf0, 0xff, 0xf0],\n hotpink: [0xff, 0x69, 0xb4],\n indianred: [0xcd, 0x5c, 0x5c],\n indigo: [0x4b, 0x00, 0x82],\n ivory: [0xff, 0xff, 0xf0],\n khaki: [0xf0, 0xe6, 0x8c],\n lavender: [0xe6, 0xe6, 0xfa],\n lavenderblush: [0xff, 0xf0, 0xf5],\n lawngreen: [0x7c, 0xfc, 0x00],\n lemonchiffon: [0xff, 0xfa, 0xcd],\n lightblue: [0xad, 0xd8, 0xe6],\n lightcoral: [0xf0, 0x80, 0x80],\n lightcyan: [0xe0, 0xff, 0xff],\n lightgoldenrodyellow: [0xfa, 0xfa, 0xd2],\n lightgray: [0xd3, 0xd3, 0xd3],\n lightgreen: [0x90, 0xee, 0x90],\n lightgrey: [0xd3, 0xd3, 0xd3],\n lightpink: [0xff, 0xb6, 0xc1],\n lightsalmon: [0xff, 0xa0, 0x7a],\n lightseagreen: [0x20, 0xb2, 0xaa],\n lightskyblue: [0x87, 0xce, 0xfa],\n lightslategray: [0x77, 0x88, 0x99],\n lightslategrey: [0x77, 0x88, 0x99],\n lightsteelblue: [0xb0, 0xc4, 0xde],\n lightyellow: [0xff, 0xff, 0xe0],\n lime: [0x00, 0xff, 0x00],\n limegreen: [0x32, 0xcd, 0x32],\n linen: [0xfa, 0xf0, 0xe6],\n magenta: [0xff, 0x00, 0xff],\n maroon: [0x80, 0x00, 0x00],\n mediumaquamarine: [0x66, 0xcd, 0xaa],\n mediumblue: [0x00, 0x00, 0xcd],\n mediumorchid: [0xba, 0x55, 0xd3],\n mediumpurple: [0x93, 0x70, 0xdb],\n mediumseagreen: [0x3c, 0xb3, 0x71],\n mediumslateblue: [0x7b, 0x68, 0xee],\n mediumspringgreen: [0x00, 0xfa, 0x9a],\n mediumturquoise: [0x48, 0xd1, 0xcc],\n mediumvioletred: [0xc7, 0x15, 0x85],\n midnightblue: [0x19, 0x19, 0x70],\n mintcream: [0xf5, 0xff, 0xfa],\n mistyrose: [0xff, 0xe4, 0xe1],\n moccasin: [0xff, 0xe4, 0xb5],\n navajowhite: [0xff, 0xde, 0xad],\n navy: [0x00, 0x00, 0x80],\n oldlace: [0xfd, 0xf5, 0xe6],\n olive: [0x80, 0x80, 0x00],\n olivedrab: [0x6b, 0x8e, 0x23],\n orange: [0xff, 0xa5, 0x00],\n orangered: [0xff, 0x45, 0x00],\n orchid: [0xda, 0x70, 0xd6],\n palegoldenrod: [0xee, 0xe8, 0xaa],\n palegreen: [0x98, 0xfb, 0x98],\n paleturquoise: [0xaf, 0xee, 0xee],\n palevioletred: [0xdb, 0x70, 0x93],\n papayawhip: [0xff, 0xef, 0xd5],\n peachpuff: [0xff, 0xda, 0xb9],\n peru: [0xcd, 0x85, 0x3f],\n pink: [0xff, 0xc0, 0xcb],\n plum: [0xdd, 0xa0, 0xdd],\n powderblue: [0xb0, 0xe0, 0xe6],\n purple: [0x80, 0x00, 0x80],\n rebeccapurple: [0x66, 0x33, 0x99],\n red: [0xff, 0x00, 0x00],\n rosybrown: [0xbc, 0x8f, 0x8f],\n royalblue: [0x41, 0x69, 0xe1],\n saddlebrown: [0x8b, 0x45, 0x13],\n salmon: [0xfa, 0x80, 0x72],\n sandybrown: [0xf4, 0xa4, 0x60],\n seagreen: [0x2e, 0x8b, 0x57],\n seashell: [0xff, 0xf5, 0xee],\n sienna: [0xa0, 0x52, 0x2d],\n silver: [0xc0, 0xc0, 0xc0],\n skyblue: [0x87, 0xce, 0xeb],\n slateblue: [0x6a, 0x5a, 0xcd],\n slategray: [0x70, 0x80, 0x90],\n slategrey: [0x70, 0x80, 0x90],\n snow: [0xff, 0xfa, 0xfa],\n springgreen: [0x00, 0xff, 0x7f],\n steelblue: [0x46, 0x82, 0xb4],\n tan: [0xd2, 0xb4, 0x8c],\n teal: [0x00, 0x80, 0x80],\n thistle: [0xd8, 0xbf, 0xd8],\n tomato: [0xff, 0x63, 0x47],\n turquoise: [0x40, 0xe0, 0xd0],\n violet: [0xee, 0x82, 0xee],\n wheat: [0xf5, 0xde, 0xb3],\n white: [0xff, 0xff, 0xff],\n whitesmoke: [0xf5, 0xf5, 0xf5],\n yellow: [0xff, 0xff, 0x00],\n yellowgreen: [0x9a, 0xcd, 0x32]\n} as const satisfies {\n [key: string]: TriColorChannels;\n};\n\n/**\n * cache invalid color value\n * @param key - cache key\n * @param nullable - is nullable\n * @returns cached value\n */\nexport const cacheInvalidColorValue = (\n cacheKey: string,\n format: string,\n nullable: boolean = false\n): SpecifiedColorChannels | string | NullObject => {\n if (format === VAL_SPEC) {\n const res = '';\n setCache(cacheKey, res);\n return res;\n }\n if (nullable) {\n setCache(cacheKey, null);\n return new NullObject();\n }\n const res: SpecifiedColorChannels = ['rgb', 0, 0, 0, 0];\n setCache(cacheKey, res);\n return res;\n};\n\n/**\n * resolve invalid color value\n * @param format - output format\n * @param nullable - is nullable\n * @returns resolved value\n */\nexport const resolveInvalidColorValue = (\n format: string,\n nullable: boolean = false\n): SpecifiedColorChannels | string | NullObject => {\n switch (format) {\n case 'hsl':\n case 'hwb':\n case VAL_MIX: {\n return new NullObject();\n }\n case VAL_SPEC: {\n return '';\n }\n default: {\n if (nullable) {\n return new NullObject();\n }\n return ['rgb', 0, 0, 0, 0] as SpecifiedColorChannels;\n }\n }\n};\n\n/**\n * validate color components\n * @param arr - color components\n * @param [opt] - options\n * @param [opt.alpha] - alpha channel\n * @param [opt.minLength] - min length\n * @param [opt.maxLength] - max length\n * @param [opt.minRange] - min range\n * @param [opt.maxRange] - max range\n * @param [opt.validateRange] - validate range\n * @returns result - validated color components\n */\nexport const validateColorComponents = (\n arr: ColorChannels | TriColorChannels,\n opt: {\n alpha?: boolean;\n minLength?: number;\n maxLength?: number;\n minRange?: number;\n maxRange?: number;\n validateRange?: boolean;\n } = {}\n): ColorChannels | TriColorChannels => {\n if (!Array.isArray(arr)) {\n throw new TypeError(`${arr} is not an array.`);\n }\n const {\n alpha = false,\n minLength = TRIA,\n maxLength = QUAD,\n minRange = 0,\n maxRange = 1,\n validateRange = true\n } = opt;\n if (!Number.isFinite(minLength)) {\n throw new TypeError(`${minLength} is not a number.`);\n }\n if (!Number.isFinite(maxLength)) {\n throw new TypeError(`${maxLength} is not a number.`);\n }\n if (!Number.isFinite(minRange)) {\n throw new TypeError(`${minRange} is not a number.`);\n }\n if (!Number.isFinite(maxRange)) {\n throw new TypeError(`${maxRange} is not a number.`);\n }\n const l = arr.length;\n if (l < minLength || l > maxLength) {\n throw new Error(`Unexpected array length ${l}.`);\n }\n let i = 0;\n while (i < l) {\n const v = arr[i] as number;\n if (!Number.isFinite(v)) {\n throw new TypeError(`${v} is not a number.`);\n } else if (i < TRIA && validateRange && (v < minRange || v > maxRange)) {\n throw new RangeError(`${v} is not between ${minRange} and ${maxRange}.`);\n } else if (i === TRIA && (v < 0 || v > 1)) {\n throw new RangeError(`${v} is not between 0 and 1.`);\n }\n i++;\n }\n if (alpha && l === TRIA) {\n arr.push(1);\n }\n return arr;\n};\n\n/**\n * transform matrix\n * @param mtx - 3 * 3 matrix\n * @param vct - vector\n * @param [skip] - skip validate\n * @returns TriColorChannels - [p1, p2, p3]\n */\nexport const transformMatrix = (\n mtx: ColorMatrix,\n vct: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n if (!Array.isArray(mtx)) {\n throw new TypeError(`${mtx} is not an array.`);\n } else if (mtx.length !== TRIA) {\n throw new Error(`Unexpected array length ${mtx.length}.`);\n } else if (!skip) {\n for (let i of mtx) {\n i = validateColorComponents(i as TriColorChannels, {\n maxLength: TRIA,\n validateRange: false\n }) as TriColorChannels;\n }\n }\n const [[r1c1, r1c2, r1c3], [r2c1, r2c2, r2c3], [r3c1, r3c2, r3c3]] = mtx;\n let v1, v2, v3;\n if (skip) {\n [v1, v2, v3] = vct;\n } else {\n [v1, v2, v3] = validateColorComponents(vct, {\n maxLength: TRIA,\n validateRange: false\n });\n }\n const p1 = r1c1 * v1 + r1c2 * v2 + r1c3 * v3;\n const p2 = r2c1 * v1 + r2c2 * v2 + r2c3 * v3;\n const p3 = r3c1 * v1 + r3c2 * v2 + r3c3 * v3;\n return [p1, p2, p3];\n};\n\n/**\n * normalize color components\n * @param colorA - color components [v1, v2, v3, v4]\n * @param colorB - color components [v1, v2, v3, v4]\n * @param [skip] - skip validate\n * @returns result - [colorA, colorB]\n */\nexport const normalizeColorComponents = (\n colorA: [number | string, number | string, number | string, number | string],\n colorB: [number | string, number | string, number | string, number | string],\n skip: boolean = false\n): [ColorChannels, ColorChannels] => {\n if (!Array.isArray(colorA)) {\n throw new TypeError(`${colorA} is not an array.`);\n } else if (colorA.length !== QUAD) {\n throw new Error(`Unexpected array length ${colorA.length}.`);\n }\n if (!Array.isArray(colorB)) {\n throw new TypeError(`${colorB} is not an array.`);\n } else if (colorB.length !== QUAD) {\n throw new Error(`Unexpected array length ${colorB.length}.`);\n }\n let i = 0;\n while (i < QUAD) {\n if (colorA[i] === NONE && colorB[i] === NONE) {\n colorA[i] = 0;\n colorB[i] = 0;\n } else if (colorA[i] === NONE) {\n colorA[i] = colorB[i] as number;\n } else if (colorB[i] === NONE) {\n colorB[i] = colorA[i] as number;\n }\n i++;\n }\n if (skip) {\n return [colorA as ColorChannels, colorB as ColorChannels];\n }\n const validatedColorA = validateColorComponents(colorA as ColorChannels, {\n minLength: QUAD,\n validateRange: false\n });\n const validatedColorB = validateColorComponents(colorB as ColorChannels, {\n minLength: QUAD,\n validateRange: false\n });\n return [validatedColorA as ColorChannels, validatedColorB as ColorChannels];\n};\n\n/**\n * number to hex string\n * @param value - numeric value\n * @returns hex string\n */\nexport const numberToHexString = (value: number): string => {\n if (!Number.isFinite(value)) {\n throw new TypeError(`${value} is not a number.`);\n } else {\n value = Math.round(value);\n if (value < 0 || value > MAX_RGB) {\n throw new RangeError(`${value} is not between 0 and ${MAX_RGB}.`);\n }\n }\n let hex = value.toString(HEX);\n if (hex.length === 1) {\n hex = `0${hex}`;\n }\n return hex;\n};\n\n/**\n * angle to deg\n * @param angle\n * @returns deg: 0..360\n */\nexport const angleToDeg = (angle: string): number => {\n if (isString(angle)) {\n angle = angle.trim();\n } else {\n throw new TypeError(`${angle} is not a string.`);\n }\n const GRAD = DEG / 400;\n const RAD = DEG / (Math.PI * DUO);\n const reg = new RegExp(`^(${NUM})(${ANGLE})?$`);\n if (!reg.test(angle)) {\n throw new SyntaxError(`Invalid property value: ${angle}`);\n }\n const [, value, unit] = angle.match(reg) as MatchedRegExp;\n let deg;\n switch (unit) {\n case 'grad':\n deg = parseFloat(value) * GRAD;\n break;\n case 'rad':\n deg = parseFloat(value) * RAD;\n break;\n case 'turn':\n deg = parseFloat(value) * DEG;\n break;\n default:\n deg = parseFloat(value);\n }\n deg %= DEG;\n if (deg < 0) {\n deg += DEG;\n } else if (Object.is(deg, -0)) {\n deg = 0;\n }\n return deg;\n};\n\n/**\n * parse alpha\n * @param [alpha] - alpha value\n * @returns alpha: 0..1\n */\nexport const parseAlpha = (alpha: string = ''): number => {\n if (isString(alpha)) {\n alpha = alpha.trim();\n if (!alpha) {\n alpha = '1';\n } else if (alpha === NONE) {\n alpha = '0';\n } else {\n let a;\n if (alpha.endsWith('%')) {\n a = parseFloat(alpha) / MAX_PCT;\n } else {\n a = parseFloat(alpha);\n }\n if (!Number.isFinite(a)) {\n throw new TypeError(`${a} is not a finite number.`);\n }\n if (a < PPTH) {\n alpha = '0';\n } else if (a > 1) {\n alpha = '1';\n } else {\n alpha = a.toFixed(TRIA);\n }\n }\n } else {\n alpha = '1';\n }\n return parseFloat(alpha);\n};\n\n/**\n * parse hex alpha\n * @param value - alpha value in hex string\n * @returns alpha: 0..1\n */\nexport const parseHexAlpha = (value: string): number => {\n if (isString(value)) {\n if (value === '') {\n throw new SyntaxError('Invalid property value: (empty string)');\n }\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n let alpha = parseInt(value, HEX);\n if (alpha <= 0) {\n return 0;\n }\n if (alpha >= MAX_RGB) {\n return 1;\n }\n const alphaMap = new Map();\n for (let i = 1; i < MAX_PCT; i++) {\n alphaMap.set(Math.round((i * MAX_RGB) / MAX_PCT), i);\n }\n if (alphaMap.has(alpha)) {\n alpha = alphaMap.get(alpha) / MAX_PCT;\n } else {\n alpha = Math.round(alpha / MAX_RGB / PPTH) * PPTH;\n }\n return parseFloat(alpha.toFixed(TRIA));\n};\n\n/**\n * transform rgb to linear rgb\n * @param rgb - [r, g, b] r|g|b: 0..255\n * @param [skip] - skip validate\n * @returns TriColorChannels - [r, g, b] r|g|b: 0..1\n */\nexport const transformRgbToLinearRgb = (\n rgb: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n let rr, gg, bb;\n if (skip) {\n [rr, gg, bb] = rgb;\n } else {\n [rr, gg, bb] = validateColorComponents(rgb, {\n maxLength: TRIA,\n maxRange: MAX_RGB\n });\n }\n let r = rr / MAX_RGB;\n let g = gg / MAX_RGB;\n let b = bb / MAX_RGB;\n const COND_POW = 0.04045;\n if (r > COND_POW) {\n r = Math.pow((r + LINEAR_OFFSET) / (1 + LINEAR_OFFSET), POW_LINEAR);\n } else {\n r /= LINEAR_COEF;\n }\n if (g > COND_POW) {\n g = Math.pow((g + LINEAR_OFFSET) / (1 + LINEAR_OFFSET), POW_LINEAR);\n } else {\n g /= LINEAR_COEF;\n }\n if (b > COND_POW) {\n b = Math.pow((b + LINEAR_OFFSET) / (1 + LINEAR_OFFSET), POW_LINEAR);\n } else {\n b /= LINEAR_COEF;\n }\n return [r, g, b];\n};\n\n/**\n * transform rgb to xyz\n * @param rgb - [r, g, b] r|g|b: 0..255\n * @param [skip] - skip validate\n * @returns TriColorChannels - [x, y, z]\n */\nexport const transformRgbToXyz = (\n rgb: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n if (!skip) {\n rgb = validateColorComponents(rgb, {\n maxLength: TRIA,\n maxRange: MAX_RGB\n }) as TriColorChannels;\n }\n rgb = transformRgbToLinearRgb(rgb, true);\n const xyz = transformMatrix(MATRIX_L_RGB_TO_XYZ, rgb, true);\n return xyz;\n};\n\n/**\n * transform rgb to xyz-d50\n * @param rgb - [r, g, b] r|g|b: 0..255 alpha: 0..1\n * @returns TriColorChannels - [x, y, z]\n */\nexport const transformRgbToXyzD50 = (\n rgb: TriColorChannels\n): TriColorChannels => {\n let xyz = transformRgbToXyz(rgb);\n xyz = transformMatrix(MATRIX_D65_TO_D50, xyz, true);\n return xyz;\n};\n\n/**\n * transform linear rgb to rgb\n * @param rgb - [r, g, b] r|g|b: 0..1\n * @param [round] - round result\n * @returns TriColorChannels - [r, g, b] r|g|b: 0..255\n */\nexport const transformLinearRgbToRgb = (\n rgb: TriColorChannels,\n round: boolean = false\n): TriColorChannels => {\n let [r, g, b] = validateColorComponents(rgb, {\n maxLength: TRIA\n });\n const COND_POW = 809 / 258400;\n if (r > COND_POW) {\n r = Math.pow(r, 1 / POW_LINEAR) * (1 + LINEAR_OFFSET) - LINEAR_OFFSET;\n } else {\n r *= LINEAR_COEF;\n }\n r *= MAX_RGB;\n if (g > COND_POW) {\n g = Math.pow(g, 1 / POW_LINEAR) * (1 + LINEAR_OFFSET) - LINEAR_OFFSET;\n } else {\n g *= LINEAR_COEF;\n }\n g *= MAX_RGB;\n if (b > COND_POW) {\n b = Math.pow(b, 1 / POW_LINEAR) * (1 + LINEAR_OFFSET) - LINEAR_OFFSET;\n } else {\n b *= LINEAR_COEF;\n }\n b *= MAX_RGB;\n return [\n round ? Math.round(r) : r,\n round ? Math.round(g) : g,\n round ? Math.round(b) : b\n ];\n};\n\n/**\n * transform xyz to rgb\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [r, g, b] r|g|b: 0..255\n */\nexport const transformXyzToRgb = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n if (!skip) {\n xyz = validateColorComponents(xyz, {\n maxLength: TRIA,\n validateRange: false\n }) as TriColorChannels;\n }\n let [r, g, b] = transformMatrix(MATRIX_XYZ_TO_L_RGB, xyz, true);\n [r, g, b] = transformLinearRgbToRgb(\n [\n Math.min(Math.max(r, 0), 1),\n Math.min(Math.max(g, 0), 1),\n Math.min(Math.max(b, 0), 1)\n ],\n true\n );\n return [r, g, b];\n};\n\n/**\n * transform xyz to xyz-d50\n * @param xyz - [x, y, z]\n * @returns TriColorChannels - [x, y, z]\n */\nexport const transformXyzToXyzD50 = (\n xyz: TriColorChannels\n): TriColorChannels => {\n xyz = validateColorComponents(xyz, {\n maxLength: TRIA,\n validateRange: false\n }) as TriColorChannels;\n xyz = transformMatrix(MATRIX_D65_TO_D50, xyz, true);\n return xyz;\n};\n\n/**\n * transform xyz to hsl\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [h, s, l]\n */\nexport const transformXyzToHsl = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n const [rr, gg, bb] = transformXyzToRgb(xyz, skip);\n const r = rr / MAX_RGB;\n const g = gg / MAX_RGB;\n const b = bb / MAX_RGB;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n const l = (max + min) * HALF * MAX_PCT;\n let h, s;\n if (Math.round(l) === 0 || Math.round(l) === MAX_PCT) {\n h = 0;\n s = 0;\n } else {\n s = (d / (1 - Math.abs(max + min - 1))) * MAX_PCT;\n if (s === 0) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d;\n break;\n case g:\n h = (b - r) / d + DUO;\n break;\n case b:\n default:\n h = (r - g) / d + QUAD;\n break;\n }\n h = (h * SEXA) % DEG;\n if (h < 0) {\n h += DEG;\n }\n }\n }\n return [h, s, l];\n};\n\n/**\n * transform xyz to hwb\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [h, w, b]\n */\nexport const transformXyzToHwb = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n const [r, g, b] = transformXyzToRgb(xyz, skip);\n const wh = Math.min(r, g, b) / MAX_RGB;\n const bk = 1 - Math.max(r, g, b) / MAX_RGB;\n let h;\n if (wh + bk === 1) {\n h = 0;\n } else {\n [h] = transformXyzToHsl(xyz);\n }\n return [h, wh * MAX_PCT, bk * MAX_PCT];\n};\n\n/**\n * transform xyz to oklab\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [l, a, b]\n */\nexport const transformXyzToOklab = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n if (!skip) {\n xyz = validateColorComponents(xyz, {\n maxLength: TRIA,\n validateRange: false\n }) as TriColorChannels;\n }\n const lms = transformMatrix(MATRIX_XYZ_TO_LMS, xyz, true);\n const xyzLms = lms.map(c => Math.cbrt(c)) as TriColorChannels;\n let [l, a, b] = transformMatrix(MATRIX_LMS_TO_OKLAB, xyzLms, true);\n l = Math.min(Math.max(l, 0), 1);\n const lPct = Math.round(parseFloat(l.toFixed(QUAD)) * MAX_PCT);\n if (lPct === 0 || lPct === MAX_PCT) {\n a = 0;\n b = 0;\n }\n return [l, a, b];\n};\n\n/**\n * transform xyz to oklch\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [l, c, h]\n */\nexport const transformXyzToOklch = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n const [l, a, b] = transformXyzToOklab(xyz, skip);\n let c, h;\n const lPct = Math.round(parseFloat(l.toFixed(QUAD)) * MAX_PCT);\n if (lPct === 0 || lPct === MAX_PCT) {\n c = 0;\n h = 0;\n } else {\n c = Math.max(Math.sqrt(Math.pow(a, POW_SQR) + Math.pow(b, POW_SQR)), 0);\n if (parseFloat(c.toFixed(QUAD)) === 0) {\n h = 0;\n } else {\n h = (Math.atan2(b, a) * DEG_HALF) / Math.PI;\n if (h < 0) {\n h += DEG;\n }\n }\n }\n return [l, c, h];\n};\n\n/**\n * transform xyz D50 to rgb\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [r, g, b] r|g|b: 0..255\n */\nexport const transformXyzD50ToRgb = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n if (!skip) {\n xyz = validateColorComponents(xyz, {\n maxLength: TRIA,\n validateRange: false\n }) as TriColorChannels;\n }\n const xyzD65 = transformMatrix(MATRIX_D50_TO_D65, xyz, true);\n const rgb = transformXyzToRgb(xyzD65, true);\n return rgb;\n};\n\n/**\n * transform xyz-d50 to lab\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [l, a, b]\n */\nexport const transformXyzD50ToLab = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n if (!skip) {\n xyz = validateColorComponents(xyz, {\n maxLength: TRIA,\n validateRange: false\n }) as TriColorChannels;\n }\n const xyzD50 = xyz.map((val, i) => val / (D50[i] as number));\n const [f0, f1, f2] = xyzD50.map(val =>\n val > LAB_EPSILON ? Math.cbrt(val) : (val * LAB_KAPPA + HEX) / LAB_L\n ) as TriColorChannels;\n const l = Math.min(Math.max(LAB_L * f1 - HEX, 0), MAX_PCT);\n let a, b;\n if (l === 0 || l === MAX_PCT) {\n a = 0;\n b = 0;\n } else {\n a = (f0 - f1) * LAB_A;\n b = (f1 - f2) * LAB_B;\n }\n return [l, a, b];\n};\n\n/**\n * transform xyz-d50 to lch\n * @param xyz - [x, y, z]\n * @param [skip] - skip validate\n * @returns TriColorChannels - [l, c, h]\n */\nexport const transformXyzD50ToLch = (\n xyz: TriColorChannels,\n skip: boolean = false\n): TriColorChannels => {\n const [l, a, b] = transformXyzD50ToLab(xyz, skip);\n let c, h;\n if (l === 0 || l === MAX_PCT) {\n c = 0;\n h = 0;\n } else {\n c = Math.max(Math.sqrt(Math.pow(a, POW_SQR) + Math.pow(b, POW_SQR)), 0);\n h = (Math.atan2(b, a) * DEG_HALF) / Math.PI;\n if (h < 0) {\n h += DEG;\n }\n }\n return [l, c, h];\n};\n\n/**\n * convert rgb to hex color\n * @param rgb - [r, g, b, alpha] r|g|b: 0..255 alpha: 0..1\n * @returns hex color\n */\nexport const convertRgbToHex = (rgb: ColorChannels): string => {\n const [r, g, b, alpha] = validateColorComponents(rgb, {\n alpha: true,\n maxRange: MAX_RGB\n }) as ColorChannels;\n const rr = numberToHexString(r);\n const gg = numberToHexString(g);\n const bb = numberToHexString(b);\n const aa = numberToHexString(alpha * MAX_RGB);\n let hex;\n if (aa === 'ff') {\n hex = `#${rr}${gg}${bb}`;\n } else {\n hex = `#${rr}${gg}${bb}${aa}`;\n }\n return hex;\n};\n\n/**\n * convert linear rgb to hex color\n * @param rgb - [r, g, b, alpha] r|g|b|alpha: 0..1\n * @param [skip] - skip validate\n * @returns hex color\n */\nexport const convertLinearRgbToHex = (\n rgb: ColorChannels,\n skip: boolean = false\n): string => {\n let r, g, b, alpha;\n if (skip) {\n [r, g, b, alpha] = rgb;\n } else {\n [r, g, b, alpha] = validateColorComponents(rgb, {\n minLength: QUAD\n }) as ColorChannels;\n }\n [r, g, b] = transformLinearRgbToRgb([r, g, b], true);\n const rr = numberToHexString(r);\n const gg = numberToHexString(g);\n const bb = numberToHexString(b);\n const aa = numberToHexString(alpha * MAX_RGB);\n let hex;\n if (aa === 'ff') {\n hex = `#${rr}${gg}${bb}`;\n } else {\n hex = `#${rr}${gg}${bb}${aa}`;\n }\n return hex;\n};\n\n/**\n * convert xyz to hex color\n * @param xyz - [x, y, z, alpha]\n * @returns hex color\n */\nexport const convertXyzToHex = (xyz: ColorChannels): string => {\n const [x, y, z, alpha] = validateColorComponents(xyz, {\n minLength: QUAD,\n validateRange: false\n }) as ColorChannels;\n const [r, g, b] = transformMatrix(MATRIX_XYZ_TO_L_RGB, [x, y, z], true);\n const hex = convertLinearRgbToHex(\n [\n Math.min(Math.max(r, 0), 1),\n Math.min(Math.max(g, 0), 1),\n Math.min(Math.max(b, 0), 1),\n alpha\n ],\n true\n );\n return hex;\n};\n\n/**\n * convert xyz D50 to hex color\n * @param xyz - [x, y, z, alpha]\n * @returns hex color\n */\nexport const convertXyzD50ToHex = (xyz: ColorChannels): string => {\n const [x, y, z, alpha] = validateColorComponents(xyz, {\n minLength: QUAD,\n validateRange: false\n }) as ColorChannels;\n const xyzD65 = transformMatrix(MATRIX_D50_TO_D65, [x, y, z], true);\n const [r, g, b] = transformMatrix(MATRIX_XYZ_TO_L_RGB, xyzD65, true);\n const hex = convertLinearRgbToHex([\n Math.min(Math.max(r, 0), 1),\n Math.min(Math.max(g, 0), 1),\n Math.min(Math.max(b, 0), 1),\n alpha\n ]);\n return hex;\n};\n\n/**\n * convert hex color to rgb\n * @param value - hex color value\n * @returns ColorChannels - [r, g, b, alpha] r|g|b: 0..255 alpha: 0..1\n */\nexport const convertHexToRgb = (value: string): ColorChannels => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n if (\n !(\n /^#[\\da-f]{6}$/.test(value) ||\n /^#[\\da-f]{3}$/.test(value) ||\n /^#[\\da-f]{8}$/.test(value) ||\n /^#[\\da-f]{4}$/.test(value)\n )\n ) {\n throw new SyntaxError(`Invalid property value: ${value}`);\n }\n const arr: number[] = [];\n if (/^#[\\da-f]{3}$/.test(value)) {\n const [, r, g, b] = value.match(\n /^#([\\da-f])([\\da-f])([\\da-f])$/\n ) as MatchedRegExp;\n arr.push(\n parseInt(`${r}${r}`, HEX),\n parseInt(`${g}${g}`, HEX),\n parseInt(`${b}${b}`, HEX),\n 1\n );\n } else if (/^#[\\da-f]{4}$/.test(value)) {\n const [, r, g, b, alpha] = value.match(\n /^#([\\da-f])([\\da-f])([\\da-f])([\\da-f])$/\n ) as MatchedRegExp;\n arr.push(\n parseInt(`${r}${r}`, HEX),\n parseInt(`${g}${g}`, HEX),\n parseInt(`${b}${b}`, HEX),\n parseHexAlpha(`${alpha}${alpha}`)\n );\n } else if (/^#[\\da-f]{8}$/.test(value)) {\n const [, r, g, b, alpha] = value.match(\n /^#([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})$/\n ) as MatchedRegExp;\n arr.push(\n parseInt(r, HEX),\n parseInt(g, HEX),\n parseInt(b, HEX),\n parseHexAlpha(alpha)\n );\n } else {\n const [, r, g, b] = value.match(\n /^#([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})$/\n ) as MatchedRegExp;\n arr.push(parseInt(r, HEX), parseInt(g, HEX), parseInt(b, HEX), 1);\n }\n return arr as ColorChannels;\n};\n\n/**\n * convert hex color to linear rgb\n * @param value - hex color value\n * @returns ColorChannels - [r, g, b, alpha] r|g|b|alpha: 0..1\n */\nexport const convertHexToLinearRgb = (value: string): ColorChannels => {\n const [rr, gg, bb, alpha] = convertHexToRgb(value);\n const [r, g, b] = transformRgbToLinearRgb([rr, gg, bb], true);\n return [r, g, b, alpha];\n};\n\n/**\n * convert hex color to xyz\n * @param value - hex color value\n * @returns ColorChannels - [x, y, z, alpha]\n */\nexport const convertHexToXyz = (value: string): ColorChannels => {\n const [r, g, b, alpha] = convertHexToLinearRgb(value);\n const [x, y, z] = transformMatrix(MATRIX_L_RGB_TO_XYZ, [r, g, b], true);\n return [x, y, z, alpha];\n};\n\n/**\n * parse rgb()\n * @param value - rgb color value\n * @param [opt] - options\n * @returns parsed color - ['rgb', r, g, b, alpha], '(empty)', NullObject\n */\nexport const parseRgb = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n const reg = new RegExp(`^rgba?\\\\(\\\\s*(${SYN_MOD}|${SYN_RGB_LV3})\\\\s*\\\\)$`);\n if (!reg.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const [, val] = value.match(reg) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace(/[,/]/g, ' ')\n .split(/\\s+/) as StringColorChannels;\n let r, g, b;\n if (v1 === NONE) {\n r = 0;\n } else {\n if (v1.endsWith('%')) {\n r = (parseFloat(v1) * MAX_RGB) / MAX_PCT;\n } else {\n r = parseFloat(v1);\n }\n r = Math.min(Math.max(roundToPrecision(r, OCT), 0), MAX_RGB);\n }\n if (v2 === NONE) {\n g = 0;\n } else {\n if (v2.endsWith('%')) {\n g = (parseFloat(v2) * MAX_RGB) / MAX_PCT;\n } else {\n g = parseFloat(v2);\n }\n g = Math.min(Math.max(roundToPrecision(g, OCT), 0), MAX_RGB);\n }\n if (v3 === NONE) {\n b = 0;\n } else {\n if (v3.endsWith('%')) {\n b = (parseFloat(v3) * MAX_RGB) / MAX_PCT;\n } else {\n b = parseFloat(v3);\n }\n b = Math.min(Math.max(roundToPrecision(b, OCT), 0), MAX_RGB);\n }\n const alpha = parseAlpha(v4);\n return ['rgb', r, g, b, format === VAL_MIX && v4 === NONE ? NONE : alpha];\n};\n\n/**\n * parse hsl()\n * @param value - hsl color value\n * @param [opt] - options\n * @returns parsed color - ['rgb', r, g, b, alpha], '(empty)', NullObject\n */\nexport const parseHsl = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n if (!REG_HSL.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const [, val] = value.match(REG_HSL) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace(/[,/]/g, ' ')\n .split(/\\s+/) as StringColorChannels;\n let h, s, l;\n if (v1 === NONE) {\n h = 0;\n } else {\n h = angleToDeg(v1);\n }\n if (v2 === NONE) {\n s = 0;\n } else {\n s = Math.min(Math.max(parseFloat(v2), 0), MAX_PCT);\n }\n if (v3 === NONE) {\n l = 0;\n } else {\n l = Math.min(Math.max(parseFloat(v3), 0), MAX_PCT);\n }\n const alpha = parseAlpha(v4);\n if (format === 'hsl') {\n return [\n format,\n v1 === NONE ? v1 : h,\n v2 === NONE ? v2 : s,\n v3 === NONE ? v3 : l,\n v4 === NONE ? v4 : alpha\n ];\n }\n h = (h / DEG) * DOZ;\n l /= MAX_PCT;\n const sa = (s / MAX_PCT) * Math.min(l, 1 - l);\n const rk = h % DOZ;\n const gk = (8 + h) % DOZ;\n const bk = (4 + h) % DOZ;\n const r = l - sa * Math.max(-1, Math.min(rk - TRIA, TRIA ** POW_SQR - rk, 1));\n const g = l - sa * Math.max(-1, Math.min(gk - TRIA, TRIA ** POW_SQR - gk, 1));\n const b = l - sa * Math.max(-1, Math.min(bk - TRIA, TRIA ** POW_SQR - bk, 1));\n return [\n 'rgb',\n Math.min(Math.max(roundToPrecision(r * MAX_RGB, OCT), 0), MAX_RGB),\n Math.min(Math.max(roundToPrecision(g * MAX_RGB, OCT), 0), MAX_RGB),\n Math.min(Math.max(roundToPrecision(b * MAX_RGB, OCT), 0), MAX_RGB),\n alpha\n ];\n};\n\n/**\n * parse hwb()\n * @param value - hwb color value\n * @param [opt] - options\n * @returns parsed color - ['rgb', r, g, b, alpha], '(empty)', NullObject\n */\nexport const parseHwb = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n if (!REG_HWB.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const [, val] = value.match(REG_HWB) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorChannels;\n let h, wh, bk;\n if (v1 === NONE) {\n h = 0;\n } else {\n h = angleToDeg(v1);\n }\n if (v2 === NONE) {\n wh = 0;\n } else {\n wh = Math.min(Math.max(parseFloat(v2), 0), MAX_PCT) / MAX_PCT;\n }\n if (v3 === NONE) {\n bk = 0;\n } else {\n bk = Math.min(Math.max(parseFloat(v3), 0), MAX_PCT) / MAX_PCT;\n }\n const alpha = parseAlpha(v4);\n if (format === 'hwb') {\n return [\n format,\n v1 === NONE ? v1 : h,\n v2 === NONE ? v2 : wh * MAX_PCT,\n v3 === NONE ? v3 : bk * MAX_PCT,\n v4 === NONE ? v4 : alpha\n ];\n }\n if (wh + bk >= 1) {\n const v = roundToPrecision((wh / (wh + bk)) * MAX_RGB, OCT);\n return ['rgb', v, v, v, alpha];\n }\n const factor = (1 - wh - bk) / MAX_RGB;\n let [, r, g, b] = parseHsl(`hsl(${h} 100 50)`) as ComputedColorChannels;\n r = roundToPrecision((r * factor + wh) * MAX_RGB, OCT);\n g = roundToPrecision((g * factor + wh) * MAX_RGB, OCT);\n b = roundToPrecision((b * factor + wh) * MAX_RGB, OCT);\n return [\n 'rgb',\n Math.min(Math.max(r, 0), MAX_RGB),\n Math.min(Math.max(g, 0), MAX_RGB),\n Math.min(Math.max(b, 0), MAX_RGB),\n alpha\n ];\n};\n\n/**\n * parse lab()\n * @param value - lab color value\n * @param [opt] - options\n * @returns parsed color\n * - [xyz-d50, x, y, z, alpha], ['lab', l, a, b, alpha], '(empty)', NullObject\n */\nexport const parseLab = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n if (!REG_LAB.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const COEF_PCT = 1.25;\n const COND_POW = 8;\n const [, val] = value.match(REG_LAB) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorChannels;\n let l, a, b;\n if (v1 === NONE) {\n l = 0;\n } else {\n if (v1.endsWith('%')) {\n l = parseFloat(v1);\n if (l > MAX_PCT) {\n l = MAX_PCT;\n }\n } else {\n l = parseFloat(v1);\n }\n if (l < 0) {\n l = 0;\n }\n }\n if (v2 === NONE) {\n a = 0;\n } else {\n a = v2.endsWith('%') ? parseFloat(v2) * COEF_PCT : parseFloat(v2);\n }\n if (v3 === NONE) {\n b = 0;\n } else {\n b = v3.endsWith('%') ? parseFloat(v3) * COEF_PCT : parseFloat(v3);\n }\n const alpha = parseAlpha(v4);\n if (REG_SPEC.test(format)) {\n return [\n 'lab',\n v1 === NONE ? v1 : roundToPrecision(l, HEX),\n v2 === NONE ? v2 : roundToPrecision(a, HEX),\n v3 === NONE ? v3 : roundToPrecision(b, HEX),\n v4 === NONE ? v4 : alpha\n ];\n }\n const fl = (l + HEX) / LAB_L;\n const fa = a / LAB_A + fl;\n const fb = fl - b / LAB_B;\n const powFl = Math.pow(fl, POW_CUBE);\n const powFa = Math.pow(fa, POW_CUBE);\n const powFb = Math.pow(fb, POW_CUBE);\n const xyz = [\n powFa > LAB_EPSILON ? powFa : (fa * LAB_L - HEX) / LAB_KAPPA,\n l > COND_POW ? powFl : l / LAB_KAPPA,\n powFb > LAB_EPSILON ? powFb : (fb * LAB_L - HEX) / LAB_KAPPA\n ];\n const [x, y, z] = xyz.map(\n (val, i) => val * (D50[i] as number)\n ) as TriColorChannels;\n return [\n 'xyz-d50',\n roundToPrecision(x, HEX),\n roundToPrecision(y, HEX),\n roundToPrecision(z, HEX),\n alpha\n ];\n};\n\n/**\n * parse lch()\n * @param value - lch color value\n * @param [opt] - options\n * @returns parsed color\n * - ['xyz-d50', x, y, z, alpha], ['lch', l, c, h, alpha]\n * - '(empty)', NullObject\n */\nexport const parseLch = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n if (!REG_LCH.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const COEF_PCT = 1.5;\n const [, val] = value.match(REG_LCH) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorChannels;\n let l, c, h;\n if (v1 === NONE) {\n l = 0;\n } else {\n l = parseFloat(v1);\n if (l < 0) {\n l = 0;\n }\n }\n if (v2 === NONE) {\n c = 0;\n } else {\n c = v2.endsWith('%') ? parseFloat(v2) * COEF_PCT : parseFloat(v2);\n }\n if (v3 === NONE) {\n h = 0;\n } else {\n h = angleToDeg(v3);\n }\n const alpha = parseAlpha(v4);\n if (REG_SPEC.test(format)) {\n return [\n 'lch',\n v1 === NONE ? v1 : roundToPrecision(l, HEX),\n v2 === NONE ? v2 : roundToPrecision(c, HEX),\n v3 === NONE ? v3 : roundToPrecision(h, HEX),\n v4 === NONE ? v4 : alpha\n ];\n }\n const a = c * Math.cos((h * Math.PI) / DEG_HALF);\n const b = c * Math.sin((h * Math.PI) / DEG_HALF);\n const [, x, y, z] = parseLab(`lab(${l} ${a} ${b})`) as ComputedColorChannels;\n return [\n 'xyz-d50',\n roundToPrecision(x, HEX),\n roundToPrecision(y, HEX),\n roundToPrecision(z, HEX),\n alpha as number\n ];\n};\n\n/**\n * parse oklab()\n * @param value - oklab color value\n * @param [opt] - options\n * @returns parsed color\n * - ['xyz-d65', x, y, z, alpha], ['oklab', l, a, b, alpha]\n * - '(empty)', NullObject\n */\nexport const parseOklab = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n if (!REG_OKLAB.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const COEF_PCT = 0.4;\n const [, val] = value.match(REG_OKLAB) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorChannels;\n let l, a, b;\n if (v1 === NONE) {\n l = 0;\n } else {\n l = v1.endsWith('%') ? parseFloat(v1) / MAX_PCT : parseFloat(v1);\n if (l < 0) {\n l = 0;\n }\n }\n if (v2 === NONE) {\n a = 0;\n } else if (v2.endsWith('%')) {\n a = (parseFloat(v2) * COEF_PCT) / MAX_PCT;\n } else {\n a = parseFloat(v2);\n }\n if (v3 === NONE) {\n b = 0;\n } else if (v3.endsWith('%')) {\n b = (parseFloat(v3) * COEF_PCT) / MAX_PCT;\n } else {\n b = parseFloat(v3);\n }\n const alpha = parseAlpha(v4);\n if (REG_SPEC.test(format)) {\n return [\n 'oklab',\n v1 === NONE ? v1 : roundToPrecision(l, HEX),\n v2 === NONE ? v2 : roundToPrecision(a, HEX),\n v3 === NONE ? v3 : roundToPrecision(b, HEX),\n v4 === NONE ? v4 : alpha\n ];\n }\n const lms = transformMatrix(MATRIX_OKLAB_TO_LMS, [l, a, b]);\n const xyzLms = lms.map(c => Math.pow(c, POW_CUBE)) as TriColorChannels;\n const [x, y, z] = transformMatrix(MATRIX_LMS_TO_XYZ, xyzLms, true);\n return [\n 'xyz-d65',\n roundToPrecision(x, HEX),\n roundToPrecision(y, HEX),\n roundToPrecision(z, HEX),\n alpha as number\n ];\n};\n\n/**\n * parse oklch()\n * @param value - oklch color value\n * @param [opt] - options\n * @returns parsed color\n * - ['xyz-d65', x, y, z, alpha], ['oklch', l, c, h, alpha]\n * - '(empty)', NullObject\n */\nexport const parseOklch = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n if (!REG_OKLCH.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const COEF_PCT = 0.4;\n const [, val] = value.match(REG_OKLCH) as MatchedRegExp;\n const [v1, v2, v3, v4 = ''] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorChannels;\n let l, c, h;\n if (v1 === NONE) {\n l = 0;\n } else {\n l = v1.endsWith('%') ? parseFloat(v1) / MAX_PCT : parseFloat(v1);\n if (l < 0) {\n l = 0;\n }\n }\n if (v2 === NONE) {\n c = 0;\n } else {\n if (v2.endsWith('%')) {\n c = (parseFloat(v2) * COEF_PCT) / MAX_PCT;\n } else {\n c = parseFloat(v2);\n }\n if (c < 0) {\n c = 0;\n }\n }\n if (v3 === NONE) {\n h = 0;\n } else {\n h = angleToDeg(v3);\n }\n const alpha = parseAlpha(v4);\n if (REG_SPEC.test(format)) {\n return [\n 'oklch',\n v1 === NONE ? v1 : roundToPrecision(l, HEX),\n v2 === NONE ? v2 : roundToPrecision(c, HEX),\n v3 === NONE ? v3 : roundToPrecision(h, HEX),\n v4 === NONE ? v4 : alpha\n ];\n }\n const a = c * Math.cos((h * Math.PI) / DEG_HALF);\n const b = c * Math.sin((h * Math.PI) / DEG_HALF);\n const lms = transformMatrix(MATRIX_OKLAB_TO_LMS, [l, a, b]);\n const xyzLms = lms.map(cc => Math.pow(cc, POW_CUBE)) as TriColorChannels;\n const [x, y, z] = transformMatrix(MATRIX_LMS_TO_XYZ, xyzLms, true);\n return [\n 'xyz-d65',\n roundToPrecision(x, HEX),\n roundToPrecision(y, HEX),\n roundToPrecision(z, HEX),\n alpha\n ];\n};\n\n/**\n * parse color()\n * @param value - color function value\n * @param [opt] - options\n * @returns parsed color\n * - ['xyz-(d50|d65)', x, y, z, alpha], [cs, r, g, b, alpha]\n * - '(empty)', NullObject\n */\nexport const parseColorFunc = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { colorSpace = '', d50 = false, format = '', nullable = false } = opt;\n if (!REG_FN_COLOR.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const [, val] = value.match(REG_FN_COLOR) as MatchedRegExp;\n let [cs, v1, v2, v3, v4 = ''] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorSpacedChannels;\n let r, g, b;\n if (cs === 'xyz') {\n cs = 'xyz-d65';\n }\n if (v1 === NONE) {\n r = 0;\n } else {\n r = v1.endsWith('%') ? parseFloat(v1) / MAX_PCT : parseFloat(v1);\n }\n if (v2 === NONE) {\n g = 0;\n } else {\n g = v2.endsWith('%') ? parseFloat(v2) / MAX_PCT : parseFloat(v2);\n }\n if (v3 === NONE) {\n b = 0;\n } else {\n b = v3.endsWith('%') ? parseFloat(v3) / MAX_PCT : parseFloat(v3);\n }\n const alpha = parseAlpha(v4);\n if (REG_SPEC.test(format) || (format === VAL_MIX && cs === colorSpace)) {\n return [\n cs,\n v1 === NONE ? v1 : roundToPrecision(r, DEC),\n v2 === NONE ? v2 : roundToPrecision(g, DEC),\n v3 === NONE ? v3 : roundToPrecision(b, DEC),\n v4 === NONE ? v4 : alpha\n ];\n }\n let x = 0;\n let y = 0;\n let z = 0;\n // srgb-linear\n if (cs === 'srgb-linear') {\n [x, y, z] = transformMatrix(MATRIX_L_RGB_TO_XYZ, [r, g, b]);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // display-p3\n } else if (cs === 'display-p3') {\n const linearRgb = transformRgbToLinearRgb([\n r * MAX_RGB,\n g * MAX_RGB,\n b * MAX_RGB\n ]);\n [x, y, z] = transformMatrix(MATRIX_P3_TO_XYZ, linearRgb);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // rec2020\n } else if (cs === 'rec2020') {\n const ALPHA = 1.09929682680944;\n const BETA = 0.018053968510807;\n const REC_COEF = 0.45;\n const rgb = [r, g, b].map(c => {\n let cl;\n if (c < BETA * REC_COEF * DEC) {\n cl = c / (REC_COEF * DEC);\n } else {\n cl = Math.pow((c + ALPHA - 1) / ALPHA, 1 / REC_COEF);\n }\n return cl;\n }) as TriColorChannels;\n [x, y, z] = transformMatrix(MATRIX_REC2020_TO_XYZ, rgb);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // a98-rgb\n } else if (cs === 'a98-rgb') {\n const POW_A98 = 563 / 256;\n const rgb = [r, g, b].map(c => {\n const cl = Math.pow(c, POW_A98);\n return cl;\n }) as TriColorChannels;\n [x, y, z] = transformMatrix(MATRIX_A98_TO_XYZ, rgb);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // prophoto-rgb\n } else if (cs === 'prophoto-rgb') {\n const POW_PROPHOTO = 1.8;\n const rgb = [r, g, b].map(c => {\n let cl;\n if (c > 1 / (HEX * DUO)) {\n cl = Math.pow(c, POW_PROPHOTO);\n } else {\n cl = c / HEX;\n }\n return cl;\n }) as TriColorChannels;\n [x, y, z] = transformMatrix(MATRIX_PROPHOTO_TO_XYZ_D50, rgb);\n if (!d50) {\n [x, y, z] = transformMatrix(MATRIX_D50_TO_D65, [x, y, z], true);\n }\n // xyz, xyz-d50, xyz-d65\n } else if (/^xyz(?:-d(?:50|65))?$/.test(cs)) {\n [x, y, z] = [r, g, b];\n if (cs === 'xyz-d50') {\n if (!d50) {\n [x, y, z] = transformMatrix(MATRIX_D50_TO_D65, [x, y, z]);\n }\n } else if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // srgb\n } else {\n [x, y, z] = transformRgbToXyz([r * MAX_RGB, g * MAX_RGB, b * MAX_RGB]);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n }\n return [\n d50 ? 'xyz-d50' : 'xyz-d65',\n roundToPrecision(x, HEX),\n roundToPrecision(y, HEX),\n roundToPrecision(z, HEX),\n format === VAL_MIX && v4 === NONE ? v4 : alpha\n ];\n};\n\n/**\n * parse color value\n * @param value - CSS color value\n * @param [opt] - options\n * @returns parsed color\n * - ['xyz-(d50|d65)', x, y, z, alpha], ['rgb', r, g, b, alpha]\n * - value, '(empty)', NullObject\n */\nexport const parseColorValue = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { d50 = false, format = '', nullable = false } = opt;\n if (!REG_COLOR.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n return res;\n }\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n let x = 0;\n let y = 0;\n let z = 0;\n let alpha = 0;\n // complement currentcolor as a missing color\n if (REG_CURRENT.test(value)) {\n if (format === VAL_COMP) {\n return ['rgb', 0, 0, 0, 0];\n }\n if (format === VAL_SPEC) {\n return value;\n }\n // named-color\n } else if (/^[a-z]+$/.test(value)) {\n if (Object.prototype.hasOwnProperty.call(NAMED_COLORS, value)) {\n if (format === VAL_SPEC) {\n return value;\n }\n const [r, g, b] = NAMED_COLORS[\n value as keyof typeof NAMED_COLORS\n ] as TriColorChannels;\n alpha = 1;\n if (format === VAL_COMP) {\n return ['rgb', r, g, b, alpha];\n }\n [x, y, z] = transformRgbToXyz([r, g, b], true);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n } else {\n switch (format) {\n case VAL_COMP: {\n if (nullable && value !== 'transparent') {\n return new NullObject();\n }\n return ['rgb', 0, 0, 0, 0];\n }\n case VAL_SPEC: {\n if (value === 'transparent') {\n return value;\n }\n return '';\n }\n case VAL_MIX: {\n if (value === 'transparent') {\n return ['rgb', 0, 0, 0, 0];\n }\n return new NullObject();\n }\n default:\n }\n }\n // hex-color\n } else if (value[0] === '#') {\n if (REG_SPEC.test(format)) {\n const rgb = convertHexToRgb(value);\n return ['rgb', ...rgb];\n }\n [x, y, z, alpha] = convertHexToXyz(value);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // lab()\n } else if (value.startsWith('lab')) {\n if (REG_SPEC.test(format)) {\n return parseLab(value, opt);\n }\n [, x, y, z, alpha] = parseLab(value) as ComputedColorChannels;\n if (!d50) {\n [x, y, z] = transformMatrix(MATRIX_D50_TO_D65, [x, y, z], true);\n }\n // lch()\n } else if (value.startsWith('lch')) {\n if (REG_SPEC.test(format)) {\n return parseLch(value, opt);\n }\n [, x, y, z, alpha] = parseLch(value) as ComputedColorChannels;\n if (!d50) {\n [x, y, z] = transformMatrix(MATRIX_D50_TO_D65, [x, y, z], true);\n }\n // oklab()\n } else if (value.startsWith('oklab')) {\n if (REG_SPEC.test(format)) {\n return parseOklab(value, opt);\n }\n [, x, y, z, alpha] = parseOklab(value) as ComputedColorChannels;\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n // oklch()\n } else if (value.startsWith('oklch')) {\n if (REG_SPEC.test(format)) {\n return parseOklch(value, opt);\n }\n [, x, y, z, alpha] = parseOklch(value) as ComputedColorChannels;\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n } else {\n let r, g, b;\n // hsl()\n if (value.startsWith('hsl')) {\n [, r, g, b, alpha] = parseHsl(value) as ComputedColorChannels;\n // hwb()\n } else if (value.startsWith('hwb')) {\n [, r, g, b, alpha] = parseHwb(value) as ComputedColorChannels;\n // rgb()\n } else {\n [, r, g, b, alpha] = parseRgb(value, opt) as ComputedColorChannels;\n }\n if (REG_SPEC.test(format)) {\n return ['rgb', Math.round(r), Math.round(g), Math.round(b), alpha];\n }\n [x, y, z] = transformRgbToXyz([r, g, b]);\n if (d50) {\n [x, y, z] = transformMatrix(MATRIX_D65_TO_D50, [x, y, z], true);\n }\n }\n return [\n d50 ? 'xyz-d50' : 'xyz-d65',\n roundToPrecision(x, HEX),\n roundToPrecision(y, HEX),\n roundToPrecision(z, HEX),\n alpha\n ];\n};\n\n/**\n * resolve color value\n * @param value - CSS color value\n * @param [opt] - options\n * @returns resolved color\n * - [cs, v1, v2, v3, alpha], value, '(empty)', NullObject\n */\nexport const resolveColorValue = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { colorSpace = '', format = '', nullable = false } = opt;\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'resolveColorValue',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n const cachedItem = cachedResult.item;\n if (isString(cachedItem)) {\n return cachedItem as string;\n }\n return cachedItem as SpecifiedColorChannels;\n }\n if (!REG_COLOR.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n setCache(cacheKey, null);\n return res;\n }\n setCache(cacheKey, res);\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n let cs = '';\n let r = 0;\n let g = 0;\n let b = 0;\n let alpha = 0;\n // complement currentcolor as a missing color\n if (REG_CURRENT.test(value)) {\n if (format === VAL_SPEC) {\n setCache(cacheKey, value);\n return value;\n }\n // named-color\n } else if (/^[a-z]+$/.test(value)) {\n if (Object.prototype.hasOwnProperty.call(NAMED_COLORS, value)) {\n if (format === VAL_SPEC) {\n setCache(cacheKey, value);\n return value;\n }\n [r, g, b] = NAMED_COLORS[\n value as keyof typeof NAMED_COLORS\n ] as TriColorChannels;\n alpha = 1;\n } else {\n switch (format) {\n case VAL_SPEC: {\n if (value === 'transparent') {\n setCache(cacheKey, value);\n return value;\n }\n const res = '';\n setCache(cacheKey, res);\n return res;\n }\n case VAL_MIX: {\n if (value === 'transparent') {\n const res: SpecifiedColorChannels = ['rgb', 0, 0, 0, 0];\n setCache(cacheKey, res);\n return res;\n }\n setCache(cacheKey, null);\n return new NullObject();\n }\n case VAL_COMP:\n default: {\n if (nullable && value !== 'transparent') {\n setCache(cacheKey, null);\n return new NullObject();\n }\n const res: SpecifiedColorChannels = ['rgb', 0, 0, 0, 0];\n setCache(cacheKey, res);\n return res;\n }\n }\n }\n // hex-color\n } else if (value[0] === '#') {\n [r, g, b, alpha] = convertHexToRgb(value);\n // hsl()\n } else if (value.startsWith('hsl')) {\n [, r, g, b, alpha] = parseHsl(value, opt) as ComputedColorChannels;\n // hwb()\n } else if (value.startsWith('hwb')) {\n [, r, g, b, alpha] = parseHwb(value, opt) as ComputedColorChannels;\n // lab(), lch()\n } else if (/^l(?:ab|ch)/.test(value)) {\n let x, y, z;\n if (value.startsWith('lab')) {\n [cs, x, y, z, alpha] = parseLab(value, opt) as ComputedColorChannels;\n } else {\n [cs, x, y, z, alpha] = parseLch(value, opt) as ComputedColorChannels;\n }\n if (REG_SPEC.test(format)) {\n const res: SpecifiedColorChannels = [cs, x, y, z, alpha];\n setCache(cacheKey, res);\n return res;\n }\n [r, g, b] = transformXyzD50ToRgb([x, y, z]);\n // oklab(), oklch()\n } else if (/^okl(?:ab|ch)/.test(value)) {\n let x, y, z;\n if (value.startsWith('oklab')) {\n [cs, x, y, z, alpha] = parseOklab(value, opt) as ComputedColorChannels;\n } else {\n [cs, x, y, z, alpha] = parseOklch(value, opt) as ComputedColorChannels;\n }\n if (REG_SPEC.test(format)) {\n const res: SpecifiedColorChannels = [cs, x, y, z, alpha];\n setCache(cacheKey, res);\n return res;\n }\n [r, g, b] = transformXyzToRgb([x, y, z]);\n // rgb()\n } else {\n [, r, g, b, alpha] = parseRgb(value, opt) as ComputedColorChannels;\n }\n if (format === VAL_MIX && colorSpace === 'srgb') {\n const res: SpecifiedColorChannels = [\n 'srgb',\n r / MAX_RGB,\n g / MAX_RGB,\n b / MAX_RGB,\n alpha\n ];\n setCache(cacheKey, res);\n return res;\n }\n const res: SpecifiedColorChannels = [\n 'rgb',\n Math.round(r),\n Math.round(g),\n Math.round(b),\n alpha\n ];\n setCache(cacheKey, res);\n return res;\n};\n\n/**\n * resolve color()\n * @param value - color function value\n * @param [opt] - options\n * @returns resolved color - [cs, v1, v2, v3, alpha], '(empty)', NullObject\n */\nexport const resolveColorFunc = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { colorSpace = '', format = '', nullable = false } = opt;\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'resolveColorFunc',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n const cachedItem = cachedResult.item;\n if (isString(cachedItem)) {\n return cachedItem as string;\n }\n return cachedItem as SpecifiedColorChannels;\n }\n if (!REG_FN_COLOR.test(value)) {\n const res = resolveInvalidColorValue(format, nullable);\n if (res instanceof NullObject) {\n setCache(cacheKey, null);\n return res;\n }\n setCache(cacheKey, res);\n if (isString(res)) {\n return res as string;\n }\n return res as SpecifiedColorChannels;\n }\n const [cs, v1, v2, v3, v4] = parseColorFunc(\n value,\n opt\n ) as SpecifiedColorChannels;\n if (REG_SPEC.test(format) || (format === VAL_MIX && cs === colorSpace)) {\n const res: SpecifiedColorChannels = [cs, v1, v2, v3, v4];\n setCache(cacheKey, res);\n return res;\n }\n const x = parseFloat(`${v1}`);\n const y = parseFloat(`${v2}`);\n const z = parseFloat(`${v3}`);\n const alpha = parseAlpha(`${v4}`);\n const [r, g, b] = transformXyzToRgb([x, y, z], true);\n const res: SpecifiedColorChannels = ['rgb', r, g, b, alpha];\n setCache(cacheKey, res);\n return res;\n};\n\n/**\n * convert color value to linear rgb\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [r, g, b, alpha] r|g|b|alpha: 0..1\n */\nexport const convertColorToLinearRgb = (\n value: string,\n opt: {\n colorSpace?: string;\n format?: string;\n } = {}\n): ColorChannels | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { colorSpace = '', format = '' } = opt;\n let cs = '';\n let r, g, b, alpha, x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [cs, x, y, z, alpha] = xyz as ComputedColorChannels;\n if (cs === colorSpace) {\n return [x, y, z, alpha];\n }\n [r, g, b] = transformMatrix(MATRIX_XYZ_TO_L_RGB, [x, y, z], true);\n } else if (value.startsWith(FN_COLOR)) {\n const [, val] = value.match(REG_FN_COLOR) as MatchedRegExp;\n const [cs] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorSpacedChannels;\n if (cs === 'srgb-linear') {\n [, r, g, b, alpha] = resolveColorFunc(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorFunc(value) as ComputedColorChannels;\n [r, g, b] = transformMatrix(MATRIX_XYZ_TO_L_RGB, [x, y, z], true);\n }\n } else {\n [, x, y, z, alpha] = parseColorValue(value) as ComputedColorChannels;\n [r, g, b] = transformMatrix(MATRIX_XYZ_TO_L_RGB, [x, y, z], true);\n }\n return [\n Math.min(Math.max(r, 0), 1),\n Math.min(Math.max(g, 0), 1),\n Math.min(Math.max(b, 0), 1),\n alpha\n ];\n};\n\n/**\n * convert color value to rgb\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject\n * - [r, g, b, alpha] r|g|b: 0..255 alpha: 0..1\n */\nexport const convertColorToRgb = (\n value: string,\n opt: Options = {}\n): ColorChannels | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let r, g, b, alpha;\n if (format === VAL_MIX) {\n let rgb;\n if (value.startsWith(FN_COLOR)) {\n rgb = resolveColorFunc(value, opt);\n } else {\n rgb = resolveColorValue(value, opt);\n }\n if (rgb instanceof NullObject) {\n return rgb;\n }\n [, r, g, b, alpha] = rgb as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n const [, val] = value.match(REG_FN_COLOR) as MatchedRegExp;\n const [cs] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorSpacedChannels;\n if (cs === 'srgb') {\n [, r, g, b, alpha] = resolveColorFunc(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n r *= MAX_RGB;\n g *= MAX_RGB;\n b *= MAX_RGB;\n } else {\n [, r, g, b, alpha] = resolveColorFunc(value) as ComputedColorChannels;\n }\n } else if (/^(?:ok)?l(?:ab|ch)/.test(value)) {\n [r, g, b, alpha] = convertColorToLinearRgb(value) as ColorChannels;\n [r, g, b] = transformLinearRgbToRgb([r, g, b]);\n } else {\n [, r, g, b, alpha] = resolveColorValue(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n }\n return [r, g, b, alpha];\n};\n\n/**\n * convert color value to xyz\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [x, y, z, alpha]\n */\nexport const convertColorToXyz = (\n value: string,\n opt: Options = {}\n): ColorChannels | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { d50 = false, format = '' } = opt;\n let x, y, z, alpha;\n if (format === VAL_MIX) {\n let xyz;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n const [, val] = value.match(REG_FN_COLOR) as MatchedRegExp;\n const [cs] = val\n .replace('/', ' ')\n .split(/\\s+/) as StringColorSpacedChannels;\n if (d50) {\n if (cs === 'xyz-d50') {\n [, x, y, z, alpha] = resolveColorFunc(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorFunc(\n value,\n opt\n ) as ComputedColorChannels;\n }\n } else if (/^xyz(?:-d65)?$/.test(cs)) {\n [, x, y, z, alpha] = resolveColorFunc(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorFunc(value) as ComputedColorChannels;\n }\n } else {\n [, x, y, z, alpha] = parseColorValue(value, opt) as ComputedColorChannels;\n }\n return [x, y, z, alpha];\n};\n\n/**\n * convert color value to hsl\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [h, s, l, alpha], hue may be powerless\n */\nexport const convertColorToHsl = (\n value: string,\n opt: Options = {}\n): ColorChannels | [number | string, number, number, number] | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let h, s, l, alpha;\n if (REG_HSL.test(value)) {\n [, h, s, l, alpha] = parseHsl(value, {\n format: 'hsl'\n }) as ComputedColorChannels;\n if (format === 'hsl') {\n return [Math.round(h), Math.round(s), Math.round(l), alpha];\n }\n return [h, s, l, alpha];\n }\n let x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n [, x, y, z, alpha] = parseColorFunc(value) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorValue(value) as ComputedColorChannels;\n }\n [h, s, l] = transformXyzToHsl([x, y, z], true) as TriColorChannels;\n if (format === 'hsl') {\n return [Math.round(h), Math.round(s), Math.round(l), alpha];\n }\n return [format === VAL_MIX && s === 0 ? NONE : h, s, l, alpha];\n};\n\n/**\n * convert color value to hwb\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [h, w, b, alpha], hue may be powerless\n */\nexport const convertColorToHwb = (\n value: string,\n opt: Options = {}\n): ColorChannels | [number | string, number, number, number] | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let h, w, b, alpha;\n if (REG_HWB.test(value)) {\n [, h, w, b, alpha] = parseHwb(value, {\n format: 'hwb'\n }) as ComputedColorChannels;\n if (format === 'hwb') {\n return [Math.round(h), Math.round(w), Math.round(b), alpha];\n }\n return [h, w, b, alpha];\n }\n let x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n [, x, y, z, alpha] = parseColorFunc(value) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorValue(value) as ComputedColorChannels;\n }\n [h, w, b] = transformXyzToHwb([x, y, z], true) as TriColorChannels;\n if (format === 'hwb') {\n return [Math.round(h), Math.round(w), Math.round(b), alpha];\n }\n return [format === VAL_MIX && w + b >= 100 ? NONE : h, w, b, alpha];\n};\n\n/**\n * convert color value to lab\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [l, a, b, alpha]\n */\nexport const convertColorToLab = (\n value: string,\n opt: Options = {}\n): ColorChannels | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let l, a, b, alpha;\n if (REG_LAB.test(value)) {\n [, l, a, b, alpha] = parseLab(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n return [l, a, b, alpha];\n }\n let x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n opt.d50 = true;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n [, x, y, z, alpha] = parseColorFunc(value, {\n d50: true\n }) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorValue(value, {\n d50: true\n }) as ComputedColorChannels;\n }\n [l, a, b] = transformXyzD50ToLab([x, y, z], true);\n return [l, a, b, alpha];\n};\n\n/**\n * convert color value to lch\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [l, c, h, alpha], hue may be powerless\n */\nexport const convertColorToLch = (\n value: string,\n opt: Options = {}\n): ColorChannels | [number, number, number | string, number] | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let l, c, h, alpha;\n if (REG_LCH.test(value)) {\n [, l, c, h, alpha] = parseLch(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n return [l, c, h, alpha];\n }\n let x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n opt.d50 = true;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n [, x, y, z, alpha] = parseColorFunc(value, {\n d50: true\n }) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorValue(value, {\n d50: true\n }) as ComputedColorChannels;\n }\n [l, c, h] = transformXyzD50ToLch([x, y, z], true);\n return [l, c, format === VAL_MIX && c === 0 ? NONE : h, alpha];\n};\n\n/**\n * convert color value to oklab\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [l, a, b, alpha]\n */\nexport const convertColorToOklab = (\n value: string,\n opt: Options = {}\n): ColorChannels | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let l, a, b, alpha;\n if (REG_OKLAB.test(value)) {\n [, l, a, b, alpha] = parseOklab(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n return [l, a, b, alpha];\n }\n let x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n [, x, y, z, alpha] = parseColorFunc(value) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorValue(value) as ComputedColorChannels;\n }\n [l, a, b] = transformXyzToOklab([x, y, z], true);\n return [l, a, b, alpha];\n};\n\n/**\n * convert color value to oklch\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels | NullObject - [l, c, h, alpha], hue may be powerless\n */\nexport const convertColorToOklch = (\n value: string,\n opt: Options = {}\n): ColorChannels | [number, number, number | string, number] | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '' } = opt;\n let l, c, h, alpha;\n if (REG_OKLCH.test(value)) {\n [, l, c, h, alpha] = parseOklch(value, {\n format: VAL_COMP\n }) as ComputedColorChannels;\n return [l, c, h, alpha];\n }\n let x, y, z;\n if (format === VAL_MIX) {\n let xyz;\n if (value.startsWith(FN_COLOR)) {\n xyz = parseColorFunc(value, opt);\n } else {\n xyz = parseColorValue(value, opt);\n }\n if (xyz instanceof NullObject) {\n return xyz;\n }\n [, x, y, z, alpha] = xyz as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n [, x, y, z, alpha] = parseColorFunc(value) as ComputedColorChannels;\n } else {\n [, x, y, z, alpha] = parseColorValue(value) as ComputedColorChannels;\n }\n [l, c, h] = transformXyzToOklch([x, y, z], true) as TriColorChannels;\n return [l, c, format === VAL_MIX && c === 0 ? NONE : h, alpha];\n};\n\n/**\n * resolve color-mix()\n * @param value - color-mix color value\n * @param [opt] - options\n * @returns resolved color - [cs, v1, v2, v3, alpha], '(empty)'\n */\nexport const resolveColorMix = (\n value: string,\n opt: Options = {}\n): SpecifiedColorChannels | string | NullObject => {\n if (isString(value)) {\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { format = '', nullable = false } = opt;\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'resolveColorMix',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n const cachedItem = cachedResult.item;\n if (isString(cachedItem)) {\n return cachedItem as string;\n }\n return cachedItem as SpecifiedColorChannels;\n }\n const nestedItems = [];\n if (!REG_MIX.test(value)) {\n if (value.startsWith(FN_MIX) && REG_MIX_NEST.test(value)) {\n const regColorSpace = new RegExp(`^(?:${CS_RGB}|${CS_XYZ})$`);\n const items = value.match(REG_MIX_NEST) as RegExpMatchArray;\n for (const item of items) {\n if (item) {\n let val = resolveColorMix(item, {\n format: format === VAL_SPEC ? format : VAL_COMP\n }) as ComputedColorChannels | string;\n // computed value\n if (Array.isArray(val)) {\n const [cs, v1, v2, v3, v4] = val as ComputedColorChannels;\n if (v1 === 0 && v2 === 0 && v3 === 0 && v4 === 0) {\n value = '';\n break;\n }\n if (regColorSpace.test(cs)) {\n if (v4 === 1) {\n val = `color(${cs} ${v1} ${v2} ${v3})`;\n } else {\n val = `color(${cs} ${v1} ${v2} ${v3} / ${v4})`;\n }\n } else if (v4 === 1) {\n val = `${cs}(${v1} ${v2} ${v3})`;\n } else {\n val = `${cs}(${v1} ${v2} ${v3} / ${v4})`;\n }\n } else if (!REG_MIX.test(val)) {\n value = '';\n break;\n }\n nestedItems.push(val);\n value = value.replace(item, val);\n }\n }\n if (!value) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n } else {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n }\n let colorSpace = '';\n let hueArc = '';\n let colorA = '';\n let pctA = '';\n let colorB = '';\n let pctB = '';\n if (nestedItems.length && format === VAL_SPEC) {\n const regColorSpace = new RegExp(`^color-mix\\\\(\\\\s*in\\\\s+(${CS_MIX})\\\\s*,`);\n const [, cs] = value.match(regColorSpace) as MatchedRegExp;\n if (REG_CS_HUE.test(cs)) {\n [, colorSpace, hueArc] = cs.match(REG_CS_HUE) as MatchedRegExp;\n } else {\n colorSpace = cs;\n }\n if (nestedItems.length === 2) {\n let [itemA, itemB] = nestedItems as [string, string];\n itemA = itemA.replace(/(?=[()])/g, '\\\\');\n itemB = itemB.replace(/(?=[()])/g, '\\\\');\n const regA = new RegExp(`(${itemA})(?:\\\\s+(${PCT}))?`);\n const regB = new RegExp(`(${itemB})(?:\\\\s+(${PCT}))?`);\n [, colorA, pctA] = value.match(regA) as MatchedRegExp;\n [, colorB, pctB] = value.match(regB) as MatchedRegExp;\n } else {\n let [item] = nestedItems as [string];\n item = item.replace(/(?=[()])/g, '\\\\');\n const itemPart = `${item}(?:\\\\s+${PCT})?`;\n const itemPartCapt = `(${item})(?:\\\\s+(${PCT}))?`;\n const regItemPart = new RegExp(`^${itemPartCapt}$`);\n const regLastItem = new RegExp(`${itemPartCapt}\\\\s*\\\\)$`);\n const regColorPart = new RegExp(`^(${SYN_COLOR_TYPE})(?:\\\\s+(${PCT}))?$`);\n // item is at the end\n if (regLastItem.test(value)) {\n const reg = new RegExp(\n `(${SYN_MIX_PART})\\\\s*,\\\\s*(${itemPart})\\\\s*\\\\)$`\n );\n const [, colorPartA, colorPartB] = value.match(reg) as MatchedRegExp;\n [, colorA, pctA] = colorPartA.match(regColorPart) as MatchedRegExp;\n [, colorB, pctB] = colorPartB.match(regItemPart) as MatchedRegExp;\n } else {\n const reg = new RegExp(\n `(${itemPart})\\\\s*,\\\\s*(${SYN_MIX_PART})\\\\s*\\\\)$`\n );\n const [, colorPartA, colorPartB] = value.match(reg) as MatchedRegExp;\n [, colorA, pctA] = colorPartA.match(regItemPart) as MatchedRegExp;\n [, colorB, pctB] = colorPartB.match(regColorPart) as MatchedRegExp;\n }\n }\n } else {\n const [, cs, colorPartA, colorPartB] = value.match(\n REG_MIX_CAPT\n ) as MatchedRegExp;\n const reg = new RegExp(`^(${SYN_COLOR_TYPE})(?:\\\\s+(${PCT}))?$`);\n [, colorA, pctA] = colorPartA.match(reg) as MatchedRegExp;\n [, colorB, pctB] = colorPartB.match(reg) as MatchedRegExp;\n if (REG_CS_HUE.test(cs)) {\n [, colorSpace, hueArc] = cs.match(REG_CS_HUE) as MatchedRegExp;\n } else {\n colorSpace = cs;\n }\n }\n // normalize percentages and set multipler\n let pA, pB, m;\n if (pctA && pctB) {\n const p1 = parseFloat(pctA) / MAX_PCT;\n const p2 = parseFloat(pctB) / MAX_PCT;\n if (p1 < 0 || p1 > 1 || p2 < 0 || p2 > 1) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n const factor = p1 + p2;\n if (factor === 0) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n pA = p1 / factor;\n pB = p2 / factor;\n m = factor < 1 ? factor : 1;\n } else {\n if (pctA) {\n pA = parseFloat(pctA) / MAX_PCT;\n if (pA < 0 || pA > 1) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n pB = 1 - pA;\n } else if (pctB) {\n pB = parseFloat(pctB) / MAX_PCT;\n if (pB < 0 || pB > 1) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n pA = 1 - pB;\n } else {\n pA = HALF;\n pB = HALF;\n }\n m = 1;\n }\n if (colorSpace === 'xyz') {\n colorSpace = 'xyz-d65';\n }\n // specified value\n if (format === VAL_SPEC) {\n let valueA = '';\n let valueB = '';\n if (colorA.startsWith(FN_MIX)) {\n valueA = colorA;\n } else if (colorA.startsWith(FN_COLOR)) {\n const [cs, v1, v2, v3, v4] = parseColorFunc(\n colorA,\n opt\n ) as SpecifiedColorChannels;\n if (v4 === 1) {\n valueA = `color(${cs} ${v1} ${v2} ${v3})`;\n } else {\n valueA = `color(${cs} ${v1} ${v2} ${v3} / ${v4})`;\n }\n } else {\n const val = parseColorValue(colorA, opt);\n if (Array.isArray(val)) {\n const [cs, v1, v2, v3, v4] = val;\n if (v4 === 1) {\n if (cs === 'rgb') {\n valueA = `${cs}(${v1}, ${v2}, ${v3})`;\n } else {\n valueA = `${cs}(${v1} ${v2} ${v3})`;\n }\n } else if (cs === 'rgb') {\n valueA = `${cs}a(${v1}, ${v2}, ${v3}, ${v4})`;\n } else {\n valueA = `${cs}(${v1} ${v2} ${v3} / ${v4})`;\n }\n } else {\n if (!isString(val) || !val) {\n setCache(cacheKey, '');\n return '';\n }\n valueA = val;\n }\n }\n if (colorB.startsWith(FN_MIX)) {\n valueB = colorB;\n } else if (colorB.startsWith(FN_COLOR)) {\n const [cs, v1, v2, v3, v4] = parseColorFunc(\n colorB,\n opt\n ) as SpecifiedColorChannels;\n if (v4 === 1) {\n valueB = `color(${cs} ${v1} ${v2} ${v3})`;\n } else {\n valueB = `color(${cs} ${v1} ${v2} ${v3} / ${v4})`;\n }\n } else {\n const val = parseColorValue(colorB, opt);\n if (Array.isArray(val)) {\n const [cs, v1, v2, v3, v4] = val;\n if (v4 === 1) {\n if (cs === 'rgb') {\n valueB = `${cs}(${v1}, ${v2}, ${v3})`;\n } else {\n valueB = `${cs}(${v1} ${v2} ${v3})`;\n }\n } else if (cs === 'rgb') {\n valueB = `${cs}a(${v1}, ${v2}, ${v3}, ${v4})`;\n } else {\n valueB = `${cs}(${v1} ${v2} ${v3} / ${v4})`;\n }\n } else {\n if (!isString(val) || !val) {\n setCache(cacheKey, '');\n return '';\n }\n valueB = val;\n }\n }\n if (pctA && pctB) {\n valueA += ` ${parseFloat(pctA)}%`;\n valueB += ` ${parseFloat(pctB)}%`;\n } else if (pctA) {\n const pA = parseFloat(pctA);\n if (pA !== MAX_PCT * HALF) {\n valueA += ` ${pA}%`;\n }\n } else if (pctB) {\n const pA = MAX_PCT - parseFloat(pctB);\n if (pA !== MAX_PCT * HALF) {\n valueA += ` ${pA}%`;\n }\n }\n if (hueArc) {\n const res = `color-mix(in ${colorSpace} ${hueArc} hue, ${valueA}, ${valueB})`;\n setCache(cacheKey, res);\n return res;\n } else {\n const res = `color-mix(in ${colorSpace}, ${valueA}, ${valueB})`;\n setCache(cacheKey, res);\n return res;\n }\n }\n let r = 0;\n let g = 0;\n let b = 0;\n let alpha = 0;\n // in srgb, srgb-linear\n if (/^srgb(?:-linear)?$/.test(colorSpace)) {\n let rgbA, rgbB;\n if (colorSpace === 'srgb') {\n if (REG_CURRENT.test(colorA)) {\n rgbA = [NONE, NONE, NONE, NONE];\n } else {\n rgbA = convertColorToRgb(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n rgbB = [NONE, NONE, NONE, NONE];\n } else {\n rgbB = convertColorToRgb(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n } else {\n if (REG_CURRENT.test(colorA)) {\n rgbA = [NONE, NONE, NONE, NONE];\n } else {\n rgbA = convertColorToLinearRgb(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n rgbB = [NONE, NONE, NONE, NONE];\n } else {\n rgbB = convertColorToLinearRgb(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n }\n if (rgbA instanceof NullObject || rgbB instanceof NullObject) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n const [rrA, ggA, bbA, aaA] = rgbA as NumStrColorChannels;\n const [rrB, ggB, bbB, aaB] = rgbB as NumStrColorChannels;\n const rNone = rrA === NONE && rrB === NONE;\n const gNone = ggA === NONE && ggB === NONE;\n const bNone = bbA === NONE && bbB === NONE;\n const alphaNone = aaA === NONE && aaB === NONE;\n const [[rA, gA, bA, alphaA], [rB, gB, bB, alphaB]] =\n normalizeColorComponents(\n [rrA, ggA, bbA, aaA],\n [rrB, ggB, bbB, aaB],\n true\n );\n const factorA = alphaA * pA;\n const factorB = alphaB * pB;\n alpha = factorA + factorB;\n if (alpha === 0) {\n r = rA * pA + rB * pB;\n g = gA * pA + gB * pB;\n b = bA * pA + bB * pB;\n } else {\n r = (rA * factorA + rB * factorB) / alpha;\n g = (gA * factorA + gB * factorB) / alpha;\n b = (bA * factorA + bB * factorB) / alpha;\n alpha = parseFloat(alpha.toFixed(3));\n }\n if (format === VAL_COMP) {\n const res: SpecifiedColorChannels = [\n colorSpace,\n rNone ? NONE : roundToPrecision(r, HEX),\n gNone ? NONE : roundToPrecision(g, HEX),\n bNone ? NONE : roundToPrecision(b, HEX),\n alphaNone ? NONE : alpha * m\n ];\n setCache(cacheKey, res);\n return res;\n }\n r *= MAX_RGB;\n g *= MAX_RGB;\n b *= MAX_RGB;\n // in xyz, xyz-d65, xyz-d50\n } else if (REG_CS_XYZ.test(colorSpace)) {\n let xyzA, xyzB;\n if (REG_CURRENT.test(colorA)) {\n xyzA = [NONE, NONE, NONE, NONE];\n } else {\n xyzA = convertColorToXyz(colorA, {\n colorSpace,\n d50: colorSpace === 'xyz-d50',\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n xyzB = [NONE, NONE, NONE, NONE];\n } else {\n xyzB = convertColorToXyz(colorB, {\n colorSpace,\n d50: colorSpace === 'xyz-d50',\n format: VAL_MIX\n });\n }\n if (xyzA instanceof NullObject || xyzB instanceof NullObject) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n const [xxA, yyA, zzA, aaA] = xyzA;\n const [xxB, yyB, zzB, aaB] = xyzB;\n const xNone = xxA === NONE && xxB === NONE;\n const yNone = yyA === NONE && yyB === NONE;\n const zNone = zzA === NONE && zzB === NONE;\n const alphaNone = aaA === NONE && aaB === NONE;\n const [[xA, yA, zA, alphaA], [xB, yB, zB, alphaB]] =\n normalizeColorComponents(\n [xxA, yyA, zzA, aaA],\n [xxB, yyB, zzB, aaB],\n true\n );\n const factorA = alphaA * pA;\n const factorB = alphaB * pB;\n alpha = factorA + factorB;\n let x, y, z;\n if (alpha === 0) {\n x = xA * pA + xB * pB;\n y = yA * pA + yB * pB;\n z = zA * pA + zB * pB;\n } else {\n x = (xA * factorA + xB * factorB) / alpha;\n y = (yA * factorA + yB * factorB) / alpha;\n z = (zA * factorA + zB * factorB) / alpha;\n alpha = parseFloat(alpha.toFixed(3));\n }\n if (format === VAL_COMP) {\n const res: SpecifiedColorChannels = [\n colorSpace,\n xNone ? NONE : roundToPrecision(x, HEX),\n yNone ? NONE : roundToPrecision(y, HEX),\n zNone ? NONE : roundToPrecision(z, HEX),\n alphaNone ? NONE : alpha * m\n ];\n setCache(cacheKey, res);\n return res;\n }\n if (colorSpace === 'xyz-d50') {\n [r, g, b] = transformXyzD50ToRgb([x, y, z], true);\n } else {\n [r, g, b] = transformXyzToRgb([x, y, z], true);\n }\n // in hsl, hwb\n } else if (/^h(?:sl|wb)$/.test(colorSpace)) {\n let hslA, hslB;\n if (colorSpace === 'hsl') {\n if (REG_CURRENT.test(colorA)) {\n hslA = [NONE, NONE, NONE, NONE];\n } else {\n hslA = convertColorToHsl(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n hslB = [NONE, NONE, NONE, NONE];\n } else {\n hslB = convertColorToHsl(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n } else {\n if (REG_CURRENT.test(colorA)) {\n hslA = [NONE, NONE, NONE, NONE];\n } else {\n hslA = convertColorToHwb(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n hslB = [NONE, NONE, NONE, NONE];\n } else {\n hslB = convertColorToHwb(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n }\n if (hslA instanceof NullObject || hslB instanceof NullObject) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n const [hhA, ssA, llA, aaA] = hslA;\n const [hhB, ssB, llB, aaB] = hslB;\n const alphaNone = aaA === NONE && aaB === NONE;\n let [[hA, sA, lA, alphaA], [hB, sB, lB, alphaB]] = normalizeColorComponents(\n [hhA, ssA, llA, aaA],\n [hhB, ssB, llB, aaB],\n true\n );\n if (hueArc) {\n [hA, hB] = interpolateHue(hA, hB, hueArc);\n }\n const factorA = alphaA * pA;\n const factorB = alphaB * pB;\n alpha = factorA + factorB;\n const h = (hA * pA + hB * pB) % DEG;\n let s, l;\n if (alpha === 0) {\n s = sA * pA + sB * pB;\n l = lA * pA + lB * pB;\n } else {\n s = (sA * factorA + sB * factorB) / alpha;\n l = (lA * factorA + lB * factorB) / alpha;\n alpha = parseFloat(alpha.toFixed(3));\n }\n [r, g, b] = convertColorToRgb(\n `${colorSpace}(${h} ${s} ${l})`\n ) as ColorChannels;\n if (format === VAL_COMP) {\n const res: SpecifiedColorChannels = [\n 'srgb',\n roundToPrecision(r / MAX_RGB, HEX),\n roundToPrecision(g / MAX_RGB, HEX),\n roundToPrecision(b / MAX_RGB, HEX),\n alphaNone ? NONE : alpha * m\n ];\n setCache(cacheKey, res);\n return res;\n }\n // in lch, oklch\n } else if (/^(?:ok)?lch$/.test(colorSpace)) {\n let lchA, lchB;\n if (colorSpace === 'lch') {\n if (REG_CURRENT.test(colorA)) {\n lchA = [NONE, NONE, NONE, NONE];\n } else {\n lchA = convertColorToLch(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n lchB = [NONE, NONE, NONE, NONE];\n } else {\n lchB = convertColorToLch(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n } else {\n if (REG_CURRENT.test(colorA)) {\n lchA = [NONE, NONE, NONE, NONE];\n } else {\n lchA = convertColorToOklch(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n lchB = [NONE, NONE, NONE, NONE];\n } else {\n lchB = convertColorToOklch(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n }\n if (lchA instanceof NullObject || lchB instanceof NullObject) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n const [llA, ccA, hhA, aaA] = lchA;\n const [llB, ccB, hhB, aaB] = lchB;\n const lNone = llA === NONE && llB === NONE;\n const cNone = ccA === NONE && ccB === NONE;\n const hNone = hhA === NONE && hhB === NONE;\n const alphaNone = aaA === NONE && aaB === NONE;\n let [[lA, cA, hA, alphaA], [lB, cB, hB, alphaB]] = normalizeColorComponents(\n [llA, ccA, hhA, aaA],\n [llB, ccB, hhB, aaB],\n true\n );\n if (hueArc) {\n [hA, hB] = interpolateHue(hA, hB, hueArc);\n }\n const factorA = alphaA * pA;\n const factorB = alphaB * pB;\n alpha = factorA + factorB;\n const h = (hA * pA + hB * pB) % DEG;\n let l, c;\n if (alpha === 0) {\n l = lA * pA + lB * pB;\n c = cA * pA + cB * pB;\n } else {\n l = (lA * factorA + lB * factorB) / alpha;\n c = (cA * factorA + cB * factorB) / alpha;\n alpha = parseFloat(alpha.toFixed(3));\n }\n if (format === VAL_COMP) {\n const res: SpecifiedColorChannels = [\n colorSpace,\n lNone ? NONE : roundToPrecision(l, HEX),\n cNone ? NONE : roundToPrecision(c, HEX),\n hNone ? NONE : roundToPrecision(h, HEX),\n alphaNone ? NONE : alpha * m\n ];\n setCache(cacheKey, res);\n return res;\n }\n [, r, g, b] = resolveColorValue(\n `${colorSpace}(${l} ${c} ${h})`\n ) as ComputedColorChannels;\n // in lab, oklab\n } else {\n let labA, labB;\n if (colorSpace === 'lab') {\n if (REG_CURRENT.test(colorA)) {\n labA = [NONE, NONE, NONE, NONE];\n } else {\n labA = convertColorToLab(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n labB = [NONE, NONE, NONE, NONE];\n } else {\n labB = convertColorToLab(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n } else {\n if (REG_CURRENT.test(colorA)) {\n labA = [NONE, NONE, NONE, NONE];\n } else {\n labA = convertColorToOklab(colorA, {\n colorSpace,\n format: VAL_MIX\n });\n }\n if (REG_CURRENT.test(colorB)) {\n labB = [NONE, NONE, NONE, NONE];\n } else {\n labB = convertColorToOklab(colorB, {\n colorSpace,\n format: VAL_MIX\n });\n }\n }\n if (labA instanceof NullObject || labB instanceof NullObject) {\n const res = cacheInvalidColorValue(cacheKey, format, nullable);\n return res;\n }\n const [llA, aaA, bbA, alA] = labA;\n const [llB, aaB, bbB, alB] = labB;\n const lNone = llA === NONE && llB === NONE;\n const aNone = aaA === NONE && aaB === NONE;\n const bNone = bbA === NONE && bbB === NONE;\n const alphaNone = alA === NONE && alB === NONE;\n const [[lA, aA, bA, alphaA], [lB, aB, bB, alphaB]] =\n normalizeColorComponents(\n [llA, aaA, bbA, alA],\n [llB, aaB, bbB, alB],\n true\n );\n const factorA = alphaA * pA;\n const factorB = alphaB * pB;\n alpha = factorA + factorB;\n let l, aO, bO;\n if (alpha === 0) {\n l = lA * pA + lB * pB;\n aO = aA * pA + aB * pB;\n bO = bA * pA + bB * pB;\n } else {\n l = (lA * factorA + lB * factorB) / alpha;\n aO = (aA * factorA + aB * factorB) / alpha;\n bO = (bA * factorA + bB * factorB) / alpha;\n alpha = parseFloat(alpha.toFixed(3));\n }\n if (format === VAL_COMP) {\n const res: SpecifiedColorChannels = [\n colorSpace,\n lNone ? NONE : roundToPrecision(l, HEX),\n aNone ? NONE : roundToPrecision(aO, HEX),\n bNone ? NONE : roundToPrecision(bO, HEX),\n alphaNone ? NONE : alpha * m\n ];\n setCache(cacheKey, res);\n return res;\n }\n [, r, g, b] = resolveColorValue(\n `${colorSpace}(${l} ${aO} ${bO})`\n ) as ComputedColorChannels;\n }\n const res: SpecifiedColorChannels = [\n 'rgb',\n Math.round(r),\n Math.round(g),\n Math.round(b),\n parseFloat((alpha * m).toFixed(3))\n ];\n setCache(cacheKey, res);\n return res;\n};\n","/**\n * css-var\n */\n\nimport { CSSToken, TokenType, tokenize } from '@csstools/css-tokenizer';\nimport {\n CacheItem,\n NullObject,\n createCacheKey,\n getCache,\n setCache\n} from './cache';\nimport { isString } from './common';\nimport { cssCalc } from './css-calc';\nimport { isColor } from './util';\nimport { Options } from './typedef';\n\n/* constants */\nimport { FN_VAR, SYN_FN_CALC, SYN_FN_VAR, VAL_SPEC } from './constant';\nconst {\n CloseParen: PAREN_CLOSE,\n Comment: COMMENT,\n EOF,\n Ident: IDENT,\n Whitespace: W_SPACE\n} = TokenType;\nconst NAMESPACE = 'css-var';\n\n/* regexp */\nconst REG_FN_CALC = new RegExp(SYN_FN_CALC);\nconst REG_FN_VAR = new RegExp(SYN_FN_VAR);\n\n/**\n * resolve custom property\n * @param tokens - CSS tokens\n * @param [opt] - options\n * @returns result - [tokens, resolvedValue]\n */\nexport function resolveCustomProperty(\n tokens: CSSToken[],\n opt: Options = {}\n): [CSSToken[], string] {\n if (!Array.isArray(tokens)) {\n throw new TypeError(`${tokens} is not an array.`);\n }\n const { customProperty = {} } = opt;\n const items: string[] = [];\n while (tokens.length) {\n const token = tokens.shift();\n if (!Array.isArray(token)) {\n throw new TypeError(`${token} is not an array.`);\n }\n const [type, value] = token as [TokenType, string];\n // end of var()\n if (type === PAREN_CLOSE) {\n break;\n }\n // nested var()\n if (value === FN_VAR) {\n const [restTokens, item] = resolveCustomProperty(tokens, opt);\n tokens = restTokens;\n if (item) {\n items.push(item);\n }\n } else if (type === IDENT) {\n if (value.startsWith('--')) {\n let item;\n if (Object.hasOwnProperty.call(customProperty, value)) {\n item = customProperty[value] as string;\n } else if (typeof customProperty.callback === 'function') {\n item = customProperty.callback(value);\n }\n if (item) {\n items.push(item);\n }\n } else if (value) {\n items.push(value);\n }\n }\n }\n let resolveAsColor = false;\n if (items.length > 1) {\n const lastValue = items[items.length - 1];\n resolveAsColor = isColor(lastValue);\n }\n let resolvedValue = '';\n for (let item of items) {\n item = item.trim();\n if (REG_FN_VAR.test(item)) {\n // recurse resolveVar()\n const resolvedItem = resolveVar(item, opt);\n if (isString(resolvedItem)) {\n if (resolveAsColor) {\n if (isColor(resolvedItem)) {\n resolvedValue = resolvedItem;\n }\n } else {\n resolvedValue = resolvedItem;\n }\n }\n } else if (REG_FN_CALC.test(item)) {\n item = cssCalc(item, opt);\n if (resolveAsColor) {\n if (isColor(item)) {\n resolvedValue = item;\n }\n } else {\n resolvedValue = item;\n }\n } else if (\n item &&\n !/^(?:inherit|initial|revert(?:-layer)?|unset)$/.test(item)\n ) {\n if (resolveAsColor) {\n if (isColor(item)) {\n resolvedValue = item;\n }\n } else {\n resolvedValue = item;\n }\n }\n if (resolvedValue) {\n break;\n }\n }\n return [tokens, resolvedValue];\n}\n\n/**\n * parse tokens\n * @param tokens - CSS tokens\n * @param [opt] - options\n * @returns parsed tokens\n */\nexport function parseTokens(\n tokens: CSSToken[],\n opt: Options = {}\n): string[] | NullObject {\n const res: string[] = [];\n while (tokens.length) {\n const token = tokens.shift();\n const [type = '', value = ''] = token as [TokenType, string];\n if (value === FN_VAR) {\n const [restTokens, resolvedValue] = resolveCustomProperty(tokens, opt);\n if (!resolvedValue) {\n return new NullObject();\n }\n tokens = restTokens;\n res.push(resolvedValue);\n } else {\n switch (type) {\n case PAREN_CLOSE: {\n if (res.length) {\n const lastValue = res[res.length - 1];\n if (lastValue === ' ') {\n res.splice(-1, 1, value);\n } else {\n res.push(value);\n }\n } else {\n res.push(value);\n }\n break;\n }\n case W_SPACE: {\n if (res.length) {\n const lastValue = res[res.length - 1];\n if (\n isString(lastValue) &&\n !lastValue.endsWith('(') &&\n lastValue !== ' '\n ) {\n res.push(value);\n }\n }\n break;\n }\n default: {\n if (type !== COMMENT && type !== EOF) {\n res.push(value);\n }\n }\n }\n }\n }\n return res;\n}\n\n/**\n * resolve CSS var()\n * @param value - CSS value including var()\n * @param [opt] - options\n * @returns resolved value\n */\nexport function resolveVar(\n value: string,\n opt: Options = {}\n): string | NullObject {\n const { format = '' } = opt;\n if (isString(value)) {\n if (!REG_FN_VAR.test(value) || format === VAL_SPEC) {\n return value;\n }\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'resolveVar',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n return cachedResult.item as string;\n }\n const tokens = tokenize({ css: value });\n const values = parseTokens(tokens, opt);\n if (Array.isArray(values)) {\n let color = values.join('');\n if (REG_FN_CALC.test(color)) {\n color = cssCalc(color, opt);\n }\n setCache(cacheKey, color);\n return color;\n } else {\n setCache(cacheKey, null);\n return new NullObject();\n }\n}\n\n/**\n * CSS var()\n * @param value - CSS value including var()\n * @param [opt] - options\n * @returns resolved value\n */\nexport const cssVar = (value: string, opt: Options = {}): string => {\n const resolvedValue = resolveVar(value, opt);\n if (isString(resolvedValue)) {\n return resolvedValue;\n }\n return '';\n};\n","/**\n * relative-color\n */\n\nimport { SyntaxFlag, color as colorParser } from '@csstools/css-color-parser';\nimport {\n ComponentValue,\n parseComponentValue\n} from '@csstools/css-parser-algorithms';\nimport { CSSToken, TokenType, tokenize } from '@csstools/css-tokenizer';\nimport {\n CacheItem,\n NullObject,\n createCacheKey,\n getCache,\n setCache\n} from './cache';\nimport { NAMED_COLORS, convertColorToRgb } from './color';\nimport { isString, isStringOrNumber } from './common';\nimport { resolveDimension, serializeCalc } from './css-calc';\nimport { resolveColor } from './resolve';\nimport { roundToPrecision } from './util';\nimport {\n ColorChannels,\n MatchedRegExp,\n Options,\n StringColorChannels\n} from './typedef';\n\n/* constants */\nimport {\n CS_LAB,\n CS_LCH,\n FN_REL,\n FN_REL_CAPT,\n FN_VAR,\n NONE,\n SYN_COLOR_TYPE,\n SYN_FN_MATH_START,\n SYN_FN_VAR,\n SYN_MIX,\n VAL_SPEC\n} from './constant';\nconst {\n CloseParen: PAREN_CLOSE,\n Comment: COMMENT,\n Dimension: DIM,\n EOF,\n Function: FUNC,\n Ident: IDENT,\n Number: NUM,\n OpenParen: PAREN_OPEN,\n Percentage: PCT,\n Whitespace: W_SPACE\n} = TokenType;\nconst { HasNoneKeywords: KEY_NONE } = SyntaxFlag;\nconst NAMESPACE = 'relative-color';\n\n/* numeric constants */\nconst OCT = 8;\nconst DEC = 10;\nconst HEX = 16;\nconst MAX_PCT = 100;\nconst MAX_RGB = 255;\n\n/* type definitions */\n/**\n * @type NumberOrStringColorChannels - color channel\n */\ntype NumberOrStringColorChannels = ColorChannels & StringColorChannels;\n\n/* regexp */\nconst REG_COLOR_CAPT = new RegExp(\n `^${FN_REL}(${SYN_COLOR_TYPE}|${SYN_MIX})\\\\s+`\n);\nconst REG_CS_HSL = /(?:hsla?|hwb)$/;\nconst REG_CS_CIE = new RegExp(`^(?:${CS_LAB}|${CS_LCH})$`);\nconst REG_FN_MATH_START = new RegExp(SYN_FN_MATH_START);\nconst REG_FN_REL = new RegExp(FN_REL);\nconst REG_FN_REL_CAPT = new RegExp(`^${FN_REL_CAPT}`);\nconst REG_FN_REL_START = new RegExp(`^${FN_REL}`);\nconst REG_FN_VAR = new RegExp(SYN_FN_VAR);\n\n/**\n * resolve relative color channels\n * @param tokens - CSS tokens\n * @param [opt] - options\n * @returns resolved color channels\n */\nexport function resolveColorChannels(\n tokens: CSSToken[],\n opt: Options = {}\n): NumberOrStringColorChannels | NullObject {\n if (!Array.isArray(tokens)) {\n throw new TypeError(`${tokens} is not an array.`);\n }\n const { colorSpace = '', format = '' } = opt;\n const colorChannels = new Map([\n ['color', ['r', 'g', 'b', 'alpha']],\n ['hsl', ['h', 's', 'l', 'alpha']],\n ['hsla', ['h', 's', 'l', 'alpha']],\n ['hwb', ['h', 'w', 'b', 'alpha']],\n ['lab', ['l', 'a', 'b', 'alpha']],\n ['lch', ['l', 'c', 'h', 'alpha']],\n ['oklab', ['l', 'a', 'b', 'alpha']],\n ['oklch', ['l', 'c', 'h', 'alpha']],\n ['rgb', ['r', 'g', 'b', 'alpha']],\n ['rgba', ['r', 'g', 'b', 'alpha']]\n ]);\n const colorChannel = colorChannels.get(colorSpace);\n // invalid color channel\n if (!colorChannel) {\n return new NullObject();\n }\n const mathFunc = new Set();\n const channels: [\n (number | string)[],\n (number | string)[],\n (number | string)[],\n (number | string)[]\n ] = [[], [], [], []];\n let i = 0;\n let nest = 0;\n let func = false;\n while (tokens.length) {\n const token = tokens.shift();\n if (!Array.isArray(token)) {\n throw new TypeError(`${token} is not an array.`);\n }\n const [type, value, , , detail] = token as [\n TokenType,\n string,\n number,\n number,\n { value: string | number } | undefined\n ];\n const channel = channels[i];\n if (Array.isArray(channel)) {\n switch (type) {\n case DIM: {\n const resolvedValue = resolveDimension(token, opt);\n if (isString(resolvedValue)) {\n channel.push(resolvedValue);\n } else {\n channel.push(value);\n }\n break;\n }\n case FUNC: {\n channel.push(value);\n func = true;\n nest++;\n if (REG_FN_MATH_START.test(value)) {\n mathFunc.add(nest);\n }\n break;\n }\n case IDENT: {\n // invalid channel key\n if (!colorChannel.includes(value)) {\n return new NullObject();\n }\n channel.push(value);\n if (!func) {\n i++;\n }\n break;\n }\n case NUM: {\n channel.push(Number(detail?.value));\n if (!func) {\n i++;\n }\n break;\n }\n case PAREN_OPEN: {\n channel.push(value);\n nest++;\n break;\n }\n case PAREN_CLOSE: {\n if (func) {\n const lastValue = channel[channel.length - 1];\n if (lastValue === ' ') {\n channel.splice(-1, 1, value);\n } else {\n channel.push(value);\n }\n if (mathFunc.has(nest)) {\n mathFunc.delete(nest);\n }\n nest--;\n if (nest === 0) {\n func = false;\n i++;\n }\n }\n break;\n }\n case PCT: {\n channel.push(Number(detail?.value) / MAX_PCT);\n if (!func) {\n i++;\n }\n break;\n }\n case W_SPACE: {\n if (channel.length && func) {\n const lastValue = channel[channel.length - 1];\n if (typeof lastValue === 'number') {\n channel.push(value);\n } else if (\n isString(lastValue) &&\n !lastValue.endsWith('(') &&\n lastValue !== ' '\n ) {\n channel.push(value);\n }\n }\n break;\n }\n default: {\n if (type !== COMMENT && type !== EOF && func) {\n channel.push(value);\n }\n }\n }\n }\n }\n const channelValues = [];\n for (const channel of channels) {\n if (channel.length === 1) {\n const [resolvedValue] = channel;\n if (isStringOrNumber(resolvedValue)) {\n channelValues.push(resolvedValue);\n }\n } else if (channel.length) {\n const resolvedValue = serializeCalc(channel.join(''), {\n format\n });\n channelValues.push(resolvedValue);\n }\n }\n return channelValues as NumberOrStringColorChannels;\n}\n\n/**\n * extract origin color\n * @param value - CSS color value\n * @param [opt] - options\n * @returns origin color value\n */\nexport function extractOriginColor(\n value: string,\n opt: Options = {}\n): string | NullObject {\n const { currentColor = '', format = '' } = opt;\n if (isString(value)) {\n value = value.toLowerCase().trim();\n if (!value) {\n return new NullObject();\n }\n if (!REG_FN_REL_START.test(value)) {\n return value;\n }\n } else {\n return new NullObject();\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'extractOriginColor',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n return cachedResult.item as string;\n }\n if (/currentcolor/.test(value)) {\n if (currentColor) {\n value = value.replace(/currentcolor/g, currentColor);\n } else {\n setCache(cacheKey, null);\n return new NullObject();\n }\n }\n let colorSpace = '';\n if (REG_FN_REL_CAPT.test(value)) {\n [, colorSpace] = value.match(REG_FN_REL_CAPT) as MatchedRegExp;\n }\n opt.colorSpace = colorSpace;\n if (REG_COLOR_CAPT.test(value)) {\n const [, originColor] = value.match(REG_COLOR_CAPT) as MatchedRegExp;\n const [, restValue] = value.split(originColor) as MatchedRegExp;\n if (/^[a-z]+$/.test(originColor)) {\n if (\n !/^transparent$/.test(originColor) &&\n !Object.prototype.hasOwnProperty.call(NAMED_COLORS, originColor)\n ) {\n setCache(cacheKey, null);\n return new NullObject();\n }\n } else if (format === VAL_SPEC) {\n const resolvedOriginColor = resolveColor(originColor, opt);\n if (isString(resolvedOriginColor)) {\n value = value.replace(originColor, resolvedOriginColor);\n }\n }\n if (format === VAL_SPEC) {\n const tokens = tokenize({ css: restValue });\n const channelValues = resolveColorChannels(tokens, opt);\n if (channelValues instanceof NullObject) {\n setCache(cacheKey, null);\n return channelValues;\n }\n const [v1, v2, v3, v4] = channelValues;\n let channelValue = '';\n if (isStringOrNumber(v4)) {\n channelValue = ` ${v1} ${v2} ${v3} / ${v4})`;\n } else {\n channelValue = ` ${channelValues.join(' ')})`;\n }\n if (restValue !== channelValue) {\n value = value.replace(restValue, channelValue);\n }\n }\n // nested relative color\n } else {\n const [, restValue] = value.split(REG_FN_REL_START) as MatchedRegExp;\n const tokens = tokenize({ css: restValue });\n const originColor: string[] = [];\n let nest = 0;\n while (tokens.length) {\n const [type, tokenValue] = tokens.shift() as [TokenType, string];\n switch (type) {\n case FUNC:\n case PAREN_OPEN: {\n originColor.push(tokenValue);\n nest++;\n break;\n }\n case PAREN_CLOSE: {\n const lastValue = originColor[originColor.length - 1];\n if (lastValue === ' ') {\n originColor.splice(-1, 1, tokenValue);\n } else if (isString(lastValue)) {\n originColor.push(tokenValue);\n }\n nest--;\n break;\n }\n case W_SPACE: {\n const lastValue = originColor[originColor.length - 1];\n if (\n isString(lastValue) &&\n !lastValue.endsWith('(') &&\n lastValue !== ' '\n ) {\n originColor.push(tokenValue);\n }\n break;\n }\n default: {\n if (type !== COMMENT && type !== EOF) {\n originColor.push(tokenValue);\n }\n }\n }\n if (nest === 0) {\n break;\n }\n }\n const resolvedOriginColor = resolveRelativeColor(\n originColor.join('').trim(),\n opt\n );\n if (resolvedOriginColor instanceof NullObject) {\n setCache(cacheKey, null);\n return resolvedOriginColor;\n }\n const channelValues = resolveColorChannels(tokens, opt);\n if (channelValues instanceof NullObject) {\n setCache(cacheKey, null);\n return channelValues;\n }\n const [v1, v2, v3, v4] = channelValues;\n let channelValue = '';\n if (isStringOrNumber(v4)) {\n channelValue = ` ${v1} ${v2} ${v3} / ${v4})`;\n } else {\n channelValue = ` ${channelValues.join(' ')})`;\n }\n value = value.replace(restValue, `${resolvedOriginColor}${channelValue}`);\n }\n setCache(cacheKey, value);\n return value;\n}\n\n/**\n * resolve relative color\n * @param value - CSS relative color value\n * @param [opt] - options\n * @returns resolved value\n */\nexport function resolveRelativeColor(\n value: string,\n opt: Options = {}\n): string | NullObject {\n const { format = '' } = opt;\n if (isString(value)) {\n if (REG_FN_VAR.test(value)) {\n if (format === VAL_SPEC) {\n return value;\n // var() must be resolved before resolveRelativeColor()\n } else {\n throw new SyntaxError(`Unexpected token ${FN_VAR} found.`);\n }\n } else if (!REG_FN_REL.test(value)) {\n return value;\n }\n value = value.toLowerCase().trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'resolveRelativeColor',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n return cachedResult.item as string;\n }\n const originColor = extractOriginColor(value, opt);\n if (originColor instanceof NullObject) {\n setCache(cacheKey, null);\n return originColor;\n }\n value = originColor;\n if (format === VAL_SPEC) {\n if (value.startsWith('rgba(')) {\n value = value.replace(/^rgba\\(/, 'rgb(');\n } else if (value.startsWith('hsla(')) {\n value = value.replace(/^hsla\\(/, 'hsl(');\n }\n return value;\n }\n const tokens = tokenize({ css: value });\n const components = parseComponentValue(tokens) as ComponentValue;\n const parsedComponents = colorParser(components);\n if (!parsedComponents) {\n setCache(cacheKey, null);\n return new NullObject();\n }\n const {\n alpha: alphaComponent,\n channels: channelsComponent,\n colorNotation,\n syntaxFlags\n } = parsedComponents;\n let alpha: number | string;\n if (Number.isNaN(Number(alphaComponent))) {\n if (syntaxFlags instanceof Set && syntaxFlags.has(KEY_NONE)) {\n alpha = NONE;\n } else {\n alpha = 0;\n }\n } else {\n alpha = roundToPrecision(Number(alphaComponent), OCT);\n }\n let v1: number | string;\n let v2: number | string;\n let v3: number | string;\n [v1, v2, v3] = channelsComponent;\n let resolvedValue;\n if (REG_CS_CIE.test(colorNotation)) {\n const hasNone = syntaxFlags instanceof Set && syntaxFlags.has(KEY_NONE);\n if (Number.isNaN(v1)) {\n if (hasNone) {\n v1 = NONE;\n } else {\n v1 = 0;\n }\n } else {\n v1 = roundToPrecision(v1, HEX);\n }\n if (Number.isNaN(v2)) {\n if (hasNone) {\n v2 = NONE;\n } else {\n v2 = 0;\n }\n } else {\n v2 = roundToPrecision(v2, HEX);\n }\n if (Number.isNaN(v3)) {\n if (hasNone) {\n v3 = NONE;\n } else {\n v3 = 0;\n }\n } else {\n v3 = roundToPrecision(v3, HEX);\n }\n if (alpha === 1) {\n resolvedValue = `${colorNotation}(${v1} ${v2} ${v3})`;\n } else {\n resolvedValue = `${colorNotation}(${v1} ${v2} ${v3} / ${alpha})`;\n }\n } else if (REG_CS_HSL.test(colorNotation)) {\n if (Number.isNaN(v1)) {\n v1 = 0;\n }\n if (Number.isNaN(v2)) {\n v2 = 0;\n }\n if (Number.isNaN(v3)) {\n v3 = 0;\n }\n let [r, g, b] = convertColorToRgb(\n `${colorNotation}(${v1} ${v2} ${v3} / ${alpha})`\n ) as ColorChannels;\n r = roundToPrecision(r / MAX_RGB, DEC);\n g = roundToPrecision(g / MAX_RGB, DEC);\n b = roundToPrecision(b / MAX_RGB, DEC);\n if (alpha === 1) {\n resolvedValue = `color(srgb ${r} ${g} ${b})`;\n } else {\n resolvedValue = `color(srgb ${r} ${g} ${b} / ${alpha})`;\n }\n } else {\n const cs = colorNotation === 'rgb' ? 'srgb' : colorNotation;\n const hasNone = syntaxFlags instanceof Set && syntaxFlags.has(KEY_NONE);\n if (Number.isNaN(v1)) {\n if (hasNone) {\n v1 = NONE;\n } else {\n v1 = 0;\n }\n } else {\n v1 = roundToPrecision(v1, DEC);\n }\n if (Number.isNaN(v2)) {\n if (hasNone) {\n v2 = NONE;\n } else {\n v2 = 0;\n }\n } else {\n v2 = roundToPrecision(v2, DEC);\n }\n if (Number.isNaN(v3)) {\n if (hasNone) {\n v3 = NONE;\n } else {\n v3 = 0;\n }\n } else {\n v3 = roundToPrecision(v3, DEC);\n }\n if (alpha === 1) {\n resolvedValue = `color(${cs} ${v1} ${v2} ${v3})`;\n } else {\n resolvedValue = `color(${cs} ${v1} ${v2} ${v3} / ${alpha})`;\n }\n }\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n}\n","/**\n * resolve\n */\n\nimport {\n CacheItem,\n NullObject,\n createCacheKey,\n getCache,\n setCache\n} from './cache';\nimport {\n convertRgbToHex,\n resolveColorFunc,\n resolveColorMix,\n resolveColorValue\n} from './color';\nimport { isString } from './common';\nimport { cssCalc } from './css-calc';\nimport { resolveVar } from './css-var';\nimport { resolveRelativeColor } from './relative-color';\nimport {\n ComputedColorChannels,\n Options,\n SpecifiedColorChannels\n} from './typedef';\n\n/* constants */\nimport {\n FN_COLOR,\n FN_MIX,\n SYN_FN_CALC,\n SYN_FN_REL,\n SYN_FN_VAR,\n VAL_COMP,\n VAL_SPEC\n} from './constant';\nconst NAMESPACE = 'resolve';\nconst RGB_TRANSPARENT = 'rgba(0, 0, 0, 0)';\n\n/* regexp */\nconst REG_FN_CALC = new RegExp(SYN_FN_CALC);\nconst REG_FN_REL = new RegExp(SYN_FN_REL);\nconst REG_FN_VAR = new RegExp(SYN_FN_VAR);\n\n/**\n * resolve color\n * @param value - CSS color value\n * @param [opt] - options\n * @returns resolved color\n */\nexport const resolveColor = (\n value: string,\n opt: Options = {}\n): string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { currentColor = '', format = VAL_COMP, nullable = false } = opt;\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'resolve',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n return cachedResult.item as string;\n }\n if (REG_FN_VAR.test(value)) {\n if (format === VAL_SPEC) {\n setCache(cacheKey, value);\n return value;\n }\n const resolvedValue = resolveVar(value, opt);\n if (resolvedValue instanceof NullObject) {\n switch (format) {\n case 'hex':\n case 'hexAlpha': {\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n default: {\n if (nullable) {\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n const res = RGB_TRANSPARENT;\n setCache(cacheKey, res);\n return res;\n }\n }\n } else {\n value = resolvedValue;\n }\n }\n if (opt.format !== format) {\n opt.format = format;\n }\n value = value.toLowerCase();\n if (REG_FN_REL.test(value)) {\n const resolvedValue = resolveRelativeColor(value, opt);\n if (format === VAL_COMP) {\n let res;\n if (resolvedValue instanceof NullObject) {\n if (nullable) {\n res = resolvedValue;\n } else {\n res = RGB_TRANSPARENT;\n }\n } else {\n res = resolvedValue;\n }\n setCache(cacheKey, res);\n return res;\n }\n if (format === VAL_SPEC) {\n let res = '';\n if (resolvedValue instanceof NullObject) {\n res = '';\n } else {\n res = resolvedValue;\n }\n setCache(cacheKey, res);\n return res;\n }\n if (resolvedValue instanceof NullObject) {\n value = '';\n } else {\n value = resolvedValue;\n }\n }\n if (REG_FN_CALC.test(value)) {\n value = cssCalc(value, opt);\n }\n let cs = '';\n let r = NaN;\n let g = NaN;\n let b = NaN;\n let alpha = NaN;\n if (value === 'transparent') {\n switch (format) {\n case VAL_SPEC: {\n setCache(cacheKey, value);\n return value;\n }\n case 'hex': {\n setCache(cacheKey, null);\n return new NullObject();\n }\n case 'hexAlpha': {\n const res = '#00000000';\n setCache(cacheKey, res);\n return res;\n }\n case VAL_COMP:\n default: {\n const res = RGB_TRANSPARENT;\n setCache(cacheKey, res);\n return res;\n }\n }\n } else if (value === 'currentcolor') {\n if (format === VAL_SPEC) {\n setCache(cacheKey, value);\n return value;\n }\n if (currentColor) {\n let resolvedValue;\n if (currentColor.startsWith(FN_MIX)) {\n resolvedValue = resolveColorMix(currentColor, opt);\n } else if (currentColor.startsWith(FN_COLOR)) {\n resolvedValue = resolveColorFunc(currentColor, opt);\n } else {\n resolvedValue = resolveColorValue(currentColor, opt);\n }\n if (resolvedValue instanceof NullObject) {\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n [cs, r, g, b, alpha] = resolvedValue as ComputedColorChannels;\n } else if (format === VAL_COMP) {\n const res = RGB_TRANSPARENT;\n setCache(cacheKey, res);\n return res;\n }\n } else if (format === VAL_SPEC) {\n if (value.startsWith(FN_MIX)) {\n const res = resolveColorMix(value, opt) as string;\n setCache(cacheKey, res);\n return res;\n } else if (value.startsWith(FN_COLOR)) {\n const [scs, rr, gg, bb, aa] = resolveColorFunc(\n value,\n opt\n ) as SpecifiedColorChannels;\n let res = '';\n if (aa === 1) {\n res = `color(${scs} ${rr} ${gg} ${bb})`;\n } else {\n res = `color(${scs} ${rr} ${gg} ${bb} / ${aa})`;\n }\n setCache(cacheKey, res);\n return res;\n } else {\n const rgb = resolveColorValue(value, opt);\n if (isString(rgb)) {\n setCache(cacheKey, rgb);\n return rgb;\n }\n const [scs, rr, gg, bb, aa] = rgb as SpecifiedColorChannels;\n let res = '';\n if (scs === 'rgb') {\n if (aa === 1) {\n res = `${scs}(${rr}, ${gg}, ${bb})`;\n } else {\n res = `${scs}a(${rr}, ${gg}, ${bb}, ${aa})`;\n }\n } else if (aa === 1) {\n res = `${scs}(${rr} ${gg} ${bb})`;\n } else {\n res = `${scs}(${rr} ${gg} ${bb} / ${aa})`;\n }\n setCache(cacheKey, res);\n return res;\n }\n } else if (value.startsWith(FN_MIX)) {\n if (/currentcolor/.test(value)) {\n if (currentColor) {\n value = value.replace(/currentcolor/g, currentColor);\n }\n }\n if (/transparent/.test(value)) {\n value = value.replace(/transparent/g, RGB_TRANSPARENT);\n }\n const resolvedValue = resolveColorMix(value, opt);\n if (resolvedValue instanceof NullObject) {\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n [cs, r, g, b, alpha] = resolvedValue as ComputedColorChannels;\n } else if (value.startsWith(FN_COLOR)) {\n const resolvedValue = resolveColorFunc(value, opt);\n if (resolvedValue instanceof NullObject) {\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n [cs, r, g, b, alpha] = resolvedValue as ComputedColorChannels;\n } else if (value) {\n const resolvedValue = resolveColorValue(value, opt);\n if (resolvedValue instanceof NullObject) {\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n [cs, r, g, b, alpha] = resolvedValue as ComputedColorChannels;\n }\n let res = '';\n switch (format) {\n case 'hex': {\n if (\n Number.isNaN(r) ||\n Number.isNaN(g) ||\n Number.isNaN(b) ||\n Number.isNaN(alpha) ||\n alpha === 0\n ) {\n setCache(cacheKey, null);\n return new NullObject();\n }\n res = convertRgbToHex([r, g, b, 1]);\n break;\n }\n case 'hexAlpha': {\n if (\n Number.isNaN(r) ||\n Number.isNaN(g) ||\n Number.isNaN(b) ||\n Number.isNaN(alpha)\n ) {\n setCache(cacheKey, null);\n return new NullObject();\n }\n res = convertRgbToHex([r, g, b, alpha]);\n break;\n }\n case VAL_COMP:\n default: {\n switch (cs) {\n case 'rgb': {\n if (alpha === 1) {\n res = `${cs}(${r}, ${g}, ${b})`;\n } else {\n res = `${cs}a(${r}, ${g}, ${b}, ${alpha})`;\n }\n break;\n }\n case 'lab':\n case 'lch':\n case 'oklab':\n case 'oklch': {\n if (alpha === 1) {\n res = `${cs}(${r} ${g} ${b})`;\n } else {\n res = `${cs}(${r} ${g} ${b} / ${alpha})`;\n }\n break;\n }\n // color()\n default: {\n if (alpha === 1) {\n res = `color(${cs} ${r} ${g} ${b})`;\n } else {\n res = `color(${cs} ${r} ${g} ${b} / ${alpha})`;\n }\n }\n }\n }\n }\n setCache(cacheKey, res);\n return res;\n};\n\n/**\n * resolve CSS color\n * @param value\n * - CSS color value\n * - system colors are not supported\n * @param [opt] - options\n * @param [opt.currentColor]\n * - color to use for `currentcolor` keyword\n * - if omitted, it will be treated as a missing color\n * i.e. `rgb(none none none / none)`\n * @param [opt.customProperty]\n * - custom properties\n * - pair of `--` prefixed property name and value,\n * e.g. `customProperty: { '--some-color': '#0000ff' }`\n * - and/or `callback` function to get the value of the custom property,\n * e.g. `customProperty: { callback: someDeclaration.getPropertyValue }`\n * @param [opt.dimension]\n * - dimension, convert relative length to pixels\n * - pair of unit and it's value as a number in pixels,\n * e.g. `dimension: { em: 12, rem: 16, vw: 10.26 }`\n * - and/or `callback` function to get the value as a number in pixels,\n * e.g. `dimension: { callback: convertUnitToPixel }`\n * @param [opt.format]\n * - output format, one of below\n * - `computedValue` (default), [computed value][139] of the color\n * - `specifiedValue`, [specified value][140] of the color\n * - `hex`, hex color notation, i.e. `rrggbb`\n * - `hexAlpha`, hex color notation with alpha channel, i.e. `#rrggbbaa`\n * @returns\n * - one of rgba?(), #rrggbb(aa)?, color-name, '(empty-string)',\n * color(color-space r g b / alpha), color(color-space x y z / alpha),\n * lab(l a b / alpha), lch(l c h / alpha), oklab(l a b / alpha),\n * oklch(l c h / alpha), null\n * - in `computedValue`, values are numbers, however `rgb()` values are\n * integers\n * - in `specifiedValue`, returns `empty string` for unknown and/or invalid\n * color\n * - in `hex`, returns `null` for `transparent`, and also returns `null` if\n * any of `r`, `g`, `b`, `alpha` is not a number\n * - in `hexAlpha`, returns `#00000000` for `transparent`,\n * however returns `null` if any of `r`, `g`, `b`, `alpha` is not a number\n */\nexport const resolve = (value: string, opt: Options = {}): string | null => {\n opt.nullable = false;\n const resolvedValue = resolveColor(value, opt);\n if (resolvedValue instanceof NullObject) {\n return null;\n }\n return resolvedValue as string;\n};\n","/**\n * css-gradient\n */\n\nimport { CacheItem, createCacheKey, getCache, setCache } from './cache';\nimport { isString } from './common';\nimport { MatchedRegExp, Options } from './typedef';\nimport { isColor, splitValue } from './util';\n\n/* constants */\nimport {\n ANGLE,\n CS_HUE,\n CS_RECT,\n LENGTH,\n NUM,\n NUM_POSITIVE,\n PCT\n} from './constant';\nconst NAMESPACE = 'css-gradient';\nconst DIM_ANGLE = `${NUM}(?:${ANGLE})`;\nconst DIM_ANGLE_PCT = `${DIM_ANGLE}|${PCT}`;\nconst DIM_LEN = `${NUM}(?:${LENGTH})|0`;\nconst DIM_LEN_PCT = `${DIM_LEN}|${PCT}`;\nconst DIM_LEN_PCT_POSI = `${NUM_POSITIVE}(?:${LENGTH}|%)|0`;\nconst DIM_LEN_POSI = `${NUM_POSITIVE}(?:${LENGTH})|0`;\nconst CTR = 'center';\nconst L_R = 'left|right';\nconst T_B = 'top|bottom';\nconst S_E = 'start|end';\nconst AXIS_X = `${L_R}|x-(?:${S_E})`;\nconst AXIS_Y = `${T_B}|y-(?:${S_E})`;\nconst BLOCK = `block-(?:${S_E})`;\nconst INLINE = `inline-(?:${S_E})`;\nconst POS_1 = `${CTR}|${AXIS_X}|${AXIS_Y}|${BLOCK}|${INLINE}|${DIM_LEN_PCT}`;\nconst POS_2 = [\n `(?:${CTR}|${AXIS_X})\\\\s+(?:${CTR}|${AXIS_Y})`,\n `(?:${CTR}|${AXIS_Y})\\\\s+(?:${CTR}|${AXIS_X})`,\n `(?:${CTR}|${AXIS_X}|${DIM_LEN_PCT})\\\\s+(?:${CTR}|${AXIS_Y}|${DIM_LEN_PCT})`,\n `(?:${CTR}|${BLOCK})\\\\s+(?:${CTR}|${INLINE})`,\n `(?:${CTR}|${INLINE})\\\\s+(?:${CTR}|${BLOCK})`,\n `(?:${CTR}|${S_E})\\\\s+(?:${CTR}|${S_E})`\n].join('|');\nconst POS_4 = [\n `(?:${AXIS_X})\\\\s+(?:${DIM_LEN_PCT})\\\\s+(?:${AXIS_Y})\\\\s+(?:${DIM_LEN_PCT})`,\n `(?:${AXIS_Y})\\\\s+(?:${DIM_LEN_PCT})\\\\s+(?:${AXIS_X})\\\\s+(?:${DIM_LEN_PCT})`,\n `(?:${BLOCK})\\\\s+(?:${DIM_LEN_PCT})\\\\s+(?:${INLINE})\\\\s+(?:${DIM_LEN_PCT})`,\n `(?:${INLINE})\\\\s+(?:${DIM_LEN_PCT})\\\\s+(?:${BLOCK})\\\\s+(?:${DIM_LEN_PCT})`,\n `(?:${S_E})\\\\s+(?:${DIM_LEN_PCT})\\\\s+(?:${S_E})\\\\s+(?:${DIM_LEN_PCT})`\n].join('|');\nconst RAD_EXTENT = '(?:clos|farth)est-(?:corner|side)';\nconst RAD_SIZE = [\n `${RAD_EXTENT}(?:\\\\s+${RAD_EXTENT})?`,\n `${DIM_LEN_POSI}`,\n `(?:${DIM_LEN_PCT_POSI})\\\\s+(?:${DIM_LEN_PCT_POSI})`\n].join('|');\nconst RAD_SHAPE = 'circle|ellipse';\nconst FROM_ANGLE = `from\\\\s+${DIM_ANGLE}`;\nconst AT_POSITION = `at\\\\s+(?:${POS_1}|${POS_2}|${POS_4})`;\nconst TO_SIDE_CORNER = `to\\\\s+(?:(?:${L_R})(?:\\\\s(?:${T_B}))?|(?:${T_B})(?:\\\\s(?:${L_R}))?)`;\nconst IN_COLOR_SPACE = `in\\\\s+(?:${CS_RECT}|${CS_HUE})`;\n\n/* type definitions */\n/**\n * @type ColorStopList - list of color stops\n */\ntype ColorStopList = [string, string, ...string[]];\n\n/**\n * @typedef Gradient - parsed CSS gradient\n * @property value - input value\n * @property type - gradient type\n * @property [gradientLine] - gradient line\n * @property colorStopList - list of color stops\n */\ninterface Gradient {\n value: string;\n type: string;\n gradientLine?: string;\n colorStopList: ColorStopList;\n}\n\n/* regexp */\nconst REG_GRAD = /^(?:repeating-)?(?:conic|linear|radial)-gradient\\(/;\nconst REG_GRAD_CAPT = /^((?:repeating-)?(?:conic|linear|radial)-gradient)\\(/;\n\n/**\n * get gradient type\n * @param value - gradient value\n * @returns gradient type\n */\nexport const getGradientType = (value: string): string => {\n if (isString(value)) {\n value = value.trim();\n if (REG_GRAD.test(value)) {\n const [, type] = value.match(REG_GRAD_CAPT) as MatchedRegExp;\n return type;\n }\n }\n return '';\n};\n\n/**\n * validate gradient line\n * @param value - gradient line value\n * @param type - gradient type\n * @returns result\n */\nexport const validateGradientLine = (value: string, type: string): boolean => {\n if (isString(value) && isString(type)) {\n value = value.trim();\n type = type.trim();\n let lineSyntax = '';\n if (/^(?:repeating-)?linear-gradient$/.test(type)) {\n /*\n * = [\n * [ | to ] ||\n * \n * ]\n */\n lineSyntax = [\n `(?:${DIM_ANGLE}|${TO_SIDE_CORNER})(?:\\\\s+${IN_COLOR_SPACE})?`,\n `${IN_COLOR_SPACE}(?:\\\\s+(?:${DIM_ANGLE}|${TO_SIDE_CORNER}))?`\n ].join('|');\n } else if (/^(?:repeating-)?radial-gradient$/.test(type)) {\n /*\n * = [\n * [ [ || ]? [ at ]? ] ||\n * ]?\n */\n lineSyntax = [\n `(?:${RAD_SHAPE})(?:\\\\s+(?:${RAD_SIZE}))?(?:\\\\s+${AT_POSITION})?(?:\\\\s+${IN_COLOR_SPACE})?`,\n `(?:${RAD_SIZE})(?:\\\\s+(?:${RAD_SHAPE}))?(?:\\\\s+${AT_POSITION})?(?:\\\\s+${IN_COLOR_SPACE})?`,\n `${AT_POSITION}(?:\\\\s+${IN_COLOR_SPACE})?`,\n `${IN_COLOR_SPACE}(?:\\\\s+${RAD_SHAPE})(?:\\\\s+(?:${RAD_SIZE}))?(?:\\\\s+${AT_POSITION})?`,\n `${IN_COLOR_SPACE}(?:\\\\s+${RAD_SIZE})(?:\\\\s+(?:${RAD_SHAPE}))?(?:\\\\s+${AT_POSITION})?`,\n `${IN_COLOR_SPACE}(?:\\\\s+${AT_POSITION})?`\n ].join('|');\n } else if (/^(?:repeating-)?conic-gradient$/.test(type)) {\n /*\n * = [\n * [ [ from ]? [ at ]? ] ||\n * \n * ]\n */\n lineSyntax = [\n `${FROM_ANGLE}(?:\\\\s+${AT_POSITION})?(?:\\\\s+${IN_COLOR_SPACE})?`,\n `${AT_POSITION}(?:\\\\s+${IN_COLOR_SPACE})?`,\n `${IN_COLOR_SPACE}(?:\\\\s+${FROM_ANGLE})?(?:\\\\s+${AT_POSITION})?`\n ].join('|');\n }\n if (lineSyntax) {\n const reg = new RegExp(`^(?:${lineSyntax})$`);\n return reg.test(value);\n }\n }\n return false;\n};\n\n/**\n * validate color stop list\n * @param list\n * @param type\n * @param [opt]\n * @returns result\n */\nexport const validateColorStopList = (\n list: string[],\n type: string,\n opt: Options = {}\n): boolean => {\n if (Array.isArray(list) && list.length > 1) {\n const dimension = /^(?:repeating-)?conic-gradient$/.test(type)\n ? DIM_ANGLE_PCT\n : DIM_LEN_PCT;\n const regColorHint = new RegExp(`^(?:${dimension})$`);\n const regDimension = new RegExp(`(?:\\\\s+(?:${dimension})){1,2}$`);\n const arr = [];\n for (const item of list) {\n if (isString(item)) {\n if (regColorHint.test(item)) {\n arr.push('hint');\n } else {\n const color = item.replace(regDimension, '');\n if (isColor(color, opt)) {\n arr.push('color');\n } else {\n return false;\n }\n }\n }\n }\n const value = arr.join(',');\n return /^color(?:,(?:hint,)?color)+$/.test(value);\n }\n return false;\n};\n\n/**\n * parse CSS gradient\n * @param value - gradient value\n * @param [opt] - options\n * @returns parsed result\n */\nexport const parseGradient = (\n value: string,\n opt: Options = {}\n): Gradient | null => {\n if (isString(value)) {\n value = value.trim();\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'parseGradient',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return null;\n }\n return cachedResult.item as Gradient;\n }\n const type = getGradientType(value);\n const gradValue = value.replace(REG_GRAD, '').replace(/\\)$/, '');\n if (type && gradValue) {\n const [lineOrColorStop = '', ...colorStops] = splitValue(gradValue, {\n delimiter: ','\n });\n const dimension = /^(?:repeating-)?conic-gradient$/.test(type)\n ? DIM_ANGLE_PCT\n : DIM_LEN_PCT;\n const regDimension = new RegExp(`(?:\\\\s+(?:${dimension})){1,2}$`);\n let isColorStop = false;\n if (regDimension.test(lineOrColorStop)) {\n const colorStop = lineOrColorStop.replace(regDimension, '');\n if (isColor(colorStop, opt)) {\n isColorStop = true;\n }\n } else if (isColor(lineOrColorStop, opt)) {\n isColorStop = true;\n }\n if (isColorStop) {\n colorStops.unshift(lineOrColorStop);\n const valid = validateColorStopList(colorStops, type, opt);\n if (valid) {\n const res: Gradient = {\n value,\n type,\n colorStopList: colorStops as ColorStopList\n };\n setCache(cacheKey, res);\n return res;\n }\n } else if (colorStops.length > 1) {\n const gradientLine = lineOrColorStop;\n const valid =\n validateGradientLine(gradientLine, type) &&\n validateColorStopList(colorStops, type, opt);\n if (valid) {\n const res: Gradient = {\n value,\n type,\n gradientLine,\n colorStopList: colorStops as ColorStopList\n };\n setCache(cacheKey, res);\n return res;\n }\n }\n }\n setCache(cacheKey, null);\n return null;\n }\n return null;\n};\n\n/**\n * is CSS gradient\n * @param value - CSS value\n * @param [opt] - options\n * @returns result\n */\nexport const isGradient = (value: string, opt: Options = {}): boolean => {\n const gradient = parseGradient(value, opt);\n return gradient !== null;\n};\n","/**\n * convert\n */\n\nimport {\n CacheItem,\n NullObject,\n createCacheKey,\n getCache,\n setCache\n} from './cache';\nimport {\n convertColorToHsl,\n convertColorToHwb,\n convertColorToLab,\n convertColorToLch,\n convertColorToOklab,\n convertColorToOklch,\n convertColorToRgb,\n numberToHexString,\n parseColorFunc,\n parseColorValue\n} from './color';\nimport { isString } from './common';\nimport { cssCalc } from './css-calc';\nimport { resolveVar } from './css-var';\nimport { resolveRelativeColor } from './relative-color';\nimport { resolveColor } from './resolve';\nimport { ColorChannels, ComputedColorChannels, Options } from './typedef';\n\n/* constants */\nimport { SYN_FN_CALC, SYN_FN_REL, SYN_FN_VAR, VAL_COMP } from './constant';\nconst NAMESPACE = 'convert';\n\n/* regexp */\nconst REG_FN_CALC = new RegExp(SYN_FN_CALC);\nconst REG_FN_REL = new RegExp(SYN_FN_REL);\nconst REG_FN_VAR = new RegExp(SYN_FN_VAR);\n\n/**\n * pre process\n * @param value - CSS color value\n * @param [opt] - options\n * @returns value\n */\nexport const preProcess = (\n value: string,\n opt: Options = {}\n): string | NullObject => {\n if (isString(value)) {\n value = value.trim();\n if (!value) {\n return new NullObject();\n }\n } else {\n return new NullObject();\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'preProcess',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return cachedResult as NullObject;\n }\n return cachedResult.item as string;\n }\n if (REG_FN_VAR.test(value)) {\n const resolvedValue = resolveVar(value, opt);\n if (isString(resolvedValue)) {\n value = resolvedValue;\n } else {\n setCache(cacheKey, null);\n return new NullObject();\n }\n }\n if (REG_FN_REL.test(value)) {\n const resolvedValue = resolveRelativeColor(value, opt);\n if (isString(resolvedValue)) {\n value = resolvedValue;\n } else {\n setCache(cacheKey, null);\n return new NullObject();\n }\n } else if (REG_FN_CALC.test(value)) {\n value = cssCalc(value, opt);\n }\n if (value.startsWith('color-mix')) {\n const clonedOpt = structuredClone(opt);\n clonedOpt.format = VAL_COMP;\n clonedOpt.nullable = true;\n const resolvedValue = resolveColor(value, clonedOpt);\n setCache(cacheKey, resolvedValue);\n return resolvedValue;\n }\n setCache(cacheKey, value);\n return value;\n};\n\n/**\n * convert number to hex string\n * @param value - numeric value\n * @returns hex string: 00..ff\n */\nexport const numberToHex = (value: number): string => {\n const hex = numberToHexString(value);\n return hex;\n};\n\n/**\n * convert color to hex\n * @param value - CSS color value\n * @param [opt] - options\n * @param [opt.alpha] - enable alpha channel\n * @returns #rrggbb | #rrggbbaa | null\n */\nexport const colorToHex = (value: string, opt: Options = {}): string | null => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return null;\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const { alpha = false } = opt;\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToHex',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n if (cachedResult.isNull) {\n return null;\n }\n return cachedResult.item as string;\n }\n let hex;\n opt.nullable = true;\n if (alpha) {\n opt.format = 'hexAlpha';\n hex = resolveColor(value, opt);\n } else {\n opt.format = 'hex';\n hex = resolveColor(value, opt);\n }\n if (isString(hex)) {\n setCache(cacheKey, hex);\n return hex;\n }\n setCache(cacheKey, null);\n return null;\n};\n\n/**\n * convert color to hsl\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [h, s, l, alpha]\n */\nexport const colorToHsl = (value: string, opt: Options = {}): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToHsl',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n opt.format = 'hsl';\n const hsl = convertColorToHsl(value, opt) as ColorChannels;\n setCache(cacheKey, hsl);\n return hsl;\n};\n\n/**\n * convert color to hwb\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [h, w, b, alpha]\n */\nexport const colorToHwb = (value: string, opt: Options = {}): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToHwb',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n opt.format = 'hwb';\n const hwb = convertColorToHwb(value, opt) as ColorChannels;\n setCache(cacheKey, hwb);\n return hwb;\n};\n\n/**\n * convert color to lab\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [l, a, b, alpha]\n */\nexport const colorToLab = (value: string, opt: Options = {}): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToLab',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n const lab = convertColorToLab(value, opt) as ColorChannels;\n setCache(cacheKey, lab);\n return lab;\n};\n\n/**\n * convert color to lch\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [l, c, h, alpha]\n */\nexport const colorToLch = (value: string, opt: Options = {}): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToLch',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n const lch = convertColorToLch(value, opt) as ColorChannels;\n setCache(cacheKey, lch);\n return lch;\n};\n\n/**\n * convert color to oklab\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [l, a, b, alpha]\n */\nexport const colorToOklab = (\n value: string,\n opt: Options = {}\n): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToOklab',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n const lab = convertColorToOklab(value, opt) as ColorChannels;\n setCache(cacheKey, lab);\n return lab;\n};\n\n/**\n * convert color to oklch\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [l, c, h, alpha]\n */\nexport const colorToOklch = (\n value: string,\n opt: Options = {}\n): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToOklch',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n const lch = convertColorToOklch(value, opt) as ColorChannels;\n setCache(cacheKey, lch);\n return lch;\n};\n\n/**\n * convert color to rgb\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [r, g, b, alpha]\n */\nexport const colorToRgb = (value: string, opt: Options = {}): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToRgb',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n const rgb = convertColorToRgb(value, opt) as ColorChannels;\n setCache(cacheKey, rgb);\n return rgb;\n};\n\n/**\n * convert color to xyz\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [x, y, z, alpha]\n */\nexport const colorToXyz = (value: string, opt: Options = {}): ColorChannels => {\n if (isString(value)) {\n const resolvedValue = preProcess(value, opt);\n if (resolvedValue instanceof NullObject) {\n return [0, 0, 0, 0];\n }\n value = resolvedValue.toLowerCase();\n } else {\n throw new TypeError(`${value} is not a string.`);\n }\n const cacheKey: string = createCacheKey(\n {\n namespace: NAMESPACE,\n name: 'colorToXyz',\n value\n },\n opt\n );\n const cachedResult = getCache(cacheKey);\n if (cachedResult instanceof CacheItem) {\n return cachedResult.item as ColorChannels;\n }\n let xyz;\n if (value.startsWith('color(')) {\n [, ...xyz] = parseColorFunc(value, opt) as ComputedColorChannels;\n } else {\n [, ...xyz] = parseColorValue(value, opt) as ComputedColorChannels;\n }\n setCache(cacheKey, xyz);\n return xyz as ColorChannels;\n};\n\n/**\n * convert color to xyz-d50\n * @param value - CSS color value\n * @param [opt] - options\n * @returns ColorChannels - [x, y, z, alpha]\n */\nexport const colorToXyzD50 = (\n value: string,\n opt: Options = {}\n): ColorChannels => {\n opt.d50 = true;\n return colorToXyz(value, opt);\n};\n\n/* convert */\nexport const convert = {\n colorToHex,\n colorToHsl,\n colorToHwb,\n colorToLab,\n colorToLch,\n colorToOklab,\n colorToOklch,\n colorToRgb,\n colorToXyz,\n colorToXyzD50,\n numberToHex\n};\n","\"use strict\";\nconst { domSymbolTree } = require(\"./living/helpers/internal-constants\");\nconst SYMBOL_TREE_POSITION = require(\"symbol-tree\").TreePosition;\n\n/**\n * Define a set of properties on an object, by copying the property descriptors\n * from the original object.\n *\n * - `object` {Object} the target object\n * - `properties` {Object} the source from which to copy property descriptors\n */\nexports.define = function define(object, properties) {\n for (const name of Object.getOwnPropertyNames(properties)) {\n const propDesc = Object.getOwnPropertyDescriptor(properties, name);\n Object.defineProperty(object, name, propDesc);\n }\n};\n\nexports.mixin = (target, source) => {\n const keys = Reflect.ownKeys(source);\n for (let i = 0; i < keys.length; ++i) {\n if (keys[i] in target) {\n continue;\n }\n\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nlet memoizeQueryTypeCounter = 0;\n\n/**\n * Returns a version of a method that memoizes specific types of calls on the object\n *\n * - `fn` {Function} the method to be memozied\n */\nexports.memoizeQuery = function memoizeQuery(fn) {\n // Only memoize query functions with arity <= 2\n if (fn.length > 2) {\n return fn;\n }\n\n const type = memoizeQueryTypeCounter++;\n\n return function (...args) {\n if (!this._memoizedQueries) {\n return fn.apply(this, args);\n }\n\n if (!this._memoizedQueries[type]) {\n this._memoizedQueries[type] = Object.create(null);\n }\n\n let key;\n if (args.length === 1 && typeof args[0] === \"string\") {\n key = args[0];\n } else if (args.length === 2 && typeof args[0] === \"string\" && typeof args[1] === \"string\") {\n key = args[0] + \"::\" + args[1];\n } else {\n return fn.apply(this, args);\n }\n\n if (!(key in this._memoizedQueries[type])) {\n this._memoizedQueries[type][key] = fn.apply(this, args);\n }\n return this._memoizedQueries[type][key];\n };\n};\n\nexports.simultaneousIterators = function* (first, second) {\n for (;;) {\n const firstResult = first.next();\n const secondResult = second.next();\n\n if (firstResult.done && secondResult.done) {\n return;\n }\n\n yield [\n firstResult.done ? null : firstResult.value,\n secondResult.done ? null : secondResult.value\n ];\n }\n};\n\nexports.treeOrderSorter = function (a, b) {\n const compare = domSymbolTree.compareTreePosition(a, b);\n\n if (compare & SYMBOL_TREE_POSITION.PRECEDING) { // b is preceding a\n return 1;\n }\n\n if (compare & SYMBOL_TREE_POSITION.FOLLOWING) {\n return -1;\n }\n\n // disconnected or equal:\n return 0;\n};\n\ntry {\n exports.Canvas = require(\"canvas\");\n} catch {\n exports.Canvas = null;\n}\n","//.CommonJS\nvar CSSOM = {\n\tCSSStyleDeclaration: require(\"./CSSStyleDeclaration\").CSSStyleDeclaration,\n\tCSSRule: require(\"./CSSRule\").CSSRule\n};\n///CommonJS\n\n\n/**\n * @constructor\n * @see http://dev.w3.org/csswg/cssom/#css-font-face-rule\n */\nCSSOM.CSSFontFaceRule = function CSSFontFaceRule() {\n\tCSSOM.CSSRule.call(this);\n\tthis.style = new CSSOM.CSSStyleDeclaration();\n\tthis.style.parentRule = this;\n};\n\nCSSOM.CSSFontFaceRule.prototype = new CSSOM.CSSRule();\nCSSOM.CSSFontFaceRule.prototype.constructor = CSSOM.CSSFontFaceRule;\nCSSOM.CSSFontFaceRule.prototype.type = 5;\n//FIXME\n//CSSOM.CSSFontFaceRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule;\n//CSSOM.CSSFontFaceRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule;\n\n// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSFontFaceRule.cpp\nObject.defineProperty(CSSOM.CSSFontFaceRule.prototype, \"cssText\", {\n get: function() {\n return \"@font-face {\" + this.style.cssText + \"}\";\n }\n});\n\n\n//.CommonJS\nexports.CSSFontFaceRule = CSSOM.CSSFontFaceRule;\n///CommonJS\n","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst SVGElement = require(\"./SVGElement.js\");\n\nconst interfaceName = \"SVGTitleElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGTitleElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGTitleElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n SVGElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGTitleElement extends globalObject.SVGElement {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n }\n Object.defineProperties(SVGTitleElement.prototype, {\n [Symbol.toStringTag]: { value: \"SVGTitleElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = SVGTitleElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGTitleElement\n });\n};\n\nconst Impl = require(\"../nodes/SVGTitleElement-impl.js\");\n","\"use strict\";\n\n/**\n * This file contains all implemented properties that are not a part of any\n * current specifications or drafts, but are handled by browsers nevertheless.\n */\n\nmodule.exports = [\n \"background-composite\",\n \"border-after\",\n \"border-after-color\",\n \"border-after-style\",\n \"border-after-width\",\n \"border-before\",\n \"border-before-color\",\n \"border-before-style\",\n \"border-before-width\",\n \"border-end\",\n \"border-end-color\",\n \"border-end-style\",\n \"border-end-width\",\n \"border-fit\",\n \"border-horizontal-spacing\",\n \"border-start\",\n \"border-start-color\",\n \"border-start-style\",\n \"border-start-width\",\n \"border-vertical-spacing\",\n \"color-correction\",\n \"column-axis\",\n \"column-break-after\",\n \"column-break-before\",\n \"column-break-inside\",\n \"column-rule-color\",\n \"flex-align\",\n \"flex-item-align\",\n \"flex-line-pack\",\n \"flex-order\",\n \"flex-pack\",\n \"flex-wrap\",\n \"font-size-delta\",\n \"font-smoothing\",\n \"highlight\",\n \"hyphenate-limit-after\",\n \"hyphenate-limit-before\",\n \"locale\",\n \"logical-height\",\n \"logical-width\",\n \"margin-after\",\n \"margin-after-collapse\",\n \"margin-before\",\n \"margin-before-collapse\",\n \"margin-bottom-collapse\",\n \"margin-collapse\",\n \"margin-end\",\n \"margin-start\",\n \"margin-top-collapse\",\n \"marquee\",\n \"marquee-direction\",\n \"marquee-increment\",\n \"marquee-repetition\",\n \"marquee-speed\",\n \"marquee-style\",\n \"mask-attachment\",\n \"mask-box-image-outset\",\n \"mask-box-image-repeat\",\n \"mask-box-image-slice\",\n \"mask-box-image-source\",\n \"mask-box-image-width\",\n \"mask-position-x\",\n \"mask-position-y\",\n \"mask-repeat-x\",\n \"mask-repeat-y\",\n \"match-nearest-mail-blockquote-color\",\n \"max-logical-height\",\n \"max-logical-width\",\n \"min-logical-height\",\n \"min-logical-width\",\n \"nbsp-mode\",\n \"overflow-scrolling\",\n \"padding-after\",\n \"padding-before\",\n \"padding-end\",\n \"padding-start\",\n \"perspective-origin-x\",\n \"perspective-origin-y\",\n \"region-break-after\",\n \"region-break-before\",\n \"region-break-inside\",\n \"region-overflow\",\n \"rtl-ordering\",\n \"svg-shadow\",\n \"tap-highlight-color\",\n \"text-decorations-in-effect\",\n \"text-emphasis-color\",\n \"text-fill-color\",\n \"text-security\",\n \"text-size-adjust\",\n \"text-stroke\",\n \"text-stroke-color\",\n \"text-stroke-width\",\n \"transform\",\n \"transform-origin-x\",\n \"transform-origin-y\",\n \"transform-origin-z\",\n \"user-drag\",\n \"user-modify\",\n \"wrap\",\n \"wrap-margin\",\n \"wrap-padding\",\n \"wrap-shape-inside\",\n \"wrap-shape-outside\",\n \"zoom\"\n].map((prop) => `-webkit-${prop}`);\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (!utils.isObject(value)) {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n function callTheUserObjectsOperation(node) {\n let thisArg = utils.tryWrapperForImpl(this);\n let O = value;\n let X = O;\n\n if (typeof O !== \"function\") {\n X = O[\"acceptNode\"];\n if (typeof X !== \"function\") {\n throw new globalObject.TypeError(`${context} does not correctly implement NodeFilter.`);\n }\n thisArg = O;\n }\n\n node = utils.tryWrapperForImpl(node);\n\n let callResult = Reflect.apply(X, thisArg, [node]);\n\n callResult = conversions[\"unsigned short\"](callResult, { context: context, globals: globalObject });\n\n return callResult;\n }\n\n callTheUserObjectsOperation[utils.wrapperSymbol] = value;\n callTheUserObjectsOperation.objectReference = value;\n\n return callTheUserObjectsOperation;\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n const NodeFilter = () => {\n throw new globalObject.TypeError(\"Illegal invocation\");\n };\n\n Object.defineProperties(NodeFilter, {\n FILTER_ACCEPT: { value: 1, enumerable: true },\n FILTER_REJECT: { value: 2, enumerable: true },\n FILTER_SKIP: { value: 3, enumerable: true },\n SHOW_ALL: { value: 0xffffffff, enumerable: true },\n SHOW_ELEMENT: { value: 0x1, enumerable: true },\n SHOW_ATTRIBUTE: { value: 0x2, enumerable: true },\n SHOW_TEXT: { value: 0x4, enumerable: true },\n SHOW_CDATA_SECTION: { value: 0x8, enumerable: true },\n SHOW_ENTITY_REFERENCE: { value: 0x10, enumerable: true },\n SHOW_ENTITY: { value: 0x20, enumerable: true },\n SHOW_PROCESSING_INSTRUCTION: { value: 0x40, enumerable: true },\n SHOW_COMMENT: { value: 0x80, enumerable: true },\n SHOW_DOCUMENT: { value: 0x100, enumerable: true },\n SHOW_DOCUMENT_TYPE: { value: 0x200, enumerable: true },\n SHOW_DOCUMENT_FRAGMENT: { value: 0x400, enumerable: true },\n SHOW_NOTATION: { value: 0x800, enumerable: true }\n });\n\n Object.defineProperty(globalObject, \"NodeFilter\", {\n configurable: true,\n writable: true,\n value: NodeFilter\n });\n};\n","\"use strict\";\nconst DocumentImpl = require(\"./Document-impl\").implementation;\n\nexports.implementation = class XMLDocumentImpl extends DocumentImpl {};\n","\"use strict\";\nconst DOMException = require(\"../generated/DOMException\");\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst notImplemented = require(\"../../browser/not-implemented\");\nconst { fireAnEvent } = require(\"../helpers/events\");\n\nfunction getTimeRangeDummy() {\n return {\n length: 0,\n start() {\n return 0;\n },\n end() {\n return 0;\n }\n };\n}\n\nclass HTMLMediaElementImpl extends HTMLElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this._muted = false;\n this._volume = 1.0;\n this.readyState = 0;\n this.networkState = 0;\n this.currentTime = 0;\n this.currentSrc = \"\";\n this.buffered = getTimeRangeDummy();\n this.seeking = false;\n this.duration = NaN;\n this.paused = true;\n this.played = getTimeRangeDummy();\n this.seekable = getTimeRangeDummy();\n this.ended = false;\n this.audioTracks = [];\n this.videoTracks = [];\n this.textTracks = [];\n }\n\n get defaultPlaybackRate() {\n if (this._defaultPlaybackRate === undefined) {\n return 1.0;\n }\n return this._defaultPlaybackRate;\n }\n\n set defaultPlaybackRate(v) {\n if (v === 0.0) {\n throw DOMException.create(this._globalObject, [\"The operation is not supported.\", \"NotSupportedError\"]);\n }\n if (this._defaultPlaybackRate !== v) {\n this._defaultPlaybackRate = v;\n this._dispatchRateChange();\n }\n }\n\n get playbackRate() {\n if (this._playbackRate === undefined) {\n return 1.0;\n }\n return this._playbackRate;\n }\n\n set playbackRate(v) {\n if (v !== this._playbackRate) {\n this._playbackRate = v;\n this._dispatchRateChange();\n }\n }\n\n get muted() {\n return this._muted;\n }\n\n set muted(v) {\n if (v !== this._muted) {\n this._muted = v;\n this._dispatchVolumeChange();\n }\n }\n\n get defaultMuted() {\n return this.getAttributeNS(null, \"muted\") !== null;\n }\n\n set defaultMuted(v) {\n if (v) {\n this.setAttributeNS(null, \"muted\", v);\n } else {\n this.removeAttributeNS(null, \"muted\");\n }\n }\n\n get volume() {\n return this._volume;\n }\n\n set volume(v) {\n if (v < 0 || v > 1) {\n throw DOMException.create(this._globalObject, [\"The index is not in the allowed range.\", \"IndexSizeError\"]);\n }\n if (this._volume !== v) {\n this._volume = v;\n this._dispatchVolumeChange();\n }\n }\n\n // Not (yet) implemented according to spec\n // Should return sane default values\n load() {\n notImplemented(\"HTMLMediaElement.prototype.load\", this._ownerDocument._defaultView);\n }\n canPlayType() {\n return \"\";\n }\n play() {\n notImplemented(\"HTMLMediaElement.prototype.play\", this._ownerDocument._defaultView);\n }\n pause() {\n notImplemented(\"HTMLMediaElement.prototype.pause\", this._ownerDocument._defaultView);\n }\n addTextTrack() {\n notImplemented(\"HTMLMediaElement.prototype.addTextTrack\", this._ownerDocument._defaultView);\n }\n\n _dispatchRateChange() {\n fireAnEvent(\"ratechange\", this);\n }\n\n _dispatchVolumeChange() {\n fireAnEvent(\"volumechange\", this);\n }\n}\n\nmodule.exports = {\n implementation: HTMLMediaElementImpl\n};\n","\"use strict\";\n\nconst TextImpl = require(\"./Text-impl\").implementation;\nconst NODE_TYPE = require(\"../node-type\");\n\nclass CDATASectionImpl extends TextImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this.nodeType = NODE_TYPE.CDATA_SECTION_NODE;\n }\n}\n\nmodule.exports = {\n implementation: CDATASectionImpl\n};\n","\"use strict\";\n\n// https://infra.spec.whatwg.org/#ascii-whitespace\nconst asciiWhitespaceRe = /^[\\t\\n\\f\\r ]$/;\nexports.asciiWhitespaceRe = asciiWhitespaceRe;\n\n// https://infra.spec.whatwg.org/#ascii-lowercase\nexports.asciiLowercase = s => {\n const len = s.length;\n const out = new Array(len);\n for (let i = 0; i < len; i++) {\n const code = s.charCodeAt(i);\n // If the character is between 'A' (65) and 'Z' (90), convert using bitwise OR with 32\n out[i] = code >= 65 && code <= 90 ? String.fromCharCode(code | 32) : s[i];\n }\n return out.join(\"\");\n};\n\n// https://infra.spec.whatwg.org/#ascii-uppercase\nexports.asciiUppercase = s => {\n const len = s.length;\n const out = new Array(len);\n for (let i = 0; i < len; i++) {\n const code = s.charCodeAt(i);\n // If the character is between 'a' (97) and 'z' (122), convert using bitwise AND with ~32\n out[i] = code >= 97 && code <= 122 ? String.fromCharCode(code & ~32) : s[i];\n }\n return out.join(\"\");\n};\n\n// https://infra.spec.whatwg.org/#strip-newlines\nexports.stripNewlines = s => {\n return s.replace(/[\\n\\r]+/g, \"\");\n};\n\n// https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace\nexports.stripLeadingAndTrailingASCIIWhitespace = s => {\n return s.replace(/^[ \\t\\n\\f\\r]+/, \"\").replace(/[ \\t\\n\\f\\r]+$/, \"\");\n};\n\n// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\nexports.stripAndCollapseASCIIWhitespace = s => {\n return s.replace(/[ \\t\\n\\f\\r]+/g, \" \").replace(/^[ \\t\\n\\f\\r]+/, \"\").replace(/[ \\t\\n\\f\\r]+$/, \"\");\n};\n\n// https://html.spec.whatwg.org/multipage/infrastructure.html#valid-simple-colour\nexports.isValidSimpleColor = s => {\n return /^#[a-fA-F\\d]{6}$/.test(s);\n};\n\n// https://infra.spec.whatwg.org/#ascii-case-insensitive\nexports.asciiCaseInsensitiveMatch = (a, b) => {\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; ++i) {\n if ((a.charCodeAt(i) | 32) !== (b.charCodeAt(i) | 32)) {\n return false;\n }\n }\n\n return true;\n};\n\n// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#rules-for-parsing-integers\n// Error is represented as null.\nconst parseInteger = exports.parseInteger = input => {\n // The implementation here is slightly different from the spec's. We want to use parseInt(), but parseInt() trims\n // Unicode whitespace in addition to just ASCII ones, so we make sure that the trimmed prefix contains only ASCII\n // whitespace ourselves.\n const numWhitespace = input.length - input.trimStart().length;\n if (/[^\\t\\n\\f\\r ]/.test(input.slice(0, numWhitespace))) {\n return null;\n }\n // We don't allow hexadecimal numbers here.\n // eslint-disable-next-line radix\n const value = parseInt(input, 10);\n if (Number.isNaN(value)) {\n return null;\n }\n // parseInt() returns -0 for \"-0\". Normalize that here.\n return value === 0 ? 0 : value;\n};\n\n// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#rules-for-parsing-non-negative-integers\n// Error is represented as null.\nexports.parseNonNegativeInteger = input => {\n const value = parseInteger(input);\n if (value === null) {\n return null;\n }\n if (value < 0) {\n return null;\n }\n return value;\n};\n\n// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-floating-point-number\nconst floatingPointNumRe = /^-?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?$/;\nexports.isValidFloatingPointNumber = str => floatingPointNumRe.test(str);\n\n// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#rules-for-parsing-floating-point-number-values\n// Error is represented as null.\nexports.parseFloatingPointNumber = str => {\n // The implementation here is slightly different from the spec's. We need to use parseFloat() in order to retain\n // accuracy, but parseFloat() trims Unicode whitespace in addition to just ASCII ones, so we make sure that the\n // trimmed prefix contains only ASCII whitespace ourselves.\n const numWhitespace = str.length - str.trimStart().length;\n if (/[^\\t\\n\\f\\r ]/.test(str.slice(0, numWhitespace))) {\n return null;\n }\n const parsed = parseFloat(str);\n return isFinite(parsed) ? parsed : null;\n};\n\n// https://infra.spec.whatwg.org/#split-on-ascii-whitespace\nexports.splitOnASCIIWhitespace = str => {\n let position = 0;\n const tokens = [];\n while (position < str.length && asciiWhitespaceRe.test(str[position])) {\n position++;\n }\n if (position === str.length) {\n return tokens;\n }\n while (position < str.length) {\n const start = position;\n while (position < str.length && !asciiWhitespaceRe.test(str[position])) {\n position++;\n }\n tokens.push(str.slice(start, position));\n while (position < str.length && asciiWhitespaceRe.test(str[position])) {\n position++;\n }\n }\n return tokens;\n};\n\n// https://infra.spec.whatwg.org/#split-on-commas\nexports.splitOnCommas = str => {\n let position = 0;\n const tokens = [];\n while (position < str.length) {\n let start = position;\n while (position < str.length && str[position] !== \",\") {\n position++;\n }\n let end = position;\n while (start < str.length && asciiWhitespaceRe.test(str[start])) {\n start++;\n }\n while (end > start && asciiWhitespaceRe.test(str[end - 1])) {\n end--;\n }\n tokens.push(str.slice(start, end));\n if (position < str.length) {\n position++;\n }\n }\n return tokens;\n};\n","\"use strict\";\nconst cssom = require(\"rrweb-cssom\");\nconst whatwgEncoding = require(\"whatwg-encoding\");\nconst whatwgURL = require(\"whatwg-url\");\nconst { invalidateStyleCache } = require(\"./style-rules\");\n\n// TODO: this should really implement https://html.spec.whatwg.org/multipage/links.html#link-type-stylesheet\n// It (and the things it calls) is nowhere close right now.\nexports.fetchStylesheet = (elementImpl, urlString) => {\n const parsedURL = whatwgURL.parseURL(urlString);\n return fetchStylesheetInternal(elementImpl, urlString, parsedURL);\n};\n\n// https://drafts.csswg.org/cssom/#remove-a-css-style-sheet\nexports.removeStylesheet = (sheet, elementImpl) => {\n const { styleSheets } = elementImpl._ownerDocument;\n styleSheets._remove(sheet);\n\n // Remove the association explicitly; in the spec it's implicit so this step doesn't exist.\n elementImpl.sheet = null;\n\n invalidateStyleCache(elementImpl);\n\n // TODO: \"Set the CSS style sheet’s parent CSS style sheet, owner node and owner CSS rule to null.\"\n // Probably when we have a real CSSOM implementation.\n};\n\n// https://drafts.csswg.org/cssom/#create-a-css-style-sheet kinda:\n// - Parsing failures are not handled gracefully like they should be\n// - The import rules stuff seems out of place, and probably should affect the load event...\nexports.createStylesheet = (sheetText, elementImpl, baseURL) => {\n let sheet;\n try {\n sheet = cssom.parse(sheetText);\n } catch {\n if (elementImpl._ownerDocument._defaultView) {\n const error = new Error(\"Could not parse CSS stylesheet\");\n error.detail = sheetText;\n error.type = \"css parsing\";\n\n elementImpl._ownerDocument._defaultView._virtualConsole.emit(\"jsdomError\", error);\n }\n return;\n }\n\n scanForImportRules(elementImpl, sheet.cssRules, baseURL);\n\n addStylesheet(sheet, elementImpl);\n};\n\n// https://drafts.csswg.org/cssom/#add-a-css-style-sheet\nfunction addStylesheet(sheet, elementImpl) {\n elementImpl._ownerDocument.styleSheets._add(sheet);\n\n // Set the association explicitly; in the spec it's implicit.\n elementImpl.sheet = sheet;\n\n invalidateStyleCache(elementImpl);\n\n // TODO: title and disabled stuff\n}\n\nfunction fetchStylesheetInternal(elementImpl, urlString, parsedURL) {\n const document = elementImpl._ownerDocument;\n let defaultEncoding = document._encoding;\n const resourceLoader = document._resourceLoader;\n\n if (elementImpl.localName === \"link\" && elementImpl.hasAttributeNS(null, \"charset\")) {\n defaultEncoding = whatwgEncoding.labelToName(elementImpl.getAttributeNS(null, \"charset\"));\n }\n\n function onStylesheetLoad(data) {\n // if the element was detached before the load could finish, don't process the data\n if (!elementImpl._attached) {\n return;\n }\n\n const css = whatwgEncoding.decode(data, defaultEncoding);\n\n // TODO: MIME type checking?\n if (elementImpl.sheet) {\n exports.removeStylesheet(elementImpl.sheet, elementImpl);\n }\n exports.createStylesheet(css, elementImpl, parsedURL);\n }\n\n resourceLoader.fetch(urlString, {\n element: elementImpl,\n onLoad: onStylesheetLoad\n });\n}\n\n// TODO this is actually really messed up and overwrites the sheet on elementImpl\n// Tracking in https://github.com/jsdom/jsdom/issues/2124\nfunction scanForImportRules(elementImpl, cssRules, baseURL) {\n if (!cssRules) {\n return;\n }\n\n for (let i = 0; i < cssRules.length; ++i) {\n if (cssRules[i].cssRules) {\n // @media rule: keep searching inside it.\n scanForImportRules(elementImpl, cssRules[i].cssRules, baseURL);\n } else if (cssRules[i].href) {\n // @import rule: fetch the resource and evaluate it.\n // See http://dev.w3.org/csswg/cssom/#css-import-rule\n // If loading of the style sheet fails its cssRules list is simply\n // empty. I.e. an @import rule always has an associated style sheet.\n const parsed = whatwgURL.parseURL(cssRules[i].href, { baseURL });\n if (parsed === null) {\n const window = elementImpl._ownerDocument._defaultView;\n if (window) {\n const error = new Error(`Could not parse CSS @import URL ${cssRules[i].href} relative to base URL ` +\n `\"${whatwgURL.serializeURL(baseURL)}\"`);\n error.type = \"css @import URL parsing\";\n window._virtualConsole.emit(\"jsdomError\", error);\n }\n } else {\n fetchStylesheetInternal(elementImpl, whatwgURL.serializeURL(parsed), parsed);\n }\n }\n }\n}\n","\"use strict\";\nconst { mixin } = require(\"../../utils\");\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst WindowEventHandlersImpl = require(\"./WindowEventHandlers-impl\").implementation;\n\nclass HTMLBodyElementImpl extends HTMLElementImpl {\n constructor(...args) {\n super(...args);\n this._proxyWindowEventsToWindow();\n }\n}\n\nmixin(HTMLBodyElementImpl.prototype, WindowEventHandlersImpl.prototype);\n\nmodule.exports = {\n implementation: HTMLBodyElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst EventHandlerNonNull = require(\"./EventHandlerNonNull.js\");\nconst OnErrorEventHandlerNonNull = require(\"./OnErrorEventHandlerNonNull.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst Element = require(\"./Element.js\");\n\nconst interfaceName = \"HTMLElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Element._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLElement extends globalObject.Element {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n click() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'click' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n return esValue[implSymbol].click();\n }\n\n attachInternals() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'attachInternals' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol].attachInternals());\n }\n\n focus() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'focus' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n return esValue[implSymbol].focus();\n }\n\n blur() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'blur' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n return esValue[implSymbol].blur();\n }\n\n get title() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get title' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"title\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set title(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set title' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'title' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"title\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get lang() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get lang' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"lang\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set lang(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set lang' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'lang' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"lang\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get translate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get translate' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"translate\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set translate(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set translate' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'translate' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"translate\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get dir() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get dir' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"dir\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set dir(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set dir' called on an object that is not a valid instance of HTMLElement.\");\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'dir' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"dir\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get hidden() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get hidden' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"hidden\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set hidden(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set hidden' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'hidden' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"hidden\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"hidden\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get accessKey() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get accessKey' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"accesskey\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set accessKey(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set accessKey' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'accessKey' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"accesskey\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get draggable() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get draggable' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"draggable\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set draggable(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set draggable' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'draggable' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"draggable\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get offsetParent() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get offsetParent' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"offsetParent\"]);\n }\n\n get offsetTop() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get offsetTop' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return esValue[implSymbol][\"offsetTop\"];\n }\n\n get offsetLeft() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get offsetLeft' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return esValue[implSymbol][\"offsetLeft\"];\n }\n\n get offsetWidth() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get offsetWidth' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return esValue[implSymbol][\"offsetWidth\"];\n }\n\n get offsetHeight() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get offsetHeight' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return esValue[implSymbol][\"offsetHeight\"];\n }\n\n get style() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get style' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.getSameObject(this, \"style\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"style\"]);\n });\n }\n\n set style(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set style' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n const Q = esValue[\"style\"];\n if (!utils.isObject(Q)) {\n throw new globalObject.TypeError(\"Property 'style' is not an object\");\n }\n Reflect.set(Q, \"cssText\", V);\n }\n\n get onabort() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onabort' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onabort\"]);\n }\n\n set onabort(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onabort' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onabort' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onabort\"] = V;\n }\n\n get onauxclick() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onauxclick' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onauxclick\"]);\n }\n\n set onauxclick(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onauxclick' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onauxclick' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onauxclick\"] = V;\n }\n\n get onbeforeinput() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onbeforeinput' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onbeforeinput\"]);\n }\n\n set onbeforeinput(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onbeforeinput' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onbeforeinput' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onbeforeinput\"] = V;\n }\n\n get onbeforematch() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onbeforematch' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onbeforematch\"]);\n }\n\n set onbeforematch(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onbeforematch' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onbeforematch' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onbeforematch\"] = V;\n }\n\n get onbeforetoggle() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onbeforetoggle' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onbeforetoggle\"]);\n }\n\n set onbeforetoggle(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onbeforetoggle' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onbeforetoggle' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onbeforetoggle\"] = V;\n }\n\n get onblur() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onblur' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onblur\"]);\n }\n\n set onblur(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onblur' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onblur' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onblur\"] = V;\n }\n\n get oncancel() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncancel' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncancel\"]);\n }\n\n set oncancel(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncancel' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncancel' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncancel\"] = V;\n }\n\n get oncanplay() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncanplay' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncanplay\"]);\n }\n\n set oncanplay(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncanplay' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncanplay' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncanplay\"] = V;\n }\n\n get oncanplaythrough() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncanplaythrough' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncanplaythrough\"]);\n }\n\n set oncanplaythrough(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncanplaythrough' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncanplaythrough' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncanplaythrough\"] = V;\n }\n\n get onchange() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onchange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onchange\"]);\n }\n\n set onchange(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onchange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onchange' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onchange\"] = V;\n }\n\n get onclick() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onclick' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onclick\"]);\n }\n\n set onclick(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onclick' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onclick' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onclick\"] = V;\n }\n\n get onclose() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onclose' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onclose\"]);\n }\n\n set onclose(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onclose' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onclose' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onclose\"] = V;\n }\n\n get oncontextlost() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncontextlost' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncontextlost\"]);\n }\n\n set oncontextlost(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncontextlost' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncontextlost' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncontextlost\"] = V;\n }\n\n get oncontextmenu() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncontextmenu' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncontextmenu\"]);\n }\n\n set oncontextmenu(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncontextmenu' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncontextmenu' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncontextmenu\"] = V;\n }\n\n get oncontextrestored() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncontextrestored' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncontextrestored\"]);\n }\n\n set oncontextrestored(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncontextrestored' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncontextrestored' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncontextrestored\"] = V;\n }\n\n get oncopy() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncopy' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncopy\"]);\n }\n\n set oncopy(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncopy' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncopy' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncopy\"] = V;\n }\n\n get oncuechange() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncuechange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncuechange\"]);\n }\n\n set oncuechange(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncuechange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncuechange' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncuechange\"] = V;\n }\n\n get oncut() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oncut' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oncut\"]);\n }\n\n set oncut(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oncut' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oncut' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oncut\"] = V;\n }\n\n get ondblclick() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondblclick' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondblclick\"]);\n }\n\n set ondblclick(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondblclick' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondblclick' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondblclick\"] = V;\n }\n\n get ondrag() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondrag' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondrag\"]);\n }\n\n set ondrag(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondrag' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondrag' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondrag\"] = V;\n }\n\n get ondragend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondragend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondragend\"]);\n }\n\n set ondragend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondragend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondragend' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondragend\"] = V;\n }\n\n get ondragenter() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondragenter' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondragenter\"]);\n }\n\n set ondragenter(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondragenter' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondragenter' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondragenter\"] = V;\n }\n\n get ondragleave() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondragleave' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondragleave\"]);\n }\n\n set ondragleave(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondragleave' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondragleave' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondragleave\"] = V;\n }\n\n get ondragover() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondragover' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondragover\"]);\n }\n\n set ondragover(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondragover' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondragover' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondragover\"] = V;\n }\n\n get ondragstart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondragstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondragstart\"]);\n }\n\n set ondragstart(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondragstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondragstart' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondragstart\"] = V;\n }\n\n get ondrop() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondrop' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondrop\"]);\n }\n\n set ondrop(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondrop' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondrop' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondrop\"] = V;\n }\n\n get ondurationchange() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ondurationchange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ondurationchange\"]);\n }\n\n set ondurationchange(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ondurationchange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ondurationchange' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ondurationchange\"] = V;\n }\n\n get onemptied() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onemptied' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onemptied\"]);\n }\n\n set onemptied(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onemptied' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onemptied' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onemptied\"] = V;\n }\n\n get onended() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onended' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onended\"]);\n }\n\n set onended(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onended' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onended' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onended\"] = V;\n }\n\n get onerror() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onerror' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onerror\"]);\n }\n\n set onerror(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onerror' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = OnErrorEventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onerror' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onerror\"] = V;\n }\n\n get onfocus() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onfocus' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onfocus\"]);\n }\n\n set onfocus(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onfocus' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onfocus' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onfocus\"] = V;\n }\n\n get onformdata() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onformdata' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onformdata\"]);\n }\n\n set onformdata(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onformdata' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onformdata' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onformdata\"] = V;\n }\n\n get oninput() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oninput' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oninput\"]);\n }\n\n set oninput(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oninput' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oninput' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oninput\"] = V;\n }\n\n get oninvalid() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get oninvalid' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"oninvalid\"]);\n }\n\n set oninvalid(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set oninvalid' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'oninvalid' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"oninvalid\"] = V;\n }\n\n get onkeydown() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onkeydown' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onkeydown\"]);\n }\n\n set onkeydown(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onkeydown' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onkeydown' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onkeydown\"] = V;\n }\n\n get onkeypress() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onkeypress' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onkeypress\"]);\n }\n\n set onkeypress(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onkeypress' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onkeypress' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onkeypress\"] = V;\n }\n\n get onkeyup() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onkeyup' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onkeyup\"]);\n }\n\n set onkeyup(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onkeyup' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onkeyup' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onkeyup\"] = V;\n }\n\n get onload() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onload' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onload\"]);\n }\n\n set onload(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onload' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onload' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onload\"] = V;\n }\n\n get onloadeddata() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onloadeddata' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onloadeddata\"]);\n }\n\n set onloadeddata(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onloadeddata' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onloadeddata' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onloadeddata\"] = V;\n }\n\n get onloadedmetadata() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onloadedmetadata' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onloadedmetadata\"]);\n }\n\n set onloadedmetadata(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onloadedmetadata' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onloadedmetadata' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onloadedmetadata\"] = V;\n }\n\n get onloadstart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onloadstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onloadstart\"]);\n }\n\n set onloadstart(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onloadstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onloadstart' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onloadstart\"] = V;\n }\n\n get onmousedown() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onmousedown' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmousedown\"]);\n }\n\n set onmousedown(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onmousedown' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmousedown' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmousedown\"] = V;\n }\n\n get onmouseenter() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n return;\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmouseenter\"]);\n }\n\n set onmouseenter(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n return;\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmouseenter' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmouseenter\"] = V;\n }\n\n get onmouseleave() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n return;\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmouseleave\"]);\n }\n\n set onmouseleave(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n return;\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmouseleave' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmouseleave\"] = V;\n }\n\n get onmousemove() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onmousemove' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmousemove\"]);\n }\n\n set onmousemove(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onmousemove' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmousemove' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmousemove\"] = V;\n }\n\n get onmouseout() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onmouseout' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmouseout\"]);\n }\n\n set onmouseout(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onmouseout' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmouseout' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmouseout\"] = V;\n }\n\n get onmouseover() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onmouseover' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmouseover\"]);\n }\n\n set onmouseover(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onmouseover' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmouseover' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmouseover\"] = V;\n }\n\n get onmouseup() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onmouseup' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmouseup\"]);\n }\n\n set onmouseup(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onmouseup' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmouseup' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onmouseup\"] = V;\n }\n\n get onpaste() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onpaste' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onpaste\"]);\n }\n\n set onpaste(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onpaste' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onpaste' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onpaste\"] = V;\n }\n\n get onpause() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onpause' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onpause\"]);\n }\n\n set onpause(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onpause' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onpause' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onpause\"] = V;\n }\n\n get onplay() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onplay' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onplay\"]);\n }\n\n set onplay(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onplay' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onplay' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onplay\"] = V;\n }\n\n get onplaying() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onplaying' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onplaying\"]);\n }\n\n set onplaying(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onplaying' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onplaying' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onplaying\"] = V;\n }\n\n get onprogress() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onprogress' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onprogress\"]);\n }\n\n set onprogress(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onprogress' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onprogress' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onprogress\"] = V;\n }\n\n get onratechange() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onratechange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onratechange\"]);\n }\n\n set onratechange(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onratechange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onratechange' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onratechange\"] = V;\n }\n\n get onreset() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onreset' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onreset\"]);\n }\n\n set onreset(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onreset' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onreset' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onreset\"] = V;\n }\n\n get onresize() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onresize' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onresize\"]);\n }\n\n set onresize(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onresize' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onresize' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onresize\"] = V;\n }\n\n get onscroll() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onscroll' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onscroll\"]);\n }\n\n set onscroll(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onscroll' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onscroll' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onscroll\"] = V;\n }\n\n get onscrollend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onscrollend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onscrollend\"]);\n }\n\n set onscrollend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onscrollend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onscrollend' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onscrollend\"] = V;\n }\n\n get onsecuritypolicyviolation() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onsecuritypolicyviolation' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onsecuritypolicyviolation\"]);\n }\n\n set onsecuritypolicyviolation(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onsecuritypolicyviolation' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onsecuritypolicyviolation' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onsecuritypolicyviolation\"] = V;\n }\n\n get onseeked() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onseeked' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onseeked\"]);\n }\n\n set onseeked(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onseeked' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onseeked' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onseeked\"] = V;\n }\n\n get onseeking() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onseeking' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onseeking\"]);\n }\n\n set onseeking(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onseeking' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onseeking' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onseeking\"] = V;\n }\n\n get onselect() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onselect' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onselect\"]);\n }\n\n set onselect(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onselect' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onselect' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onselect\"] = V;\n }\n\n get onslotchange() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onslotchange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onslotchange\"]);\n }\n\n set onslotchange(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onslotchange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onslotchange' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onslotchange\"] = V;\n }\n\n get onstalled() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onstalled' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onstalled\"]);\n }\n\n set onstalled(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onstalled' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onstalled' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onstalled\"] = V;\n }\n\n get onsubmit() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onsubmit' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onsubmit\"]);\n }\n\n set onsubmit(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onsubmit' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onsubmit' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onsubmit\"] = V;\n }\n\n get onsuspend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onsuspend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onsuspend\"]);\n }\n\n set onsuspend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onsuspend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onsuspend' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onsuspend\"] = V;\n }\n\n get ontimeupdate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ontimeupdate' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ontimeupdate\"]);\n }\n\n set ontimeupdate(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ontimeupdate' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ontimeupdate' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ontimeupdate\"] = V;\n }\n\n get ontoggle() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ontoggle' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ontoggle\"]);\n }\n\n set ontoggle(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ontoggle' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ontoggle' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ontoggle\"] = V;\n }\n\n get onvolumechange() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onvolumechange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onvolumechange\"]);\n }\n\n set onvolumechange(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onvolumechange' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onvolumechange' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onvolumechange\"] = V;\n }\n\n get onwaiting() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onwaiting' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onwaiting\"]);\n }\n\n set onwaiting(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onwaiting' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onwaiting' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onwaiting\"] = V;\n }\n\n get onwebkitanimationend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onwebkitanimationend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onwebkitanimationend\"]);\n }\n\n set onwebkitanimationend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onwebkitanimationend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onwebkitanimationend' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onwebkitanimationend\"] = V;\n }\n\n get onwebkitanimationiteration() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onwebkitanimationiteration' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onwebkitanimationiteration\"]);\n }\n\n set onwebkitanimationiteration(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onwebkitanimationiteration' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onwebkitanimationiteration' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onwebkitanimationiteration\"] = V;\n }\n\n get onwebkitanimationstart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onwebkitanimationstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onwebkitanimationstart\"]);\n }\n\n set onwebkitanimationstart(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onwebkitanimationstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onwebkitanimationstart' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onwebkitanimationstart\"] = V;\n }\n\n get onwebkittransitionend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onwebkittransitionend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onwebkittransitionend\"]);\n }\n\n set onwebkittransitionend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onwebkittransitionend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onwebkittransitionend' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onwebkittransitionend\"] = V;\n }\n\n get onwheel() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onwheel' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onwheel\"]);\n }\n\n set onwheel(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onwheel' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onwheel' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"onwheel\"] = V;\n }\n\n get ontouchstart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ontouchstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ontouchstart\"]);\n }\n\n set ontouchstart(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ontouchstart' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ontouchstart' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ontouchstart\"] = V;\n }\n\n get ontouchend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ontouchend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ontouchend\"]);\n }\n\n set ontouchend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ontouchend' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ontouchend' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ontouchend\"] = V;\n }\n\n get ontouchmove() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ontouchmove' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ontouchmove\"]);\n }\n\n set ontouchmove(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ontouchmove' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ontouchmove' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ontouchmove\"] = V;\n }\n\n get ontouchcancel() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ontouchcancel' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ontouchcancel\"]);\n }\n\n set ontouchcancel(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ontouchcancel' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'ontouchcancel' property on 'HTMLElement': The provided value\"\n });\n }\n esValue[implSymbol][\"ontouchcancel\"] = V;\n }\n\n get dataset() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get dataset' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n return utils.getSameObject(this, \"dataset\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"dataset\"]);\n });\n }\n\n get nonce() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get nonce' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"nonce\");\n return value === null ? \"\" : value;\n }\n\n set nonce(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set nonce' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'nonce' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol]._reflectSetTheContentAttribute(\"nonce\", V);\n }\n\n get tabIndex() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get tabIndex' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"tabIndex\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set tabIndex(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set tabIndex' called on an object that is not a valid instance of HTMLElement.\"\n );\n }\n\n V = conversions[\"long\"](V, {\n context: \"Failed to set the 'tabIndex' property on 'HTMLElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"tabIndex\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLElement.prototype, {\n click: { enumerable: true },\n attachInternals: { enumerable: true },\n focus: { enumerable: true },\n blur: { enumerable: true },\n title: { enumerable: true },\n lang: { enumerable: true },\n translate: { enumerable: true },\n dir: { enumerable: true },\n hidden: { enumerable: true },\n accessKey: { enumerable: true },\n draggable: { enumerable: true },\n offsetParent: { enumerable: true },\n offsetTop: { enumerable: true },\n offsetLeft: { enumerable: true },\n offsetWidth: { enumerable: true },\n offsetHeight: { enumerable: true },\n style: { enumerable: true },\n onabort: { enumerable: true },\n onauxclick: { enumerable: true },\n onbeforeinput: { enumerable: true },\n onbeforematch: { enumerable: true },\n onbeforetoggle: { enumerable: true },\n onblur: { enumerable: true },\n oncancel: { enumerable: true },\n oncanplay: { enumerable: true },\n oncanplaythrough: { enumerable: true },\n onchange: { enumerable: true },\n onclick: { enumerable: true },\n onclose: { enumerable: true },\n oncontextlost: { enumerable: true },\n oncontextmenu: { enumerable: true },\n oncontextrestored: { enumerable: true },\n oncopy: { enumerable: true },\n oncuechange: { enumerable: true },\n oncut: { enumerable: true },\n ondblclick: { enumerable: true },\n ondrag: { enumerable: true },\n ondragend: { enumerable: true },\n ondragenter: { enumerable: true },\n ondragleave: { enumerable: true },\n ondragover: { enumerable: true },\n ondragstart: { enumerable: true },\n ondrop: { enumerable: true },\n ondurationchange: { enumerable: true },\n onemptied: { enumerable: true },\n onended: { enumerable: true },\n onerror: { enumerable: true },\n onfocus: { enumerable: true },\n onformdata: { enumerable: true },\n oninput: { enumerable: true },\n oninvalid: { enumerable: true },\n onkeydown: { enumerable: true },\n onkeypress: { enumerable: true },\n onkeyup: { enumerable: true },\n onload: { enumerable: true },\n onloadeddata: { enumerable: true },\n onloadedmetadata: { enumerable: true },\n onloadstart: { enumerable: true },\n onmousedown: { enumerable: true },\n onmouseenter: { enumerable: true },\n onmouseleave: { enumerable: true },\n onmousemove: { enumerable: true },\n onmouseout: { enumerable: true },\n onmouseover: { enumerable: true },\n onmouseup: { enumerable: true },\n onpaste: { enumerable: true },\n onpause: { enumerable: true },\n onplay: { enumerable: true },\n onplaying: { enumerable: true },\n onprogress: { enumerable: true },\n onratechange: { enumerable: true },\n onreset: { enumerable: true },\n onresize: { enumerable: true },\n onscroll: { enumerable: true },\n onscrollend: { enumerable: true },\n onsecuritypolicyviolation: { enumerable: true },\n onseeked: { enumerable: true },\n onseeking: { enumerable: true },\n onselect: { enumerable: true },\n onslotchange: { enumerable: true },\n onstalled: { enumerable: true },\n onsubmit: { enumerable: true },\n onsuspend: { enumerable: true },\n ontimeupdate: { enumerable: true },\n ontoggle: { enumerable: true },\n onvolumechange: { enumerable: true },\n onwaiting: { enumerable: true },\n onwebkitanimationend: { enumerable: true },\n onwebkitanimationiteration: { enumerable: true },\n onwebkitanimationstart: { enumerable: true },\n onwebkittransitionend: { enumerable: true },\n onwheel: { enumerable: true },\n ontouchstart: { enumerable: true },\n ontouchend: { enumerable: true },\n ontouchmove: { enumerable: true },\n ontouchcancel: { enumerable: true },\n dataset: { enumerable: true },\n nonce: { enumerable: true },\n tabIndex: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst parseNonNegativeInteger_helpers_strings = require(\"../helpers/strings.js\").parseNonNegativeInteger;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTableColElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTableColElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTableColElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTableColElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get span() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get span' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"span\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null) {\n if (value < 1) {\n return 1;\n } else if (value >= 1 && value <= 1000) {\n return value;\n } else {\n return 1000;\n }\n }\n }\n return 1;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set span(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set span' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'span' property on 'HTMLTableColElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 1;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"span\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLTableColElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get ch() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ch' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"char\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set ch(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ch' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'ch' property on 'HTMLTableColElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"char\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get chOff() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get chOff' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"charoff\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set chOff(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set chOff' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'chOff' property on 'HTMLTableColElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"charoff\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get vAlign() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vAlign' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"valign\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set vAlign(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set vAlign' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'vAlign' property on 'HTMLTableColElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"valign\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get width' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"width\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set width' called on an object that is not a valid instance of HTMLTableColElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'width' property on 'HTMLTableColElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"width\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLTableColElement.prototype, {\n span: { enumerable: true },\n align: { enumerable: true },\n ch: { enumerable: true },\n chOff: { enumerable: true },\n vAlign: { enumerable: true },\n width: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTableColElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTableColElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTableColElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTableColElement-impl.js\");\n","\"use strict\";\n\nconst EventImpl = require(\"./Event-impl\").implementation;\n\nconst ProgressEventInit = require(\"../generated/ProgressEventInit\");\n\nclass ProgressEventImpl extends EventImpl {\n\n}\nProgressEventImpl.defaultInit = ProgressEventInit.convert(undefined, undefined);\n\nmodule.exports = {\n implementation: ProgressEventImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst parseNonNegativeInteger_helpers_strings = require(\"../helpers/strings.js\").parseNonNegativeInteger;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLMarqueeElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLMarqueeElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLMarqueeElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLMarqueeElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get behavior() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get behavior' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"behavior\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set behavior(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set behavior' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'behavior' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"behavior\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get bgColor() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get bgColor' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"bgcolor\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set bgColor(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set bgColor' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'bgColor' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"bgcolor\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get direction() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get direction' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"direction\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set direction(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set direction' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'direction' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"direction\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get height() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get height' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"height\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set height(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set height' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'height' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"height\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get hspace() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get hspace' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"hspace\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 0 && value <= 2147483647) {\n return value;\n }\n }\n return 0;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set hspace(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set hspace' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'hspace' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 0;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"hspace\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get scrollAmount() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get scrollAmount' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"scrollamount\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 0 && value <= 2147483647) {\n return value;\n }\n }\n return 0;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set scrollAmount(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set scrollAmount' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'scrollAmount' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 0;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"scrollamount\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get scrollDelay() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get scrollDelay' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"scrolldelay\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 0 && value <= 2147483647) {\n return value;\n }\n }\n return 0;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set scrollDelay(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set scrollDelay' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'scrollDelay' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 0;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"scrolldelay\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get trueSpeed() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get trueSpeed' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"truespeed\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set trueSpeed(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set trueSpeed' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'trueSpeed' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"truespeed\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"truespeed\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get vspace() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vspace' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"vspace\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 0 && value <= 2147483647) {\n return value;\n }\n }\n return 0;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set vspace(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set vspace' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'vspace' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 0;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"vspace\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get width' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"width\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set width' called on an object that is not a valid instance of HTMLMarqueeElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'width' property on 'HTMLMarqueeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"width\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLMarqueeElement.prototype, {\n behavior: { enumerable: true },\n bgColor: { enumerable: true },\n direction: { enumerable: true },\n height: { enumerable: true },\n hspace: { enumerable: true },\n scrollAmount: { enumerable: true },\n scrollDelay: { enumerable: true },\n trueSpeed: { enumerable: true },\n vspace: { enumerable: true },\n width: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLMarqueeElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLMarqueeElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLMarqueeElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLMarqueeElement-impl.js\");\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","\"use strict\";\n\nconst DOMException = require(\"../generated/DOMException\");\n\nconst { clone } = require(\"../node\");\nconst NODE_TYPE = require(\"../node-type\");\nconst { parseFragment } = require(\"../../browser/parser/index\");\n\nconst { HTML_NS } = require(\"../helpers/namespaces\");\nconst { domSymbolTree } = require(\"../helpers/internal-constants\");\nconst { compareBoundaryPointsPosition } = require(\"./boundary-point\");\nconst { nodeRoot, nodeLength, isInclusiveAncestor } = require(\"../helpers/node\");\nconst { createElement } = require(\"../helpers/create-element\");\n\nconst AbstractRangeImpl = require(\"./AbstractRange-impl\").implementation;\n\nconst Range = require(\"../generated/Range\");\nconst DocumentFragment = require(\"../generated/DocumentFragment\");\nconst { implForWrapper } = require(\"../generated/utils\");\n\nconst RANGE_COMPARISON_TYPE = {\n START_TO_START: 0,\n START_TO_END: 1,\n END_TO_END: 2,\n END_TO_START: 3\n};\n\nclass RangeImpl extends AbstractRangeImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n const defaultBoundaryPoint = {\n node: implForWrapper(globalObject._document),\n offset: 0\n };\n\n const {\n start = defaultBoundaryPoint,\n end = defaultBoundaryPoint\n } = privateData;\n\n this._setLiveRangeStart(start.node, start.offset);\n this._setLiveRangeEnd(end.node, end.offset);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-commonancestorcontainer\n get commonAncestorContainer() {\n const { _start, _end } = this;\n\n for (const container of domSymbolTree.ancestorsIterator(_start.node)) {\n if (isInclusiveAncestor(container, _end.node)) {\n return container;\n }\n }\n\n return null;\n }\n\n // https://dom.spec.whatwg.org/#dom-range-setstart\n setStart(node, offset) {\n setBoundaryPointStart(this, node, offset);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-setend\n setEnd(node, offset) {\n setBoundaryPointEnd(this, node, offset);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-setstartbefore\n setStartBefore(node) {\n const parent = domSymbolTree.parent(node);\n\n if (!parent) {\n throw DOMException.create(this._globalObject, [\"The given Node has no parent.\", \"InvalidNodeTypeError\"]);\n }\n\n setBoundaryPointStart(this, parent, domSymbolTree.index(node));\n }\n\n // https://dom.spec.whatwg.org/#dom-range-setstartafter\n setStartAfter(node) {\n const parent = domSymbolTree.parent(node);\n\n if (!parent) {\n throw DOMException.create(this._globalObject, [\"The given Node has no parent.\", \"InvalidNodeTypeError\"]);\n }\n\n setBoundaryPointStart(this, parent, domSymbolTree.index(node) + 1);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-setendbefore\n setEndBefore(node) {\n const parent = domSymbolTree.parent(node);\n\n if (!parent) {\n throw DOMException.create(this._globalObject, [\"The given Node has no parent.\", \"InvalidNodeTypeError\"]);\n }\n\n setBoundaryPointEnd(this, parent, domSymbolTree.index(node));\n }\n\n // https://dom.spec.whatwg.org/#dom-range-setendafter\n setEndAfter(node) {\n const parent = domSymbolTree.parent(node);\n\n if (!parent) {\n throw DOMException.create(this._globalObject, [\"The given Node has no parent.\", \"InvalidNodeTypeError\"]);\n }\n\n setBoundaryPointEnd(this, parent, domSymbolTree.index(node) + 1);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-collapse\n collapse(toStart) {\n if (toStart) {\n this._setLiveRangeEnd(this._start.node, this._start.offset);\n } else {\n this._setLiveRangeStart(this._end.node, this._end.offset);\n }\n }\n\n // https://dom.spec.whatwg.org/#dom-range-selectnode\n selectNode(node) {\n selectNodeWithinRange(node, this);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-selectnodecontents\n selectNodeContents(node) {\n if (node.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE) {\n throw DOMException.create(this._globalObject, [\n \"DocumentType Node can't be used as boundary point.\",\n \"InvalidNodeTypeError\"\n ]);\n }\n\n const length = nodeLength(node);\n\n this._setLiveRangeStart(node, 0);\n this._setLiveRangeEnd(node, length);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-compareboundarypoints\n compareBoundaryPoints(how, sourceRange) {\n if (\n how !== RANGE_COMPARISON_TYPE.START_TO_START &&\n how !== RANGE_COMPARISON_TYPE.START_TO_END &&\n how !== RANGE_COMPARISON_TYPE.END_TO_END &&\n how !== RANGE_COMPARISON_TYPE.END_TO_START\n ) {\n const message = \"The comparison method provided must be one of 'START_TO_START', 'START_TO_END', 'END_TO_END', \" +\n \"or 'END_TO_START'.\";\n throw DOMException.create(this._globalObject, [message, \"NotSupportedError\"]);\n }\n\n if (this._root !== sourceRange._root) {\n throw DOMException.create(this._globalObject, [\"The two Ranges are not in the same tree.\", \"WrongDocumentError\"]);\n }\n\n let thisPoint, otherPoint;\n if (how === RANGE_COMPARISON_TYPE.START_TO_START) {\n thisPoint = this._start;\n otherPoint = sourceRange._start;\n } else if (how === RANGE_COMPARISON_TYPE.START_TO_END) {\n thisPoint = this._end;\n otherPoint = sourceRange._start;\n } else if (how === RANGE_COMPARISON_TYPE.END_TO_END) {\n thisPoint = this._end;\n otherPoint = sourceRange._end;\n } else {\n thisPoint = this._start;\n otherPoint = sourceRange._end;\n }\n\n return compareBoundaryPointsPosition(thisPoint, otherPoint);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-deletecontents\n deleteContents() {\n if (this.collapsed) {\n return;\n }\n\n const { _start: originalStart, _end: originalEnd } = this;\n\n if (\n originalStart.node === originalEnd.node &&\n (\n originalStart.node.nodeType === NODE_TYPE.TEXT_NODE ||\n originalStart.node.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n originalStart.node.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n originalStart.node.replaceData(originalStart.offset, originalEnd.offset - originalStart.offset, \"\");\n return;\n }\n\n const nodesToRemove = [];\n let currentNode = this._start.node;\n const endNode = nextNodeDescendant(this._end.node);\n while (currentNode && currentNode !== endNode) {\n if (\n isContained(currentNode, this) &&\n !isContained(domSymbolTree.parent(currentNode), this)\n ) {\n nodesToRemove.push(currentNode);\n }\n\n currentNode = domSymbolTree.following(currentNode);\n }\n\n let newNode, newOffset;\n if (isInclusiveAncestor(originalStart.node, originalEnd.node)) {\n newNode = originalStart.node;\n newOffset = originalStart.offset;\n } else {\n let referenceNode = originalStart.node;\n\n while (\n referenceNode &&\n !isInclusiveAncestor(domSymbolTree.parent(referenceNode), originalEnd.node)\n ) {\n referenceNode = domSymbolTree.parent(referenceNode);\n }\n\n newNode = domSymbolTree.parent(referenceNode);\n newOffset = domSymbolTree.index(referenceNode) + 1;\n }\n\n if (\n originalStart.node.nodeType === NODE_TYPE.TEXT_NODE ||\n originalStart.node.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n originalStart.node.nodeType === NODE_TYPE.COMMENT_NODE\n ) {\n originalStart.node.replaceData(originalStart.offset, nodeLength(originalStart.node) - originalStart.offset, \"\");\n }\n\n for (const node of nodesToRemove) {\n const parent = domSymbolTree.parent(node);\n parent.removeChild(node);\n }\n\n if (\n originalEnd.node.nodeType === NODE_TYPE.TEXT_NODE ||\n originalEnd.node.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n originalEnd.node.nodeType === NODE_TYPE.COMMENT_NODE\n ) {\n originalEnd.node.replaceData(0, originalEnd.offset, \"\");\n }\n\n this._setLiveRangeStart(newNode, newOffset);\n this._setLiveRangeEnd(newNode, newOffset);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-extractcontents\n extractContents() {\n return extractRange(this);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-clonecontents\n cloneContents() {\n return cloneRange(this);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-insertnode\n insertNode(node) {\n insertNodeInRange(node, this);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-surroundcontents\n surroundContents(newParent) {\n let node = this.commonAncestorContainer;\n const endNode = nextNodeDescendant(node);\n while (node !== endNode) {\n if (node.nodeType !== NODE_TYPE.TEXT_NODE && isPartiallyContained(node, this)) {\n throw DOMException.create(this._globalObject, [\n \"The Range has partially contains a non-Text node.\",\n \"InvalidStateError\"\n ]);\n }\n\n node = domSymbolTree.following(node);\n }\n\n if (\n newParent.nodeType === NODE_TYPE.DOCUMENT_NODE ||\n newParent.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE ||\n newParent.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE\n ) {\n throw DOMException.create(this._globalObject, [\"Invalid element type.\", \"InvalidNodeTypeError\"]);\n }\n\n const fragment = extractRange(this);\n\n while (domSymbolTree.firstChild(newParent)) {\n newParent.removeChild(domSymbolTree.firstChild(newParent));\n }\n\n insertNodeInRange(newParent, this);\n\n newParent.appendChild(fragment);\n\n selectNodeWithinRange(newParent, this);\n }\n\n // https://dom.spec.whatwg.org/#dom-range-clonerange\n cloneRange() {\n const { _start, _end, _globalObject } = this;\n\n return Range.createImpl(_globalObject, [], {\n start: { node: _start.node, offset: _start.offset },\n end: { node: _end.node, offset: _end.offset }\n });\n }\n\n // https://dom.spec.whatwg.org/#dom-range-detach\n detach() {\n // Do nothing by spec!\n }\n\n // https://dom.spec.whatwg.org/#dom-range-ispointinrange\n isPointInRange(node, offset) {\n if (nodeRoot(node) !== this._root) {\n return false;\n }\n\n validateSetBoundaryPoint(node, offset);\n\n const bp = { node, offset };\n\n if (\n compareBoundaryPointsPosition(bp, this._start) === -1 ||\n compareBoundaryPointsPosition(bp, this._end) === 1\n ) {\n return false;\n }\n\n return true;\n }\n\n // https://dom.spec.whatwg.org/#dom-range-comparepoint\n comparePoint(node, offset) {\n if (nodeRoot(node) !== this._root) {\n throw DOMException.create(this._globalObject, [\n \"The given Node and the Range are not in the same tree.\",\n \"WrongDocumentError\"\n ]);\n }\n\n validateSetBoundaryPoint(node, offset);\n\n const bp = { node, offset };\n if (compareBoundaryPointsPosition(bp, this._start) === -1) {\n return -1;\n } else if (compareBoundaryPointsPosition(bp, this._end) === 1) {\n return 1;\n }\n\n return 0;\n }\n\n // https://dom.spec.whatwg.org/#dom-range-intersectsnode\n intersectsNode(node) {\n if (nodeRoot(node) !== this._root) {\n return false;\n }\n\n const parent = domSymbolTree.parent(node);\n if (!parent) {\n return true;\n }\n\n const offset = domSymbolTree.index(node);\n\n return (\n compareBoundaryPointsPosition({ node: parent, offset }, this._end) === -1 &&\n compareBoundaryPointsPosition({ node: parent, offset: offset + 1 }, this._start) === 1\n );\n }\n\n // https://dom.spec.whatwg.org/#dom-range-stringifier\n toString() {\n let s = \"\";\n const { _start, _end } = this;\n\n if (_start.node === _end.node && _start.node.nodeType === NODE_TYPE.TEXT_NODE) {\n return _start.node.data.slice(_start.offset, _end.offset);\n }\n\n if (_start.node.nodeType === NODE_TYPE.TEXT_NODE) {\n s += _start.node.data.slice(_start.offset);\n }\n\n let currentNode = _start.node;\n const endNode = nextNodeDescendant(_end.node);\n while (currentNode && currentNode !== endNode) {\n if (currentNode.nodeType === NODE_TYPE.TEXT_NODE && isContained(currentNode, this)) {\n s += currentNode.data;\n }\n\n currentNode = domSymbolTree.following(currentNode);\n }\n\n if (_end.node.nodeType === NODE_TYPE.TEXT_NODE) {\n s += _end.node.data.slice(0, _end.offset);\n }\n\n return s;\n }\n\n // https://w3c.github.io/DOM-Parsing/#dom-range-createcontextualfragment\n createContextualFragment(fragment) {\n const { node } = this._start;\n\n let element;\n switch (node.nodeType) {\n case NODE_TYPE.DOCUMENT_NODE:\n case NODE_TYPE.DOCUMENT_FRAGMENT_NODE:\n element = null;\n break;\n\n case NODE_TYPE.ELEMENT_NODE:\n element = node;\n break;\n\n case NODE_TYPE.TEXT_NODE:\n case NODE_TYPE.COMMENT_NODE:\n element = node.parentElement;\n break;\n\n default:\n throw new Error(\"Internal error: Invalid range start node\");\n }\n\n if (\n element === null || (\n element._ownerDocument._parsingMode === \"html\" &&\n element._localName === \"html\" &&\n element._namespaceURI === HTML_NS\n )\n ) {\n element = createElement(node._ownerDocument, \"body\", HTML_NS);\n }\n\n return parseFragment(fragment, element);\n }\n\n // https://dom.spec.whatwg.org/#concept-range-root\n get _root() {\n return nodeRoot(this._start.node);\n }\n\n _setLiveRangeStart(node, offset) {\n if (\n this._start &&\n this._start.node !== node &&\n this._start.node !== this._end.node\n ) {\n this._start.node._referencedRanges.delete(this);\n }\n\n if (!node._referencedRanges.has(this)) {\n node._referencedRanges.add(this);\n }\n\n this._start = {\n node,\n offset\n };\n }\n\n _setLiveRangeEnd(node, offset) {\n if (\n this._end &&\n this._end.node !== node &&\n this._end.node !== this._start.node\n ) {\n this._end.node._referencedRanges.delete(this);\n }\n\n if (!node._referencedRanges.has(this)) {\n node._referencedRanges.add(this);\n }\n\n this._end = {\n node,\n offset\n };\n }\n}\n\n\nfunction nextNodeDescendant(node) {\n while (node && !domSymbolTree.nextSibling(node)) {\n node = domSymbolTree.parent(node);\n }\n\n if (!node) {\n return null;\n }\n\n return domSymbolTree.nextSibling(node);\n}\n\n// https://dom.spec.whatwg.org/#concept-range-bp-set\nfunction validateSetBoundaryPoint(node, offset) {\n if (node.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE) {\n throw DOMException.create(node._globalObject, [\n \"DocumentType Node can't be used as boundary point.\",\n \"InvalidNodeTypeError\"\n ]);\n }\n\n if (offset > nodeLength(node)) {\n throw DOMException.create(node._globalObject, [\"Offset out of bound.\", \"IndexSizeError\"]);\n }\n}\nfunction setBoundaryPointStart(range, node, offset) {\n validateSetBoundaryPoint(node, offset);\n\n const bp = { node, offset };\n if (\n nodeRoot(node) !== range._root ||\n compareBoundaryPointsPosition(bp, range._end) === 1\n ) {\n range._setLiveRangeEnd(node, offset);\n }\n\n range._setLiveRangeStart(node, offset);\n}\nfunction setBoundaryPointEnd(range, node, offset) {\n validateSetBoundaryPoint(node, offset);\n\n const bp = { node, offset };\n if (\n nodeRoot(node) !== range._root ||\n compareBoundaryPointsPosition(bp, range._start) === -1\n ) {\n range._setLiveRangeStart(node, offset);\n }\n\n range._setLiveRangeEnd(node, offset);\n}\n\n// https://dom.spec.whatwg.org/#concept-range-select\nfunction selectNodeWithinRange(node, range) {\n const parent = domSymbolTree.parent(node);\n\n if (!parent) {\n throw DOMException.create(node._globalObject, [\"The given Node has no parent.\", \"InvalidNodeTypeError\"]);\n }\n\n const index = domSymbolTree.index(node);\n\n range._setLiveRangeStart(parent, index);\n range._setLiveRangeEnd(parent, index + 1);\n}\n\n// https://dom.spec.whatwg.org/#contained\nfunction isContained(node, range) {\n const { _start, _end } = range;\n return (\n compareBoundaryPointsPosition({ node, offset: 0 }, _start) === 1 &&\n compareBoundaryPointsPosition({ node, offset: nodeLength(node) }, _end) === -1\n );\n}\n\n// https://dom.spec.whatwg.org/#partially-contained\nfunction isPartiallyContained(node, range) {\n const { _start, _end } = range;\n return (\n (isInclusiveAncestor(node, _start.node) && !isInclusiveAncestor(node, _end.node)) ||\n (!isInclusiveAncestor(node, _start.node) && isInclusiveAncestor(node, _end.node))\n );\n}\n\n// https://dom.spec.whatwg.org/#concept-range-insert\nfunction insertNodeInRange(node, range) {\n const { node: startNode, offset: startOffset } = range._start;\n\n if (\n startNode.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n startNode.nodeType === NODE_TYPE.COMMENT_NODE ||\n (startNode.nodeType === NODE_TYPE.TEXT_NODE && !domSymbolTree.parent(startNode)) ||\n node === startNode\n ) {\n throw DOMException.create(node._globalObject, [\"Invalid start node.\", \"HierarchyRequestError\"]);\n }\n\n let referenceNode = startNode.nodeType === NODE_TYPE.TEXT_NODE ?\n startNode :\n domSymbolTree.childrenToArray(startNode)[startOffset] || null;\n const parent = !referenceNode ?\n startNode :\n domSymbolTree.parent(referenceNode);\n\n parent._preInsertValidity(node, referenceNode);\n\n if (startNode.nodeType === NODE_TYPE.TEXT_NODE) {\n referenceNode = startNode.splitText(startOffset);\n }\n\n if (node === referenceNode) {\n referenceNode = domSymbolTree.nextSibling(referenceNode);\n }\n\n const nodeParent = domSymbolTree.parent(node);\n if (nodeParent) {\n nodeParent.removeChild(node);\n }\n\n let newOffset = !referenceNode ? nodeLength(parent) : domSymbolTree.index(referenceNode);\n newOffset += node.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE ? nodeLength(node) : 1;\n\n parent.insertBefore(node, referenceNode);\n\n if (range.collapsed) {\n range._setLiveRangeEnd(parent, newOffset);\n }\n}\n\n// https://dom.spec.whatwg.org/#concept-range-clone\nfunction cloneRange(range) {\n const { _start: originalStart, _end: originalEnd, _globalObject } = range;\n\n const fragment = DocumentFragment.createImpl(_globalObject, [], {\n ownerDocument: originalStart.node._ownerDocument\n });\n\n if (range.collapsed) {\n return fragment;\n }\n\n if (\n originalStart.node === originalEnd.node &&\n (\n originalStart.node.nodeType === NODE_TYPE.TEXT_NODE ||\n originalStart.node.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n originalStart.node.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n const cloned = clone(originalStart.node);\n cloned._data = cloned.substringData(originalStart.offset, originalEnd.offset - originalStart.offset);\n\n fragment.appendChild(cloned);\n\n return fragment;\n }\n\n let commonAncestor = originalStart.node;\n while (!isInclusiveAncestor(commonAncestor, originalEnd.node)) {\n commonAncestor = domSymbolTree.parent(commonAncestor);\n }\n\n let firstPartialContainedChild = null;\n if (!isInclusiveAncestor(originalStart.node, originalEnd.node)) {\n let candidate = domSymbolTree.firstChild(commonAncestor);\n while (!firstPartialContainedChild) {\n if (isPartiallyContained(candidate, range)) {\n firstPartialContainedChild = candidate;\n }\n\n candidate = domSymbolTree.nextSibling(candidate);\n }\n }\n\n let lastPartiallyContainedChild = null;\n if (!isInclusiveAncestor(originalEnd.node, originalStart.node)) {\n let candidate = domSymbolTree.lastChild(commonAncestor);\n while (!lastPartiallyContainedChild) {\n if (isPartiallyContained(candidate, range)) {\n lastPartiallyContainedChild = candidate;\n }\n\n candidate = domSymbolTree.previousSibling(candidate);\n }\n }\n\n const containedChildren = domSymbolTree.childrenToArray(commonAncestor)\n .filter(node => isContained(node, range));\n\n const hasDoctypeChildren = containedChildren.some(node => node.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE);\n if (hasDoctypeChildren) {\n throw DOMException.create(range._globalObject, [\"Invalid document type element.\", \"HierarchyRequestError\"]);\n }\n\n if (\n firstPartialContainedChild !== null &&\n (\n firstPartialContainedChild.nodeType === NODE_TYPE.TEXT_NODE ||\n firstPartialContainedChild.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n firstPartialContainedChild.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n const cloned = clone(originalStart.node);\n cloned._data = cloned.substringData(originalStart.offset, nodeLength(originalStart.node) - originalStart.offset);\n\n fragment.appendChild(cloned);\n } else if (firstPartialContainedChild !== null) {\n const cloned = clone(firstPartialContainedChild);\n fragment.appendChild(cloned);\n\n const subrange = Range.createImpl(_globalObject, [], {\n start: { node: originalStart.node, offset: originalStart.offset },\n end: { node: firstPartialContainedChild, offset: nodeLength(firstPartialContainedChild) }\n });\n\n const subfragment = cloneRange(subrange);\n cloned.appendChild(subfragment);\n }\n\n for (const containedChild of containedChildren) {\n const cloned = clone(containedChild, undefined, true);\n fragment.appendChild(cloned);\n }\n\n if (\n lastPartiallyContainedChild !== null &&\n (\n lastPartiallyContainedChild.nodeType === NODE_TYPE.TEXT_NODE ||\n lastPartiallyContainedChild.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n lastPartiallyContainedChild.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n const cloned = clone(originalEnd.node);\n cloned._data = cloned.substringData(0, originalEnd.offset);\n\n fragment.appendChild(cloned);\n } else if (lastPartiallyContainedChild !== null) {\n const cloned = clone(lastPartiallyContainedChild);\n fragment.appendChild(cloned);\n\n const subrange = Range.createImpl(_globalObject, [], {\n start: { node: lastPartiallyContainedChild, offset: 0 },\n end: { node: originalEnd.node, offset: originalEnd.offset }\n });\n\n const subfragment = cloneRange(subrange);\n cloned.appendChild(subfragment);\n }\n\n return fragment;\n}\n\n// https://dom.spec.whatwg.org/#concept-range-extract\nfunction extractRange(range) {\n const { _start: originalStart, _end: originalEnd, _globalObject } = range;\n\n const fragment = DocumentFragment.createImpl(_globalObject, [], {\n ownerDocument: originalStart.node._ownerDocument\n });\n\n if (range.collapsed) {\n return fragment;\n }\n\n if (\n originalStart.node === originalEnd.node &&\n (\n originalStart.node.nodeType === NODE_TYPE.TEXT_NODE ||\n originalStart.node.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n originalStart.node.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n const cloned = clone(originalStart.node);\n cloned._data = cloned.substringData(originalStart.offset, originalEnd.offset - originalStart.offset);\n\n fragment.appendChild(cloned);\n originalStart.node.replaceData(originalStart.offset, originalEnd.offset - originalStart.offset, \"\");\n\n return fragment;\n }\n\n let commonAncestor = originalStart.node;\n while (!isInclusiveAncestor(commonAncestor, originalEnd.node)) {\n commonAncestor = domSymbolTree.parent(commonAncestor);\n }\n\n let firstPartialContainedChild = null;\n if (!isInclusiveAncestor(originalStart.node, originalEnd.node)) {\n let candidate = domSymbolTree.firstChild(commonAncestor);\n while (!firstPartialContainedChild) {\n if (isPartiallyContained(candidate, range)) {\n firstPartialContainedChild = candidate;\n }\n\n candidate = domSymbolTree.nextSibling(candidate);\n }\n }\n\n let lastPartiallyContainedChild = null;\n if (!isInclusiveAncestor(originalEnd.node, originalStart.node)) {\n let candidate = domSymbolTree.lastChild(commonAncestor);\n while (!lastPartiallyContainedChild) {\n if (isPartiallyContained(candidate, range)) {\n lastPartiallyContainedChild = candidate;\n }\n\n candidate = domSymbolTree.previousSibling(candidate);\n }\n }\n\n const containedChildren = domSymbolTree.childrenToArray(commonAncestor)\n .filter(node => isContained(node, range));\n\n const hasDoctypeChildren = containedChildren.some(node => node.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE);\n if (hasDoctypeChildren) {\n throw DOMException.create(range._globalObject, [\"Invalid document type element.\", \"HierarchyRequestError\"]);\n }\n\n let newNode, newOffset;\n if (isInclusiveAncestor(originalStart.node, originalEnd.node)) {\n newNode = originalStart.node;\n newOffset = originalStart.offset;\n } else {\n let referenceNode = originalStart.node;\n\n while (\n referenceNode &&\n !isInclusiveAncestor(domSymbolTree.parent(referenceNode), originalEnd.node)\n ) {\n referenceNode = domSymbolTree.parent(referenceNode);\n }\n\n newNode = domSymbolTree.parent(referenceNode);\n newOffset = domSymbolTree.index(referenceNode) + 1;\n }\n\n if (\n firstPartialContainedChild !== null &&\n (\n firstPartialContainedChild.nodeType === NODE_TYPE.TEXT_NODE ||\n firstPartialContainedChild.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n firstPartialContainedChild.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n const cloned = clone(originalStart.node);\n cloned._data = cloned.substringData(originalStart.offset, nodeLength(originalStart.node) - originalStart.offset);\n\n fragment.appendChild(cloned);\n\n originalStart.node.replaceData(originalStart.offset, nodeLength(originalStart.node) - originalStart.offset, \"\");\n } else if (firstPartialContainedChild !== null) {\n const cloned = clone(firstPartialContainedChild);\n fragment.appendChild(cloned);\n\n const subrange = Range.createImpl(_globalObject, [], {\n start: { node: originalStart.node, offset: originalStart.offset },\n end: { node: firstPartialContainedChild, offset: nodeLength(firstPartialContainedChild) }\n });\n\n const subfragment = extractRange(subrange);\n cloned.appendChild(subfragment);\n }\n\n for (const containedChild of containedChildren) {\n fragment.appendChild(containedChild);\n }\n\n if (\n lastPartiallyContainedChild !== null &&\n (\n lastPartiallyContainedChild.nodeType === NODE_TYPE.TEXT_NODE ||\n lastPartiallyContainedChild.nodeType === NODE_TYPE.PROCESSING_INSTRUCTION_NODE ||\n lastPartiallyContainedChild.nodeType === NODE_TYPE.COMMENT_NODE\n )\n ) {\n const cloned = clone(originalEnd.node);\n cloned._data = cloned.substringData(0, originalEnd.offset);\n\n fragment.appendChild(cloned);\n\n originalEnd.node.replaceData(0, originalEnd.offset, \"\");\n } else if (lastPartiallyContainedChild !== null) {\n const cloned = clone(lastPartiallyContainedChild);\n fragment.appendChild(cloned);\n\n const subrange = Range.createImpl(_globalObject, [], {\n start: { node: lastPartiallyContainedChild, offset: 0 },\n end: { node: originalEnd.node, offset: originalEnd.offset }\n });\n\n const subfragment = extractRange(subrange);\n cloned.appendChild(subfragment);\n }\n\n range._setLiveRangeStart(newNode, newOffset);\n range._setLiveRangeEnd(newNode, newOffset);\n\n return fragment;\n}\n\nmodule.exports = {\n implementation: RangeImpl,\n\n setBoundaryPointStart,\n setBoundaryPointEnd\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst serializeURLwhatwg_url = require(\"whatwg-url\").serializeURL;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst parseNonNegativeInteger_helpers_strings = require(\"../helpers/strings.js\").parseNonNegativeInteger;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLObjectElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLObjectElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLObjectElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLObjectElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n checkValidity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'checkValidity' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return esValue[implSymbol].checkValidity();\n }\n\n reportValidity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'reportValidity' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return esValue[implSymbol].reportValidity();\n }\n\n setCustomValidity(error) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setCustomValidity' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'setCustomValidity' on 'HTMLObjectElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setCustomValidity' on 'HTMLObjectElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].setCustomValidity(...args);\n }\n\n get data() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get data' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"data\");\n if (value === null) {\n return \"\";\n }\n\n if (this._dataURLCacheKey === value) {\n return this._dataURLCache;\n }\n\n this._dataURLCacheKey = value;\n\n const urlRecord = esValue[implSymbol]._ownerDocument.encodingParseAURL(value);\n if (urlRecord !== null) {\n this._dataURLCache = serializeURLwhatwg_url(urlRecord);\n return this._dataURLCache;\n }\n this._dataURLCache = conversions.USVString(value);\n return this._dataURLCache;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set data(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set data' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'data' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"data\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get type' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"type\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set type(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set type' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'type' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"type\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"name\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set name(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set name' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'name' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"name\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get useMap() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get useMap' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"usemap\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set useMap(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set useMap' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'useMap' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"usemap\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get form() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get form' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"form\"]);\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get width' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"width\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set width' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'width' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"width\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get height() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get height' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"height\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set height(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set height' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'height' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"height\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get contentDocument() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get contentDocument' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"contentDocument\"]);\n }\n\n get willValidate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get willValidate' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return esValue[implSymbol][\"willValidate\"];\n }\n\n get validity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get validity' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"validity\"]);\n }\n\n get validationMessage() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get validationMessage' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n return esValue[implSymbol][\"validationMessage\"];\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get archive() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get archive' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"archive\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set archive(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set archive' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'archive' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"archive\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get code() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get code' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"code\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set code(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set code' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'code' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"code\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get declare() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get declare' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"declare\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set declare(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set declare' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'declare' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"declare\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"declare\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get hspace() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get hspace' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"hspace\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 0 && value <= 2147483647) {\n return value;\n }\n }\n return 0;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set hspace(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set hspace' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'hspace' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 0;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"hspace\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get standby() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get standby' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"standby\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set standby(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set standby' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'standby' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"standby\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get vspace() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vspace' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"vspace\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 0 && value <= 2147483647) {\n return value;\n }\n }\n return 0;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set vspace(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set vspace' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'vspace' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 0;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"vspace\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get codeBase() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get codeBase' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"codebase\");\n if (value === null) {\n return \"\";\n }\n\n if (this._codebaseURLCacheKey === value) {\n return this._codebaseURLCache;\n }\n\n this._codebaseURLCacheKey = value;\n\n const urlRecord = esValue[implSymbol]._ownerDocument.encodingParseAURL(value);\n if (urlRecord !== null) {\n this._codebaseURLCache = serializeURLwhatwg_url(urlRecord);\n return this._codebaseURLCache;\n }\n this._codebaseURLCache = conversions.USVString(value);\n return this._codebaseURLCache;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set codeBase(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set codeBase' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'codeBase' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"codebase\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get codeType() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get codeType' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"codetype\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set codeType(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set codeType' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'codeType' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"codetype\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get border() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get border' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"border\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set border(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set border' called on an object that is not a valid instance of HTMLObjectElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'border' property on 'HTMLObjectElement': The provided value\",\n globals: globalObject,\n treatNullAsEmptyString: true\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"border\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLObjectElement.prototype, {\n checkValidity: { enumerable: true },\n reportValidity: { enumerable: true },\n setCustomValidity: { enumerable: true },\n data: { enumerable: true },\n type: { enumerable: true },\n name: { enumerable: true },\n useMap: { enumerable: true },\n form: { enumerable: true },\n width: { enumerable: true },\n height: { enumerable: true },\n contentDocument: { enumerable: true },\n willValidate: { enumerable: true },\n validity: { enumerable: true },\n validationMessage: { enumerable: true },\n align: { enumerable: true },\n archive: { enumerable: true },\n code: { enumerable: true },\n declare: { enumerable: true },\n hspace: { enumerable: true },\n standby: { enumerable: true },\n vspace: { enumerable: true },\n codeBase: { enumerable: true },\n codeType: { enumerable: true },\n border: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLObjectElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLObjectElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLObjectElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLObjectElement-impl.js\");\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLLIElementImpl extends HTMLElementImpl { }\n\nmodule.exports = {\n implementation: HTMLLIElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTemplateElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTemplateElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTemplateElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTemplateElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get content() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get content' called on an object that is not a valid instance of HTMLTemplateElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"content\"]);\n }\n }\n Object.defineProperties(HTMLTemplateElement.prototype, {\n content: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTemplateElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTemplateElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTemplateElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTemplateElement-impl.js\");\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\"use strict\";\n\nconst HTMLMediaElementImpl = require(\"./HTMLMediaElement-impl\").implementation;\n\nclass HTMLAudioElementImpl extends HTMLMediaElementImpl { }\n\nmodule.exports = {\n implementation: HTMLAudioElementImpl\n};\n","\"use strict\";\nconst whatwgURL = require(\"whatwg-url\");\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLBaseElementImpl extends HTMLElementImpl {\n get href() {\n const document = this._ownerDocument;\n\n const url = this.hasAttributeNS(null, \"href\") ? this.getAttributeNS(null, \"href\") : \"\";\n const parsed = whatwgURL.parseURL(url, { baseURL: document._fallbackBaseURL() });\n\n if (parsed === null) {\n return url;\n }\n\n return whatwgURL.serializeURL(parsed);\n }\n\n set href(value) {\n this.setAttributeNS(null, \"href\", value);\n }\n\n _attrModified(name, value, oldValue) {\n super._attrModified(name, value, oldValue);\n\n if (name === \"href\") {\n this._ownerDocument._clearBaseURLCache();\n }\n }\n\n _attach() {\n super._attach();\n this._ownerDocument._clearBaseURLCache();\n }\n\n _detach() {\n super._detach();\n this._ownerDocument._clearBaseURLCache();\n }\n}\n\nmodule.exports = {\n implementation: HTMLBaseElementImpl\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? { __proto__: null } : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object' && typeof source !== 'function') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if (\n (options && (options.plainObjects || options.allowPrototypes))\n || !has.call(Object.prototype, source)\n ) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, defaultDecoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLOptGroupElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLOptGroupElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLOptGroupElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLOptGroupElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get disabled() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get disabled' called on an object that is not a valid instance of HTMLOptGroupElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"disabled\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set disabled(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set disabled' called on an object that is not a valid instance of HTMLOptGroupElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'disabled' property on 'HTMLOptGroupElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"disabled\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"disabled\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get label() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get label' called on an object that is not a valid instance of HTMLOptGroupElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"label\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set label(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set label' called on an object that is not a valid instance of HTMLOptGroupElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'label' property on 'HTMLOptGroupElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"label\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLOptGroupElement.prototype, {\n disabled: { enumerable: true },\n label: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLOptGroupElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLOptGroupElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLOptGroupElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLOptGroupElement-impl.js\");\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"StyleSheetList\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'StyleSheetList'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"StyleSheetList\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class StyleSheetList {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n item(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'item' called on an object that is not a valid instance of StyleSheetList.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'item' on 'StyleSheetList': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'item' on 'StyleSheetList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].item(...args));\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get length' called on an object that is not a valid instance of StyleSheetList.\"\n );\n }\n\n return esValue[implSymbol][\"length\"];\n }\n }\n Object.defineProperties(StyleSheetList.prototype, {\n item: { enumerable: true },\n length: { enumerable: true },\n [Symbol.toStringTag]: { value: \"StyleSheetList\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = StyleSheetList;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: StyleSheetList\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !(target[implSymbol].item(index) !== null);\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../cssom/StyleSheetList-impl.js\");\n",null,"\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst Text = require(\"./Text.js\");\n\nconst interfaceName = \"CDATASection\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'CDATASection'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"CDATASection\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Text._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class CDATASection extends globalObject.Text {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n }\n Object.defineProperties(CDATASection.prototype, {\n [Symbol.toStringTag]: { value: \"CDATASection\", configurable: true }\n });\n ctorRegistry[interfaceName] = CDATASection;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: CDATASection\n });\n};\n\nconst Impl = require(\"../nodes/CDATASection-impl.js\");\n","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n\n'use strict';\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _require = require('util/'),\n inspect = _require.inspect;\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n while (count) {\n str += str;\n count--;\n }\n str += str.substring(0, maxCount - str.length);\n return str;\n}\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n};\n\n// Comparing short primitives should just show === / !== instead of using the\n// diff.\nvar kMaxShortLength = 10;\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = '';\n\n // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n }\n\n // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n }\n // Ignore the first characters.\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n }\n\n // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n');\n\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the expected line to the cache.\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++;\n // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the actual line to the result.\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++;\n // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i];\n // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine);\n // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2;\n // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = '';\n // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n }\n // Inspected object to big (Show ~20 rows max)\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\nvar AssertionError = /*#__PURE__*/function (_Error, _inspect$custom) {\n _inherits(AssertionError, _Error);\n var _super = _createSuper(AssertionError);\n function AssertionError(options) {\n var _this;\n _classCallCheck(this, AssertionError);\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n if (message != null) {\n _this = _super.call(this, String(message));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n }\n // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _super.call(this, createErrDiff(actual, expected, operator));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n');\n\n // In case \"actual\" is an object, it should not be reference equal.\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n }\n\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n while (res.length > 27) {\n res.pop();\n }\n }\n\n // Only print a single input.\n if (res.length === 1) {\n _this = _super.call(this, \"\".concat(base, \" \").concat(res[0]));\n } else {\n _this = _super.call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\"));\n }\n } else {\n var _res = inspectValue(actual);\n var other = '';\n var knownOperators = kReadableOperator[operator];\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n _this = _super.call(this, \"\".concat(_res).concat(other));\n }\n }\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n }\n // Create error message including the error code in the name.\n _this.stack;\n // Reset the name.\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: _inspect$custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread(_objectSpread({}, ctx), {}, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n return AssertionError;\n}( /*#__PURE__*/_wrapNativeSuper(Error), inspect.custom);\nmodule.exports = AssertionError;","\"use strict\";\n\n// See https://github.com/jsdom/jsdom/pull/2743#issuecomment-562991955 for background.\nexports.copyToArrayBufferInNewRealm = (nodejsBuffer, newRealm) => {\n const newAB = new newRealm.ArrayBuffer(nodejsBuffer.byteLength);\n const view = new Uint8Array(newAB);\n view.set(nodejsBuffer);\n return newAB;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.permutePath = exports.parseDate = exports.formatDate = exports.domainMatch = exports.defaultPath = exports.CookieJar = exports.cookieCompare = exports.Cookie = exports.PrefixSecurityEnum = exports.canonicalDomain = exports.version = exports.ParameterError = exports.Store = exports.getPublicSuffix = exports.permuteDomain = exports.pathMatch = exports.MemoryCookieStore = void 0;\nexports.parse = parse;\nexports.fromJSON = fromJSON;\nvar memstore_1 = require(\"../memstore\");\nObject.defineProperty(exports, \"MemoryCookieStore\", { enumerable: true, get: function () { return memstore_1.MemoryCookieStore; } });\nvar pathMatch_1 = require(\"../pathMatch\");\nObject.defineProperty(exports, \"pathMatch\", { enumerable: true, get: function () { return pathMatch_1.pathMatch; } });\nvar permuteDomain_1 = require(\"../permuteDomain\");\nObject.defineProperty(exports, \"permuteDomain\", { enumerable: true, get: function () { return permuteDomain_1.permuteDomain; } });\nvar getPublicSuffix_1 = require(\"../getPublicSuffix\");\nObject.defineProperty(exports, \"getPublicSuffix\", { enumerable: true, get: function () { return getPublicSuffix_1.getPublicSuffix; } });\nvar store_1 = require(\"../store\");\nObject.defineProperty(exports, \"Store\", { enumerable: true, get: function () { return store_1.Store; } });\nvar validators_1 = require(\"../validators\");\nObject.defineProperty(exports, \"ParameterError\", { enumerable: true, get: function () { return validators_1.ParameterError; } });\nvar version_1 = require(\"../version\");\nObject.defineProperty(exports, \"version\", { enumerable: true, get: function () { return version_1.version; } });\nvar canonicalDomain_1 = require(\"./canonicalDomain\");\nObject.defineProperty(exports, \"canonicalDomain\", { enumerable: true, get: function () { return canonicalDomain_1.canonicalDomain; } });\nvar constants_1 = require(\"./constants\");\nObject.defineProperty(exports, \"PrefixSecurityEnum\", { enumerable: true, get: function () { return constants_1.PrefixSecurityEnum; } });\nvar cookie_1 = require(\"./cookie\");\nObject.defineProperty(exports, \"Cookie\", { enumerable: true, get: function () { return cookie_1.Cookie; } });\nvar cookieCompare_1 = require(\"./cookieCompare\");\nObject.defineProperty(exports, \"cookieCompare\", { enumerable: true, get: function () { return cookieCompare_1.cookieCompare; } });\nvar cookieJar_1 = require(\"./cookieJar\");\nObject.defineProperty(exports, \"CookieJar\", { enumerable: true, get: function () { return cookieJar_1.CookieJar; } });\nvar defaultPath_1 = require(\"./defaultPath\");\nObject.defineProperty(exports, \"defaultPath\", { enumerable: true, get: function () { return defaultPath_1.defaultPath; } });\nvar domainMatch_1 = require(\"./domainMatch\");\nObject.defineProperty(exports, \"domainMatch\", { enumerable: true, get: function () { return domainMatch_1.domainMatch; } });\nvar formatDate_1 = require(\"./formatDate\");\nObject.defineProperty(exports, \"formatDate\", { enumerable: true, get: function () { return formatDate_1.formatDate; } });\nvar parseDate_1 = require(\"./parseDate\");\nObject.defineProperty(exports, \"parseDate\", { enumerable: true, get: function () { return parseDate_1.parseDate; } });\nvar permutePath_1 = require(\"./permutePath\");\nObject.defineProperty(exports, \"permutePath\", { enumerable: true, get: function () { return permutePath_1.permutePath; } });\nconst cookie_2 = require(\"./cookie\");\n/**\n * {@inheritDoc Cookie.parse}\n * @public\n */\nfunction parse(str, options) {\n return cookie_2.Cookie.parse(str, options);\n}\n/**\n * {@inheritDoc Cookie.fromJSON}\n * @public\n */\nfunction fromJSON(str) {\n return cookie_2.Cookie.fromJSON(str);\n}\n","\"use strict\";\nconst {\n asciiLowercase,\n solelyContainsHTTPTokenCodePoints,\n soleyContainsHTTPQuotedStringTokenCodePoints\n} = require(\"./utils.js\");\n\nmodule.exports = class MIMETypeParameters {\n constructor(map) {\n this._map = map;\n }\n\n get size() {\n return this._map.size;\n }\n\n get(name) {\n name = asciiLowercase(String(name));\n return this._map.get(name);\n }\n\n has(name) {\n name = asciiLowercase(String(name));\n return this._map.has(name);\n }\n\n set(name, value) {\n name = asciiLowercase(String(name));\n value = String(value);\n\n if (!solelyContainsHTTPTokenCodePoints(name)) {\n throw new Error(`Invalid MIME type parameter name \"${name}\": only HTTP token code points are valid.`);\n }\n if (!soleyContainsHTTPQuotedStringTokenCodePoints(value)) {\n throw new Error(`Invalid MIME type parameter value \"${value}\": only HTTP quoted-string token code points are ` +\n `valid.`);\n }\n\n return this._map.set(name, value);\n }\n\n clear() {\n this._map.clear();\n }\n\n delete(name) {\n name = asciiLowercase(String(name));\n return this._map.delete(name);\n }\n\n forEach(callbackFn, thisArg) {\n this._map.forEach(callbackFn, thisArg);\n }\n\n keys() {\n return this._map.keys();\n }\n\n values() {\n return this._map.values();\n }\n\n entries() {\n return this._map.entries();\n }\n\n [Symbol.iterator]() {\n return this._map[Symbol.iterator]();\n }\n};\n","\"use strict\";\n\nconst ValidityState = require(\"../generated/ValidityState\");\nconst { isDisabled } = require(\"../helpers/form-controls\");\nconst { closest } = require(\"../helpers/traversal\");\nconst { fireAnEvent } = require(\"../helpers/events\");\n\nexports.implementation = class DefaultConstraintValidationImpl {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-willvalidate\n get willValidate() {\n return this._isCandidateForConstraintValidation();\n }\n\n get validity() {\n if (!this._validity) {\n this._validity = ValidityState.createImpl(this._globalObject, [], {\n element: this\n });\n }\n return this._validity;\n }\n\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-checkvalidity\n checkValidity() {\n if (!this._isCandidateForConstraintValidation()) {\n return true;\n }\n if (this._satisfiesConstraints()) {\n return true;\n }\n fireAnEvent(\"invalid\", this, undefined, { cancelable: true });\n return false;\n }\n\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-setcustomvalidity\n setCustomValidity(message) {\n this._customValidityErrorMessage = message;\n }\n\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-reportvalidity\n // Since jsdom has no user interaction, it's the same as #checkValidity\n reportValidity() {\n return this.checkValidity();\n }\n\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-validationmessage\n get validationMessage() {\n const { validity } = this;\n if (!this._isCandidateForConstraintValidation() || this._satisfiesConstraints()) {\n return \"\";\n }\n const isSufferingFromCustomError = validity.customError;\n if (isSufferingFromCustomError) {\n return this._customValidityErrorMessage;\n }\n return \"Constraints not satisfied\";\n }\n\n _isCandidateForConstraintValidation() {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-disabled\n return !isDisabled(this) &&\n // If an element has a datalist element ancestor,\n // it is barred from constraint validation.\n closest(this, \"datalist\") === null &&\n !this._barredFromConstraintValidationSpecialization();\n }\n\n _isBarredFromConstraintValidation() {\n return !this._isCandidateForConstraintValidation();\n }\n\n _satisfiesConstraints() {\n return this.validity.valid;\n }\n};\n","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","\"use strict\";\nconst { mixin } = require(\"../../utils\");\nconst DOMTokenList = require(\"../generated/DOMTokenList\");\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst HTMLHyperlinkElementUtilsImpl = require(\"./HTMLHyperlinkElementUtils-impl\").implementation;\n\nclass HTMLAreaElementImpl extends HTMLElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this._htmlHyperlinkElementUtilsSetup();\n\n this._hasActivationBehavior = true;\n }\n\n _activationBehavior() {\n this._followAHyperlink();\n }\n\n get relList() {\n if (this._relList === undefined) {\n this._relList = DOMTokenList.createImpl(this._globalObject, [], {\n element: this,\n attributeLocalName: \"rel\"\n });\n }\n return this._relList;\n }\n\n _attrModified(name, value, oldValue) {\n super._attrModified(name, value, oldValue);\n\n if (name === \"rel\" && this._relList !== undefined) {\n this._relList.attrModified();\n }\n }\n}\n\nmixin(HTMLAreaElementImpl.prototype, HTMLHyperlinkElementUtilsImpl.prototype);\n\nmodule.exports = {\n implementation: HTMLAreaElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst TouchEventInit = require(\"./TouchEventInit.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst UIEvent = require(\"./UIEvent.js\");\n\nconst interfaceName = \"TouchEvent\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'TouchEvent'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"TouchEvent\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n UIEvent._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class TouchEvent extends globalObject.UIEvent {\n constructor(type) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'TouchEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'TouchEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = TouchEventInit.convert(globalObject, curArg, {\n context: \"Failed to construct 'TouchEvent': parameter 2\"\n });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n get touches() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get touches' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"touches\"]);\n }\n\n get targetTouches() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get targetTouches' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"targetTouches\"]);\n }\n\n get changedTouches() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get changedTouches' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"changedTouches\"]);\n }\n\n get altKey() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get altKey' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return esValue[implSymbol][\"altKey\"];\n }\n\n get metaKey() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get metaKey' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return esValue[implSymbol][\"metaKey\"];\n }\n\n get ctrlKey() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ctrlKey' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return esValue[implSymbol][\"ctrlKey\"];\n }\n\n get shiftKey() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get shiftKey' called on an object that is not a valid instance of TouchEvent.\"\n );\n }\n\n return esValue[implSymbol][\"shiftKey\"];\n }\n }\n Object.defineProperties(TouchEvent.prototype, {\n touches: { enumerable: true },\n targetTouches: { enumerable: true },\n changedTouches: { enumerable: true },\n altKey: { enumerable: true },\n metaKey: { enumerable: true },\n ctrlKey: { enumerable: true },\n shiftKey: { enumerable: true },\n [Symbol.toStringTag]: { value: \"TouchEvent\", configurable: true }\n });\n ctorRegistry[interfaceName] = TouchEvent;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: TouchEvent\n });\n};\n\nconst Impl = require(\"../events/TouchEvent-impl.js\");\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Multibyte codec. In this scheme, a character is represented by 1 or more bytes.\n// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences.\n// To save memory and loading time, we read table files only when requested.\n\nexports._dbcs = DBCSCodec;\n\nvar UNASSIGNED = -1,\n GB18030_CODE = -2,\n SEQ_START = -10,\n NODE_START = -1000,\n UNASSIGNED_NODE = new Array(0x100),\n DEF_CHAR = -1;\n\nfor (var i = 0; i < 0x100; i++)\n UNASSIGNED_NODE[i] = UNASSIGNED;\n\n\n// Class DBCSCodec reads and initializes mapping tables.\nfunction DBCSCodec(codecOptions, iconv) {\n this.encodingName = codecOptions.encodingName;\n if (!codecOptions)\n throw new Error(\"DBCS codec is called without the data.\")\n if (!codecOptions.table)\n throw new Error(\"Encoding '\" + this.encodingName + \"' has no data.\");\n\n // Load tables.\n var mappingTable = codecOptions.table();\n\n\n // Decode tables: MBCS -> Unicode.\n\n // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256.\n // Trie root is decodeTables[0].\n // Values: >= 0 -> unicode character code. can be > 0xFFFF\n // == UNASSIGNED -> unknown/unassigned sequence.\n // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence.\n // <= NODE_START -> index of the next node in our trie to process next byte.\n // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq.\n this.decodeTables = [];\n this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node.\n\n // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. \n this.decodeTableSeq = [];\n\n // Actual mapping tables consist of chunks. Use them to fill up decode tables.\n for (var i = 0; i < mappingTable.length; i++)\n this._addDecodeChunk(mappingTable[i]);\n\n // Load & create GB18030 tables when needed.\n if (typeof codecOptions.gb18030 === 'function') {\n this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges.\n\n // Add GB18030 common decode nodes.\n var commonThirdByteNodeIdx = this.decodeTables.length;\n this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n var commonFourthByteNodeIdx = this.decodeTables.length;\n this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n // Fill out the tree\n var firstByteNode = this.decodeTables[0];\n for (var i = 0x81; i <= 0xFE; i++) {\n var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]];\n for (var j = 0x30; j <= 0x39; j++) {\n if (secondByteNode[j] === UNASSIGNED) {\n secondByteNode[j] = NODE_START - commonThirdByteNodeIdx;\n } else if (secondByteNode[j] > NODE_START) {\n throw new Error(\"gb18030 decode tables conflict at byte 2\");\n }\n\n var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]];\n for (var k = 0x81; k <= 0xFE; k++) {\n if (thirdByteNode[k] === UNASSIGNED) {\n thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx;\n } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) {\n continue;\n } else if (thirdByteNode[k] > NODE_START) {\n throw new Error(\"gb18030 decode tables conflict at byte 3\");\n }\n\n var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]];\n for (var l = 0x30; l <= 0x39; l++) {\n if (fourthByteNode[l] === UNASSIGNED)\n fourthByteNode[l] = GB18030_CODE;\n }\n }\n }\n }\n }\n\n this.defaultCharUnicode = iconv.defaultCharUnicode;\n\n \n // Encode tables: Unicode -> DBCS.\n\n // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance.\n // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null.\n // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.).\n // == UNASSIGNED -> no conversion found. Output a default char.\n // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence.\n this.encodeTable = [];\n \n // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of\n // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key\n // means end of sequence (needed when one sequence is a strict subsequence of another).\n // Objects are kept separately from encodeTable to increase performance.\n this.encodeTableSeq = [];\n\n // Some chars can be decoded, but need not be encoded.\n var skipEncodeChars = {};\n if (codecOptions.encodeSkipVals)\n for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) {\n var val = codecOptions.encodeSkipVals[i];\n if (typeof val === 'number')\n skipEncodeChars[val] = true;\n else\n for (var j = val.from; j <= val.to; j++)\n skipEncodeChars[j] = true;\n }\n \n // Use decode trie to recursively fill out encode tables.\n this._fillEncodeTable(0, 0, skipEncodeChars);\n\n // Add more encoding pairs when needed.\n if (codecOptions.encodeAdd) {\n for (var uChar in codecOptions.encodeAdd)\n if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar))\n this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);\n }\n\n this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];\n if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?'];\n if (this.defCharSB === UNASSIGNED) this.defCharSB = \"?\".charCodeAt(0);\n}\n\nDBCSCodec.prototype.encoder = DBCSEncoder;\nDBCSCodec.prototype.decoder = DBCSDecoder;\n\n// Decoder helpers\nDBCSCodec.prototype._getDecodeTrieNode = function(addr) {\n var bytes = [];\n for (; addr > 0; addr >>>= 8)\n bytes.push(addr & 0xFF);\n if (bytes.length == 0)\n bytes.push(0);\n\n var node = this.decodeTables[0];\n for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie.\n var val = node[bytes[i]];\n\n if (val == UNASSIGNED) { // Create new node.\n node[bytes[i]] = NODE_START - this.decodeTables.length;\n this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));\n }\n else if (val <= NODE_START) { // Existing node.\n node = this.decodeTables[NODE_START - val];\n }\n else\n throw new Error(\"Overwrite byte in \" + this.encodingName + \", addr: \" + addr.toString(16));\n }\n return node;\n}\n\n\nDBCSCodec.prototype._addDecodeChunk = function(chunk) {\n // First element of chunk is the hex mbcs code where we start.\n var curAddr = parseInt(chunk[0], 16);\n\n // Choose the decoding node where we'll write our chars.\n var writeTable = this._getDecodeTrieNode(curAddr);\n curAddr = curAddr & 0xFF;\n\n // Write all other elements of the chunk to the table.\n for (var k = 1; k < chunk.length; k++) {\n var part = chunk[k];\n if (typeof part === \"string\") { // String, write as-is.\n for (var l = 0; l < part.length;) {\n var code = part.charCodeAt(l++);\n if (0xD800 <= code && code < 0xDC00) { // Decode surrogate\n var codeTrail = part.charCodeAt(l++);\n if (0xDC00 <= codeTrail && codeTrail < 0xE000)\n writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00);\n else\n throw new Error(\"Incorrect surrogate pair in \" + this.encodingName + \" at chunk \" + chunk[0]);\n }\n else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used)\n var len = 0xFFF - code + 2;\n var seq = [];\n for (var m = 0; m < len; m++)\n seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq.\n\n writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;\n this.decodeTableSeq.push(seq);\n }\n else\n writeTable[curAddr++] = code; // Basic char\n }\n } \n else if (typeof part === \"number\") { // Integer, meaning increasing sequence starting with prev character.\n var charCode = writeTable[curAddr - 1] + 1;\n for (var l = 0; l < part; l++)\n writeTable[curAddr++] = charCode++;\n }\n else\n throw new Error(\"Incorrect type '\" + typeof part + \"' given in \" + this.encodingName + \" at chunk \" + chunk[0]);\n }\n if (curAddr > 0xFF)\n throw new Error(\"Incorrect chunk in \" + this.encodingName + \" at addr \" + chunk[0] + \": too long\" + curAddr);\n}\n\n// Encoder helpers\nDBCSCodec.prototype._getEncodeBucket = function(uCode) {\n var high = uCode >> 8; // This could be > 0xFF because of astral characters.\n if (this.encodeTable[high] === undefined)\n this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand.\n return this.encodeTable[high];\n}\n\nDBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {\n var bucket = this._getEncodeBucket(uCode);\n var low = uCode & 0xFF;\n if (bucket[low] <= SEQ_START)\n this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it.\n else if (bucket[low] == UNASSIGNED)\n bucket[low] = dbcsCode;\n}\n\nDBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {\n \n // Get the root of character tree according to first character of the sequence.\n var uCode = seq[0];\n var bucket = this._getEncodeBucket(uCode);\n var low = uCode & 0xFF;\n\n var node;\n if (bucket[low] <= SEQ_START) {\n // There's already a sequence with - use it.\n node = this.encodeTableSeq[SEQ_START-bucket[low]];\n }\n else {\n // There was no sequence object - allocate a new one.\n node = {};\n if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence.\n bucket[low] = SEQ_START - this.encodeTableSeq.length;\n this.encodeTableSeq.push(node);\n }\n\n // Traverse the character tree, allocating new nodes as needed.\n for (var j = 1; j < seq.length-1; j++) {\n var oldVal = node[uCode];\n if (typeof oldVal === 'object')\n node = oldVal;\n else {\n node = node[uCode] = {}\n if (oldVal !== undefined)\n node[DEF_CHAR] = oldVal\n }\n }\n\n // Set the leaf to given dbcsCode.\n uCode = seq[seq.length-1];\n node[uCode] = dbcsCode;\n}\n\nDBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {\n var node = this.decodeTables[nodeIdx];\n var hasValues = false;\n var subNodeEmpty = {};\n for (var i = 0; i < 0x100; i++) {\n var uCode = node[i];\n var mbCode = prefix + i;\n if (skipEncodeChars[mbCode])\n continue;\n\n if (uCode >= 0) {\n this._setEncodeChar(uCode, mbCode);\n hasValues = true;\n } else if (uCode <= NODE_START) {\n var subNodeIdx = NODE_START - uCode;\n if (!subNodeEmpty[subNodeIdx]) { // Skip empty subtrees (they are too large in gb18030).\n var newPrefix = (mbCode << 8) >>> 0; // NOTE: '>>> 0' keeps 32-bit num positive.\n if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars))\n hasValues = true;\n else\n subNodeEmpty[subNodeIdx] = true;\n }\n } else if (uCode <= SEQ_START) {\n this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);\n hasValues = true;\n }\n }\n return hasValues;\n}\n\n\n\n// == Encoder ==================================================================\n\nfunction DBCSEncoder(options, codec) {\n // Encoder state\n this.leadSurrogate = -1;\n this.seqObj = undefined;\n \n // Static data\n this.encodeTable = codec.encodeTable;\n this.encodeTableSeq = codec.encodeTableSeq;\n this.defaultCharSingleByte = codec.defCharSB;\n this.gb18030 = codec.gb18030;\n}\n\nDBCSEncoder.prototype.write = function(str) {\n var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)),\n leadSurrogate = this.leadSurrogate,\n seqObj = this.seqObj, nextChar = -1,\n i = 0, j = 0;\n\n while (true) {\n // 0. Get next character.\n if (nextChar === -1) {\n if (i == str.length) break;\n var uCode = str.charCodeAt(i++);\n }\n else {\n var uCode = nextChar;\n nextChar = -1; \n }\n\n // 1. Handle surrogates.\n if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates.\n if (uCode < 0xDC00) { // We've got lead surrogate.\n if (leadSurrogate === -1) {\n leadSurrogate = uCode;\n continue;\n } else {\n leadSurrogate = uCode;\n // Double lead surrogate found.\n uCode = UNASSIGNED;\n }\n } else { // We've got trail surrogate.\n if (leadSurrogate !== -1) {\n uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00);\n leadSurrogate = -1;\n } else {\n // Incomplete surrogate pair - only trail surrogate found.\n uCode = UNASSIGNED;\n }\n \n }\n }\n else if (leadSurrogate !== -1) {\n // Incomplete surrogate pair - only lead surrogate found.\n nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char.\n leadSurrogate = -1;\n }\n\n // 2. Convert uCode character.\n var dbcsCode = UNASSIGNED;\n if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence\n var resCode = seqObj[uCode];\n if (typeof resCode === 'object') { // Sequence continues.\n seqObj = resCode;\n continue;\n\n } else if (typeof resCode == 'number') { // Sequence finished. Write it.\n dbcsCode = resCode;\n\n } else if (resCode == undefined) { // Current character is not part of the sequence.\n\n // Try default character for this sequence\n resCode = seqObj[DEF_CHAR];\n if (resCode !== undefined) {\n dbcsCode = resCode; // Found. Write it.\n nextChar = uCode; // Current character will be written too in the next iteration.\n\n } else {\n // TODO: What if we have no default? (resCode == undefined)\n // Then, we should write first char of the sequence as-is and try the rest recursively.\n // Didn't do it for now because no encoding has this situation yet.\n // Currently, just skip the sequence and write current char.\n }\n }\n seqObj = undefined;\n }\n else if (uCode >= 0) { // Regular character\n var subtable = this.encodeTable[uCode >> 8];\n if (subtable !== undefined)\n dbcsCode = subtable[uCode & 0xFF];\n \n if (dbcsCode <= SEQ_START) { // Sequence start\n seqObj = this.encodeTableSeq[SEQ_START-dbcsCode];\n continue;\n }\n\n if (dbcsCode == UNASSIGNED && this.gb18030) {\n // Use GB18030 algorithm to find character(s) to write.\n var idx = findIdx(this.gb18030.uChars, uCode);\n if (idx != -1) {\n var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);\n newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600;\n newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260;\n newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10;\n newBuf[j++] = 0x30 + dbcsCode;\n continue;\n }\n }\n }\n\n // 3. Write dbcsCode character.\n if (dbcsCode === UNASSIGNED)\n dbcsCode = this.defaultCharSingleByte;\n \n if (dbcsCode < 0x100) {\n newBuf[j++] = dbcsCode;\n }\n else if (dbcsCode < 0x10000) {\n newBuf[j++] = dbcsCode >> 8; // high byte\n newBuf[j++] = dbcsCode & 0xFF; // low byte\n }\n else if (dbcsCode < 0x1000000) {\n newBuf[j++] = dbcsCode >> 16;\n newBuf[j++] = (dbcsCode >> 8) & 0xFF;\n newBuf[j++] = dbcsCode & 0xFF;\n } else {\n newBuf[j++] = dbcsCode >>> 24;\n newBuf[j++] = (dbcsCode >>> 16) & 0xFF;\n newBuf[j++] = (dbcsCode >>> 8) & 0xFF;\n newBuf[j++] = dbcsCode & 0xFF;\n }\n }\n\n this.seqObj = seqObj;\n this.leadSurrogate = leadSurrogate;\n return newBuf.slice(0, j);\n}\n\nDBCSEncoder.prototype.end = function() {\n if (this.leadSurrogate === -1 && this.seqObj === undefined)\n return; // All clean. Most often case.\n\n var newBuf = Buffer.alloc(10), j = 0;\n\n if (this.seqObj) { // We're in the sequence.\n var dbcsCode = this.seqObj[DEF_CHAR];\n if (dbcsCode !== undefined) { // Write beginning of the sequence.\n if (dbcsCode < 0x100) {\n newBuf[j++] = dbcsCode;\n }\n else {\n newBuf[j++] = dbcsCode >> 8; // high byte\n newBuf[j++] = dbcsCode & 0xFF; // low byte\n }\n } else {\n // See todo above.\n }\n this.seqObj = undefined;\n }\n\n if (this.leadSurrogate !== -1) {\n // Incomplete surrogate pair - only lead surrogate found.\n newBuf[j++] = this.defaultCharSingleByte;\n this.leadSurrogate = -1;\n }\n \n return newBuf.slice(0, j);\n}\n\n// Export for testing\nDBCSEncoder.prototype.findIdx = findIdx;\n\n\n// == Decoder ==================================================================\n\nfunction DBCSDecoder(options, codec) {\n // Decoder state\n this.nodeIdx = 0;\n this.prevBytes = [];\n\n // Static data\n this.decodeTables = codec.decodeTables;\n this.decodeTableSeq = codec.decodeTableSeq;\n this.defaultCharUnicode = codec.defaultCharUnicode;\n this.gb18030 = codec.gb18030;\n}\n\nDBCSDecoder.prototype.write = function(buf) {\n var newBuf = Buffer.alloc(buf.length*2),\n nodeIdx = this.nodeIdx, \n prevBytes = this.prevBytes, prevOffset = this.prevBytes.length,\n seqStart = -this.prevBytes.length, // idx of the start of current parsed sequence.\n uCode;\n\n for (var i = 0, j = 0; i < buf.length; i++) {\n var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset];\n\n // Lookup in current trie node.\n var uCode = this.decodeTables[nodeIdx][curByte];\n\n if (uCode >= 0) { \n // Normal character, just use it.\n }\n else if (uCode === UNASSIGNED) { // Unknown char.\n // TODO: Callback with seq.\n uCode = this.defaultCharUnicode.charCodeAt(0);\n i = seqStart; // Skip one byte ('i' will be incremented by the for loop) and try to parse again.\n }\n else if (uCode === GB18030_CODE) {\n if (i >= 3) {\n var ptr = (buf[i-3]-0x81)*12600 + (buf[i-2]-0x30)*1260 + (buf[i-1]-0x81)*10 + (curByte-0x30);\n } else {\n var ptr = (prevBytes[i-3+prevOffset]-0x81)*12600 + \n (((i-2 >= 0) ? buf[i-2] : prevBytes[i-2+prevOffset])-0x30)*1260 + \n (((i-1 >= 0) ? buf[i-1] : prevBytes[i-1+prevOffset])-0x81)*10 + \n (curByte-0x30);\n }\n var idx = findIdx(this.gb18030.gbChars, ptr);\n uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];\n }\n else if (uCode <= NODE_START) { // Go to next trie node.\n nodeIdx = NODE_START - uCode;\n continue;\n }\n else if (uCode <= SEQ_START) { // Output a sequence of chars.\n var seq = this.decodeTableSeq[SEQ_START - uCode];\n for (var k = 0; k < seq.length - 1; k++) {\n uCode = seq[k];\n newBuf[j++] = uCode & 0xFF;\n newBuf[j++] = uCode >> 8;\n }\n uCode = seq[seq.length-1];\n }\n else\n throw new Error(\"iconv-lite internal error: invalid decoding table value \" + uCode + \" at \" + nodeIdx + \"/\" + curByte);\n\n // Write the character to buffer, handling higher planes using surrogate pair.\n if (uCode >= 0x10000) { \n uCode -= 0x10000;\n var uCodeLead = 0xD800 | (uCode >> 10);\n newBuf[j++] = uCodeLead & 0xFF;\n newBuf[j++] = uCodeLead >> 8;\n\n uCode = 0xDC00 | (uCode & 0x3FF);\n }\n newBuf[j++] = uCode & 0xFF;\n newBuf[j++] = uCode >> 8;\n\n // Reset trie node.\n nodeIdx = 0; seqStart = i+1;\n }\n\n this.nodeIdx = nodeIdx;\n this.prevBytes = (seqStart >= 0)\n ? Array.prototype.slice.call(buf, seqStart)\n : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));\n\n return newBuf.slice(0, j).toString('ucs2');\n}\n\nDBCSDecoder.prototype.end = function() {\n var ret = '';\n\n // Try to parse all remaining chars.\n while (this.prevBytes.length > 0) {\n // Skip 1 character in the buffer.\n ret += this.defaultCharUnicode;\n var bytesArr = this.prevBytes.slice(1);\n\n // Parse remaining as usual.\n this.prevBytes = [];\n this.nodeIdx = 0;\n if (bytesArr.length > 0)\n ret += this.write(bytesArr);\n }\n\n this.prevBytes = [];\n this.nodeIdx = 0;\n return ret;\n}\n\n// Binary search for GB18030. Returns largest i such that table[i] <= val.\nfunction findIdx(table, val) {\n if (table[0] > val)\n return -1;\n\n var l = 0, r = table.length;\n while (l < r-1) { // always table[l] <= val < table[r]\n var mid = l + ((r-l+1) >> 1);\n if (table[mid] <= val)\n l = mid;\n else\n r = mid;\n }\n return l;\n}\n\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLHeadingElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLHeadingElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLHeadingElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLHeadingElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLHeadingElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLHeadingElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLHeadingElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLHeadingElement.prototype, {\n align: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLHeadingElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLHeadingElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLHeadingElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLHeadingElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"Crypto\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Crypto'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Crypto\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Crypto {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n getRandomValues(array) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'getRandomValues' called on an object that is not a valid instance of Crypto.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'getRandomValues' on 'Crypto': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (ArrayBuffer.isView(curArg)) {\n } else {\n throw new globalObject.TypeError(\n \"Failed to execute 'getRandomValues' on 'Crypto': parameter 1\" + \" is not of any supported type.\"\n );\n }\n args.push(curArg);\n }\n return esValue[implSymbol].getRandomValues(...args);\n }\n\n randomUUID() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'randomUUID' called on an object that is not a valid instance of Crypto.\");\n }\n\n return esValue[implSymbol].randomUUID();\n }\n }\n Object.defineProperties(Crypto.prototype, {\n getRandomValues: { enumerable: true },\n randomUUID: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Crypto\", configurable: true }\n });\n ctorRegistry[interfaceName] = Crypto;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Crypto\n });\n};\n\nconst Impl = require(\"../crypto/Crypto-impl.js\");\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CookieJar = void 0;\nconst getPublicSuffix_1 = require(\"../getPublicSuffix\");\nconst validators = __importStar(require(\"../validators\"));\nconst validators_1 = require(\"../validators\");\nconst store_1 = require(\"../store\");\nconst memstore_1 = require(\"../memstore\");\nconst pathMatch_1 = require(\"../pathMatch\");\nconst cookie_1 = require(\"./cookie\");\nconst utils_1 = require(\"../utils\");\nconst canonicalDomain_1 = require(\"./canonicalDomain\");\nconst constants_1 = require(\"./constants\");\nconst defaultPath_1 = require(\"./defaultPath\");\nconst domainMatch_1 = require(\"./domainMatch\");\nconst cookieCompare_1 = require(\"./cookieCompare\");\nconst version_1 = require(\"../version\");\nconst defaultSetCookieOptions = {\n loose: false,\n sameSiteContext: undefined,\n ignoreError: false,\n http: true,\n};\nconst defaultGetCookieOptions = {\n http: true,\n expire: true,\n allPaths: false,\n sameSiteContext: undefined,\n sort: undefined,\n};\nconst SAME_SITE_CONTEXT_VAL_ERR = 'Invalid sameSiteContext option for getCookies(); expected one of \"strict\", \"lax\", or \"none\"';\nfunction getCookieContext(url) {\n if (url &&\n typeof url === 'object' &&\n 'hostname' in url &&\n typeof url.hostname === 'string' &&\n 'pathname' in url &&\n typeof url.pathname === 'string' &&\n 'protocol' in url &&\n typeof url.protocol === 'string') {\n return {\n hostname: url.hostname,\n pathname: url.pathname,\n protocol: url.protocol,\n };\n }\n else if (typeof url === 'string') {\n try {\n return new URL(decodeURI(url));\n }\n catch {\n return new URL(url);\n }\n }\n else {\n throw new validators_1.ParameterError('`url` argument is not a string or URL.');\n }\n}\nfunction checkSameSiteContext(value) {\n const context = String(value).toLowerCase();\n if (context === 'none' || context === 'lax' || context === 'strict') {\n return context;\n }\n else {\n return undefined;\n }\n}\n/**\n * If the cookie-name begins with a case-sensitive match for the\n * string \"__Secure-\", abort these steps and ignore the cookie\n * entirely unless the cookie's secure-only-flag is true.\n * @param cookie\n * @returns boolean\n */\nfunction isSecurePrefixConditionMet(cookie) {\n const startsWithSecurePrefix = typeof cookie.key === 'string' && cookie.key.startsWith('__Secure-');\n return !startsWithSecurePrefix || cookie.secure;\n}\n/**\n * If the cookie-name begins with a case-sensitive match for the\n * string \"__Host-\", abort these steps and ignore the cookie\n * entirely unless the cookie meets all the following criteria:\n * 1. The cookie's secure-only-flag is true.\n * 2. The cookie's host-only-flag is true.\n * 3. The cookie-attribute-list contains an attribute with an\n * attribute-name of \"Path\", and the cookie's path is \"/\".\n * @param cookie\n * @returns boolean\n */\nfunction isHostPrefixConditionMet(cookie) {\n const startsWithHostPrefix = typeof cookie.key === 'string' && cookie.key.startsWith('__Host-');\n return (!startsWithHostPrefix ||\n Boolean(cookie.secure &&\n cookie.hostOnly &&\n cookie.path != null &&\n cookie.path === '/'));\n}\nfunction getNormalizedPrefixSecurity(prefixSecurity) {\n const normalizedPrefixSecurity = prefixSecurity.toLowerCase();\n /* The three supported options */\n switch (normalizedPrefixSecurity) {\n case constants_1.PrefixSecurityEnum.STRICT:\n case constants_1.PrefixSecurityEnum.SILENT:\n case constants_1.PrefixSecurityEnum.DISABLED:\n return normalizedPrefixSecurity;\n default:\n return constants_1.PrefixSecurityEnum.SILENT;\n }\n}\n/**\n * A CookieJar is for storage and retrieval of {@link Cookie} objects as defined in\n * {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-5.3 | RFC6265 - Section 5.3}.\n *\n * It also supports a pluggable persistence layer via {@link Store}.\n * @public\n */\nclass CookieJar {\n /**\n * Creates a new `CookieJar` instance.\n *\n * @remarks\n * - If a custom store is not passed to the constructor, an in-memory store ({@link MemoryCookieStore} will be created and used.\n * - If a boolean value is passed as the `options` parameter, this is equivalent to passing `{ rejectPublicSuffixes: }`\n *\n * @param store - a custom {@link Store} implementation (defaults to {@link MemoryCookieStore})\n * @param options - configures how cookies are processed by the cookie jar\n */\n constructor(store, options) {\n if (typeof options === 'boolean') {\n options = { rejectPublicSuffixes: options };\n }\n this.rejectPublicSuffixes = options?.rejectPublicSuffixes ?? true;\n this.enableLooseMode = options?.looseMode ?? false;\n this.allowSpecialUseDomain = options?.allowSpecialUseDomain ?? true;\n this.prefixSecurity = getNormalizedPrefixSecurity(options?.prefixSecurity ?? 'silent');\n this.store = store ?? new memstore_1.MemoryCookieStore();\n }\n callSync(fn) {\n if (!this.store.synchronous) {\n throw new Error('CookieJar store is not synchronous; use async API instead.');\n }\n let syncErr = null;\n let syncResult = undefined;\n try {\n fn.call(this, (error, result) => {\n syncErr = error;\n syncResult = result;\n });\n }\n catch (err) {\n syncErr = err;\n }\n if (syncErr)\n throw syncErr;\n return syncResult;\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n setCookie(cookie, url, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const cb = promiseCallback.callback;\n let context;\n try {\n if (typeof url === 'string') {\n validators.validate(validators.isNonEmptyString(url), callback, (0, utils_1.safeToString)(options));\n }\n context = getCookieContext(url);\n if (typeof url === 'function') {\n return promiseCallback.reject(new Error('No URL was specified'));\n }\n if (typeof options === 'function') {\n options = defaultSetCookieOptions;\n }\n validators.validate(typeof cb === 'function', cb);\n if (!validators.isNonEmptyString(cookie) &&\n !validators.isObject(cookie) &&\n cookie instanceof String &&\n cookie.length == 0) {\n return promiseCallback.resolve(undefined);\n }\n }\n catch (err) {\n return promiseCallback.reject(err);\n }\n const host = (0, canonicalDomain_1.canonicalDomain)(context.hostname) ?? null;\n const loose = options?.loose || this.enableLooseMode;\n let sameSiteContext = null;\n if (options?.sameSiteContext) {\n sameSiteContext = checkSameSiteContext(options.sameSiteContext);\n if (!sameSiteContext) {\n return promiseCallback.reject(new Error(SAME_SITE_CONTEXT_VAL_ERR));\n }\n }\n // S5.3 step 1\n if (typeof cookie === 'string' || cookie instanceof String) {\n const parsedCookie = cookie_1.Cookie.parse(cookie.toString(), { loose: loose });\n if (!parsedCookie) {\n const err = new Error('Cookie failed to parse');\n return options?.ignoreError\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(err);\n }\n cookie = parsedCookie;\n }\n else if (!(cookie instanceof cookie_1.Cookie)) {\n // If you're seeing this error, and are passing in a Cookie object,\n // it *might* be a Cookie object from another loaded version of tough-cookie.\n const err = new Error('First argument to setCookie must be a Cookie object or string');\n return options?.ignoreError\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(err);\n }\n // S5.3 step 2\n const now = options?.now || new Date(); // will assign later to save effort in the face of errors\n // S5.3 step 3: NOOP; persistent-flag and expiry-time is handled by getCookie()\n // S5.3 step 4: NOOP; domain is null by default\n // S5.3 step 5: public suffixes\n if (this.rejectPublicSuffixes && cookie.domain) {\n try {\n const cdomain = cookie.cdomain();\n const suffix = typeof cdomain === 'string'\n ? (0, getPublicSuffix_1.getPublicSuffix)(cdomain, {\n allowSpecialUseDomain: this.allowSpecialUseDomain,\n ignoreError: options?.ignoreError,\n })\n : null;\n if (suffix == null && !constants_1.IP_V6_REGEX_OBJECT.test(cookie.domain)) {\n // e.g. \"com\"\n const err = new Error('Cookie has domain set to a public suffix');\n return options?.ignoreError\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(err);\n }\n // Using `any` here rather than `unknown` to avoid a type assertion, at the cost of needing\n // to disable eslint directives. It's easier to have this one spot of technically incorrect\n // types, rather than having to deal with _all_ callback errors being `unknown`.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }\n catch (err) {\n return options?.ignoreError\n ? promiseCallback.resolve(undefined)\n : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n promiseCallback.reject(err);\n }\n }\n // S5.3 step 6:\n if (cookie.domain) {\n if (!(0, domainMatch_1.domainMatch)(host ?? undefined, cookie.cdomain() ?? undefined, false)) {\n const err = new Error(`Cookie not in this host's domain. Cookie:${cookie.cdomain() ?? 'null'} Request:${host ?? 'null'}`);\n return options?.ignoreError\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(err);\n }\n if (cookie.hostOnly == null) {\n // don't reset if already set\n cookie.hostOnly = false;\n }\n }\n else {\n cookie.hostOnly = true;\n cookie.domain = host;\n }\n //S5.2.4 If the attribute-value is empty or if the first character of the\n //attribute-value is not %x2F (\"/\"):\n //Let cookie-path be the default-path.\n if (!cookie.path || cookie.path[0] !== '/') {\n cookie.path = (0, defaultPath_1.defaultPath)(context.pathname);\n cookie.pathIsDefault = true;\n }\n // S5.3 step 8: NOOP; secure attribute\n // S5.3 step 9: NOOP; httpOnly attribute\n // S5.3 step 10\n if (options?.http === false && cookie.httpOnly) {\n const err = new Error(\"Cookie is HttpOnly and this isn't an HTTP API\");\n return options.ignoreError\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(err);\n }\n // 6252bis-02 S5.4 Step 13 & 14:\n if (cookie.sameSite !== 'none' &&\n cookie.sameSite !== undefined &&\n sameSiteContext) {\n // \"If the cookie's \"same-site-flag\" is not \"None\", and the cookie\n // is being set from a context whose \"site for cookies\" is not an\n // exact match for request-uri's host's registered domain, then\n // abort these steps and ignore the newly created cookie entirely.\"\n if (sameSiteContext === 'none') {\n const err = new Error('Cookie is SameSite but this is a cross-origin request');\n return options?.ignoreError\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(err);\n }\n }\n /* 6265bis-02 S5.4 Steps 15 & 16 */\n const ignoreErrorForPrefixSecurity = this.prefixSecurity === constants_1.PrefixSecurityEnum.SILENT;\n const prefixSecurityDisabled = this.prefixSecurity === constants_1.PrefixSecurityEnum.DISABLED;\n /* If prefix checking is not disabled ...*/\n if (!prefixSecurityDisabled) {\n let errorFound = false;\n let errorMsg;\n /* Check secure prefix condition */\n if (!isSecurePrefixConditionMet(cookie)) {\n errorFound = true;\n errorMsg = 'Cookie has __Secure prefix but Secure attribute is not set';\n }\n else if (!isHostPrefixConditionMet(cookie)) {\n /* Check host prefix condition */\n errorFound = true;\n errorMsg =\n \"Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'\";\n }\n if (errorFound) {\n return options?.ignoreError || ignoreErrorForPrefixSecurity\n ? promiseCallback.resolve(undefined)\n : promiseCallback.reject(new Error(errorMsg));\n }\n }\n const store = this.store;\n // TODO: It feels weird to be manipulating the store as a side effect of a method.\n // We should either do it in the constructor or not at all.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!store.updateCookie) {\n store.updateCookie = async function (_oldCookie, newCookie, cb) {\n return this.putCookie(newCookie).then(() => cb?.(null), (error) => cb?.(error));\n };\n }\n const withCookie = function withCookie(err, oldCookie) {\n if (err) {\n cb(err);\n return;\n }\n const next = function (err) {\n if (err) {\n cb(err);\n }\n else if (typeof cookie === 'string') {\n cb(null, undefined);\n }\n else {\n cb(null, cookie);\n }\n };\n if (oldCookie) {\n // S5.3 step 11 - \"If the cookie store contains a cookie with the same name,\n // domain, and path as the newly created cookie:\"\n if (options &&\n 'http' in options &&\n options.http === false &&\n oldCookie.httpOnly) {\n // step 11.2\n err = new Error(\"old Cookie is HttpOnly and this isn't an HTTP API\");\n if (options.ignoreError)\n cb(null, undefined);\n else\n cb(err);\n return;\n }\n if (cookie instanceof cookie_1.Cookie) {\n cookie.creation = oldCookie.creation;\n // step 11.3\n cookie.creationIndex = oldCookie.creationIndex;\n // preserve tie-breaker\n cookie.lastAccessed = now;\n // Step 11.4 (delete cookie) is implied by just setting the new one:\n store.updateCookie(oldCookie, cookie, next); // step 12\n }\n }\n else {\n if (cookie instanceof cookie_1.Cookie) {\n cookie.creation = cookie.lastAccessed = now;\n store.putCookie(cookie, next); // step 12\n }\n }\n };\n // TODO: Refactor to avoid using a callback\n store.findCookie(cookie.domain, cookie.path, cookie.key, withCookie);\n return promiseCallback.promise;\n }\n /**\n * Synchronously attempt to set the {@link Cookie} in the {@link CookieJar}.\n *\n * Note: Only works if the configured {@link Store} is also synchronous.\n *\n * @remarks\n * - If successfully persisted, the {@link Cookie} will have updated\n * {@link Cookie.creation}, {@link Cookie.lastAccessed} and {@link Cookie.hostOnly}\n * properties.\n *\n * - As per the RFC, the {@link Cookie.hostOnly} flag is set if there was no `Domain={value}`\n * atttribute on the cookie string. The {@link Cookie.domain} property is set to the\n * fully-qualified hostname of `currentUrl` in this case. Matching this cookie requires an\n * exact hostname match (not a {@link domainMatch} as per usual)\n *\n * @param cookie - The cookie object or cookie string to store. A string value will be parsed into a cookie using {@link Cookie.parse}.\n * @param url - The domain to store the cookie with.\n * @param options - Configuration settings to use when storing the cookie.\n * @public\n */\n setCookieSync(cookie, url, options) {\n const setCookieFn = options\n ? this.setCookie.bind(this, cookie, url, options)\n : this.setCookie.bind(this, cookie, url);\n return this.callSync(setCookieFn);\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n getCookies(url, options, callback) {\n // RFC6365 S5.4\n if (typeof options === 'function') {\n callback = options;\n options = defaultGetCookieOptions;\n }\n else if (options === undefined) {\n options = defaultGetCookieOptions;\n }\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const cb = promiseCallback.callback;\n let context;\n try {\n if (typeof url === 'string') {\n validators.validate(validators.isNonEmptyString(url), cb, url);\n }\n context = getCookieContext(url);\n validators.validate(validators.isObject(options), cb, (0, utils_1.safeToString)(options));\n validators.validate(typeof cb === 'function', cb);\n }\n catch (parameterError) {\n return promiseCallback.reject(parameterError);\n }\n const host = (0, canonicalDomain_1.canonicalDomain)(context.hostname);\n const path = context.pathname || '/';\n const secure = context.protocol &&\n (context.protocol == 'https:' || context.protocol == 'wss:');\n let sameSiteLevel = 0;\n if (options.sameSiteContext) {\n const sameSiteContext = checkSameSiteContext(options.sameSiteContext);\n if (sameSiteContext == null) {\n return promiseCallback.reject(new Error(SAME_SITE_CONTEXT_VAL_ERR));\n }\n sameSiteLevel = cookie_1.Cookie.sameSiteLevel[sameSiteContext];\n if (!sameSiteLevel) {\n return promiseCallback.reject(new Error(SAME_SITE_CONTEXT_VAL_ERR));\n }\n }\n const http = options.http ?? true;\n const now = Date.now();\n const expireCheck = options.expire ?? true;\n const allPaths = options.allPaths ?? false;\n const store = this.store;\n function matchingCookie(c) {\n // \"Either:\n // The cookie's host-only-flag is true and the canonicalized\n // request-host is identical to the cookie's domain.\n // Or:\n // The cookie's host-only-flag is false and the canonicalized\n // request-host domain-matches the cookie's domain.\"\n if (c.hostOnly) {\n if (c.domain != host) {\n return false;\n }\n }\n else {\n if (!(0, domainMatch_1.domainMatch)(host ?? undefined, c.domain ?? undefined, false)) {\n return false;\n }\n }\n // \"The request-uri's path path-matches the cookie's path.\"\n if (!allPaths && typeof c.path === 'string' && !(0, pathMatch_1.pathMatch)(path, c.path)) {\n return false;\n }\n // \"If the cookie's secure-only-flag is true, then the request-uri's\n // scheme must denote a \"secure\" protocol\"\n if (c.secure && !secure) {\n return false;\n }\n // \"If the cookie's http-only-flag is true, then exclude the cookie if the\n // cookie-string is being generated for a \"non-HTTP\" API\"\n if (c.httpOnly && !http) {\n return false;\n }\n // RFC6265bis-02 S5.3.7\n if (sameSiteLevel) {\n let cookieLevel;\n if (c.sameSite === 'lax') {\n cookieLevel = cookie_1.Cookie.sameSiteLevel.lax;\n }\n else if (c.sameSite === 'strict') {\n cookieLevel = cookie_1.Cookie.sameSiteLevel.strict;\n }\n else {\n cookieLevel = cookie_1.Cookie.sameSiteLevel.none;\n }\n if (cookieLevel > sameSiteLevel) {\n // only allow cookies at or below the request level\n return false;\n }\n }\n // deferred from S5.3\n // non-RFC: allow retention of expired cookies by choice\n const expiryTime = c.expiryTime();\n if (expireCheck && expiryTime != undefined && expiryTime <= now) {\n store.removeCookie(c.domain, c.path, c.key, () => { }); // result ignored\n return false;\n }\n return true;\n }\n store.findCookies(host, allPaths ? null : path, this.allowSpecialUseDomain, (err, cookies) => {\n if (err) {\n cb(err);\n return;\n }\n if (cookies == null) {\n cb(null, []);\n return;\n }\n cookies = cookies.filter(matchingCookie);\n // sorting of S5.4 part 2\n if ('sort' in options && options.sort !== false) {\n cookies = cookies.sort(cookieCompare_1.cookieCompare);\n }\n // S5.4 part 3\n const now = new Date();\n for (const cookie of cookies) {\n cookie.lastAccessed = now;\n }\n // TODO persist lastAccessed\n cb(null, cookies);\n });\n return promiseCallback.promise;\n }\n /**\n * Synchronously retrieve the list of cookies that can be sent in a Cookie header for the\n * current URL.\n *\n * Note: Only works if the configured Store is also synchronous.\n *\n * @remarks\n * - The array of cookies returned will be sorted according to {@link cookieCompare}.\n *\n * - The {@link Cookie.lastAccessed} property will be updated on all returned cookies.\n *\n * @param url - The domain to store the cookie with.\n * @param options - Configuration settings to use when retrieving the cookies.\n */\n getCookiesSync(url, options) {\n return this.callSync(this.getCookies.bind(this, url, options)) ?? [];\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n getCookieString(url, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const next = function (err, cookies) {\n if (err) {\n promiseCallback.callback(err);\n }\n else {\n promiseCallback.callback(null, cookies\n ?.sort(cookieCompare_1.cookieCompare)\n .map((c) => c.cookieString())\n .join('; '));\n }\n };\n this.getCookies(url, options, next);\n return promiseCallback.promise;\n }\n /**\n * Synchronous version of `.getCookieString()`. Accepts the same options as `.getCookies()` but returns a string suitable for a\n * `Cookie` header rather than an Array.\n *\n * Note: Only works if the configured Store is also synchronous.\n *\n * @param url - The domain to store the cookie with.\n * @param options - Configuration settings to use when retrieving the cookies.\n */\n getCookieStringSync(url, options) {\n return (this.callSync(options\n ? this.getCookieString.bind(this, url, options)\n : this.getCookieString.bind(this, url)) ?? '');\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n getSetCookieStrings(url, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const next = function (err, cookies) {\n if (err) {\n promiseCallback.callback(err);\n }\n else {\n promiseCallback.callback(null, cookies?.map((c) => {\n return c.toString();\n }));\n }\n };\n this.getCookies(url, options, next);\n return promiseCallback.promise;\n }\n /**\n * Synchronous version of `.getSetCookieStrings()`. Returns an array of strings suitable for `Set-Cookie` headers.\n * Accepts the same options as `.getCookies()`.\n *\n * Note: Only works if the configured Store is also synchronous.\n *\n * @param url - The domain to store the cookie with.\n * @param options - Configuration settings to use when retrieving the cookies.\n */\n getSetCookieStringsSync(url, options = {}) {\n return (this.callSync(this.getSetCookieStrings.bind(this, url, options)) ?? []);\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n serialize(callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n let type = this.store.constructor.name;\n if (validators.isObject(type)) {\n type = null;\n }\n // update README.md \"Serialization Format\" if you change this, please!\n const serialized = {\n // The version of tough-cookie that serialized this jar. Generally a good\n // practice since future versions can make data import decisions based on\n // known past behavior. When/if this matters, use `semver`.\n version: `tough-cookie@${version_1.version}`,\n // add the store type, to make humans happy:\n storeType: type,\n // CookieJar configuration:\n rejectPublicSuffixes: this.rejectPublicSuffixes,\n enableLooseMode: this.enableLooseMode,\n allowSpecialUseDomain: this.allowSpecialUseDomain,\n prefixSecurity: getNormalizedPrefixSecurity(this.prefixSecurity),\n // this gets filled from getAllCookies:\n cookies: [],\n };\n if (typeof this.store.getAllCookies !== 'function') {\n return promiseCallback.reject(new Error('store does not support getAllCookies and cannot be serialized'));\n }\n this.store.getAllCookies((err, cookies) => {\n if (err) {\n promiseCallback.callback(err);\n return;\n }\n if (cookies == null) {\n promiseCallback.callback(null, serialized);\n return;\n }\n serialized.cookies = cookies.map((cookie) => {\n // convert to serialized 'raw' cookies\n const serializedCookie = cookie.toJSON();\n // Remove the index so new ones get assigned during deserialization\n delete serializedCookie.creationIndex;\n return serializedCookie;\n });\n promiseCallback.callback(null, serialized);\n });\n return promiseCallback.promise;\n }\n /**\n * Serialize the CookieJar if the underlying store supports `.getAllCookies`.\n *\n * Note: Only works if the configured Store is also synchronous.\n */\n serializeSync() {\n return this.callSync((callback) => {\n this.serialize(callback);\n });\n }\n /**\n * Alias of {@link CookieJar.serializeSync}. Allows the cookie to be serialized\n * with `JSON.stringify(cookieJar)`.\n */\n toJSON() {\n return this.serializeSync();\n }\n /**\n * Use the class method CookieJar.deserialize instead of calling this directly\n * @internal\n */\n _importCookies(serialized, callback) {\n let cookies = undefined;\n if (serialized &&\n typeof serialized === 'object' &&\n (0, utils_1.inOperator)('cookies', serialized) &&\n Array.isArray(serialized.cookies)) {\n cookies = serialized.cookies;\n }\n if (!cookies) {\n callback(new Error('serialized jar has no cookies array'), undefined);\n return;\n }\n cookies = cookies.slice(); // do not modify the original\n const putNext = (err) => {\n if (err) {\n callback(err, undefined);\n return;\n }\n if (Array.isArray(cookies)) {\n if (!cookies.length) {\n callback(err, this);\n return;\n }\n let cookie;\n try {\n cookie = cookie_1.Cookie.fromJSON(cookies.shift());\n }\n catch (e) {\n callback(e instanceof Error ? e : new Error(), undefined);\n return;\n }\n if (cookie === undefined) {\n putNext(null); // skip this cookie\n return;\n }\n this.store.putCookie(cookie, putNext);\n }\n };\n putNext(null);\n }\n /**\n * @internal\n */\n _importCookiesSync(serialized) {\n this.callSync(this._importCookies.bind(this, serialized));\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n clone(newStore, callback) {\n if (typeof newStore === 'function') {\n callback = newStore;\n newStore = undefined;\n }\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const cb = promiseCallback.callback;\n this.serialize((err, serialized) => {\n if (err) {\n return promiseCallback.reject(err);\n }\n return CookieJar.deserialize(serialized ?? '', newStore, cb);\n });\n return promiseCallback.promise;\n }\n /**\n * @internal\n */\n _cloneSync(newStore) {\n const cloneFn = newStore && typeof newStore !== 'function'\n ? this.clone.bind(this, newStore)\n : this.clone.bind(this);\n return this.callSync((callback) => {\n cloneFn(callback);\n });\n }\n /**\n * Produces a deep clone of this CookieJar. Modifications to the original do\n * not affect the clone, and vice versa.\n *\n * Note: Only works if both the configured Store and destination\n * Store are synchronous.\n *\n * @remarks\n * - When no {@link Store} is provided, a new {@link MemoryCookieStore} will be used.\n *\n * - Transferring between store types is supported so long as the source\n * implements `.getAllCookies()` and the destination implements `.putCookie()`.\n *\n * @param newStore - The target {@link Store} to clone cookies into.\n */\n cloneSync(newStore) {\n if (!newStore) {\n return this._cloneSync();\n }\n if (!newStore.synchronous) {\n throw new Error('CookieJar clone destination store is not synchronous; use async API instead.');\n }\n return this._cloneSync(newStore);\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n removeAllCookies(callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const cb = promiseCallback.callback;\n const store = this.store;\n // Check that the store implements its own removeAllCookies(). The default\n // implementation in Store will immediately call the callback with a \"not\n // implemented\" Error.\n if (typeof store.removeAllCookies === 'function' &&\n store.removeAllCookies !== store_1.Store.prototype.removeAllCookies) {\n // `Callback` and `ErrorCallback` are *technically* incompatible, but for the\n // standard implementation `cb = (err, result) => {}`, they're essentially the same.\n store.removeAllCookies(cb);\n return promiseCallback.promise;\n }\n store.getAllCookies((err, cookies) => {\n if (err) {\n cb(err);\n return;\n }\n if (!cookies) {\n cookies = [];\n }\n if (cookies.length === 0) {\n cb(null, undefined);\n return;\n }\n let completedCount = 0;\n const removeErrors = [];\n // TODO: Refactor to avoid using callback\n const removeCookieCb = function removeCookieCb(removeErr) {\n if (removeErr) {\n removeErrors.push(removeErr);\n }\n completedCount++;\n if (completedCount === cookies.length) {\n if (removeErrors[0])\n cb(removeErrors[0]);\n else\n cb(null, undefined);\n return;\n }\n };\n cookies.forEach((cookie) => {\n store.removeCookie(cookie.domain, cookie.path, cookie.key, removeCookieCb);\n });\n });\n return promiseCallback.promise;\n }\n /**\n * Removes all cookies from the CookieJar.\n *\n * Note: Only works if the configured Store is also synchronous.\n *\n * @remarks\n * - This is a new backwards-compatible feature of tough-cookie version 2.5,\n * so not all Stores will implement it efficiently. For Stores that do not\n * implement `removeAllCookies`, the fallback is to call `removeCookie` after\n * `getAllCookies`.\n *\n * - If `getAllCookies` fails or isn't implemented in the Store, an error is returned.\n *\n * - If one or more of the `removeCookie` calls fail, only the first error is returned.\n */\n removeAllCookiesSync() {\n this.callSync((callback) => {\n // `Callback` and `ErrorCallback` are *technically* incompatible, but for the\n // standard implementation `cb = (err, result) => {}`, they're essentially the same.\n this.removeAllCookies(callback);\n });\n }\n /**\n * @internal No doc because this is the overload implementation\n */\n static deserialize(strOrObj, store, callback) {\n if (typeof store === 'function') {\n callback = store;\n store = undefined;\n }\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n let serialized;\n if (typeof strOrObj === 'string') {\n try {\n serialized = JSON.parse(strOrObj);\n }\n catch (e) {\n return promiseCallback.reject(e instanceof Error ? e : new Error());\n }\n }\n else {\n serialized = strOrObj;\n }\n const readSerializedProperty = (property) => {\n return serialized &&\n typeof serialized === 'object' &&\n (0, utils_1.inOperator)(property, serialized)\n ? serialized[property]\n : undefined;\n };\n const readSerializedBoolean = (property) => {\n const value = readSerializedProperty(property);\n return typeof value === 'boolean' ? value : undefined;\n };\n const readSerializedString = (property) => {\n const value = readSerializedProperty(property);\n return typeof value === 'string' ? value : undefined;\n };\n const jar = new CookieJar(store, {\n rejectPublicSuffixes: readSerializedBoolean('rejectPublicSuffixes'),\n looseMode: readSerializedBoolean('enableLooseMode'),\n allowSpecialUseDomain: readSerializedBoolean('allowSpecialUseDomain'),\n prefixSecurity: getNormalizedPrefixSecurity(readSerializedString('prefixSecurity') ?? 'silent'),\n });\n jar._importCookies(serialized, (err) => {\n if (err) {\n promiseCallback.callback(err);\n return;\n }\n promiseCallback.callback(null, jar);\n });\n return promiseCallback.promise;\n }\n /**\n * A new CookieJar is created and the serialized {@link Cookie} values are added to\n * the underlying store. Each {@link Cookie} is added via `store.putCookie(...)` in\n * the order in which they appear in the serialization.\n *\n * Note: Only works if the configured Store is also synchronous.\n *\n * @remarks\n * - When no {@link Store} is provided, a new {@link MemoryCookieStore} will be used.\n *\n * - As a convenience, if `strOrObj` is a string, it is passed through `JSON.parse` first.\n *\n * @param strOrObj - A JSON string or object representing the deserialized cookies.\n * @param store - The underlying store to persist the deserialized cookies into.\n */\n static deserializeSync(strOrObj, store) {\n const serialized = typeof strOrObj === 'string' ? JSON.parse(strOrObj) : strOrObj;\n const readSerializedProperty = (property) => {\n return serialized &&\n typeof serialized === 'object' &&\n (0, utils_1.inOperator)(property, serialized)\n ? serialized[property]\n : undefined;\n };\n const readSerializedBoolean = (property) => {\n const value = readSerializedProperty(property);\n return typeof value === 'boolean' ? value : undefined;\n };\n const readSerializedString = (property) => {\n const value = readSerializedProperty(property);\n return typeof value === 'string' ? value : undefined;\n };\n const jar = new CookieJar(store, {\n rejectPublicSuffixes: readSerializedBoolean('rejectPublicSuffixes'),\n looseMode: readSerializedBoolean('enableLooseMode'),\n allowSpecialUseDomain: readSerializedBoolean('allowSpecialUseDomain'),\n prefixSecurity: getNormalizedPrefixSecurity(readSerializedString('prefixSecurity') ?? 'silent'),\n });\n // catch this mistake early:\n if (!jar.store.synchronous) {\n throw new Error('CookieJar store is not synchronous; use async API instead.');\n }\n jar._importCookiesSync(serialized);\n return jar;\n }\n /**\n * Alias of {@link CookieJar.deserializeSync}.\n *\n * @remarks\n * - When no {@link Store} is provided, a new {@link MemoryCookieStore} will be used.\n *\n * - As a convenience, if `strOrObj` is a string, it is passed through `JSON.parse` first.\n *\n * @param jsonString - A JSON string or object representing the deserialized cookies.\n * @param store - The underlying store to persist the deserialized cookies into.\n */\n static fromJSON(jsonString, store) {\n return CookieJar.deserializeSync(jsonString, store);\n }\n}\nexports.CookieJar = CookieJar;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst EventTarget = require(\"./EventTarget.js\");\nconst EventModifierInit = require(\"./EventModifierInit.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n EventModifierInit._convertInherit(globalObject, obj, ret, { context });\n\n {\n const key = \"button\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"short\"](value, { context: context + \" has member 'button' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"buttons\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"unsigned short\"](value, {\n context: context + \" has member 'buttons' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"clientX\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"long\"](value, { context: context + \" has member 'clientX' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"clientX\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"double\"](value, { context: context + \" has member 'clientX' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0.0;\n }\n }\n\n {\n const key = \"clientY\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"long\"](value, { context: context + \" has member 'clientY' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"clientY\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"double\"](value, { context: context + \" has member 'clientY' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0.0;\n }\n }\n\n {\n const key = \"relatedTarget\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n if (value === null || value === undefined) {\n value = null;\n } else {\n value = EventTarget.convert(globalObject, value, { context: context + \" has member 'relatedTarget' that\" });\n }\n ret[key] = value;\n } else {\n ret[key] = null;\n }\n }\n\n {\n const key = \"screenX\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"long\"](value, { context: context + \" has member 'screenX' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"screenX\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"double\"](value, { context: context + \" has member 'screenX' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0.0;\n }\n }\n\n {\n const key = \"screenY\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"long\"](value, { context: context + \" has member 'screenY' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"screenY\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"double\"](value, { context: context + \" has member 'screenY' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = 0.0;\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultPath = defaultPath;\n/**\n * Given a current request/response path, gives the path appropriate for storing\n * in a cookie. This is basically the \"directory\" of a \"file\" in the path, but\n * is specified by {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-5.1.4 | RFC6265 - Section 5.1.4}.\n *\n * @remarks\n * ### RFC6265 - Section 5.1.4\n *\n * The user agent MUST use an algorithm equivalent to the following algorithm to compute the default-path of a cookie:\n *\n * 1. Let uri-path be the path portion of the request-uri if such a\n * portion exists (and empty otherwise). For example, if the\n * request-uri contains just a path (and optional query string),\n * then the uri-path is that path (without the %x3F (\"?\") character\n * or query string), and if the request-uri contains a full\n * absoluteURI, the uri-path is the path component of that URI.\n *\n * 2. If the uri-path is empty or if the first character of the uri-\n * path is not a %x2F (\"/\") character, output %x2F (\"/\") and skip\n * the remaining steps.\n *\n * 3. If the uri-path contains no more than one %x2F (\"/\") character,\n * output %x2F (\"/\") and skip the remaining step.\n *\n * 4. Output the characters of the uri-path from the first character up\n * to, but not including, the right-most %x2F (\"/\").\n *\n * @example\n * ```\n * defaultPath('') === '/'\n * defaultPath('/some-path') === '/'\n * defaultPath('/some-parent-path/some-path') === '/some-parent-path'\n * defaultPath('relative-path') === '/'\n * ```\n *\n * @param path - the path portion of the request-uri (excluding the hostname, query, fragment, and so on)\n * @public\n */\nfunction defaultPath(path) {\n // \"2. If the uri-path is empty or if the first character of the uri-path is not\n // a %x2F (\"/\") character, output %x2F (\"/\") and skip the remaining steps.\n if (!path || path.slice(0, 1) !== '/') {\n return '/';\n }\n // \"3. If the uri-path contains no more than one %x2F (\"/\") character, output\n // %x2F (\"/\") and skip the remaining step.\"\n if (path === '/') {\n return path;\n }\n const rightSlash = path.lastIndexOf('/');\n if (rightSlash === 0) {\n return '/';\n }\n // \"4. Output the characters of the uri-path from the first character up to,\n // but not including, the right-most %x2F (\"/\").\"\n return path.slice(0, rightSlash);\n}\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst GetRootNodeOptions = require(\"./GetRootNodeOptions.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst EventTarget = require(\"./EventTarget.js\");\n\nconst interfaceName = \"Node\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Node'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Node\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n EventTarget._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Node extends globalObject.EventTarget {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n getRootNode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'getRootNode' called on an object that is not a valid instance of Node.\");\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = GetRootNodeOptions.convert(globalObject, curArg, {\n context: \"Failed to execute 'getRootNode' on 'Node': parameter 1\"\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].getRootNode(...args));\n }\n\n hasChildNodes() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'hasChildNodes' called on an object that is not a valid instance of Node.\");\n }\n\n return esValue[implSymbol].hasChildNodes();\n }\n\n normalize() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'normalize' called on an object that is not a valid instance of Node.\");\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].normalize();\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n cloneNode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'cloneNode' called on an object that is not a valid instance of Node.\");\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'cloneNode' on 'Node': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = false;\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return utils.tryWrapperForImpl(esValue[implSymbol].cloneNode(...args));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n isEqualNode(otherNode) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'isEqualNode' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'isEqualNode' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'isEqualNode' on 'Node': parameter 1\"\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].isEqualNode(...args);\n }\n\n isSameNode(otherNode) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'isSameNode' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'isSameNode' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'isSameNode' on 'Node': parameter 1\"\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].isSameNode(...args);\n }\n\n compareDocumentPosition(other) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'compareDocumentPosition' called on an object that is not a valid instance of Node.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'compareDocumentPosition' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'compareDocumentPosition' on 'Node': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].compareDocumentPosition(...args);\n }\n\n contains(other) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'contains' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'contains' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'contains' on 'Node': parameter 1\"\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].contains(...args);\n }\n\n lookupPrefix(namespace) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'lookupPrefix' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'lookupPrefix' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'lookupPrefix' on 'Node': parameter 1\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].lookupPrefix(...args);\n }\n\n lookupNamespaceURI(prefix) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'lookupNamespaceURI' called on an object that is not a valid instance of Node.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'lookupNamespaceURI' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'lookupNamespaceURI' on 'Node': parameter 1\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].lookupNamespaceURI(...args);\n }\n\n isDefaultNamespace(namespace) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'isDefaultNamespace' called on an object that is not a valid instance of Node.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'isDefaultNamespace' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'isDefaultNamespace' on 'Node': parameter 1\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].isDefaultNamespace(...args);\n }\n\n insertBefore(node, child) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'insertBefore' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'insertBefore' on 'Node': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'insertBefore' on 'Node': parameter 2\"\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return utils.tryWrapperForImpl(esValue[implSymbol].insertBefore(...args));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n appendChild(node) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'appendChild' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'appendChild' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'appendChild' on 'Node': parameter 1\"\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return utils.tryWrapperForImpl(esValue[implSymbol].appendChild(...args));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n replaceChild(node, child) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'replaceChild' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'replaceChild' on 'Node': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'replaceChild' on 'Node': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'replaceChild' on 'Node': parameter 2\"\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return utils.tryWrapperForImpl(esValue[implSymbol].replaceChild(...args));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n removeChild(child) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'removeChild' called on an object that is not a valid instance of Node.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'removeChild' on 'Node': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = exports.convert(globalObject, curArg, {\n context: \"Failed to execute 'removeChild' on 'Node': parameter 1\"\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return utils.tryWrapperForImpl(esValue[implSymbol].removeChild(...args));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get nodeType() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get nodeType' called on an object that is not a valid instance of Node.\");\n }\n\n return esValue[implSymbol][\"nodeType\"];\n }\n\n get nodeName() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get nodeName' called on an object that is not a valid instance of Node.\");\n }\n\n return esValue[implSymbol][\"nodeName\"];\n }\n\n get baseURI() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get baseURI' called on an object that is not a valid instance of Node.\");\n }\n\n return esValue[implSymbol][\"baseURI\"];\n }\n\n get isConnected() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get isConnected' called on an object that is not a valid instance of Node.\");\n }\n\n return esValue[implSymbol][\"isConnected\"];\n }\n\n get ownerDocument() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ownerDocument' called on an object that is not a valid instance of Node.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"ownerDocument\"]);\n }\n\n get parentNode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get parentNode' called on an object that is not a valid instance of Node.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"parentNode\"]);\n }\n\n get parentElement() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get parentElement' called on an object that is not a valid instance of Node.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"parentElement\"]);\n }\n\n get childNodes() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get childNodes' called on an object that is not a valid instance of Node.\");\n }\n\n return utils.getSameObject(this, \"childNodes\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"childNodes\"]);\n });\n }\n\n get firstChild() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get firstChild' called on an object that is not a valid instance of Node.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"firstChild\"]);\n }\n\n get lastChild() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get lastChild' called on an object that is not a valid instance of Node.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"lastChild\"]);\n }\n\n get previousSibling() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get previousSibling' called on an object that is not a valid instance of Node.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"previousSibling\"]);\n }\n\n get nextSibling() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get nextSibling' called on an object that is not a valid instance of Node.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"nextSibling\"]);\n }\n\n get nodeValue() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get nodeValue' called on an object that is not a valid instance of Node.\");\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"nodeValue\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set nodeValue(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set nodeValue' called on an object that is not a valid instance of Node.\");\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'nodeValue' property on 'Node': The provided value\",\n globals: globalObject\n });\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"nodeValue\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get textContent() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get textContent' called on an object that is not a valid instance of Node.\");\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"textContent\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set textContent(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set textContent' called on an object that is not a valid instance of Node.\");\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'textContent' property on 'Node': The provided value\",\n globals: globalObject\n });\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"textContent\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(Node.prototype, {\n getRootNode: { enumerable: true },\n hasChildNodes: { enumerable: true },\n normalize: { enumerable: true },\n cloneNode: { enumerable: true },\n isEqualNode: { enumerable: true },\n isSameNode: { enumerable: true },\n compareDocumentPosition: { enumerable: true },\n contains: { enumerable: true },\n lookupPrefix: { enumerable: true },\n lookupNamespaceURI: { enumerable: true },\n isDefaultNamespace: { enumerable: true },\n insertBefore: { enumerable: true },\n appendChild: { enumerable: true },\n replaceChild: { enumerable: true },\n removeChild: { enumerable: true },\n nodeType: { enumerable: true },\n nodeName: { enumerable: true },\n baseURI: { enumerable: true },\n isConnected: { enumerable: true },\n ownerDocument: { enumerable: true },\n parentNode: { enumerable: true },\n parentElement: { enumerable: true },\n childNodes: { enumerable: true },\n firstChild: { enumerable: true },\n lastChild: { enumerable: true },\n previousSibling: { enumerable: true },\n nextSibling: { enumerable: true },\n nodeValue: { enumerable: true },\n textContent: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Node\", configurable: true },\n ELEMENT_NODE: { value: 1, enumerable: true },\n ATTRIBUTE_NODE: { value: 2, enumerable: true },\n TEXT_NODE: { value: 3, enumerable: true },\n CDATA_SECTION_NODE: { value: 4, enumerable: true },\n ENTITY_REFERENCE_NODE: { value: 5, enumerable: true },\n ENTITY_NODE: { value: 6, enumerable: true },\n PROCESSING_INSTRUCTION_NODE: { value: 7, enumerable: true },\n COMMENT_NODE: { value: 8, enumerable: true },\n DOCUMENT_NODE: { value: 9, enumerable: true },\n DOCUMENT_TYPE_NODE: { value: 10, enumerable: true },\n DOCUMENT_FRAGMENT_NODE: { value: 11, enumerable: true },\n NOTATION_NODE: { value: 12, enumerable: true },\n DOCUMENT_POSITION_DISCONNECTED: { value: 0x01, enumerable: true },\n DOCUMENT_POSITION_PRECEDING: { value: 0x02, enumerable: true },\n DOCUMENT_POSITION_FOLLOWING: { value: 0x04, enumerable: true },\n DOCUMENT_POSITION_CONTAINS: { value: 0x08, enumerable: true },\n DOCUMENT_POSITION_CONTAINED_BY: { value: 0x10, enumerable: true },\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { value: 0x20, enumerable: true }\n });\n Object.defineProperties(Node, {\n ELEMENT_NODE: { value: 1, enumerable: true },\n ATTRIBUTE_NODE: { value: 2, enumerable: true },\n TEXT_NODE: { value: 3, enumerable: true },\n CDATA_SECTION_NODE: { value: 4, enumerable: true },\n ENTITY_REFERENCE_NODE: { value: 5, enumerable: true },\n ENTITY_NODE: { value: 6, enumerable: true },\n PROCESSING_INSTRUCTION_NODE: { value: 7, enumerable: true },\n COMMENT_NODE: { value: 8, enumerable: true },\n DOCUMENT_NODE: { value: 9, enumerable: true },\n DOCUMENT_TYPE_NODE: { value: 10, enumerable: true },\n DOCUMENT_FRAGMENT_NODE: { value: 11, enumerable: true },\n NOTATION_NODE: { value: 12, enumerable: true },\n DOCUMENT_POSITION_DISCONNECTED: { value: 0x01, enumerable: true },\n DOCUMENT_POSITION_PRECEDING: { value: 0x02, enumerable: true },\n DOCUMENT_POSITION_FOLLOWING: { value: 0x04, enumerable: true },\n DOCUMENT_POSITION_CONTAINS: { value: 0x08, enumerable: true },\n DOCUMENT_POSITION_CONTAINED_BY: { value: 0x10, enumerable: true },\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { value: 0x20, enumerable: true }\n });\n ctorRegistry[interfaceName] = Node;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Node\n });\n};\n\nconst Impl = require(\"../nodes/Node-impl.js\");\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {(thisArg: Map, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {(thisArg: Map, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {(thisArg: Map, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {(thisArg: Map, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {(thisArg: Map) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType} Channel */\n\t/** @typedef {Parameters[0]} K */\n\t/** @typedef {Parameters[1]} V */\n\n\t/** @type {Map | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLMetaElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLMetaElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLMetaElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLMetaElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"name\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set name(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set name' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'name' property on 'HTMLMetaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"name\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get httpEquiv() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get httpEquiv' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"http-equiv\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set httpEquiv(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set httpEquiv' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'httpEquiv' property on 'HTMLMetaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"http-equiv\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get content() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get content' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"content\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set content(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set content' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'content' property on 'HTMLMetaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"content\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get scheme() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get scheme' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"scheme\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set scheme(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set scheme' called on an object that is not a valid instance of HTMLMetaElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'scheme' property on 'HTMLMetaElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"scheme\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLMetaElement.prototype, {\n name: { enumerable: true },\n httpEquiv: { enumerable: true },\n content: { enumerable: true },\n scheme: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLMetaElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLMetaElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLMetaElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLMetaElement-impl.js\");\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLHeadElementImpl extends HTMLElementImpl { }\n\nmodule.exports = {\n implementation: HTMLHeadElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (typeof value !== \"function\") {\n throw new globalObject.TypeError(context + \" is not a function\");\n }\n\n function invokeTheCallbackFunction(...args) {\n const thisArg = utils.tryWrapperForImpl(this);\n let callResult;\n\n for (let i = 0; i < args.length; i++) {\n args[i] = utils.tryWrapperForImpl(args[i]);\n }\n\n callResult = Reflect.apply(value, thisArg, args);\n\n callResult = conversions[\"any\"](callResult, { context: context, globals: globalObject });\n\n return callResult;\n }\n\n invokeTheCallbackFunction.construct = (...args) => {\n for (let i = 0; i < args.length; i++) {\n args[i] = utils.tryWrapperForImpl(args[i]);\n }\n\n let callResult = Reflect.construct(value, args);\n\n callResult = conversions[\"any\"](callResult, { context: context, globals: globalObject });\n\n return callResult;\n };\n\n invokeTheCallbackFunction[utils.wrapperSymbol] = value;\n invokeTheCallbackFunction.objectReference = value;\n\n return invokeTheCallbackFunction;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"SVGRect\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGRect'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGRect\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGRect {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get x() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get x' called on an object that is not a valid instance of SVGRect.\");\n }\n\n return esValue[implSymbol][\"x\"];\n }\n\n set x(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set x' called on an object that is not a valid instance of SVGRect.\");\n }\n\n V = conversions[\"float\"](V, {\n context: \"Failed to set the 'x' property on 'SVGRect': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"x\"] = V;\n }\n\n get y() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get y' called on an object that is not a valid instance of SVGRect.\");\n }\n\n return esValue[implSymbol][\"y\"];\n }\n\n set y(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set y' called on an object that is not a valid instance of SVGRect.\");\n }\n\n V = conversions[\"float\"](V, {\n context: \"Failed to set the 'y' property on 'SVGRect': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"y\"] = V;\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get width' called on an object that is not a valid instance of SVGRect.\");\n }\n\n return esValue[implSymbol][\"width\"];\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set width' called on an object that is not a valid instance of SVGRect.\");\n }\n\n V = conversions[\"float\"](V, {\n context: \"Failed to set the 'width' property on 'SVGRect': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"width\"] = V;\n }\n\n get height() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get height' called on an object that is not a valid instance of SVGRect.\");\n }\n\n return esValue[implSymbol][\"height\"];\n }\n\n set height(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set height' called on an object that is not a valid instance of SVGRect.\");\n }\n\n V = conversions[\"float\"](V, {\n context: \"Failed to set the 'height' property on 'SVGRect': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"height\"] = V;\n }\n }\n Object.defineProperties(SVGRect.prototype, {\n x: { enumerable: true },\n y: { enumerable: true },\n width: { enumerable: true },\n height: { enumerable: true },\n [Symbol.toStringTag]: { value: \"SVGRect\", configurable: true }\n });\n ctorRegistry[interfaceName] = SVGRect;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGRect\n });\n};\n\nconst Impl = require(\"../svg/SVGRect-impl.js\");\n","\"use strict\";\n\nexports.implementation = class ValidityStateImpl {\n constructor(globalObject, args, privateData) {\n const { element, state = {} } = privateData;\n\n this._element = element;\n this._state = state;\n }\n\n get badInput() {\n return this._failsConstraint(\"badInput\");\n }\n\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#suffering-from-a-custom-error\n get customError() {\n return this._element._customValidityErrorMessage !== \"\";\n }\n\n get patternMismatch() {\n return this._failsConstraint(\"patternMismatch\");\n }\n\n get rangeOverflow() {\n return this._failsConstraint(\"rangeOverflow\");\n }\n\n get rangeUnderflow() {\n return this._failsConstraint(\"rangeUnderflow\");\n }\n\n get stepMismatch() {\n return this._failsConstraint(\"stepMismatch\");\n }\n\n get tooLong() {\n return this._failsConstraint(\"tooLong\");\n }\n\n get tooShort() {\n return this._failsConstraint(\"tooShort\");\n }\n\n get typeMismatch() {\n return this._failsConstraint(\"typeMismatch\");\n }\n\n get valueMissing() {\n return this._failsConstraint(\"valueMissing\");\n }\n\n _failsConstraint(method) {\n const validationMethod = this._state[method];\n if (validationMethod) {\n return validationMethod();\n }\n\n return false;\n }\n\n get valid() {\n return !(this.badInput || this.valueMissing || this.customError ||\n this.patternMismatch || this.rangeOverflow || this.rangeUnderflow ||\n this.stepMismatch || this.tooLong || this.tooShort || this.typeMismatch);\n }\n};\n","\"use strict\";\nconst DOMException = require(\"../generated/DOMException\");\nconst idlUtils = require(\"../generated/utils\");\nconst { closest } = require(\"../helpers/traversal\");\nconst { isDisabled, isButton, isSubmitButton } = require(\"../helpers/form-controls\");\nconst Blob = require(\"../generated/Blob.js\");\nconst File = require(\"../generated/File.js\");\nconst conversions = require(\"webidl-conversions\");\n\nexports.implementation = class FormDataImpl {\n constructor(globalObject, args) {\n this._globalObject = globalObject;\n this._entries = [];\n\n if (args[0] !== undefined) {\n const [form, submitter = null] = args;\n if (submitter !== null) {\n if (!isSubmitButton(submitter)) {\n throw new TypeError(\"The specified element is not a submit button\");\n }\n if (submitter.form !== form) {\n throw DOMException.create(this._globalObject, [\n \"The specified element is not owned by this form element\",\n \"NotFoundError\"\n ]);\n }\n }\n this._entries = constructTheEntryList(form, submitter);\n }\n }\n\n append(name, value, filename) {\n const entry = createAnEntry(name, value, filename);\n this._entries.push(entry);\n }\n\n delete(name) {\n this._entries = this._entries.filter(entry => entry.name !== name);\n }\n\n get(name) {\n const foundEntry = this._entries.find(entry => entry.name === name);\n return foundEntry !== undefined ? idlUtils.tryWrapperForImpl(foundEntry.value) : null;\n }\n\n getAll(name) {\n return this._entries.filter(entry => entry.name === name).map(entry => idlUtils.tryWrapperForImpl(entry.value));\n }\n\n has(name) {\n return this._entries.findIndex(entry => entry.name === name) !== -1;\n }\n\n set(name, value, filename) {\n const entry = createAnEntry(name, value, filename);\n\n const foundIndex = this._entries.findIndex(e => e.name === name);\n if (foundIndex !== -1) {\n this._entries[foundIndex] = entry;\n this._entries = this._entries.filter((e, i) => e.name !== name || i === foundIndex);\n } else {\n this._entries.push(entry);\n }\n }\n\n * [Symbol.iterator]() {\n for (const entry of this._entries) {\n yield [entry.name, idlUtils.tryWrapperForImpl(entry.value)];\n }\n }\n};\n\nfunction createAnEntry(name, value, filename) {\n const entry = { name };\n\n // https://github.com/whatwg/xhr/issues/75\n\n if (Blob.isImpl(value) && !File.isImpl(value)) {\n const oldValue = value;\n value = File.createImpl(value._globalObject, [\n [],\n \"blob\",\n { type: oldValue.type }\n ]);\n // \"representing the same bytes\"\n value._buffer = oldValue._buffer;\n }\n\n if (File.isImpl(value) && filename !== undefined) {\n const oldValue = value;\n value = File.createImpl(value._globalObject, [\n [],\n filename,\n // spec makes no mention of `lastModified`; assume it is inherited\n // (Chrome's behavior)\n { type: oldValue.type, lastModified: oldValue.lastModified }\n ]);\n // \"representing the same bytes\"\n value._buffer = oldValue._buffer;\n }\n\n entry.value = value;\n\n return entry;\n}\n\nfunction constructTheEntryList(form, submitter) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-the-form-data-set\n // TODO: handle encoding\n // TODO: handling \"constructing entry list\"\n\n const controls = form._getSubmittableElementNodes();\n const entryList = [];\n\n for (const field of controls) {\n if (closest(field, \"datalist\") !== null) {\n continue;\n }\n if (isDisabled(field)) {\n continue;\n }\n if (isButton(field) && field !== submitter) {\n continue;\n }\n if (field.type === \"checkbox\" && field._checkedness === false) {\n continue;\n }\n if (field.type === \"radio\" && field._checkedness === false) {\n continue;\n }\n if (field.localName === \"object\") { // in jsdom, no objects are \"using a plugin\"\n continue;\n }\n\n const name = field.getAttributeNS(null, \"name\");\n if (field.localName === \"input\" && field.type === \"image\") {\n const prefix = name ? `${name}.` : \"\";\n const coordinate = field._selectedCoordinate ?? { x: 0, y: 0 };\n appendAnEntry(entryList, `${prefix}x`, coordinate.x);\n appendAnEntry(entryList, `${prefix}y`, coordinate.y);\n continue;\n }\n\n // TODO: handle form-associated custom elements.\n\n if (name === null || name === \"\") {\n continue;\n }\n\n if (field.localName === \"select\") {\n for (const option of field.options) {\n if (option._selectedness === true && !isDisabled(field)) {\n appendAnEntry(entryList, name, option._getValue());\n }\n }\n } else if (field.localName === \"input\" && (field.type === \"checkbox\" || field.type === \"radio\")) {\n const value = field.hasAttributeNS(null, \"value\") ? field.getAttributeNS(null, \"value\") : \"on\";\n appendAnEntry(entryList, name, value);\n } else if (field.type === \"file\") {\n if (field.files.length === 0) {\n const value = File.createImpl(form._globalObject, [[], \"\", { type: \"application/octet-stream\" }]);\n appendAnEntry(entryList, name, value);\n } else {\n for (let i = 0; i < field.files.length; ++i) {\n appendAnEntry(entryList, name, field.files.item(i));\n }\n }\n } else {\n appendAnEntry(entryList, name, field._getValue());\n }\n\n const dirname = field.getAttributeNS(null, \"dirname\");\n if (dirname !== null && dirname !== \"\") {\n const dir = \"ltr\"; // jsdom does not (yet?) implement actual directionality\n appendAnEntry(entryList, dirname, dir);\n }\n }\n\n // TODO: formdata event\n\n return entryList;\n}\n\nfunction appendAnEntry(entryList, name, value) {\n name = conversions.USVString(name);\n if (!File.isImpl(value)) {\n value = conversions.USVString(value);\n }\n const entry = createAnEntry(name, value);\n entryList.push(entry);\n}\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst parseNonNegativeInteger_helpers_strings = require(\"../helpers/strings.js\").parseNonNegativeInteger;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTableCellElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTableCellElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTableCellElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTableCellElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get colSpan() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get colSpan' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"colspan\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null) {\n if (value < 1) {\n return 1;\n } else if (value >= 1 && value <= 1000) {\n return value;\n } else {\n return 1000;\n }\n }\n }\n return 1;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set colSpan(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set colSpan' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'colSpan' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 1;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"colspan\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get rowSpan() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get rowSpan' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"rowspan\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null) {\n if (value < 0) {\n return 0;\n } else if (value >= 0 && value <= 65534) {\n return value;\n } else {\n return 65534;\n }\n }\n }\n return 1;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set rowSpan(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set rowSpan' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'rowSpan' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const newValue = V <= 2147483647 && V >= 0 ? V : 1;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"rowspan\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get headers() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get headers' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"headers\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set headers(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set headers' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'headers' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"headers\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get cellIndex() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get cellIndex' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n return esValue[implSymbol][\"cellIndex\"];\n }\n\n get scope() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get scope' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"scope\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set scope(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set scope' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'scope' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"scope\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get abbr() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get abbr' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"abbr\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set abbr(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set abbr' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'abbr' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"abbr\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get axis() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get axis' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"axis\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set axis(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set axis' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'axis' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"axis\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get height() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get height' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"height\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set height(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set height' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'height' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"height\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get width' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"width\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set width' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'width' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"width\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get ch() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ch' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"char\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set ch(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ch' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'ch' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"char\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get chOff() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get chOff' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"charoff\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set chOff(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set chOff' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'chOff' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"charoff\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get noWrap() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get noWrap' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"nowrap\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set noWrap(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set noWrap' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'noWrap' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"nowrap\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"nowrap\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get vAlign() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vAlign' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"valign\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set vAlign(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set vAlign' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'vAlign' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"valign\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get bgColor() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get bgColor' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"bgcolor\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set bgColor(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set bgColor' called on an object that is not a valid instance of HTMLTableCellElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'bgColor' property on 'HTMLTableCellElement': The provided value\",\n globals: globalObject,\n treatNullAsEmptyString: true\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"bgcolor\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLTableCellElement.prototype, {\n colSpan: { enumerable: true },\n rowSpan: { enumerable: true },\n headers: { enumerable: true },\n cellIndex: { enumerable: true },\n scope: { enumerable: true },\n abbr: { enumerable: true },\n align: { enumerable: true },\n axis: { enumerable: true },\n height: { enumerable: true },\n width: { enumerable: true },\n ch: { enumerable: true },\n chOff: { enumerable: true },\n noWrap: { enumerable: true },\n vAlign: { enumerable: true },\n bgColor: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTableCellElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTableCellElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTableCellElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTableCellElement-impl.js\");\n","\"use strict\";\nconst { isASCIIHex } = require(\"./infra\");\nconst { utf8Encode } = require(\"./encoding\");\n\nfunction p(char) {\n return char.codePointAt(0);\n}\n\n// https://url.spec.whatwg.org/#percent-encode\nfunction percentEncode(c) {\n let hex = c.toString(16).toUpperCase();\n if (hex.length === 1) {\n hex = `0${hex}`;\n }\n\n return `%${hex}`;\n}\n\n// https://url.spec.whatwg.org/#percent-decode\nfunction percentDecodeBytes(input) {\n const output = new Uint8Array(input.byteLength);\n let outputIndex = 0;\n for (let i = 0; i < input.byteLength; ++i) {\n const byte = input[i];\n if (byte !== 0x25) {\n output[outputIndex++] = byte;\n } else if (byte === 0x25 && (!isASCIIHex(input[i + 1]) || !isASCIIHex(input[i + 2]))) {\n output[outputIndex++] = byte;\n } else {\n const bytePoint = parseInt(String.fromCodePoint(input[i + 1], input[i + 2]), 16);\n output[outputIndex++] = bytePoint;\n i += 2;\n }\n }\n\n return output.slice(0, outputIndex);\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\nfunction percentDecodeString(input) {\n const bytes = utf8Encode(input);\n return percentDecodeBytes(bytes);\n}\n\n// https://url.spec.whatwg.org/#c0-control-percent-encode-set\nfunction isC0ControlPercentEncode(c) {\n return c <= 0x1F || c > 0x7E;\n}\n\n// https://url.spec.whatwg.org/#fragment-percent-encode-set\nconst extraFragmentPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"<\"), p(\">\"), p(\"`\")]);\nfunction isFragmentPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraFragmentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#query-percent-encode-set\nconst extraQueryPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"#\"), p(\"<\"), p(\">\")]);\nfunction isQueryPercentEncode(c) {\n return isC0ControlPercentEncode(c) || extraQueryPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#special-query-percent-encode-set\nfunction isSpecialQueryPercentEncode(c) {\n return isQueryPercentEncode(c) || c === p(\"'\");\n}\n\n// https://url.spec.whatwg.org/#path-percent-encode-set\nconst extraPathPercentEncodeSet = new Set([p(\"?\"), p(\"`\"), p(\"{\"), p(\"}\"), p(\"^\")]);\nfunction isPathPercentEncode(c) {\n return isQueryPercentEncode(c) || extraPathPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#userinfo-percent-encode-set\nconst extraUserinfoPercentEncodeSet =\n new Set([p(\"/\"), p(\":\"), p(\";\"), p(\"=\"), p(\"@\"), p(\"[\"), p(\"\\\\\"), p(\"]\"), p(\"|\")]);\nfunction isUserinfoPercentEncode(c) {\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#component-percent-encode-set\nconst extraComponentPercentEncodeSet = new Set([p(\"$\"), p(\"%\"), p(\"&\"), p(\"+\"), p(\",\")]);\nfunction isComponentPercentEncode(c) {\n return isUserinfoPercentEncode(c) || extraComponentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set\nconst extraURLEncodedPercentEncodeSet = new Set([p(\"!\"), p(\"'\"), p(\"(\"), p(\")\"), p(\"~\")]);\nfunction isURLEncodedPercentEncode(c) {\n return isComponentPercentEncode(c) || extraURLEncodedPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#code-point-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#utf-8-percent-encode\n// Assuming encoding is always utf-8 allows us to trim one of the logic branches. TODO: support encoding.\n// The \"-Internal\" variant here has code points as JS strings. The external version used by other files has code points\n// as JS numbers, like the rest of the codebase.\nfunction utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate) {\n const bytes = utf8Encode(codePoint);\n let output = \"\";\n for (const byte of bytes) {\n // Our percentEncodePredicate operates on bytes, not code points, so this is slightly different from the spec.\n if (!percentEncodePredicate(byte)) {\n output += String.fromCharCode(byte);\n } else {\n output += percentEncode(byte);\n }\n }\n\n return output;\n}\n\nfunction utf8PercentEncodeCodePoint(codePoint, percentEncodePredicate) {\n return utf8PercentEncodeCodePointInternal(String.fromCodePoint(codePoint), percentEncodePredicate);\n}\n\n// https://url.spec.whatwg.org/#string-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#string-utf-8-percent-encode\nfunction utf8PercentEncodeString(input, percentEncodePredicate, spaceAsPlus = false) {\n let output = \"\";\n for (const codePoint of input) {\n if (spaceAsPlus && codePoint === \" \") {\n output += \"+\";\n } else {\n output += utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate);\n }\n }\n return output;\n}\n\nmodule.exports = {\n isC0ControlPercentEncode,\n isFragmentPercentEncode,\n isQueryPercentEncode,\n isSpecialQueryPercentEncode,\n isPathPercentEncode,\n isUserinfoPercentEncode,\n isURLEncodedPercentEncode,\n percentDecodeString,\n percentDecodeBytes,\n utf8PercentEncodeString,\n utf8PercentEncodeCodePoint\n};\n","\"use strict\";\nconst http = require(\"http\");\nconst https = require(\"https\");\nconst { HttpProxyAgent } = require(\"http-proxy-agent\");\nconst { HttpsProxyAgent } = require(\"https-proxy-agent\");\n\nmodule.exports = function agentFactory(proxy, rejectUnauthorized) {\n const agentOpts = { keepAlive: true, rejectUnauthorized };\n if (proxy) {\n return { https: new HttpsProxyAgent(proxy, agentOpts), http: new HttpProxyAgent(proxy, agentOpts) };\n }\n return { http: new http.Agent(agentOpts), https: new https.Agent(agentOpts) };\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst EventInit = require(\"./EventInit.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n EventInit._convertInherit(globalObject, obj, ret, { context });\n\n {\n const key = \"data\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"any\"](value, { context: context + \" has member 'data' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = null;\n }\n }\n\n {\n const key = \"lastEventId\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"DOMString\"](value, {\n context: context + \" has member 'lastEventId' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = \"\";\n }\n }\n\n {\n const key = \"origin\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"USVString\"](value, {\n context: context + \" has member 'origin' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = \"\";\n }\n }\n\n {\n const key = \"ports\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n if (!utils.isObject(value)) {\n throw new globalObject.TypeError(context + \" has member 'ports' that\" + \" is not an iterable object.\");\n } else {\n const V = [];\n const tmp = value;\n for (let nextItem of tmp) {\n nextItem = utils.tryImplForWrapper(nextItem);\n\n V.push(nextItem);\n }\n value = V;\n }\n\n ret[key] = value;\n } else {\n ret[key] = [];\n }\n }\n\n {\n const key = \"source\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n if (value === null || value === undefined) {\n value = null;\n } else {\n value = utils.tryImplForWrapper(value);\n }\n ret[key] = value;\n } else {\n ret[key] = null;\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLQuoteElementImpl extends HTMLElementImpl {}\n\nmodule.exports = {\n implementation: HTMLQuoteElementImpl\n};\n","\"use strict\";\nconst DOMRectReadOnly = require(\"../generated/DOMRectReadOnly\");\n\nclass DOMRectReadOnlyImpl {\n constructor(globalObject, [x = 0, y = 0, width = 0, height = 0]) {\n this._globalObject = globalObject;\n this._x = x;\n this._y = y;\n this._width = width;\n this._height = height;\n }\n\n static fromRect(globalObject, other) {\n return DOMRectReadOnly.createImpl(globalObject, [other.x, other.y, other.width, other.height]);\n }\n\n get x() {\n return this._x;\n }\n\n get y() {\n return this._y;\n }\n\n get width() {\n return this._width;\n }\n\n get height() {\n return this._height;\n }\n\n get top() {\n const { height, y } = this;\n // We use Math.min's built-in NaN handling: https://github.com/w3c/fxtf-drafts/issues/222\n return Math.min(y, y + height);\n }\n\n get right() {\n const { width, x } = this;\n // We use Math.max's built-in NaN handling: https://github.com/w3c/fxtf-drafts/issues/222\n return Math.max(x, x + width);\n }\n\n get bottom() {\n const { height, y } = this;\n // We use Math.max's built-in NaN handling: https://github.com/w3c/fxtf-drafts/issues/222\n return Math.max(y, y + height);\n }\n\n get left() {\n const { width, x } = this;\n // We use Math.min's built-in NaN handling: https://github.com/w3c/fxtf-drafts/issues/222\n return Math.min(x, x + width);\n }\n\n // Could be removed after https://github.com/jsdom/webidl2js/issues/185 gets fixed.\n toJSON() {\n return {\n x: this.x,\n y: this.y,\n width: this.width,\n height: this.height,\n top: this.top,\n right: this.right,\n bottom: this.bottom,\n left: this.left\n };\n }\n}\n\nexports.implementation = DOMRectReadOnlyImpl;\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst { childTextContent } = require(\"../helpers/text\");\n\nclass HTMLTitleElementImpl extends HTMLElementImpl {\n get text() {\n return childTextContent(this);\n }\n\n set text(value) {\n this.textContent = value;\n }\n}\n\nmodule.exports = {\n implementation: HTMLTitleElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLParamElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLParamElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLParamElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLParamElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"name\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set name(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set name' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'name' property on 'HTMLParamElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"name\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get value() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get value' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"value\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set value(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set value' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'value' property on 'HTMLParamElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"value\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get type' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"type\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set type(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set type' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'type' property on 'HTMLParamElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"type\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get valueType() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get valueType' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"valuetype\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set valueType(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set valueType' called on an object that is not a valid instance of HTMLParamElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'valueType' property on 'HTMLParamElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"valuetype\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLParamElement.prototype, {\n name: { enumerable: true },\n value: { enumerable: true },\n type: { enumerable: true },\n valueType: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLParamElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLParamElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLParamElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLParamElement-impl.js\");\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","\"use strict\";\n\n/**\n * Provides some utility functions for somewhat efficiently modifying a\n * collection of headers.\n *\n * Note that this class only operates on ByteStrings (which is also why we use\n * toLowerCase internally).\n */\nclass HeaderList {\n constructor() {\n this.headers = new Map();\n }\n\n append(name, value) {\n const existing = this.headers.get(name.toLowerCase());\n if (existing) {\n existing.push(value);\n } else {\n this.headers.set(name.toLowerCase(), [value]);\n }\n }\n\n contains(name) {\n return this.headers.has(name.toLowerCase());\n }\n\n get(name) {\n name = name.toLowerCase();\n const values = this.headers.get(name);\n if (!values) {\n return null;\n }\n return values;\n }\n\n delete(name) {\n this.headers.delete(name.toLowerCase());\n }\n\n set(name, value) {\n const lowerName = name.toLowerCase();\n this.headers.delete(lowerName);\n this.headers.set(lowerName, [value]);\n }\n\n sortAndCombine() {\n const names = [...this.headers.keys()].sort();\n\n const headers = [];\n for (const name of names) {\n if (name === \"set-cookie\") {\n for (const value of this.get(name)) {\n headers.push([name, value]);\n }\n } else {\n headers.push([name, this.get(name).join(\", \")]);\n }\n }\n\n return headers;\n }\n}\n\nmodule.exports = HeaderList;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst SupportedType = require(\"./SupportedType.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"DOMParser\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'DOMParser'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"DOMParser\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class DOMParser {\n constructor() {\n return exports.setup(Object.create(new.target.prototype), globalObject, undefined);\n }\n\n parseFromString(str, type) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'parseFromString' called on an object that is not a valid instance of DOMParser.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'parseFromString' on 'DOMParser': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'parseFromString' on 'DOMParser': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = SupportedType.convert(globalObject, curArg, {\n context: \"Failed to execute 'parseFromString' on 'DOMParser': parameter 2\"\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].parseFromString(...args));\n }\n }\n Object.defineProperties(DOMParser.prototype, {\n parseFromString: { enumerable: true },\n [Symbol.toStringTag]: { value: \"DOMParser\", configurable: true }\n });\n ctorRegistry[interfaceName] = DOMParser;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: DOMParser\n });\n};\n\nconst Impl = require(\"../domparsing/DOMParser-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTimeElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTimeElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTimeElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTimeElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get dateTime() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get dateTime' called on an object that is not a valid instance of HTMLTimeElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"datetime\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set dateTime(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set dateTime' called on an object that is not a valid instance of HTMLTimeElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'dateTime' property on 'HTMLTimeElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"datetime\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLTimeElement.prototype, {\n dateTime: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTimeElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTimeElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTimeElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTimeElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLPictureElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLPictureElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLPictureElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLPictureElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n }\n Object.defineProperties(HTMLPictureElement.prototype, {\n [Symbol.toStringTag]: { value: \"HTMLPictureElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLPictureElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLPictureElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLPictureElement-impl.js\");\n","\"use strict\";\n\nconst NodeListImpl = require(\"./NodeList-impl\").implementation;\n\nclass RadioNodeListImpl extends NodeListImpl {\n // https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-radionodelist-value\n // Note in general the spec says to manipulate/consult checkedness, but we use `checked` instead\n // because the spec isn't very good here: https://github.com/whatwg/html/issues/7612.\n\n get value() {\n this._update();\n\n const element = this._list.find(e => e._localName === \"input\" && e.type === \"radio\" && e.checked);\n if (element === undefined) {\n return \"\";\n }\n\n if (!element.hasAttributeNS(null, \"value\")) {\n return \"on\";\n }\n\n return element.getAttributeNS(null, \"value\");\n }\n\n set value(value) {\n let element;\n if (value === \"on\") {\n element = this._list.find(\n e => e._localName === \"input\" &&\n e.type === \"radio\" &&\n (!e.hasAttributeNS(null, \"value\") || e.getAttributeNS(null, \"value\") === value)\n );\n } else {\n element = this._list.find(\n e => e._localName === \"input\" &&\n e.type === \"radio\" &&\n (e.hasAttributeNS(null, \"value\") && e.getAttributeNS(null, \"value\") === value)\n );\n }\n\n if (element) {\n element.checked = true;\n }\n }\n}\n\nmodule.exports = {\n implementation: RadioNodeListImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLHRElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLHRElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLHRElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLHRElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLHRElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get color() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get color' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"color\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set color(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set color' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'color' property on 'HTMLHRElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"color\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get noShade() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get noShade' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"noshade\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set noShade(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set noShade' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'noShade' property on 'HTMLHRElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"noshade\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"noshade\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get size() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get size' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"size\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set size(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set size' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'size' property on 'HTMLHRElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"size\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get width' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"width\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set width' called on an object that is not a valid instance of HTMLHRElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'width' property on 'HTMLHRElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"width\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLHRElement.prototype, {\n align: { enumerable: true },\n color: { enumerable: true },\n noShade: { enumerable: true },\n size: { enumerable: true },\n width: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLHRElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLHRElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLHRElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLHRElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst CloseEventInit = require(\"./CloseEventInit.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst Event = require(\"./Event.js\");\n\nconst interfaceName = \"CloseEvent\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'CloseEvent'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"CloseEvent\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Event._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class CloseEvent extends globalObject.Event {\n constructor(type) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'CloseEvent': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'CloseEvent': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = CloseEventInit.convert(globalObject, curArg, {\n context: \"Failed to construct 'CloseEvent': parameter 2\"\n });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n get wasClean() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get wasClean' called on an object that is not a valid instance of CloseEvent.\"\n );\n }\n\n return esValue[implSymbol][\"wasClean\"];\n }\n\n get code() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get code' called on an object that is not a valid instance of CloseEvent.\");\n }\n\n return esValue[implSymbol][\"code\"];\n }\n\n get reason() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get reason' called on an object that is not a valid instance of CloseEvent.\"\n );\n }\n\n return esValue[implSymbol][\"reason\"];\n }\n }\n Object.defineProperties(CloseEvent.prototype, {\n wasClean: { enumerable: true },\n code: { enumerable: true },\n reason: { enumerable: true },\n [Symbol.toStringTag]: { value: \"CloseEvent\", configurable: true }\n });\n ctorRegistry[interfaceName] = CloseEvent;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: CloseEvent\n });\n};\n\nconst Impl = require(\"../events/CloseEvent-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"HTMLCollection\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLCollection'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLCollection\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLCollection {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n item(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'item' called on an object that is not a valid instance of HTMLCollection.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'item' on 'HTMLCollection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'item' on 'HTMLCollection': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].item(...args));\n }\n\n namedItem(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'namedItem' called on an object that is not a valid instance of HTMLCollection.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'namedItem' on 'HTMLCollection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'namedItem' on 'HTMLCollection': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].namedItem(...args));\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get length' called on an object that is not a valid instance of HTMLCollection.\"\n );\n }\n\n return esValue[implSymbol][\"length\"];\n }\n }\n Object.defineProperties(HTMLCollection.prototype, {\n item: { enumerable: true },\n namedItem: { enumerable: true },\n length: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLCollection\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = HTMLCollection;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLCollection\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of target[implSymbol][utils.supportedPropertyNames]) {\n if (!(key in target)) {\n keys.add(`${key}`);\n }\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n const namedValue = target[implSymbol].namedItem(P);\n\n if (namedValue !== null && !(P in target) && !ignoreNamedProps) {\n return {\n writable: false,\n enumerable: false,\n configurable: true,\n value: utils.tryWrapperForImpl(namedValue)\n };\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n if (!utils.hasOwn(target, P)) {\n const creating = !(target[implSymbol].namedItem(P) !== null);\n if (!creating) {\n return false;\n }\n }\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !(target[implSymbol].item(index) !== null);\n }\n\n if (target[implSymbol].namedItem(P) !== null && !(P in target)) {\n return false;\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../nodes/HTMLCollection-impl.js\");\n","\"use strict\";\n\nconst DOMException = require(\"../generated/DOMException\");\n\nconst alignmentStringsByIndex = [\n \"unknown\", \"none\",\n \"xMinYMin\", \"xMidYMin\", \"xMaxYMin\",\n \"xMinYMid\", \"xMidYMid\", \"xMaxYMid\",\n \"xMinYMax\", \"xMidYMax\", \"xMaxYMax\"\n];\nconst alignmentIndicesByString = {\n __proto__: null,\n unknown: 0,\n none: 1,\n xMinYMin: 2,\n xMidYMin: 3,\n xMaxYMin: 4,\n xMinYMid: 5,\n xMidYMid: 6,\n xMaxYMid: 7,\n xMinYMax: 8,\n xMidYMax: 9,\n xMaxYMax: 10\n};\n\nconst meetOrSliceStringsByIndex = [\"unknown\", \"meet\", \"slice\"];\nconst meetOrSliceIndicesByString = {\n __proto__: null,\n unknown: 0,\n meet: 1,\n slice: 2\n};\n\n// https://svgwg.org/svg2-draft/coords.html#PreserveAspectRatioAttribute\nconst preserveAspectRatioRegExp = /^(none|x(?:Min|Mid|Max)Y(?:Min|Mid|Max))(?: +(meet|slice))?$/;\n\nclass SVGPreserveAspectRatioImpl {\n constructor(globalObject, args, privateData) {\n this._globalObject = globalObject;\n this._element = privateData.element;\n this._readOnly = Boolean(privateData.readOnly);\n }\n\n _parse() {\n const attrValue = this._element.getAttributeNS(null, \"preserveAspectRatio\");\n if (attrValue) {\n const value = preserveAspectRatioRegExp.exec(attrValue);\n if (value) {\n return {\n align: value[1],\n meetOrSlice: value[2] || \"meet\"\n };\n }\n }\n return {\n align: \"xMidYMid\",\n meetOrSlice: \"meet\"\n };\n }\n\n get align() {\n const { align } = this._parse();\n return alignmentIndicesByString[align];\n }\n\n set align(value) {\n if (this._readOnly) {\n throw DOMException.create(this._globalObject, [\n \"Attempting to modify a read-only SVGPreserveAspectRatio\",\n \"NoModificationAllowedError\"\n ]);\n }\n const string = alignmentStringsByIndex[value];\n if (string === \"unknown\" || string === undefined) {\n throw new TypeError(\"Invalid alignment\");\n }\n this._element.setAttributeNS(null, \"preserveAspectRatio\", `${string} ${this._parse().meetOrSlice}`);\n }\n\n get meetOrSlice() {\n const { meetOrSlice } = this._parse();\n return meetOrSliceIndicesByString[meetOrSlice];\n }\n\n set meetOrSlice(value) {\n if (this._readOnly) {\n throw DOMException.create(this._globalObject, [\n \"Attempting to modify a read-only SVGPreserveAspectRatio\",\n \"NoModificationAllowedError\"\n ]);\n }\n const string = meetOrSliceStringsByIndex[value];\n if (string === \"unknown\" || string === undefined) {\n throw new TypeError(\"Invalid meet-or-slice value\");\n }\n this._element.setAttributeNS(null, \"preserveAspectRatio\", `${this._parse().align} ${string}`);\n }\n}\n\nexports.implementation = SVGPreserveAspectRatioImpl;\n","\"use strict\";\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst { formOwner } = require(\"../helpers/form-controls\");\nconst { HTML_NS } = require(\"../helpers/namespaces\");\n\nclass HTMLLegendElementImpl extends HTMLElementImpl {\n get form() {\n const parent = this.parentNode;\n if (parent && parent._localName === \"fieldset\" && parent.namespaceURI === HTML_NS) {\n return formOwner(parent);\n }\n return null;\n }\n}\n\nmodule.exports = {\n implementation: HTMLLegendElementImpl\n};\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","\"use strict\";\n\nconst { mixin } = require(\"../../utils\");\nconst SVGListBase = require(\"./SVGListBase\");\n\nclass SVGStringListImpl {\n constructor(globalObject, args, privateData) {\n this._globalObject = globalObject;\n\n this._initList(privateData);\n }\n}\n\nmixin(SVGStringListImpl.prototype, SVGListBase.prototype);\n\nexports.implementation = SVGStringListImpl;\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","\"use strict\";\n\nconst EventImpl = require(\"./Event-impl\").implementation;\n\nconst CustomEventInit = require(\"../generated/CustomEventInit\");\n\nclass CustomEventImpl extends EventImpl {\n initCustomEvent(type, bubbles, cancelable, detail) {\n if (this._dispatchFlag) {\n return;\n }\n\n this.initEvent(type, bubbles, cancelable);\n this.detail = detail;\n }\n}\nCustomEventImpl.defaultInit = CustomEventInit.convert(undefined, undefined);\n\nmodule.exports = {\n implementation: CustomEventImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"AbortController\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'AbortController'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"AbortController\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class AbortController {\n constructor() {\n return exports.setup(Object.create(new.target.prototype), globalObject, undefined);\n }\n\n abort() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'abort' called on an object that is not a valid instance of AbortController.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"any\"](curArg, {\n context: \"Failed to execute 'abort' on 'AbortController': parameter 1\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].abort(...args);\n }\n\n get signal() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get signal' called on an object that is not a valid instance of AbortController.\"\n );\n }\n\n return utils.getSameObject(this, \"signal\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"signal\"]);\n });\n }\n }\n Object.defineProperties(AbortController.prototype, {\n abort: { enumerable: true },\n signal: { enumerable: true },\n [Symbol.toStringTag]: { value: \"AbortController\", configurable: true }\n });\n ctorRegistry[interfaceName] = AbortController;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: AbortController\n });\n};\n\nconst Impl = require(\"../aborting/AbortController-impl.js\");\n","//.CommonJS\nvar CSSOM = {\n CSSRule: require(\"./CSSRule\").CSSRule,\n CSSGroupingRule: require(\"./CSSGroupingRule\").CSSGroupingRule,\n CSSConditionRule: require(\"./CSSConditionRule\").CSSConditionRule\n};\n///CommonJS\n\n\n/**\n * @constructor\n * @see https://drafts.csswg.org/css-conditional-3/#the-csssupportsrule-interface\n */\nCSSOM.CSSSupportsRule = function CSSSupportsRule() {\n CSSOM.CSSConditionRule.call(this);\n};\n\nCSSOM.CSSSupportsRule.prototype = new CSSOM.CSSConditionRule();\nCSSOM.CSSSupportsRule.prototype.constructor = CSSOM.CSSSupportsRule;\nCSSOM.CSSSupportsRule.prototype.type = 12;\n\nObject.defineProperty(CSSOM.CSSSupportsRule.prototype, \"cssText\", {\n get: function() {\n var cssTexts = [];\n\n for (var i = 0, length = this.cssRules.length; i < length; i++) {\n cssTexts.push(this.cssRules[i].cssText);\n }\n\n return \"@supports \" + this.conditionText + \" {\" + cssTexts.join(\"\") + \"}\";\n }\n});\n\n//.CommonJS\nexports.CSSSupportsRule = CSSOM.CSSSupportsRule;\n///CommonJS\n","\"use strict\";\nconst Blob = require(\"../generated/Blob\");\nconst { isArrayBuffer } = require(\"../generated/utils\");\n\nfunction convertLineEndingsToNative(s) {\n // jsdom always pretends to be *nix, for consistency.\n // See also https://github.com/jsdom/jsdom/issues/2396.\n return s.replace(/\\r\\n|\\r|\\n/g, \"\\n\");\n}\n\nexports.implementation = class BlobImpl {\n constructor(globalObject, args) {\n const parts = args[0];\n const properties = args[1];\n\n const buffers = [];\n\n if (parts !== undefined) {\n for (const part of parts) {\n let buffer;\n if (isArrayBuffer(part)) {\n buffer = Buffer.from(part);\n } else if (ArrayBuffer.isView(part)) {\n buffer = Buffer.from(part.buffer, part.byteOffset, part.byteLength);\n } else if (Blob.isImpl(part)) {\n buffer = part._buffer;\n } else {\n let s = part;\n if (properties.endings === \"native\") {\n s = convertLineEndingsToNative(part);\n }\n buffer = Buffer.from(s);\n }\n buffers.push(buffer);\n }\n }\n\n this._buffer = Buffer.concat(buffers);\n this._globalObject = globalObject;\n\n this.type = properties.type;\n if (/[^\\u0020-\\u007E]/.test(this.type)) {\n this.type = \"\";\n } else {\n this.type = this.type.toLowerCase();\n }\n }\n\n get size() {\n return this._buffer.length;\n }\n\n slice(start, end, contentType) {\n const { size } = this;\n\n let relativeStart, relativeEnd, relativeContentType;\n\n if (start === undefined) {\n relativeStart = 0;\n } else if (start < 0) {\n relativeStart = Math.max(size + start, 0);\n } else {\n relativeStart = Math.min(start, size);\n }\n if (end === undefined) {\n relativeEnd = size;\n } else if (end < 0) {\n relativeEnd = Math.max(size + end, 0);\n } else {\n relativeEnd = Math.min(end, size);\n }\n\n if (contentType === undefined) {\n relativeContentType = \"\";\n } else {\n // sanitization (lower case and invalid char check) is done in the\n // constructor\n relativeContentType = contentType;\n }\n\n const span = Math.max(relativeEnd - relativeStart, 0);\n\n const buffer = this._buffer;\n const slicedBuffer = buffer.slice(\n relativeStart,\n relativeStart + span\n );\n\n const blob = Blob.createImpl(this._globalObject, [[], { type: relativeContentType }], {});\n blob._buffer = slicedBuffer;\n return blob;\n }\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst serializeURLwhatwg_url = require(\"whatwg-url\").serializeURL;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLScriptElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLScriptElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLScriptElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLScriptElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get src() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get src' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"src\");\n if (value === null) {\n return \"\";\n }\n\n if (this._srcURLCacheKey === value) {\n return this._srcURLCache;\n }\n\n this._srcURLCacheKey = value;\n\n const urlRecord = esValue[implSymbol]._ownerDocument.encodingParseAURL(value);\n if (urlRecord !== null) {\n this._srcURLCache = serializeURLwhatwg_url(urlRecord);\n return this._srcURLCache;\n }\n this._srcURLCache = conversions.USVString(value);\n return this._srcURLCache;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set src(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set src' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'src' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"src\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get type' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"type\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set type(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set type' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'type' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"type\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get defer() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get defer' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"defer\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set defer(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set defer' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'defer' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"defer\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"defer\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get crossOrigin() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get crossOrigin' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"crossorigin\");\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set crossOrigin(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set crossOrigin' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'crossOrigin' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V === null) {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"crossorigin\");\n } else {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"crossorigin\", V);\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get text() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get text' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"text\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set text(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set text' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'text' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"text\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get charset() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get charset' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"charset\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set charset(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set charset' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'charset' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"charset\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get event() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get event' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"event\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set event(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set event' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'event' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"event\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get htmlFor() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get htmlFor' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"for\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set htmlFor(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set htmlFor' called on an object that is not a valid instance of HTMLScriptElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'htmlFor' property on 'HTMLScriptElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"for\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLScriptElement.prototype, {\n src: { enumerable: true },\n type: { enumerable: true },\n defer: { enumerable: true },\n crossOrigin: { enumerable: true },\n text: { enumerable: true },\n charset: { enumerable: true },\n event: { enumerable: true },\n htmlFor: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLScriptElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLScriptElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLScriptElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLScriptElement-impl.js\");\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","\"use strict\";\n\nconst { parseFragment } = require(\"../../browser/parser\");\nconst { HTML_NS } = require(\"../helpers/namespaces.js\");\nconst { isShadowRoot } = require(\"../helpers/shadow-dom.js\");\nconst NODE_TYPE = require(\"../node-type.js\");\nconst { fragmentSerialization } = require(\"./serialization.js\");\n\n// https://w3c.github.io/DOM-Parsing/#the-innerhtml-mixin\nexports.implementation = class InnerHTMLImpl {\n // https://w3c.github.io/DOM-Parsing/#dom-innerhtml-innerhtml\n get innerHTML() {\n return fragmentSerialization(this, {\n outer: false,\n requireWellFormed: true,\n globalObject: this._globalObject\n });\n }\n set innerHTML(markup) {\n const contextElement = isShadowRoot(this) ? this.host : this;\n const fragment = parseFragment(markup, contextElement);\n\n let contextObject = this;\n if (this.nodeType === NODE_TYPE.ELEMENT_NODE && this.localName === \"template\" && this.namespaceURI === HTML_NS) {\n contextObject = this._templateContents;\n }\n\n contextObject._replaceAll(fragment);\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst CharacterData = require(\"./CharacterData.js\");\n\nconst interfaceName = \"ProcessingInstruction\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'ProcessingInstruction'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"ProcessingInstruction\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n CharacterData._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class ProcessingInstruction extends globalObject.CharacterData {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get target() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get target' called on an object that is not a valid instance of ProcessingInstruction.\"\n );\n }\n\n return esValue[implSymbol][\"target\"];\n }\n }\n Object.defineProperties(ProcessingInstruction.prototype, {\n target: { enumerable: true },\n [Symbol.toStringTag]: { value: \"ProcessingInstruction\", configurable: true }\n });\n ctorRegistry[interfaceName] = ProcessingInstruction;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: ProcessingInstruction\n });\n};\n\nconst Impl = require(\"../nodes/ProcessingInstruction-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n {\n const key = \"flatten\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"boolean\"](value, { context: context + \" has member 'flatten' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = false;\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.safeToString = exports.objectToString = void 0;\nexports.createPromiseCallback = createPromiseCallback;\nexports.inOperator = inOperator;\n/** Wrapped `Object.prototype.toString`, so that you don't need to remember to use `.call()`. */\nconst objectToString = (obj) => Object.prototype.toString.call(obj);\nexports.objectToString = objectToString;\n/**\n * Converts an array to string, safely handling symbols, null prototype objects, and recursive arrays.\n */\nconst safeArrayToString = (arr, seenArrays) => {\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString#description\n if (typeof arr.join !== 'function')\n return (0, exports.objectToString)(arr);\n seenArrays.add(arr);\n const mapped = arr.map((val) => val === null || val === undefined || seenArrays.has(val)\n ? ''\n : safeToStringImpl(val, seenArrays));\n return mapped.join();\n};\nconst safeToStringImpl = (val, seenArrays = new WeakSet()) => {\n // Using .toString() fails for null/undefined and implicit conversion (val + \"\") fails for symbols\n // and objects with null prototype\n if (typeof val !== 'object' || val === null) {\n return String(val);\n }\n else if (typeof val.toString === 'function') {\n return Array.isArray(val)\n ? // Arrays have a weird custom toString that we need to replicate\n safeArrayToString(val, seenArrays)\n : // eslint-disable-next-line @typescript-eslint/no-base-to-string\n String(val);\n }\n else {\n // This case should just be objects with null prototype, so we can just use Object#toString\n return (0, exports.objectToString)(val);\n }\n};\n/** Safely converts any value to string, using the value's own `toString` when available. */\nconst safeToString = (val) => safeToStringImpl(val);\nexports.safeToString = safeToString;\n/** Converts a callback into a utility object where either a callback or a promise can be used. */\nfunction createPromiseCallback(cb) {\n let callback;\n let resolve;\n let reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n if (typeof cb === 'function') {\n callback = (err, result) => {\n try {\n if (err)\n cb(err);\n // If `err` is null, we know `result` must be `T`\n // The assertion isn't *strictly* correct, as `T` could be nullish, but, ehh, good enough...\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n else\n cb(null, result);\n }\n catch (e) {\n reject(e instanceof Error ? e : new Error());\n }\n };\n }\n else {\n callback = (err, result) => {\n try {\n // If `err` is null, we know `result` must be `T`\n // The assertion isn't *strictly* correct, as `T` could be nullish, but, ehh, good enough...\n if (err)\n reject(err);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n else\n resolve(result);\n }\n catch (e) {\n reject(e instanceof Error ? e : new Error());\n }\n };\n }\n return {\n promise,\n callback,\n resolve: (value) => {\n callback(null, value);\n return promise;\n },\n reject: (error) => {\n callback(error);\n return promise;\n },\n };\n}\nfunction inOperator(k, o) {\n return k in o;\n}\n","\"use strict\";\n\n// https://svgwg.org/svg2-draft/types.html#TermDetach\nfunction detach(value) {\n if (typeof value === \"string\") {\n return;\n }\n\n throw new TypeError(`jsdom internal error: detaching object of wrong type ${value}`);\n}\nexports.detach = detach;\n\n// https://svgwg.org/svg2-draft/types.html#TermAttach\n// listObject corresponds to the parameter taken by the algorithm in the spec, but is currently unused because only\n// DOMString type is supported by jsdom (and this function) right now.\n// eslint-disable-next-line no-unused-vars\nfunction attach(value, listObject) {\n if (typeof value === \"string\") {\n return;\n }\n\n throw new TypeError(`jsdom internal error: attaching object of wrong type ${value}`);\n}\nexports.attach = attach;\n\n// https://svgwg.org/svg2-draft/types.html#TermReserialize for DOMString.\nfunction reserializeSpaceSeparatedTokens(elements) {\n return elements.join(\" \");\n}\nexports.reserializeSpaceSeparatedTokens = reserializeSpaceSeparatedTokens;\n\n// Used for systemLanguage attribute, whose value is a set of comma-separated tokens:\n// https://svgwg.org/svg2-draft/struct.html#SystemLanguageAttribute\n// SVG 2 spec (https://svgwg.org/svg2-draft/types.html#TermReserialize) says any SVGStringList should reserialize the\n// same way, as space-separated tokens, but doing so for systemLanguage is illogical and contradicts the Firefox\n// behavior.\n// I cannot find a description of reserialization of SVGStringList in the SVG 1.1 spec.\nfunction reserializeCommaSeparatedTokens(elements) {\n return elements.join(\", \");\n}\nexports.reserializeCommaSeparatedTokens = reserializeCommaSeparatedTokens;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (typeof value !== \"function\") {\n throw new globalObject.TypeError(context + \" is not a function\");\n }\n\n function invokeTheCallbackFunction(blob) {\n const thisArg = utils.tryWrapperForImpl(this);\n let callResult;\n\n blob = utils.tryWrapperForImpl(blob);\n\n callResult = Reflect.apply(value, thisArg, [blob]);\n }\n\n invokeTheCallbackFunction.construct = blob => {\n blob = utils.tryWrapperForImpl(blob);\n\n let callResult = Reflect.construct(value, [blob]);\n };\n\n invokeTheCallbackFunction[utils.wrapperSymbol] = value;\n invokeTheCallbackFunction.objectReference = value;\n\n return invokeTheCallbackFunction;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"SVGAnimatedPreserveAspectRatio\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGAnimatedPreserveAspectRatio'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGAnimatedPreserveAspectRatio\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGAnimatedPreserveAspectRatio {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get baseVal() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get baseVal' called on an object that is not a valid instance of SVGAnimatedPreserveAspectRatio.\"\n );\n }\n\n return utils.getSameObject(this, \"baseVal\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"baseVal\"]);\n });\n }\n\n get animVal() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get animVal' called on an object that is not a valid instance of SVGAnimatedPreserveAspectRatio.\"\n );\n }\n\n return utils.getSameObject(this, \"animVal\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"animVal\"]);\n });\n }\n }\n Object.defineProperties(SVGAnimatedPreserveAspectRatio.prototype, {\n baseVal: { enumerable: true },\n animVal: { enumerable: true },\n [Symbol.toStringTag]: { value: \"SVGAnimatedPreserveAspectRatio\", configurable: true }\n });\n ctorRegistry[interfaceName] = SVGAnimatedPreserveAspectRatio;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGAnimatedPreserveAspectRatio\n });\n};\n\nconst Impl = require(\"../svg/SVGAnimatedPreserveAspectRatio-impl.js\");\n","//.CommonJS\nvar CSSOM = {\n\tCSSRule: require(\"./CSSRule\").CSSRule,\n\tCSSGroupingRule: require(\"./CSSGroupingRule\").CSSGroupingRule,\n\tCSSConditionRule: require(\"./CSSConditionRule\").CSSConditionRule,\n\tMediaList: require(\"./MediaList\").MediaList\n};\n///CommonJS\n\n\n/**\n * @constructor\n * @see http://dev.w3.org/csswg/cssom/#cssmediarule\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\n */\nCSSOM.CSSMediaRule = function CSSMediaRule() {\n\tCSSOM.CSSConditionRule.call(this);\n\tthis.media = new CSSOM.MediaList();\n};\n\nCSSOM.CSSMediaRule.prototype = new CSSOM.CSSConditionRule();\nCSSOM.CSSMediaRule.prototype.constructor = CSSOM.CSSMediaRule;\nCSSOM.CSSMediaRule.prototype.type = 4;\n\n// https://opensource.apple.com/source/WebCore/WebCore-7611.1.21.161.3/css/CSSMediaRule.cpp\nObject.defineProperties(CSSOM.CSSMediaRule.prototype, {\n \"conditionText\": {\n get: function() {\n return this.media.mediaText;\n },\n set: function(value) {\n this.media.mediaText = value;\n },\n configurable: true,\n enumerable: true\n },\n \"cssText\": {\n get: function() {\n var cssTexts = [];\n for (var i=0, length=this.cssRules.length; i < length; i++) {\n cssTexts.push(this.cssRules[i].cssText);\n }\n return \"@media \" + this.media.mediaText + \" {\" + cssTexts.join(\"\") + \"}\";\n },\n configurable: true,\n enumerable: true\n }\n});\n\n\n//.CommonJS\nexports.CSSMediaRule = CSSOM.CSSMediaRule;\n///CommonJS\n","\"use strict\";\n\nconst BlobImpl = require(\"./Blob-impl\").implementation;\n\nexports.implementation = class FileImpl extends BlobImpl {\n constructor(globalObject, [fileBits, fileName, options], privateData) {\n super(globalObject, [fileBits, options], privateData);\n\n this.name = fileName;\n this.lastModified = \"lastModified\" in options ? options.lastModified : Date.now();\n }\n};\n","\"use strict\";\nconst idlUtils = require(\"../generated/utils\");\n\nconst legacyErrorCodes = {\n IndexSizeError: 1,\n HierarchyRequestError: 3,\n WrongDocumentError: 4,\n InvalidCharacterError: 5,\n NoModificationAllowedError: 7,\n NotFoundError: 8,\n NotSupportedError: 9,\n InUseAttributeError: 10,\n InvalidStateError: 11,\n SyntaxError: 12,\n InvalidModificationError: 13,\n NamespaceError: 14,\n InvalidAccessError: 15,\n TypeMismatchError: 17,\n SecurityError: 18,\n NetworkError: 19,\n AbortError: 20,\n URLMismatchError: 21,\n QuotaExceededError: 22,\n TimeoutError: 23,\n InvalidNodeTypeError: 24,\n DataCloneError: 25\n};\n\nexports.implementation = class DOMExceptionImpl {\n constructor(globalObject, [message, name]) {\n this.name = name;\n this.message = message;\n }\n\n get code() {\n return legacyErrorCodes[this.name] || 0;\n }\n};\n\n// A proprietary V8 extension that causes the stack property to appear.\nexports.init = impl => {\n if (Error.captureStackTrace) {\n const wrapper = idlUtils.wrapperForImpl(impl);\n Error.captureStackTrace(wrapper, wrapper.constructor);\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTableRowElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTableRowElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTableRowElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTableRowElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n insertCell() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'insertCell' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"long\"](curArg, {\n context: \"Failed to execute 'insertCell' on 'HTMLTableRowElement': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = -1;\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].insertCell(...args));\n }\n\n deleteCell(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'deleteCell' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'deleteCell' on 'HTMLTableRowElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"long\"](curArg, {\n context: \"Failed to execute 'deleteCell' on 'HTMLTableRowElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].deleteCell(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get rowIndex() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get rowIndex' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n return esValue[implSymbol][\"rowIndex\"];\n }\n\n get sectionRowIndex() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get sectionRowIndex' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n return esValue[implSymbol][\"sectionRowIndex\"];\n }\n\n get cells() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get cells' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n return utils.getSameObject(this, \"cells\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"cells\"]);\n });\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLTableRowElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get ch() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ch' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"char\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set ch(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ch' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'ch' property on 'HTMLTableRowElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"char\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get chOff() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get chOff' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"charoff\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set chOff(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set chOff' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'chOff' property on 'HTMLTableRowElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"charoff\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get vAlign() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vAlign' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"valign\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set vAlign(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set vAlign' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'vAlign' property on 'HTMLTableRowElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"valign\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get bgColor() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get bgColor' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"bgcolor\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set bgColor(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set bgColor' called on an object that is not a valid instance of HTMLTableRowElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'bgColor' property on 'HTMLTableRowElement': The provided value\",\n globals: globalObject,\n treatNullAsEmptyString: true\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"bgcolor\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLTableRowElement.prototype, {\n insertCell: { enumerable: true },\n deleteCell: { enumerable: true },\n rowIndex: { enumerable: true },\n sectionRowIndex: { enumerable: true },\n cells: { enumerable: true },\n align: { enumerable: true },\n ch: { enumerable: true },\n chOff: { enumerable: true },\n vAlign: { enumerable: true },\n bgColor: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTableRowElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTableRowElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTableRowElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTableRowElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst EventInit = require(\"./EventInit.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n EventInit._convertInherit(globalObject, obj, ret, { context });\n\n {\n const key = \"colno\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"unsigned long\"](value, {\n context: context + \" has member 'colno' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"error\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"any\"](value, { context: context + \" has member 'error' that\", globals: globalObject });\n\n ret[key] = value;\n } else {\n ret[key] = null;\n }\n }\n\n {\n const key = \"filename\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"USVString\"](value, {\n context: context + \" has member 'filename' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = \"\";\n }\n }\n\n {\n const key = \"lineno\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"unsigned long\"](value, {\n context: context + \" has member 'lineno' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = 0;\n }\n }\n\n {\n const key = \"message\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"DOMString\"](value, {\n context: context + \" has member 'message' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = \"\";\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Node = require(\"./Node.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"CharacterData\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'CharacterData'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"CharacterData\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Node._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class CharacterData extends globalObject.Node {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n substringData(offset, count) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'substringData' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'substringData' on 'CharacterData': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'substringData' on 'CharacterData': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'substringData' on 'CharacterData': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].substringData(...args);\n }\n\n appendData(data) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'appendData' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'appendData' on 'CharacterData': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'appendData' on 'CharacterData': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].appendData(...args);\n }\n\n insertData(offset, data) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'insertData' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'insertData' on 'CharacterData': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'insertData' on 'CharacterData': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'insertData' on 'CharacterData': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].insertData(...args);\n }\n\n deleteData(offset, count) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'deleteData' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'deleteData' on 'CharacterData': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'deleteData' on 'CharacterData': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'deleteData' on 'CharacterData': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].deleteData(...args);\n }\n\n replaceData(offset, count, data) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'replaceData' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n if (arguments.length < 3) {\n throw new globalObject.TypeError(\n `Failed to execute 'replaceData' on 'CharacterData': 3 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'replaceData' on 'CharacterData': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'replaceData' on 'CharacterData': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'replaceData' on 'CharacterData': parameter 3\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].replaceData(...args);\n }\n\n before() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'before' called on an object that is not a valid instance of CharacterData.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n if (Node.is(curArg)) {\n curArg = utils.implForWrapper(curArg);\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'before' on 'CharacterData': parameter \" + (i + 1),\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].before(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n after() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'after' called on an object that is not a valid instance of CharacterData.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n if (Node.is(curArg)) {\n curArg = utils.implForWrapper(curArg);\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'after' on 'CharacterData': parameter \" + (i + 1),\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].after(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n replaceWith() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'replaceWith' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n const args = [];\n for (let i = 0; i < arguments.length; i++) {\n let curArg = arguments[i];\n if (Node.is(curArg)) {\n curArg = utils.implForWrapper(curArg);\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'replaceWith' on 'CharacterData': parameter \" + (i + 1),\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].replaceWith(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n remove() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'remove' called on an object that is not a valid instance of CharacterData.\");\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].remove();\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get data() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get data' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n return esValue[implSymbol][\"data\"];\n }\n\n set data(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set data' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'data' property on 'CharacterData': The provided value\",\n globals: globalObject,\n treatNullAsEmptyString: true\n });\n\n esValue[implSymbol][\"data\"] = V;\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get length' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n return esValue[implSymbol][\"length\"];\n }\n\n get previousElementSibling() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get previousElementSibling' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"previousElementSibling\"]);\n }\n\n get nextElementSibling() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get nextElementSibling' called on an object that is not a valid instance of CharacterData.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"nextElementSibling\"]);\n }\n }\n Object.defineProperties(CharacterData.prototype, {\n substringData: { enumerable: true },\n appendData: { enumerable: true },\n insertData: { enumerable: true },\n deleteData: { enumerable: true },\n replaceData: { enumerable: true },\n before: { enumerable: true },\n after: { enumerable: true },\n replaceWith: { enumerable: true },\n remove: { enumerable: true },\n data: { enumerable: true },\n length: { enumerable: true },\n previousElementSibling: { enumerable: true },\n nextElementSibling: { enumerable: true },\n [Symbol.toStringTag]: { value: \"CharacterData\", configurable: true },\n [Symbol.unscopables]: {\n value: { before: true, after: true, replaceWith: true, remove: true, __proto__: null },\n configurable: true\n }\n });\n ctorRegistry[interfaceName] = CharacterData;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: CharacterData\n });\n};\n\nconst Impl = require(\"../nodes/CharacterData-impl.js\");\n","\"use strict\";\n\nexports.implementation = class NavigatorLanguageImpl {\n get language() {\n return \"en-US\";\n }\n\n // See Navigator constructor for languages\n};\n","\"use strict\";\n\nconst { domSymbolTree } = require(\"./internal-constants\");\nconst reportException = require(\"./runtime-script-errors\");\n\nconst Event = require(\"../generated/Event\");\nconst idlUtils = require(\"../generated/utils\");\nconst MutationRecord = require(\"../generated/MutationRecord\");\n\nconst MUTATION_TYPE = {\n ATTRIBUTES: \"attributes\",\n CHARACTER_DATA: \"characterData\",\n CHILD_LIST: \"childList\"\n};\n\n// Note:\n// Since jsdom doesn't currently implement the concept of \"unit of related similar-origin browsing contexts\"\n// (https://html.spec.whatwg.org/multipage/browsers.html#unit-of-related-similar-origin-browsing-contexts)\n// we will approximate that the following properties are global for now.\n\n// https://dom.spec.whatwg.org/#mutation-observer-compound-microtask-queued-flag\nlet mutationObserverMicrotaskQueueFlag = false;\n\n// Non-spec compliant: List of all the mutation observers with mutation records enqueued. It's a replacement for\n// mutation observer list (https://dom.spec.whatwg.org/#mutation-observer-list) but without leaking since it's empty\n// before notifying the mutation observers.\nconst activeMutationObservers = new Set();\n\n// https://dom.spec.whatwg.org/#signal-slot-list\nconst signalSlotList = [];\n\n// https://dom.spec.whatwg.org/#queue-a-mutation-record\nfunction queueMutationRecord(\n type,\n target,\n name,\n namespace,\n oldValue,\n addedNodes,\n removedNodes,\n previousSibling,\n nextSibling\n) {\n const interestedObservers = new Map();\n\n const nodes = domSymbolTree.ancestorsToArray(target);\n\n for (const node of nodes) {\n for (const registered of node._registeredObserverList) {\n const { options, observer: mo } = registered;\n\n if (\n !(node !== target && options.subtree === false) &&\n !(type === MUTATION_TYPE.ATTRIBUTES && options.attributes !== true) &&\n !(type === MUTATION_TYPE.ATTRIBUTES && options.attributeFilter &&\n !options.attributeFilter.some(value => value === name || value === namespace)) &&\n !(type === MUTATION_TYPE.CHARACTER_DATA && options.characterData !== true) &&\n !(type === MUTATION_TYPE.CHILD_LIST && options.childList === false)\n ) {\n if (!interestedObservers.has(mo)) {\n interestedObservers.set(mo, null);\n }\n\n if (\n (type === MUTATION_TYPE.ATTRIBUTES && options.attributeOldValue === true) ||\n (type === MUTATION_TYPE.CHARACTER_DATA && options.characterDataOldValue === true)\n ) {\n interestedObservers.set(mo, oldValue);\n }\n }\n }\n }\n\n for (const [observer, mappedOldValue] of interestedObservers.entries()) {\n const record = MutationRecord.createImpl(target._globalObject, [], {\n type,\n target,\n attributeName: name,\n attributeNamespace: namespace,\n oldValue: mappedOldValue,\n addedNodes,\n removedNodes,\n previousSibling,\n nextSibling\n });\n\n observer._recordQueue.push(record);\n activeMutationObservers.add(observer);\n }\n\n queueMutationObserverMicrotask();\n}\n\n// https://dom.spec.whatwg.org/#queue-a-tree-mutation-record\nfunction queueTreeMutationRecord(target, addedNodes, removedNodes, previousSibling, nextSibling) {\n queueMutationRecord(\n MUTATION_TYPE.CHILD_LIST,\n target,\n null,\n null,\n null,\n addedNodes,\n removedNodes,\n previousSibling,\n nextSibling\n );\n}\n\n// https://dom.spec.whatwg.org/#queue-an-attribute-mutation-record\nfunction queueAttributeMutationRecord(target, name, namespace, oldValue) {\n queueMutationRecord(\n MUTATION_TYPE.ATTRIBUTES,\n target,\n name,\n namespace,\n oldValue,\n [],\n [],\n null,\n null\n );\n}\n\n// https://dom.spec.whatwg.org/#queue-a-mutation-observer-compound-microtask\nfunction queueMutationObserverMicrotask() {\n if (mutationObserverMicrotaskQueueFlag) {\n return;\n }\n\n mutationObserverMicrotaskQueueFlag = true;\n\n Promise.resolve().then(() => {\n notifyMutationObservers();\n });\n}\n\n// https://dom.spec.whatwg.org/#notify-mutation-observers\nfunction notifyMutationObservers() {\n mutationObserverMicrotaskQueueFlag = false;\n\n const notifyList = [...activeMutationObservers].sort((a, b) => a._id - b._id);\n activeMutationObservers.clear();\n\n const signalList = [...signalSlotList];\n signalSlotList.splice(0, signalSlotList.length);\n\n for (const mo of notifyList) {\n const records = [...mo._recordQueue];\n mo._recordQueue = [];\n\n for (const node of mo._nodeList) {\n node._registeredObserverList = node._registeredObserverList.filter(registeredObserver => {\n return registeredObserver.source !== mo;\n });\n }\n\n if (records.length > 0) {\n try {\n const moWrapper = idlUtils.wrapperForImpl(mo);\n mo._callback.call(\n moWrapper,\n records.map(idlUtils.wrapperForImpl),\n moWrapper\n );\n } catch (e) {\n const { target } = records[0];\n const window = target._ownerDocument._defaultView;\n\n reportException(window, e);\n }\n }\n }\n\n for (const slot of signalList) {\n const slotChangeEvent = Event.createImpl(\n slot._globalObject,\n [\n \"slotchange\",\n { bubbles: true }\n ],\n { isTrusted: true }\n );\n\n slot._dispatch(slotChangeEvent);\n }\n}\n\nmodule.exports = {\n MUTATION_TYPE,\n\n queueMutationRecord,\n queueTreeMutationRecord,\n queueAttributeMutationRecord,\n\n queueMutationObserverMicrotask,\n\n signalSlotList\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (typeof value !== \"function\") {\n throw new globalObject.TypeError(context + \" is not a function\");\n }\n\n function invokeTheCallbackFunction() {\n const thisArg = utils.tryWrapperForImpl(this);\n let callResult;\n\n callResult = Reflect.apply(value, thisArg, []);\n\n callResult = conversions[\"any\"](callResult, { context: context, globals: globalObject });\n\n return callResult;\n }\n\n invokeTheCallbackFunction.construct = () => {\n let callResult = Reflect.construct(value, []);\n\n callResult = conversions[\"any\"](callResult, { context: context, globals: globalObject });\n\n return callResult;\n };\n\n invokeTheCallbackFunction[utils.wrapperSymbol] = value;\n invokeTheCallbackFunction.objectReference = value;\n\n return invokeTheCallbackFunction;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst EventInit = require(\"./EventInit.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n EventInit._convertInherit(globalObject, obj, ret, { context });\n\n {\n const key = \"persisted\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"boolean\"](value, {\n context: context + \" has member 'persisted' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = false;\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\n\nconst { CookieJar } = require(\"tough-cookie\");\n\nconst NodeImpl = require(\"./Node-impl\").implementation;\nconst idlUtils = require(\"../generated/utils\");\nconst NODE_TYPE = require(\"../node-type\");\nconst { mixin, memoizeQuery } = require(\"../../utils\");\nconst { firstChildWithLocalName, firstChildWithLocalNames, firstDescendantWithLocalName } =\n require(\"../helpers/traversal\");\nconst whatwgURL = require(\"whatwg-url\");\nconst StyleSheetList = require(\"../generated/StyleSheetList.js\");\nconst { domSymbolTree } = require(\"../helpers/internal-constants\");\nconst eventAccessors = require(\"../helpers/create-event-accessor\");\nconst { asciiLowercase, stripAndCollapseASCIIWhitespace } = require(\"../helpers/strings\");\nconst { childTextContent } = require(\"../helpers/text\");\nconst { HTML_NS, SVG_NS } = require(\"../helpers/namespaces\");\nconst DOMException = require(\"../generated/DOMException\");\nconst { parseIntoDocument } = require(\"../../browser/parser\");\nconst History = require(\"../generated/History\");\nconst Location = require(\"../generated/Location\");\nconst HTMLCollection = require(\"../generated/HTMLCollection\");\nconst NodeList = require(\"../generated/NodeList\");\nconst validateName = require(\"../helpers/validate-names\").name;\nconst { validateAndExtract } = require(\"../helpers/validate-names\");\nconst { fireAnEvent } = require(\"../helpers/events\");\nconst { shadowIncludingInclusiveDescendantsIterator } = require(\"../helpers/shadow-dom\");\nconst { enqueueCECallbackReaction } = require(\"../helpers/custom-elements\");\nconst { createElement, internalCreateElementNSSteps } = require(\"../helpers/create-element\");\nconst IterableWeakSet = require(\"../helpers/iterable-weak-set\");\n\nconst DocumentOrShadowRootImpl = require(\"./DocumentOrShadowRoot-impl\").implementation;\nconst GlobalEventHandlersImpl = require(\"./GlobalEventHandlers-impl\").implementation;\nconst NonElementParentNodeImpl = require(\"./NonElementParentNode-impl\").implementation;\nconst ParentNodeImpl = require(\"./ParentNode-impl\").implementation;\n\nconst { clone, listOfElementsWithQualifiedName, listOfElementsWithNamespaceAndLocalName,\n listOfElementsWithClassNames } = require(\"../node\");\nconst generatedAttr = require(\"../generated/Attr\");\nconst Comment = require(\"../generated/Comment\");\nconst ProcessingInstruction = require(\"../generated/ProcessingInstruction\");\nconst CDATASection = require(\"../generated/CDATASection\");\nconst Text = require(\"../generated/Text\");\nconst DocumentFragment = require(\"../generated/DocumentFragment\");\nconst DOMImplementation = require(\"../generated/DOMImplementation\");\nconst TreeWalker = require(\"../generated/TreeWalker\");\nconst NodeIterator = require(\"../generated/NodeIterator\");\nconst ShadowRoot = require(\"../generated/ShadowRoot\");\nconst Range = require(\"../generated/Range\");\nconst documents = require(\"../documents.js\");\n\nconst CustomEvent = require(\"../generated/CustomEvent\");\nconst ErrorEvent = require(\"../generated/ErrorEvent\");\nconst Event = require(\"../generated/Event\");\nconst FocusEvent = require(\"../generated/FocusEvent\");\nconst HashChangeEvent = require(\"../generated/HashChangeEvent\");\nconst KeyboardEvent = require(\"../generated/KeyboardEvent\");\nconst MessageEvent = require(\"../generated/MessageEvent\");\nconst MouseEvent = require(\"../generated/MouseEvent\");\nconst PopStateEvent = require(\"../generated/PopStateEvent\");\nconst ProgressEvent = require(\"../generated/ProgressEvent\");\nconst TouchEvent = require(\"../generated/TouchEvent\");\nconst UIEvent = require(\"../generated/UIEvent\");\n\nconst RequestManager = require(\"../../browser/resources/request-manager\");\nconst AsyncResourceQueue = require(\"../../browser/resources/async-resource-queue\");\nconst ResourceQueue = require(\"../../browser/resources/resource-queue\");\nconst PerDocumentResourceLoader = require(\"../../browser/resources/per-document-resource-loader\");\n\nfunction clearChildNodes(node) {\n for (let child = domSymbolTree.firstChild(node); child; child = domSymbolTree.firstChild(node)) {\n node.removeChild(child);\n }\n}\n\nfunction pad(number) {\n if (number < 10) {\n return \"0\" + number;\n }\n return number;\n}\n\nfunction toLastModifiedString(date) {\n return pad(date.getMonth() + 1) +\n \"/\" + pad(date.getDate()) +\n \"/\" + date.getFullYear() +\n \" \" + pad(date.getHours()) +\n \":\" + pad(date.getMinutes()) +\n \":\" + pad(date.getSeconds());\n}\n\nconst eventInterfaceTable = {\n customevent: CustomEvent,\n errorevent: ErrorEvent,\n event: Event,\n events: Event,\n focusevent: FocusEvent,\n hashchangeevent: HashChangeEvent,\n htmlevents: Event,\n keyboardevent: KeyboardEvent,\n messageevent: MessageEvent,\n mouseevent: MouseEvent,\n mouseevents: MouseEvent,\n popstateevent: PopStateEvent,\n progressevent: ProgressEvent,\n svgevents: Event,\n touchevent: TouchEvent,\n uievent: UIEvent,\n uievents: UIEvent\n};\n\nclass DocumentImpl extends NodeImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this._initGlobalEvents();\n\n this._ownerDocument = this;\n this.nodeType = NODE_TYPE.DOCUMENT_NODE;\n if (!privateData.options) {\n privateData.options = {};\n }\n if (!privateData.options.parsingMode) {\n privateData.options.parsingMode = \"xml\";\n }\n if (!privateData.options.encoding) {\n privateData.options.encoding = \"UTF-8\";\n }\n if (!privateData.options.contentType) {\n privateData.options.contentType = privateData.options.parsingMode === \"xml\" ? \"application/xml\" : \"text/html\";\n }\n\n this._parsingMode = privateData.options.parsingMode;\n\n this._implementation = DOMImplementation.createImpl(this._globalObject, [], {\n ownerDocument: this\n });\n\n this._defaultView = privateData.options.defaultView || null;\n this._global = privateData.options.global;\n this._ids = Object.create(null);\n this._attached = true;\n this._currentScript = null;\n this._pageShowingFlag = false;\n this._cookieJar = privateData.options.cookieJar;\n this._parseOptions = privateData.options.parseOptions || {};\n this._scriptingDisabled = privateData.options.scriptingDisabled;\n if (this._cookieJar === undefined) {\n this._cookieJar = new CookieJar(null, { looseMode: true });\n }\n\n if (this._scriptingDisabled) {\n this._parseOptions.scriptingEnabled = false;\n }\n\n this.contentType = privateData.options.contentType;\n this._encoding = privateData.options.encoding;\n\n const urlOption = privateData.options.url === undefined ? \"about:blank\" : privateData.options.url;\n const parsed = whatwgURL.parseURL(urlOption);\n if (parsed === null) {\n throw new TypeError(`Could not parse \"${urlOption}\" as a URL`);\n }\n\n this._URL = parsed;\n this._origin = urlOption === \"about:blank\" && privateData.options.parentOrigin ?\n privateData.options.parentOrigin :\n whatwgURL.serializeURLOrigin(this._URL);\n\n this._location = Location.createImpl(this._globalObject, [], { relevantDocument: this });\n this._history = History.createImpl(this._globalObject, [], {\n window: this._defaultView,\n document: this,\n actAsIfLocationReloadCalled: () => this._location.reload()\n });\n\n this._workingNodeIterators = new IterableWeakSet();\n\n this._referrer = privateData.options.referrer || \"\";\n this._lastModified = toLastModifiedString(privateData.options.lastModified || new Date());\n this._asyncQueue = new AsyncResourceQueue();\n this._queue = new ResourceQueue({ asyncQueue: this._asyncQueue, paused: false });\n this._deferQueue = new ResourceQueue({ paused: true });\n this._requestManager = new RequestManager();\n this._currentDocumentReadiness = privateData.options.readyState || \"loading\";\n\n this._lastFocusedElement = null;\n\n this._resourceLoader = new PerDocumentResourceLoader(this);\n\n // Each Document in a browsing context can also have a latest entry. This is the entry for that Document\n // to which the browsing context's session history was most recently traversed. When a Document is created,\n // it initially has no latest entry.\n this._latestEntry = null;\n\n // https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#throw-on-dynamic-markup-insertion-counter\n this._throwOnDynamicMarkupInsertionCounter = 0;\n\n // Cache of computed element styles\n this._styleCache = null;\n\n // Cache of document base URL\n this._baseURLCache = null;\n this._baseURLSerializedCache = null;\n }\n\n _clearBaseURLCache() {\n this._baseURLCache = null;\n this._baseURLSerializedCache = null;\n }\n\n // https://html.spec.whatwg.org/multipage/infrastructure.html#document-base-url\n baseURL() {\n if (this._baseURLCache) {\n return this._baseURLCache;\n }\n\n const firstBase = this.querySelector(\"base[href]\");\n\n this._baseURLCache = firstBase === null ?\n this._fallbackBaseURL() :\n this._frozenBaseURL(firstBase, this._fallbackBaseURL());\n return this._baseURLCache;\n }\n\n baseURLSerialized() {\n if (this._baseURLSerializedCache) {\n return this._baseURLSerializedCache;\n }\n\n const result = whatwgURL.serializeURL(this.baseURL());\n this._baseURLSerializedCache = result;\n return result;\n }\n\n // https://html.spec.whatwg.org/#resolve-a-url\n encodingParseAURL(url) {\n // TODO account for encoding (once whatwg-url supports that)\n return whatwgURL.parseURL(url, { baseURL: this.baseURL() });\n }\n\n // https://html.spec.whatwg.org/#frozen-base-url\n _frozenBaseURL(baseElement, fallbackBaseURL) {\n // The spec is eager (setting the frozen base URL when things change); we are lazy (getting it when we need to).\n //\n // There is a slight difference, which is when history.pushState() is involved. The frozen base URL does not get\n // updated in response to history.pushState() per spec, but since we're lazy, it will get updated.\n //\n // The test in to-port-to-wpts/history.js checks for the current jsdom behavior (which is incorrect).\n // We could make it pass by not invalidating the base URL cache, actually. But that would just make the fallback\n // base URL case use the stale base URL.\n //\n // TODO: implement, with tests for all code paths, the spec's behavior.\n\n const baseHrefAttribute = baseElement.getAttributeNS(null, \"href\");\n const result = whatwgURL.parseURL(baseHrefAttribute, { baseURL: fallbackBaseURL });\n return result === null ? fallbackBaseURL : result;\n }\n\n // https://html.spec.whatwg.org/#fallback-base-url\n _fallbackBaseURL() {\n if (this.URL === \"about:blank\" && this._defaultView &&\n this._defaultView._parent !== this._defaultView) {\n const parentDocument = idlUtils.implForWrapper(this._defaultView._parent._document);\n return parentDocument.baseURL();\n }\n\n return this._URL;\n }\n\n _getTheParent(event) {\n if (event.type === \"load\" || !this._defaultView) {\n return null;\n }\n\n return idlUtils.implForWrapper(this._defaultView);\n }\n\n get compatMode() {\n return this._parsingMode === \"xml\" || this.doctype ? \"CSS1Compat\" : \"BackCompat\";\n }\n get charset() {\n return this._encoding;\n }\n get characterSet() {\n return this._encoding;\n }\n get inputEncoding() {\n return this._encoding;\n }\n get doctype() {\n for (const childNode of domSymbolTree.childrenIterator(this)) {\n if (childNode.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE) {\n return childNode;\n }\n }\n return null;\n }\n get URL() {\n return whatwgURL.serializeURL(this._URL);\n }\n get documentURI() {\n return whatwgURL.serializeURL(this._URL);\n }\n get location() {\n return this._defaultView ? this._location : null;\n }\n\n // https://dom.spec.whatwg.org/#dom-document-documentelement\n get documentElement() {\n for (const childNode of domSymbolTree.childrenIterator(this)) {\n if (childNode.nodeType === NODE_TYPE.ELEMENT_NODE) {\n return childNode;\n }\n }\n\n return null;\n }\n\n get implementation() {\n return this._implementation;\n }\n set implementation(implementation) {\n this._implementation = implementation;\n }\n\n get defaultView() {\n return this._defaultView;\n }\n\n get currentScript() {\n return this._currentScript;\n }\n\n get readyState() {\n return this._currentDocumentReadiness;\n }\n\n set readyState(state) {\n this._currentDocumentReadiness = state;\n fireAnEvent(\"readystatechange\", this);\n }\n\n hasFocus() {\n return Boolean(this._lastFocusedElement);\n }\n\n _descendantRemoved(parent, child) {\n if (child.tagName === \"STYLE\") {\n this.styleSheets._remove(child.sheet);\n }\n\n super._descendantRemoved(parent, child);\n }\n\n write(...args) {\n let text = \"\";\n for (let i = 0; i < args.length; ++i) {\n text += args[i];\n }\n\n if (this._parsingMode === \"xml\") {\n throw DOMException.create(this._globalObject, [\n \"Cannot use document.write on XML documents\",\n \"InvalidStateError\"\n ]);\n }\n\n if (this._throwOnDynamicMarkupInsertionCounter > 0) {\n throw DOMException.create(this._globalObject, [\n \"Cannot use document.write while a custom element upgrades\",\n \"InvalidStateError\"\n ]);\n }\n\n if (this._writeAfterElement) {\n // If called from an script element directly (during the first tick),\n // the new elements are inserted right after that element.\n const tempDiv = this.createElement(\"div\");\n tempDiv.innerHTML = text;\n\n let child = tempDiv.firstChild;\n let previous = this._writeAfterElement;\n const parent = this._writeAfterElement.parentNode;\n\n while (child) {\n const node = child;\n child = child.nextSibling;\n\n node._isMovingDueToDocumentWrite = true; // hack for script execution\n parent.insertBefore(node, previous.nextSibling);\n node._isMovingDueToDocumentWrite = false;\n\n previous = node;\n }\n } else if (this.readyState === \"loading\") {\n // During page loading, document.write appends to the current element\n // Find the last child that has been added to the document.\n if (this.lastChild) {\n let node = this;\n while (node.lastChild && node.lastChild.nodeType === NODE_TYPE.ELEMENT_NODE) {\n node = node.lastChild;\n }\n node.innerHTML = text;\n } else {\n clearChildNodes(this);\n parseIntoDocument(text, this);\n }\n } else if (text) {\n clearChildNodes(this);\n parseIntoDocument(text, this);\n }\n }\n\n writeln(...args) {\n this.write(...args, \"\\n\");\n }\n\n // This is implemented separately for Document (which has a _ids cache) and DocumentFragment (which does not).\n getElementById(id) {\n if (!this._ids[id]) {\n return null;\n }\n\n // Let's find the first element with where it's root is the document.\n const matchElement = this._ids[id].find(candidate => {\n let root = candidate;\n while (domSymbolTree.parent(root)) {\n root = domSymbolTree.parent(root);\n }\n\n return root === this;\n });\n\n return matchElement || null;\n }\n\n get referrer() {\n return this._referrer || \"\";\n }\n get lastModified() {\n return this._lastModified;\n }\n get images() {\n return this.getElementsByTagName(\"IMG\");\n }\n get embeds() {\n return this.getElementsByTagName(\"EMBED\");\n }\n get plugins() {\n return this.embeds;\n }\n get links() {\n return HTMLCollection.createImpl(this._globalObject, [], {\n element: this,\n query: () => domSymbolTree.treeToArray(this, {\n filter: node => (node._localName === \"a\" || node._localName === \"area\") &&\n node.hasAttributeNS(null, \"href\") &&\n node._namespaceURI === HTML_NS\n })\n });\n }\n get forms() {\n return this.getElementsByTagName(\"FORM\");\n }\n get scripts() {\n return this.getElementsByTagName(\"SCRIPT\");\n }\n get anchors() {\n return HTMLCollection.createImpl(this._globalObject, [], {\n element: this,\n query: () => domSymbolTree.treeToArray(this, {\n filter: node => node._localName === \"a\" &&\n node.hasAttributeNS(null, \"name\") &&\n node._namespaceURI === HTML_NS\n })\n });\n }\n\n // The applets attribute must return an\n // HTMLCollection rooted at the Document node,\n // whose filter matches nothing.\n // (It exists for historical reasons.)\n get applets() {\n return HTMLCollection.createImpl(this._globalObject, [], {\n element: this,\n query: () => []\n });\n }\n\n open() {\n let child = domSymbolTree.firstChild(this);\n while (child) {\n this.removeChild(child);\n child = domSymbolTree.firstChild(this);\n }\n this._modified();\n return this;\n }\n close(noQueue) {\n // In some cases like when creating an empty iframe, I want to emit the\n // events right away to avoid problems if later I asign the property src.\n if (noQueue) {\n this.readyState = \"complete\";\n\n fireAnEvent(\"DOMContentLoaded\", this, undefined, { bubbles: true });\n fireAnEvent(\"load\", this);\n\n return;\n }\n this._queue.resume();\n\n const dummyPromise = Promise.resolve();\n\n const onDOMContentLoad = () => {\n const doc = this;\n function dispatchEvent() {\n // https://html.spec.whatwg.org/#the-end\n doc.readyState = \"interactive\";\n fireAnEvent(\"DOMContentLoaded\", doc, undefined, { bubbles: true });\n }\n\n return new Promise(resolve => {\n if (!this._deferQueue.tail) {\n dispatchEvent();\n resolve();\n return;\n }\n\n this._deferQueue.setListener(() => {\n dispatchEvent();\n resolve();\n });\n\n this._deferQueue.resume();\n });\n };\n\n const onLoad = () => {\n const doc = this;\n function dispatchEvent() {\n doc.readyState = \"complete\";\n fireAnEvent(\"load\", doc);\n }\n\n return new Promise(resolve => {\n if (this._asyncQueue.count() === 0) {\n dispatchEvent();\n resolve();\n return;\n }\n\n this._asyncQueue.setListener(() => {\n dispatchEvent();\n resolve();\n });\n });\n };\n\n this._queue.push(dummyPromise, onDOMContentLoad, null);\n // Set the readyState to 'complete' once all resources are loaded.\n // As a side-effect the document's load-event will be dispatched.\n this._queue.push(dummyPromise, onLoad, null, true);\n }\n\n getElementsByName(elementName) {\n return NodeList.createImpl(this._globalObject, [], {\n element: this,\n query: () => domSymbolTree.treeToArray(this, {\n filter: node => node.getAttributeNS && node.getAttributeNS(null, \"name\") === elementName\n })\n });\n }\n\n get title() {\n const { documentElement } = this;\n let value = \"\";\n\n if (documentElement && documentElement._localName === \"svg\") {\n const svgTitleElement = firstChildWithLocalName(documentElement, \"title\", SVG_NS);\n\n if (svgTitleElement) {\n value = childTextContent(svgTitleElement);\n }\n } else {\n const titleElement = firstDescendantWithLocalName(this, \"title\");\n\n if (titleElement) {\n value = childTextContent(titleElement);\n }\n }\n\n value = stripAndCollapseASCIIWhitespace(value);\n\n return value;\n }\n\n set title(value) {\n const { documentElement } = this;\n let element;\n\n if (documentElement && documentElement._localName === \"svg\") {\n element = firstChildWithLocalName(documentElement, \"title\", SVG_NS);\n\n if (!element) {\n element = this.createElementNS(SVG_NS, \"title\");\n\n this._insert(element, documentElement.firstChild);\n }\n\n element.textContent = value;\n } else if (documentElement && documentElement._namespaceURI === HTML_NS) {\n const titleElement = firstDescendantWithLocalName(this, \"title\");\n const headElement = this.head;\n\n if (titleElement === null && headElement === null) {\n return;\n }\n\n if (titleElement !== null) {\n element = titleElement;\n } else {\n element = this.createElement(\"title\");\n headElement._append(element);\n }\n\n element.textContent = value;\n }\n }\n\n get dir() {\n return this.documentElement ? this.documentElement.dir : \"\";\n }\n set dir(value) {\n if (this.documentElement) {\n this.documentElement.dir = value;\n }\n }\n\n get head() {\n return this.documentElement ? firstChildWithLocalName(this.documentElement, \"head\") : null;\n }\n\n get body() {\n const { documentElement } = this;\n if (!documentElement || documentElement._localName !== \"html\" ||\n documentElement._namespaceURI !== HTML_NS) {\n return null;\n }\n\n return firstChildWithLocalNames(this.documentElement, new Set([\"body\", \"frameset\"]));\n }\n\n set body(value) {\n if (value === null ||\n value._namespaceURI !== HTML_NS ||\n (value._localName !== \"body\" && value._localName !== \"frameset\")) {\n throw DOMException.create(this._globalObject, [\n \"Cannot set the body to null or a non-body/frameset element\",\n \"HierarchyRequestError\"\n ]);\n }\n\n const bodyElement = this.body;\n if (value === bodyElement) {\n return;\n }\n\n if (bodyElement !== null) {\n bodyElement.parentNode._replace(value, bodyElement);\n return;\n }\n\n const { documentElement } = this;\n if (documentElement === null) {\n throw DOMException.create(this._globalObject, [\n \"Cannot set the body when there is no document element\",\n \"HierarchyRequestError\"\n ]);\n }\n\n documentElement._append(value);\n }\n\n _runPreRemovingSteps(oldNode) {\n // https://html.spec.whatwg.org/#focus-fixup-rule\n if (oldNode === this.activeElement) {\n this._lastFocusedElement = this.body;\n }\n for (const activeNodeIterator of this._workingNodeIterators) {\n activeNodeIterator._preRemovingSteps(oldNode);\n }\n }\n\n createEvent(type) {\n const typeLower = type.toLowerCase();\n const eventWrapper = eventInterfaceTable[typeLower] || null;\n\n if (!eventWrapper) {\n throw DOMException.create(this._globalObject, [\n \"The provided event type (\\\"\" + type + \"\\\") is invalid\",\n \"NotSupportedError\"\n ]);\n }\n\n const impl = eventWrapper.createImpl(this._globalObject, [\"\"]);\n impl._initializedFlag = false;\n return impl;\n }\n\n createRange() {\n return Range.createImpl(this._globalObject, [], {\n start: { node: this, offset: 0 },\n end: { node: this, offset: 0 }\n });\n }\n\n createProcessingInstruction(target, data) {\n validateName(this._globalObject, target);\n\n if (data.includes(\"?>\")) {\n throw DOMException.create(this._globalObject, [\n \"Processing instruction data cannot contain the string \\\"?>\\\"\",\n \"InvalidCharacterError\"\n ]);\n }\n\n return ProcessingInstruction.createImpl(this._globalObject, [], {\n ownerDocument: this,\n target,\n data\n });\n }\n\n // https://dom.spec.whatwg.org/#dom-document-createcdatasection\n createCDATASection(data) {\n if (this._parsingMode === \"html\") {\n throw DOMException.create(this._globalObject, [\n \"Cannot create CDATA sections in HTML documents\",\n \"NotSupportedError\"\n ]);\n }\n\n if (data.includes(\"]]>\")) {\n throw DOMException.create(this._globalObject, [\n \"CDATA section data cannot contain the string \\\"]]>\\\"\",\n \"InvalidCharacterError\"\n ]);\n }\n\n return CDATASection.createImpl(this._globalObject, [], {\n ownerDocument: this,\n data\n });\n }\n\n createTextNode(data) {\n return Text.createImpl(this._globalObject, [], {\n ownerDocument: this,\n data\n });\n }\n\n createComment(data) {\n return Comment.createImpl(this._globalObject, [], {\n ownerDocument: this,\n data\n });\n }\n\n // https://dom.spec.whatwg.org/#dom-document-createelement\n createElement(localName, options) {\n validateName(this._globalObject, localName);\n\n if (this._parsingMode === \"html\") {\n localName = asciiLowercase(localName);\n }\n\n let isValue = null;\n if (options && options.is !== undefined) {\n isValue = options.is;\n }\n\n const namespace = this._parsingMode === \"html\" || this.contentType === \"application/xhtml+xml\" ? HTML_NS : null;\n\n return createElement(this, localName, namespace, null, isValue, true);\n }\n\n // https://dom.spec.whatwg.org/#dom-document-createelementns\n createElementNS(namespace, qualifiedName, options) {\n return internalCreateElementNSSteps(this, namespace, qualifiedName, options);\n }\n\n createDocumentFragment() {\n return DocumentFragment.createImpl(this._globalObject, [], { ownerDocument: this });\n }\n\n createAttribute(localName) {\n validateName(this._globalObject, localName);\n\n if (this._parsingMode === \"html\") {\n localName = asciiLowercase(localName);\n }\n\n return this._createAttribute({ localName });\n }\n\n createAttributeNS(namespace, name) {\n if (namespace === undefined) {\n namespace = null;\n }\n namespace = namespace !== null ? String(namespace) : namespace;\n\n const extracted = validateAndExtract(this._globalObject, namespace, name);\n return this._createAttribute({\n namespace: extracted.namespace,\n namespacePrefix: extracted.prefix,\n localName: extracted.localName\n });\n }\n\n // Using this helper function rather than directly calling generatedAttr.createImpl may be preferred in some files,\n // to avoid introducing a potentially cyclic dependency on generated/Attr.js.\n _createAttribute({\n localName,\n value,\n namespace,\n namespacePrefix\n }) {\n return generatedAttr.createImpl(this._globalObject, [], {\n localName,\n value,\n namespace,\n namespacePrefix,\n ownerDocument: this\n });\n }\n\n createTreeWalker(root, whatToShow, filter) {\n return TreeWalker.createImpl(this._globalObject, [], { root, whatToShow, filter });\n }\n\n createNodeIterator(root, whatToShow, filter) {\n const nodeIterator = NodeIterator.createImpl(this._globalObject, [], { root, whatToShow, filter });\n this._workingNodeIterators.add(nodeIterator);\n return nodeIterator;\n }\n\n importNode(node, deep) {\n if (node.nodeType === NODE_TYPE.DOCUMENT_NODE) {\n throw DOMException.create(this._globalObject, [\n \"Cannot import a document node\",\n \"NotSupportedError\"\n ]);\n } else if (ShadowRoot.isImpl(node)) {\n throw DOMException.create(this._globalObject, [\n \"Cannot adopt a shadow root\",\n \"NotSupportedError\"\n ]);\n }\n\n return clone(node, this, deep);\n }\n\n // https://dom.spec.whatwg.org/#dom-document-adoptnode\n adoptNode(node) {\n if (node.nodeType === NODE_TYPE.DOCUMENT_NODE) {\n throw DOMException.create(this._globalObject, [\n \"Cannot adopt a document node\",\n \"NotSupportedError\"\n ]);\n } else if (ShadowRoot.isImpl(node)) {\n throw DOMException.create(this._globalObject, [\n \"Cannot adopt a shadow root\",\n \"HierarchyRequestError\"\n ]);\n }\n\n this._adoptNode(node);\n\n return node;\n }\n\n // https://dom.spec.whatwg.org/#concept-node-adopt\n _adoptNode(node) {\n const newDocument = this;\n const oldDocument = node._ownerDocument;\n\n const parent = domSymbolTree.parent(node);\n if (parent) {\n parent._remove(node);\n }\n\n if (oldDocument !== newDocument) {\n for (const inclusiveDescendant of shadowIncludingInclusiveDescendantsIterator(node)) {\n inclusiveDescendant._ownerDocument = newDocument;\n }\n\n for (const inclusiveDescendant of shadowIncludingInclusiveDescendantsIterator(node)) {\n if (inclusiveDescendant._ceState === \"custom\") {\n enqueueCECallbackReaction(inclusiveDescendant, \"adoptedCallback\", [\n idlUtils.wrapperForImpl(oldDocument),\n idlUtils.wrapperForImpl(newDocument)\n ]);\n }\n }\n\n for (const inclusiveDescendant of shadowIncludingInclusiveDescendantsIterator(node)) {\n if (inclusiveDescendant._adoptingSteps) {\n inclusiveDescendant._adoptingSteps(oldDocument);\n }\n }\n }\n }\n\n get cookie() {\n return this._cookieJar.getCookieStringSync(this.URL, { http: false });\n }\n set cookie(cookieStr) {\n cookieStr = String(cookieStr);\n this._cookieJar.setCookieSync(cookieStr, this.URL, {\n http: false,\n ignoreError: true\n });\n }\n\n // The clear(), captureEvents(), and releaseEvents() methods must do nothing\n clear() {}\n\n captureEvents() {}\n\n releaseEvents() {}\n\n get styleSheets() {\n if (!this._styleSheets) {\n this._styleSheets = StyleSheetList.createImpl(this._globalObject);\n }\n\n // TODO: each style and link element should register its sheet on creation\n // and remove it on removal.\n return this._styleSheets;\n }\n\n get hidden() {\n if (this._defaultView && this._defaultView._pretendToBeVisual) {\n return false;\n }\n\n return true;\n }\n\n get visibilityState() {\n if (this._defaultView && this._defaultView._pretendToBeVisual) {\n return \"visible\";\n }\n\n return \"prerender\";\n }\n\n // https://w3c.github.io/selection-api/#extensions-to-document-interface\n getSelection() {\n return this._defaultView ? this._defaultView._selection : null;\n }\n\n // Needed to ensure that the resulting document has the correct prototype chain:\n // https://dom.spec.whatwg.org/#concept-node-clone says \"that implements the same interfaces as node\".\n _cloneDocument() {\n const copy = documents.createImpl(\n this._globalObject,\n {\n contentType: this.contentType,\n encoding: this._encoding,\n parsingMode: this._parsingMode\n }\n );\n\n copy._URL = this._URL;\n copy._origin = this._origin;\n return copy;\n }\n}\n\neventAccessors.createEventAccessor(DocumentImpl.prototype, \"readystatechange\");\nmixin(DocumentImpl.prototype, DocumentOrShadowRootImpl.prototype);\nmixin(DocumentImpl.prototype, GlobalEventHandlersImpl.prototype);\nmixin(DocumentImpl.prototype, NonElementParentNodeImpl.prototype);\nmixin(DocumentImpl.prototype, ParentNodeImpl.prototype);\n\nDocumentImpl.prototype.getElementsByTagName = memoizeQuery(function (qualifiedName) {\n return listOfElementsWithQualifiedName(qualifiedName, this);\n});\n\nDocumentImpl.prototype.getElementsByTagNameNS = memoizeQuery(function (namespace, localName) {\n return listOfElementsWithNamespaceAndLocalName(namespace, localName, this);\n});\n\nDocumentImpl.prototype.getElementsByClassName = memoizeQuery(function getElementsByClassName(classNames) {\n return listOfElementsWithClassNames(classNames, this);\n});\n\nmodule.exports = {\n implementation: DocumentImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst EventModifierInit = require(\"./EventModifierInit.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n EventModifierInit._convertInherit(globalObject, obj, ret, { context });\n\n {\n const key = \"changedTouches\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n if (!utils.isObject(value)) {\n throw new globalObject.TypeError(context + \" has member 'changedTouches' that\" + \" is not an iterable object.\");\n } else {\n const V = [];\n const tmp = value;\n for (let nextItem of tmp) {\n nextItem = utils.tryImplForWrapper(nextItem);\n\n V.push(nextItem);\n }\n value = V;\n }\n\n ret[key] = value;\n } else {\n ret[key] = [];\n }\n }\n\n {\n const key = \"targetTouches\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n if (!utils.isObject(value)) {\n throw new globalObject.TypeError(context + \" has member 'targetTouches' that\" + \" is not an iterable object.\");\n } else {\n const V = [];\n const tmp = value;\n for (let nextItem of tmp) {\n nextItem = utils.tryImplForWrapper(nextItem);\n\n V.push(nextItem);\n }\n value = V;\n }\n\n ret[key] = value;\n } else {\n ret[key] = [];\n }\n }\n\n {\n const key = \"touches\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n if (!utils.isObject(value)) {\n throw new globalObject.TypeError(context + \" has member 'touches' that\" + \" is not an iterable object.\");\n } else {\n const V = [];\n const tmp = value;\n for (let nextItem of tmp) {\n nextItem = utils.tryImplForWrapper(nextItem);\n\n V.push(nextItem);\n }\n value = V;\n }\n\n ret[key] = value;\n } else {\n ret[key] = [];\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","\"use strict\";\n\nexports.implementation = class NavigatorOnLineImpl {\n get onLine() {\n return true;\n }\n};\n","\"use strict\";\n\nconst combiningMarks = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CF3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{11002}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11082}\\u{110B0}-\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{11134}\\u{11145}\\u{11146}\\u{11173}\\u{11180}-\\u{11182}\\u{111B3}-\\u{111C0}\\u{111C9}-\\u{111CC}\\u{111CE}\\u{111CF}\\u{1122C}-\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}-\\u{112EA}\\u{11300}-\\u{11303}\\u{1133B}\\u{1133C}\\u{1133E}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11357}\\u{11362}\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113B8}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11435}-\\u{11446}\\u{1145E}\\u{114B0}-\\u{114C3}\\u{115AF}-\\u{115B5}\\u{115B8}-\\u{115C0}\\u{115DC}\\u{115DD}\\u{11630}-\\u{11640}\\u{116AB}-\\u{116B7}\\u{1171D}-\\u{1172B}\\u{1182C}-\\u{1183A}\\u{11930}-\\u{11935}\\u{11937}\\u{11938}\\u{1193B}-\\u{1193E}\\u{11940}\\u{11942}\\u{11943}\\u{119D1}-\\u{119D7}\\u{119DA}-\\u{119E0}\\u{119E4}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A39}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A5B}\\u{11A8A}-\\u{11A99}\\u{11C2F}-\\u{11C36}\\u{11C38}-\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D8A}-\\u{11D8E}\\u{11D90}\\u{11D91}\\u{11D93}-\\u{11D97}\\u{11EF3}-\\u{11EF6}\\u{11F00}\\u{11F01}\\u{11F03}\\u{11F34}-\\u{11F3A}\\u{11F3E}-\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F51}-\\u{16F87}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{16FF0}\\u{16FF1}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D165}-\\u{1D169}\\u{1D16D}-\\u{1D172}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]/u;\nconst combiningClassVirama = /[\\u094D\\u09CD\\u0A4D\\u0ACD\\u0B4D\\u0BCD\\u0C4D\\u0CCD\\u0D3B\\u0D3C\\u0D4D\\u0DCA\\u0E3A\\u0EBA\\u0F84\\u1039\\u103A\\u1714\\u1715\\u1734\\u17D2\\u1A60\\u1B44\\u1BAA\\u1BAB\\u1BF2\\u1BF3\\u2D7F\\uA806\\uA82C\\uA8C4\\uA953\\uA9C0\\uAAF6\\uABED\\u{10A3F}\\u{11046}\\u{11070}\\u{1107F}\\u{110B9}\\u{11133}\\u{11134}\\u{111C0}\\u{11235}\\u{112EA}\\u{1134D}\\u{113CE}-\\u{113D0}\\u{11442}\\u{114C2}\\u{115BF}\\u{1163F}\\u{116B6}\\u{1172B}\\u{11839}\\u{1193D}\\u{1193E}\\u{119E0}\\u{11A34}\\u{11A47}\\u{11A99}\\u{11C3F}\\u{11D44}\\u{11D45}\\u{11D97}\\u{11F41}\\u{11F42}\\u{1612F}]/u;\nconst validZWNJ = /[\\u0620\\u0626\\u0628\\u062A-\\u062E\\u0633-\\u063F\\u0641-\\u0647\\u0649\\u064A\\u066E\\u066F\\u0678-\\u0687\\u069A-\\u06BF\\u06C1\\u06C2\\u06CC\\u06CE\\u06D0\\u06D1\\u06FA-\\u06FC\\u06FF\\u0712-\\u0714\\u071A-\\u071D\\u071F-\\u0727\\u0729\\u072B\\u072D\\u072E\\u074E-\\u0758\\u075C-\\u076A\\u076D-\\u0770\\u0772\\u0775-\\u0777\\u077A-\\u077F\\u07CA-\\u07EA\\u0841-\\u0845\\u0848\\u084A-\\u0853\\u0855\\u0860\\u0862-\\u0865\\u0868\\u0886\\u0889-\\u088D\\u08A0-\\u08A9\\u08AF\\u08B0\\u08B3-\\u08B8\\u08BA-\\u08C8\\u1807\\u1820-\\u1878\\u1887-\\u18A8\\u18AA\\uA840-\\uA872\\u{10AC0}-\\u{10AC4}\\u{10ACD}\\u{10AD3}-\\u{10ADC}\\u{10ADE}-\\u{10AE0}\\u{10AEB}-\\u{10AEE}\\u{10B80}\\u{10B82}\\u{10B86}-\\u{10B88}\\u{10B8A}\\u{10B8B}\\u{10B8D}\\u{10B90}\\u{10BAD}\\u{10BAE}\\u{10D00}-\\u{10D21}\\u{10D23}\\u{10EC3}\\u{10EC4}\\u{10F30}-\\u{10F32}\\u{10F34}-\\u{10F44}\\u{10F51}-\\u{10F53}\\u{10F70}-\\u{10F73}\\u{10F76}-\\u{10F81}\\u{10FB0}\\u{10FB2}\\u{10FB3}\\u{10FB8}\\u{10FBB}\\u{10FBC}\\u{10FBE}\\u{10FBF}\\u{10FC1}\\u{10FC4}\\u{10FCA}\\u{10FCB}\\u{1E900}-\\u{1E943}][\\xAD\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u061C\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u200B\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFEFF\\uFFF9-\\uFFFB\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13430}-\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94B}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*\\u200C[\\xAD\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u061C\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u200B\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFEFF\\uFFF9-\\uFFFB\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13430}-\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94B}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*[\\u0620\\u0622-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u0673\\u0675-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u077F\\u07CA-\\u07EA\\u0840-\\u0858\\u0860\\u0862-\\u0865\\u0867-\\u086A\\u0870-\\u0882\\u0886\\u0889-\\u088E\\u08A0-\\u08AC\\u08AE-\\u08C8\\u1807\\u1820-\\u1878\\u1887-\\u18A8\\u18AA\\uA840-\\uA871\\u{10AC0}-\\u{10AC5}\\u{10AC7}\\u{10AC9}\\u{10ACA}\\u{10ACE}-\\u{10AD6}\\u{10AD8}-\\u{10AE1}\\u{10AE4}\\u{10AEB}-\\u{10AEF}\\u{10B80}-\\u{10B91}\\u{10BA9}-\\u{10BAE}\\u{10D01}-\\u{10D23}\\u{10EC2}-\\u{10EC4}\\u{10F30}-\\u{10F44}\\u{10F51}-\\u{10F54}\\u{10F70}-\\u{10F81}\\u{10FB0}\\u{10FB2}-\\u{10FB6}\\u{10FB8}-\\u{10FBF}\\u{10FC1}-\\u{10FC4}\\u{10FC9}\\u{10FCA}\\u{1E900}-\\u{1E943}]/u;\nconst bidiDomain = /[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0605\\u0608\\u060B\\u060D\\u061B-\\u064A\\u0660-\\u0669\\u066B-\\u066F\\u0671-\\u06D5\\u06DD\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u08A0-\\u08C9\\u08E2\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}]/u;\nconst bidiS1LTR = /[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02BB-\\u02C1\\u02D0\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u09FC\\u09FD\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A76\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AF0\\u0AF9\\u0B02\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C77\\u0C7F\\u0C80\\u0C82-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D02-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D4F\\u0D54-\\u0D61\\u0D66-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u102C\\u1031\\u1038\\u103B\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u16F8\\u1700-\\u1711\\u1715\\u171F-\\u1731\\u1734-\\u1736\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A19\\u1A1A\\u1A1E-\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B4C\\u1B4E-\\u1B6A\\u1B74-\\u1B7F\\u1B82-\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BAE-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1BFC-\\u1C2B\\u1C34\\u1C35\\u1C3B-\\u1C49\\u1C4D-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF7\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u302E\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31BF\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA680-\\uA69D\\uA6A0-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA8FE\\uA900-\\uA925\\uA92E-\\uA946\\uA952\\uA953\\uA95F-\\uA97C\\uA983-\\uA9B2\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA7B\\uAA7D-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAAEB\\uAAEE-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB69\\uAB70-\\uABE4\\uABE6\\uABE7\\uABE9-\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1013F}\\u{1018D}\\u{1018E}\\u{101D0}-\\u{101FC}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{11000}\\u{11002}-\\u{11037}\\u{11047}-\\u{1104D}\\u{11066}-\\u{1106F}\\u{11071}\\u{11072}\\u{11075}\\u{11082}-\\u{110B2}\\u{110B7}\\u{110B8}\\u{110BB}-\\u{110C1}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11103}-\\u{11126}\\u{1112C}\\u{11136}-\\u{11147}\\u{11150}-\\u{11172}\\u{11174}-\\u{11176}\\u{11182}-\\u{111B5}\\u{111BF}-\\u{111C8}\\u{111CD}\\u{111CE}\\u{111D0}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122E}\\u{11232}\\u{11233}\\u{11235}\\u{11238}-\\u{1123D}\\u{1123F}\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112DE}\\u{112E0}-\\u{112E2}\\u{112F0}-\\u{112F9}\\u{11302}\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113BA}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}\\u{113CD}\\u{113CF}\\u{113D1}\\u{113D3}-\\u{113D5}\\u{113D7}\\u{113D8}\\u{11400}-\\u{11437}\\u{11440}\\u{11441}\\u{11445}\\u{11447}-\\u{1145B}\\u{1145D}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{114C4}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{115C1}-\\u{115DB}\\u{11600}-\\u{11632}\\u{1163B}\\u{1163C}\\u{1163E}\\u{11641}-\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116AA}\\u{116AC}\\u{116AE}\\u{116AF}\\u{116B6}\\u{116B8}\\u{116B9}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171E}\\u{11720}\\u{11721}\\u{11726}\\u{11730}-\\u{11746}\\u{11800}-\\u{1182E}\\u{11838}\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193D}\\u{1193F}-\\u{11942}\\u{11944}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E1}-\\u{119E4}\\u{11A00}\\u{11A07}\\u{11A08}\\u{11A0B}-\\u{11A32}\\u{11A39}\\u{11A3A}\\u{11A3F}-\\u{11A46}\\u{11A50}\\u{11A57}\\u{11A58}\\u{11A5C}-\\u{11A89}\\u{11A97}\\u{11A9A}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11B00}-\\u{11B09}\\u{11BC0}-\\u{11BE1}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2F}\\u{11C3E}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D93}\\u{11D94}\\u{11D96}\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF2}\\u{11EF5}-\\u{11EF8}\\u{11F02}-\\u{11F10}\\u{11F12}-\\u{11F35}\\u{11F3E}\\u{11F3F}\\u{11F41}\\u{11F43}-\\u{11F59}\\u{11FB0}\\u{11FC0}-\\u{11FD4}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1343F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{1612A}-\\u{1612C}\\u{16130}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF5}\\u{16B00}-\\u{16B2F}\\u{16B37}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D79}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F50}-\\u{16F87}\\u{16F93}-\\u{16F9F}\\u{16FE0}\\u{16FE1}\\u{16FE3}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18CFF}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}\\u{1BC9F}\\u{1CCD6}-\\u{1CCEF}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D166}\\u{1D16A}-\\u{1D172}\\u{1D183}\\u{1D184}\\u{1D18C}-\\u{1D1A9}\\u{1D1AE}-\\u{1D1E8}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D800}-\\u{1D9FF}\\u{1DA37}-\\u{1DA3A}\\u{1DA6D}-\\u{1DA74}\\u{1DA76}-\\u{1DA83}\\u{1DA85}-\\u{1DA8B}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E2F0}-\\u{1E2F9}\\u{1E4D0}-\\u{1E4EB}\\u{1E4F0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}-\\u{1E5FA}\\u{1E5FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1F110}-\\u{1F12E}\\u{1F130}-\\u{1F169}\\u{1F170}-\\u{1F1AC}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B739}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{323AF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]/u;\nconst bidiS1RTL = /[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}]/u;\nconst bidiS2 = /^[\\0-\\x08\\x0E-\\x1B!-@\\[-`\\{-\\x84\\x86-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02B9\\u02BA\\u02C2-\\u02CF\\u02D2-\\u02DF\\u02E5-\\u02ED\\u02EF-\\u036F\\u0374\\u0375\\u037E\\u0384\\u0385\\u0387\\u03F6\\u0483-\\u0489\\u058A\\u058D-\\u058F\\u0591-\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u070D\\u070F-\\u074A\\u074D-\\u07B1\\u07C0-\\u07FA\\u07FD-\\u082D\\u0830-\\u083E\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u0897-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09F2\\u09F3\\u09FB\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AF1\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0BF3-\\u0BFA\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C78-\\u0C7E\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E3F\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39-\\u0F3D\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1390-\\u1399\\u1400\\u169B\\u169C\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DB\\u17DD\\u17F0-\\u17F9\\u1800-\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1940\\u1944\\u1945\\u19DE-\\u19FF\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u200B-\\u200D\\u200F-\\u2027\\u202F-\\u205E\\u2060-\\u2064\\u206A-\\u2070\\u2074-\\u207E\\u2080-\\u208E\\u20A0-\\u20C0\\u20D0-\\u20F0\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u2150-\\u215F\\u2189-\\u218B\\u2190-\\u2335\\u237B-\\u2394\\u2396-\\u2429\\u2440-\\u244A\\u2460-\\u249B\\u24EA-\\u26AB\\u26AD-\\u27FF\\u2900-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF9-\\u2CFF\\u2D7F\\u2DE0-\\u2E5D\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFF\\u3001-\\u3004\\u3008-\\u3020\\u302A-\\u302D\\u3030\\u3036\\u3037\\u303D-\\u303F\\u3099-\\u309C\\u30A0\\u30FB\\u31C0-\\u31E5\\u31EF\\u321D\\u321E\\u3250-\\u325F\\u327C-\\u327E\\u32B1-\\u32BF\\u32CC-\\u32CF\\u3377-\\u337A\\u33DE\\u33DF\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA60D-\\uA60F\\uA66F-\\uA67F\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA700-\\uA721\\uA788\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA828-\\uA82C\\uA838\\uA839\\uA874-\\uA877\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uAB6A\\uAB6B\\uABE5\\uABE8\\uABED\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD8F\\uFD92-\\uFDC7\\uFDCF\\uFDF0-\\uFE19\\uFE20-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF01-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\\u{10101}\\u{10140}-\\u{1018C}\\u{10190}-\\u{1019C}\\u{101A0}\\u{101FD}\\u{102E0}-\\u{102FB}\\u{10376}-\\u{1037A}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{1091F}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A38}-\\u{10A3A}\\u{10A3F}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE6}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B39}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D27}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D69}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAB}-\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10EFC}-\\u{10F27}\\u{10F30}-\\u{10F59}\\u{10F70}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{11001}\\u{11038}-\\u{11046}\\u{11052}-\\u{11065}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{11660}-\\u{1166C}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{11FD5}-\\u{11FF1}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE2}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CC00}-\\u{1CCD5}\\u{1CCF0}-\\u{1CCF9}\\u{1CD00}-\\u{1CEB3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D1E9}\\u{1D1EA}\\u{1D200}-\\u{1D245}\\u{1D300}-\\u{1D356}\\u{1D6C1}\\u{1D6DB}\\u{1D6FB}\\u{1D715}\\u{1D735}\\u{1D74F}\\u{1D76F}\\u{1D789}\\u{1D7A9}\\u{1D7C3}\\u{1D7CE}-\\u{1D7FF}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E2FF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8D6}\\u{1E900}-\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1EEF0}\\u{1EEF1}\\u{1F000}-\\u{1F02B}\\u{1F030}-\\u{1F093}\\u{1F0A0}-\\u{1F0AE}\\u{1F0B1}-\\u{1F0BF}\\u{1F0C1}-\\u{1F0CF}\\u{1F0D1}-\\u{1F0F5}\\u{1F100}-\\u{1F10F}\\u{1F12F}\\u{1F16A}-\\u{1F16F}\\u{1F1AD}\\u{1F260}-\\u{1F265}\\u{1F300}-\\u{1F6D7}\\u{1F6DC}-\\u{1F6EC}\\u{1F6F0}-\\u{1F6FC}\\u{1F700}-\\u{1F776}\\u{1F77B}-\\u{1F7D9}\\u{1F7E0}-\\u{1F7EB}\\u{1F7F0}\\u{1F800}-\\u{1F80B}\\u{1F810}-\\u{1F847}\\u{1F850}-\\u{1F859}\\u{1F860}-\\u{1F887}\\u{1F890}-\\u{1F8AD}\\u{1F8B0}-\\u{1F8BB}\\u{1F8C0}\\u{1F8C1}\\u{1F900}-\\u{1FA53}\\u{1FA60}-\\u{1FA6D}\\u{1FA70}-\\u{1FA7C}\\u{1FA80}-\\u{1FA89}\\u{1FA8F}-\\u{1FAC6}\\u{1FACE}-\\u{1FADC}\\u{1FADF}-\\u{1FAE9}\\u{1FAF0}-\\u{1FAF8}\\u{1FB00}-\\u{1FB92}\\u{1FB94}-\\u{1FBF9}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*$/u;\nconst bidiS3 = /[0-9\\xB2\\xB3\\xB9\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0605\\u0608\\u060B\\u060D\\u061B-\\u064A\\u0660-\\u0669\\u066B-\\u066F\\u0671-\\u06D5\\u06DD\\u06E5\\u06E6\\u06EE-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u08A0-\\u08C9\\u08E2\\u200F\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2488-\\u249B\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\u{102E1}-\\u{102FB}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D7CE}-\\u{1D7FF}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1F100}-\\u{1F10A}\\u{1FBF0}-\\u{1FBF9}][\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]*$/u;\nconst bidiS4EN = /[0-9\\xB2\\xB3\\xB9\\u06F0-\\u06F9\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2488-\\u249B\\uFF10-\\uFF19\\u{102E1}-\\u{102FB}\\u{1CCF0}-\\u{1CCF9}\\u{1D7CE}-\\u{1D7FF}\\u{1F100}-\\u{1F10A}\\u{1FBF0}-\\u{1FBF9}]/u;\nconst bidiS4AN = /[\\u0600-\\u0605\\u0660-\\u0669\\u066B\\u066C\\u06DD\\u0890\\u0891\\u08E2\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}]/u;\nconst bidiS5 = /^[\\0-\\x08\\x0E-\\x1B!-\\x84\\x86-\\u0377\\u037A-\\u037F\\u0384-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u052F\\u0531-\\u0556\\u0559-\\u058A\\u058D-\\u058F\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0606\\u0607\\u0609\\u060A\\u060C\\u060E-\\u061A\\u064B-\\u065F\\u066A\\u0670\\u06D6-\\u06DC\\u06DE-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A76\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AF1\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B77\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BFA\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C77-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4F\\u0D54-\\u0D63\\u0D66-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E3A\\u0E3F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F97\\u0F99-\\u0FBC\\u0FBE-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u137C\\u1380-\\u1399\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1400-\\u167F\\u1681-\\u169C\\u16A0-\\u16F8\\u1700-\\u1715\\u171F-\\u1736\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17DD\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1800-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1940\\u1944-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u19DE-\\u1A1B\\u1A1E-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1AB0-\\u1ACE\\u1B00-\\u1B4C\\u1B4E-\\u1BF3\\u1BFC-\\u1C37\\u1C3B-\\u1C49\\u1C4D-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD0-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFE\\u200B-\\u200E\\u2010-\\u2027\\u202F-\\u205E\\u2060-\\u2064\\u206A-\\u2071\\u2074-\\u208E\\u2090-\\u209C\\u20A0-\\u20C0\\u20D0-\\u20F0\\u2100-\\u218B\\u2190-\\u2429\\u2440-\\u244A\\u2460-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2CF3\\u2CF9-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2E5D\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFF\\u3001-\\u303F\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31E5\\u31EF-\\u321E\\u3220-\\uA48C\\uA490-\\uA4C6\\uA4D0-\\uA62B\\uA640-\\uA6F7\\uA700-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA82C\\uA830-\\uA839\\uA840-\\uA877\\uA880-\\uA8C5\\uA8CE-\\uA8D9\\uA8E0-\\uA953\\uA95F-\\uA97C\\uA980-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAAC2\\uAADB-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB6B\\uAB70-\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1E\\uFB29\\uFD3E-\\uFD4F\\uFDCF\\uFDFD-\\uFE19\\uFE20-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFEFF\\uFF01-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}-\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1018E}\\u{10190}-\\u{1019C}\\u{101A0}\\u{101D0}-\\u{101FD}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E0}-\\u{102FB}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{1037A}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{1091F}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10B39}-\\u{10B3F}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6E}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{1104D}\\u{11052}-\\u{11075}\\u{1107F}-\\u{110C2}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11100}-\\u{11134}\\u{11136}-\\u{11147}\\u{11150}-\\u{11176}\\u{11180}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{11241}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112EA}\\u{112F0}-\\u{112F9}\\u{11300}-\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133B}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D5}\\u{113D7}\\u{113D8}\\u{113E1}\\u{113E2}\\u{11400}-\\u{1145B}\\u{1145D}-\\u{11461}\\u{11480}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B5}\\u{115B8}-\\u{115DD}\\u{11600}-\\u{11644}\\u{11650}-\\u{11659}\\u{11660}-\\u{1166C}\\u{11680}-\\u{116B9}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171D}-\\u{1172B}\\u{11730}-\\u{11746}\\u{11800}-\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193B}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D7}\\u{119DA}-\\u{119E4}\\u{11A00}-\\u{11A47}\\u{11A50}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11B00}-\\u{11B09}\\u{11BC0}-\\u{11BE1}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C36}\\u{11C38}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D47}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D90}\\u{11D91}\\u{11D93}-\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF8}\\u{11F00}-\\u{11F10}\\u{11F12}-\\u{11F3A}\\u{11F3E}-\\u{11F5A}\\u{11FB0}\\u{11FC0}-\\u{11FF1}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{13455}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF0}-\\u{16AF5}\\u{16B00}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D79}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F4F}-\\u{16F87}\\u{16F8F}-\\u{16F9F}\\u{16FE0}-\\u{16FE4}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18CFF}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}-\\u{1BCA3}\\u{1CC00}-\\u{1CCF9}\\u{1CD00}-\\u{1CEB3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D1EA}\\u{1D200}-\\u{1D245}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D300}-\\u{1D356}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D7CB}\\u{1D7CE}-\\u{1DA8B}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E030}-\\u{1E06D}\\u{1E08F}\\u{1E100}-\\u{1E12C}\\u{1E130}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AE}\\u{1E2C0}-\\u{1E2F9}\\u{1E2FF}\\u{1E4D0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5FA}\\u{1E5FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{1EEF0}\\u{1EEF1}\\u{1F000}-\\u{1F02B}\\u{1F030}-\\u{1F093}\\u{1F0A0}-\\u{1F0AE}\\u{1F0B1}-\\u{1F0BF}\\u{1F0C1}-\\u{1F0CF}\\u{1F0D1}-\\u{1F0F5}\\u{1F100}-\\u{1F1AD}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{1F260}-\\u{1F265}\\u{1F300}-\\u{1F6D7}\\u{1F6DC}-\\u{1F6EC}\\u{1F6F0}-\\u{1F6FC}\\u{1F700}-\\u{1F776}\\u{1F77B}-\\u{1F7D9}\\u{1F7E0}-\\u{1F7EB}\\u{1F7F0}\\u{1F800}-\\u{1F80B}\\u{1F810}-\\u{1F847}\\u{1F850}-\\u{1F859}\\u{1F860}-\\u{1F887}\\u{1F890}-\\u{1F8AD}\\u{1F8B0}-\\u{1F8BB}\\u{1F8C0}\\u{1F8C1}\\u{1F900}-\\u{1FA53}\\u{1FA60}-\\u{1FA6D}\\u{1FA70}-\\u{1FA7C}\\u{1FA80}-\\u{1FA89}\\u{1FA8F}-\\u{1FAC6}\\u{1FACE}-\\u{1FADC}\\u{1FADF}-\\u{1FAE9}\\u{1FAF0}-\\u{1FAF8}\\u{1FB00}-\\u{1FB92}\\u{1FB94}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B739}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{323AF}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]*$/u;\nconst bidiS6 = /[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02BB-\\u02C1\\u02D0\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559-\\u0589\\u06F0-\\u06F9\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u09FC\\u09FD\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A76\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AF0\\u0AF9\\u0B02\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C77\\u0C7F\\u0C80\\u0C82-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D02-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D4F\\u0D54-\\u0D61\\u0D66-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u102C\\u1031\\u1038\\u103B\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u16F8\\u1700-\\u1711\\u1715\\u171F-\\u1731\\u1734-\\u1736\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A19\\u1A1A\\u1A1E-\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B4C\\u1B4E-\\u1B6A\\u1B74-\\u1B7F\\u1B82-\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BAE-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1BFC-\\u1C2B\\u1C34\\u1C35\\u1C3B-\\u1C49\\u1C4D-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF7\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u2488-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u302E\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31BF\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA680-\\uA69D\\uA6A0-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA8FE\\uA900-\\uA925\\uA92E-\\uA946\\uA952\\uA953\\uA95F-\\uA97C\\uA983-\\uA9B2\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA7B\\uAA7D-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAAEB\\uAAEE-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB69\\uAB70-\\uABE4\\uABE6\\uABE7\\uABE9-\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1013F}\\u{1018D}\\u{1018E}\\u{101D0}-\\u{101FC}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E1}-\\u{102FB}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{11000}\\u{11002}-\\u{11037}\\u{11047}-\\u{1104D}\\u{11066}-\\u{1106F}\\u{11071}\\u{11072}\\u{11075}\\u{11082}-\\u{110B2}\\u{110B7}\\u{110B8}\\u{110BB}-\\u{110C1}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11103}-\\u{11126}\\u{1112C}\\u{11136}-\\u{11147}\\u{11150}-\\u{11172}\\u{11174}-\\u{11176}\\u{11182}-\\u{111B5}\\u{111BF}-\\u{111C8}\\u{111CD}\\u{111CE}\\u{111D0}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122E}\\u{11232}\\u{11233}\\u{11235}\\u{11238}-\\u{1123D}\\u{1123F}\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112DE}\\u{112E0}-\\u{112E2}\\u{112F0}-\\u{112F9}\\u{11302}\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113BA}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}\\u{113CD}\\u{113CF}\\u{113D1}\\u{113D3}-\\u{113D5}\\u{113D7}\\u{113D8}\\u{11400}-\\u{11437}\\u{11440}\\u{11441}\\u{11445}\\u{11447}-\\u{1145B}\\u{1145D}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{114C4}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{115C1}-\\u{115DB}\\u{11600}-\\u{11632}\\u{1163B}\\u{1163C}\\u{1163E}\\u{11641}-\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116AA}\\u{116AC}\\u{116AE}\\u{116AF}\\u{116B6}\\u{116B8}\\u{116B9}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171E}\\u{11720}\\u{11721}\\u{11726}\\u{11730}-\\u{11746}\\u{11800}-\\u{1182E}\\u{11838}\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193D}\\u{1193F}-\\u{11942}\\u{11944}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E1}-\\u{119E4}\\u{11A00}\\u{11A07}\\u{11A08}\\u{11A0B}-\\u{11A32}\\u{11A39}\\u{11A3A}\\u{11A3F}-\\u{11A46}\\u{11A50}\\u{11A57}\\u{11A58}\\u{11A5C}-\\u{11A89}\\u{11A97}\\u{11A9A}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11B00}-\\u{11B09}\\u{11BC0}-\\u{11BE1}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2F}\\u{11C3E}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D93}\\u{11D94}\\u{11D96}\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF2}\\u{11EF5}-\\u{11EF8}\\u{11F02}-\\u{11F10}\\u{11F12}-\\u{11F35}\\u{11F3E}\\u{11F3F}\\u{11F41}\\u{11F43}-\\u{11F59}\\u{11FB0}\\u{11FC0}-\\u{11FD4}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1343F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{1612A}-\\u{1612C}\\u{16130}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF5}\\u{16B00}-\\u{16B2F}\\u{16B37}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D79}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F50}-\\u{16F87}\\u{16F93}-\\u{16F9F}\\u{16FE0}\\u{16FE1}\\u{16FE3}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18CFF}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}\\u{1BC9F}\\u{1CCD6}-\\u{1CCF9}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D166}\\u{1D16A}-\\u{1D172}\\u{1D183}\\u{1D184}\\u{1D18C}-\\u{1D1A9}\\u{1D1AE}-\\u{1D1E8}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D7CE}-\\u{1D9FF}\\u{1DA37}-\\u{1DA3A}\\u{1DA6D}-\\u{1DA74}\\u{1DA76}-\\u{1DA83}\\u{1DA85}-\\u{1DA8B}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E2F0}-\\u{1E2F9}\\u{1E4D0}-\\u{1E4EB}\\u{1E4F0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}-\\u{1E5FA}\\u{1E5FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1F100}-\\u{1F10A}\\u{1F110}-\\u{1F12E}\\u{1F130}-\\u{1F169}\\u{1F170}-\\u{1F1AC}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{1FBF0}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B739}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{323AF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}][\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]*$/u;\n\nmodule.exports = {\n combiningMarks,\n combiningClassVirama,\n validZWNJ,\n bidiDomain,\n bidiS1LTR,\n bidiS1RTL,\n bidiS2,\n bidiS3,\n bidiS4EN,\n bidiS4AN,\n bidiS5,\n bidiS6\n };\n",";(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*!\r\n * decimal.js v10.6.0\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js\r\n * Copyright (c) 2025 Michael Mclaughlin \r\n * MIT Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The maximum exponent magnitude.\r\n // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`.\r\n var EXP_LIMIT = 9e15, // 0 to 9e15\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n // Base conversion alphabet.\r\n NUMERALS = '0123456789abcdef',\r\n\r\n // The natural logarithm of 10 (1025 digits).\r\n LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058',\r\n\r\n // Pi (1025 digits).\r\n PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789',\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n DEFAULTS = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed at run-time using the `Decimal.config` method.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used when rounding to `precision`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 The IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.\r\n //\r\n // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian\r\n // division (9) are commonly used for the modulus operation. The other rounding modes can also\r\n // be used, but they may not give useful results.\r\n modulo: 1, // 0 to 9\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -EXP_LIMIT\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to EXP_LIMIT\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // JavaScript numbers: -324 (5e-324)\r\n minE: -EXP_LIMIT, // -1 to -EXP_LIMIT\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // JavaScript numbers: 308 (1.7976931348623157e+308)\r\n maxE: EXP_LIMIT, // 1 to EXP_LIMIT\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n crypto: false // true/false\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n Decimal, inexact, noConflict, quadrant,\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n precisionLimitExceeded = decimalError + 'Precision limit exceeded',\r\n cryptoUnavailable = decimalError + 'crypto unavailable',\r\n tag = '[object Decimal]',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isBinary = /^0b([01]+(\\.[01]*)?|\\.[01]+)(p[+-]?\\d+)?$/i,\r\n isHex = /^0x([0-9a-f]+(\\.[0-9a-f]*)?|\\.[0-9a-f]+)(p[+-]?\\d+)?$/i,\r\n isOctal = /^0o([0-7]+(\\.[0-7]*)?|\\.[0-7]+)(p[+-]?\\d+)?$/i,\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n\r\n LN10_PRECISION = LN10.length - 1,\r\n PI_PRECISION = PI.length - 1,\r\n\r\n // Decimal.prototype object\r\n P = { toStringTag: tag };\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * ceil\r\n * clampedTo clamp\r\n * comparedTo cmp\r\n * cosine cos\r\n * cubeRoot cbrt\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy divToInt\r\n * equals eq\r\n * floor\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * hyperbolicCosine cosh\r\n * hyperbolicSine sinh\r\n * hyperbolicTangent tanh\r\n * inverseCosine acos\r\n * inverseHyperbolicCosine acosh\r\n * inverseHyperbolicSine asinh\r\n * inverseHyperbolicTangent atanh\r\n * inverseSine asin\r\n * inverseTangent atan\r\n * isFinite\r\n * isInteger isInt\r\n * isNaN\r\n * isNegative isNeg\r\n * isPositive isPos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * [maximum] [max]\r\n * [minimum] [min]\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * round\r\n * sine sin\r\n * squareRoot sqrt\r\n * tangent tan\r\n * times mul\r\n * toBinary\r\n * toDecimalPlaces toDP\r\n * toExponential\r\n * toFixed\r\n * toFraction\r\n * toHexadecimal toHex\r\n * toNearest\r\n * toNumber\r\n * toOctal\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits toSD\r\n * toString\r\n * truncated trunc\r\n * valueOf toJSON\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s < 0) x.s = 1;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of positive Infinity.\r\n *\r\n */\r\n P.ceil = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal clamped to the range\r\n * delineated by `min` and `max`.\r\n *\r\n * min {number|string|bigint|Decimal}\r\n * max {number|string|bigint|Decimal}\r\n *\r\n */\r\n P.clampedTo = P.clamp = function (min, max) {\r\n var k,\r\n x = this,\r\n Ctor = x.constructor;\r\n min = new Ctor(min);\r\n max = new Ctor(max);\r\n if (!min.s || !max.s) return new Ctor(NaN);\r\n if (min.gt(max)) throw Error(invalidArgument + max);\r\n k = x.cmp(min);\r\n return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x);\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value,\r\n * NaN if the value of either Decimal is NaN.\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this,\r\n xd = x.d,\r\n yd = (y = new x.constructor(y)).d,\r\n xs = x.s,\r\n ys = y.s;\r\n\r\n // Either NaN or ±Infinity?\r\n if (!xd || !yd) {\r\n return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Either zero?\r\n if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;\r\n\r\n // Signs differ?\r\n if (xs !== ys) return xs;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;\r\n\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * cos(0) = 1\r\n * cos(-0) = 1\r\n * cos(Infinity) = NaN\r\n * cos(-Infinity) = NaN\r\n * cos(NaN) = NaN\r\n *\r\n */\r\n P.cosine = P.cos = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.d) return new Ctor(NaN);\r\n\r\n // cos(0) = cos(-0) = 1\r\n if (!x.d[0]) return new Ctor(1);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = cosine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n *\r\n * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * cbrt(0) = 0\r\n * cbrt(-0) = -0\r\n * cbrt(1) = 1\r\n * cbrt(-1) = -1\r\n * cbrt(N) = N\r\n * cbrt(-I) = -I\r\n * cbrt(I) = I\r\n *\r\n * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3))\r\n *\r\n */\r\n P.cubeRoot = P.cbrt = function () {\r\n var e, m, n, r, rep, s, sd, t, t3, t3plusx,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = x.s * mathpow(x.s * x, 1 / 3);\r\n\r\n // Math.cbrt underflow/overflow?\r\n // Pass x to Math.pow as integer, then adjust the exponent of the result.\r\n if (!s || Math.abs(s) == 1 / 0) {\r\n n = digitsToString(x.d);\r\n e = x.e;\r\n\r\n // Adjust n exponent so it is a multiple of 3 away from x exponent.\r\n if (s = (e - n.length + 1) % 3) n += (s == 1 || s == -2 ? '0' : '00');\r\n s = mathpow(n, 1 / 3);\r\n\r\n // Rarely, e may be one less than the result exponent value.\r\n e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n r.s = x.s;\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Halley's method.\r\n // TODO? Compare Newton's method.\r\n for (;;) {\r\n t = r;\r\n t3 = t.times(t).times(t);\r\n t3plusx = t3.plus(x);\r\n r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999\r\n // , i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var w,\r\n d = this.d,\r\n n = NaN;\r\n\r\n if (d) {\r\n w = d.length - 1;\r\n n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) n--;\r\n if (n < 0) n = 0;\r\n }\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.divToInt = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of negative Infinity.\r\n *\r\n */\r\n P.floor = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 3);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n var k = this.cmp(y);\r\n return k == 1 || k === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [1, Infinity]\r\n *\r\n * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ...\r\n *\r\n * cosh(0) = 1\r\n * cosh(-0) = 1\r\n * cosh(Infinity) = Infinity\r\n * cosh(-Infinity) = Infinity\r\n * cosh(NaN) = NaN\r\n *\r\n * x time taken (ms) result\r\n * 1000 9 9.8503555700852349694e+433\r\n * 10000 25 4.4034091128314607936e+4342\r\n * 100000 171 1.4033316802130615897e+43429\r\n * 1000000 3817 1.5166076984010437725e+434294\r\n * 10000000 abandoned after 2 minute wait\r\n *\r\n * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x))\r\n *\r\n */\r\n P.hyperbolicCosine = P.cosh = function () {\r\n var k, n, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor,\r\n one = new Ctor(1);\r\n\r\n if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);\r\n if (x.isZero()) return one;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1\r\n // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n // TODO? Estimation reused from cosine() and may not be optimal here.\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n n = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n n = '2.3283064365386962890625e-10';\r\n }\r\n\r\n x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true);\r\n\r\n // Reverse argument reduction\r\n var cosh2_x,\r\n i = k,\r\n d8 = new Ctor(8);\r\n for (; i--;) {\r\n cosh2_x = x.times(x);\r\n x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));\r\n }\r\n\r\n return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ...\r\n *\r\n * sinh(0) = 0\r\n * sinh(-0) = -0\r\n * sinh(Infinity) = Infinity\r\n * sinh(-Infinity) = -Infinity\r\n * sinh(NaN) = NaN\r\n *\r\n * x time taken (ms)\r\n * 10 2 ms\r\n * 100 5 ms\r\n * 1000 14 ms\r\n * 10000 82 ms\r\n * 100000 886 ms 1.4033316802130615897e+43429\r\n * 200000 2613 ms\r\n * 300000 5407 ms\r\n * 400000 8824 ms\r\n * 500000 13026 ms 8.7080643612718084129e+217146\r\n * 1000000 48543 ms\r\n *\r\n * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x))\r\n *\r\n */\r\n P.hyperbolicSine = P.sinh = function () {\r\n var k, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n } else {\r\n\r\n // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x))\r\n // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3))\r\n // 3 multiplications and 1 addition\r\n\r\n // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x)))\r\n // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5)))\r\n // 4 multiplications and 2 additions\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n\r\n // Reverse argument reduction\r\n var sinh2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sinh2_x = x.times(x);\r\n x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));\r\n }\r\n }\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * tanh(x) = sinh(x) / cosh(x)\r\n *\r\n * tanh(0) = 0\r\n * tanh(-0) = -0\r\n * tanh(Infinity) = 1\r\n * tanh(-Infinity) = -1\r\n * tanh(NaN) = NaN\r\n *\r\n */\r\n P.hyperbolicTangent = P.tanh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(x.s);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 7;\r\n Ctor.rounding = 1;\r\n\r\n return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of\r\n * this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [0, pi]\r\n *\r\n * acos(x) = pi/2 - asin(x)\r\n *\r\n * acos(0) = pi/2\r\n * acos(-0) = pi/2\r\n * acos(1) = 0\r\n * acos(-1) = pi\r\n * acos(1/2) = pi/3\r\n * acos(-1/2) = 2*pi/3\r\n * acos(|x| > 1) = NaN\r\n * acos(NaN) = NaN\r\n *\r\n */\r\n P.inverseCosine = P.acos = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n k = x.abs().cmp(1),\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n return k === 0\r\n // |x| is 1\r\n ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0)\r\n // |x| > 1 or x is NaN\r\n : new Ctor(NaN);\r\n }\r\n\r\n if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n // See https://github.com/MikeMcl/decimal.js/pull/217\r\n x = new Ctor(1).minus(x).div(x.plus(1)).sqrt().atan();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [1, Infinity]\r\n * Range: [0, Infinity]\r\n *\r\n * acosh(x) = ln(x + sqrt(x^2 - 1))\r\n *\r\n * acosh(x < 1) = NaN\r\n * acosh(NaN) = NaN\r\n * acosh(Infinity) = Infinity\r\n * acosh(-Infinity) = NaN\r\n * acosh(0) = NaN\r\n * acosh(-0) = NaN\r\n * acosh(1) = 0\r\n * acosh(-1) = NaN\r\n *\r\n */\r\n P.inverseHyperbolicCosine = P.acosh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);\r\n if (!x.isFinite()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).minus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * asinh(x) = ln(x + sqrt(x^2 + 1))\r\n *\r\n * asinh(NaN) = NaN\r\n * asinh(Infinity) = Infinity\r\n * asinh(-Infinity) = -Infinity\r\n * asinh(0) = 0\r\n * asinh(-0) = -0\r\n *\r\n */\r\n P.inverseHyperbolicSine = P.asinh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).plus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * atanh(x) = 0.5 * ln((1 + x) / (1 - x))\r\n *\r\n * atanh(|x| > 1) = NaN\r\n * atanh(NaN) = NaN\r\n * atanh(Infinity) = NaN\r\n * atanh(-Infinity) = NaN\r\n * atanh(0) = 0\r\n * atanh(-0) = -0\r\n * atanh(1) = Infinity\r\n * atanh(-1) = -Infinity\r\n *\r\n */\r\n P.inverseHyperbolicTangent = P.atanh = function () {\r\n var pr, rm, wpr, xsd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n xsd = x.sd();\r\n\r\n if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);\r\n\r\n Ctor.precision = wpr = xsd - x.e;\r\n\r\n x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);\r\n\r\n Ctor.precision = pr + 4;\r\n Ctor.rounding = 1;\r\n\r\n x = x.ln();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(0.5);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2)))\r\n *\r\n * asin(0) = 0\r\n * asin(-0) = -0\r\n * asin(1/2) = pi/6\r\n * asin(-1/2) = -pi/6\r\n * asin(1) = pi/2\r\n * asin(-1) = -pi/2\r\n * asin(|x| > 1) = NaN\r\n * asin(NaN) = NaN\r\n *\r\n * TODO? Compare performance of Taylor series.\r\n *\r\n */\r\n P.inverseSine = P.asin = function () {\r\n var halfPi, k,\r\n pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n k = x.abs().cmp(1);\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n\r\n // |x| is 1\r\n if (k === 0) {\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n halfPi.s = x.s;\r\n return halfPi;\r\n }\r\n\r\n // |x| > 1 or x is NaN\r\n return new Ctor(NaN);\r\n }\r\n\r\n // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n *\r\n * atan(0) = 0\r\n * atan(-0) = -0\r\n * atan(1) = pi/4\r\n * atan(-1) = -pi/4\r\n * atan(Infinity) = pi/2\r\n * atan(-Infinity) = -pi/2\r\n * atan(NaN) = NaN\r\n *\r\n */\r\n P.inverseTangent = P.atan = function () {\r\n var i, j, k, n, px, t, r, wpr, x2,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (!x.isFinite()) {\r\n if (!x.s) return new Ctor(NaN);\r\n if (pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.5);\r\n r.s = x.s;\r\n return r;\r\n }\r\n } else if (x.isZero()) {\r\n return new Ctor(x);\r\n } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.25);\r\n r.s = x.s;\r\n return r;\r\n }\r\n\r\n Ctor.precision = wpr = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x);\r\n\r\n // Argument reduction\r\n // Ensure |x| < 0.42\r\n // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2)))\r\n\r\n k = Math.min(28, wpr / LOG_BASE + 2 | 0);\r\n\r\n for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1));\r\n\r\n external = false;\r\n\r\n j = Math.ceil(wpr / LOG_BASE);\r\n n = 1;\r\n x2 = x.times(x);\r\n r = new Ctor(x);\r\n px = x;\r\n\r\n // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n for (; i !== -1;) {\r\n px = px.times(x2);\r\n t = r.minus(px.div(n += 2));\r\n\r\n px = px.times(x2);\r\n r = t.plus(px.div(n += 2));\r\n\r\n if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;);\r\n }\r\n\r\n if (k) r = r.times(2 << (k - 1));\r\n\r\n external = true;\r\n\r\n return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is a finite number, otherwise return false.\r\n *\r\n */\r\n P.isFinite = function () {\r\n return !!this.d;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isInt = function () {\r\n return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is NaN, otherwise return false.\r\n *\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isNeg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.isPos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0 or -0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return !!this.d && this.d[0] === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * If no base is specified, return log[10](arg).\r\n *\r\n * log[base](arg) = ln(arg) / ln(base)\r\n *\r\n * The result will always be correctly rounded if the base of the log is 10, and 'almost always'\r\n * otherwise:\r\n *\r\n * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen\r\n * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error\r\n * between the result and the correctly rounded result will be one ulp (unit in the last place).\r\n *\r\n * log[-b](a) = NaN\r\n * log[0](a) = NaN\r\n * log[1](a) = NaN\r\n * log[NaN](a) = NaN\r\n * log[Infinity](a) = NaN\r\n * log[b](0) = -Infinity\r\n * log[b](-0) = -Infinity\r\n * log[b](-a) = NaN\r\n * log[b](1) = 0\r\n * log[b](Infinity) = Infinity\r\n * log[b](NaN) = NaN\r\n *\r\n * [base] {number|string|bigint|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var isBase10, d, denominator, k, inf, num, sd, r,\r\n arg = this,\r\n Ctor = arg.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding,\r\n guard = 5;\r\n\r\n // Default base is 10.\r\n if (base == null) {\r\n base = new Ctor(10);\r\n isBase10 = true;\r\n } else {\r\n base = new Ctor(base);\r\n d = base.d;\r\n\r\n // Return NaN if base is negative, or non-finite, or is 0 or 1.\r\n if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);\r\n\r\n isBase10 = base.eq(10);\r\n }\r\n\r\n d = arg.d;\r\n\r\n // Is arg negative, non-finite, 0 or 1?\r\n if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {\r\n return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);\r\n }\r\n\r\n // The result will have a non-terminating decimal expansion if base is 10 and arg is not an\r\n // integer power of 10.\r\n if (isBase10) {\r\n if (d.length > 1) {\r\n inf = true;\r\n } else {\r\n for (k = d[0]; k % 10 === 0;) k /= 10;\r\n inf = k !== 1;\r\n }\r\n }\r\n\r\n external = false;\r\n sd = pr + guard;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n\r\n // The result will have 5 rounding digits.\r\n r = divide(num, denominator, sd, 1);\r\n\r\n // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000,\r\n // calculate 10 further digits.\r\n //\r\n // If the result is known to have an infinite decimal expansion, repeat this until it is clear\r\n // that the result is above or below the boundary. Otherwise, if after calculating the 10\r\n // further digits, the last 14 are nines, round up and assume the result is exact.\r\n // Also assume the result is exact if the last 14 are zero.\r\n //\r\n // Example of a result that will be incorrectly rounded:\r\n // log[1048576](4503599627370502) = 2.60000000000000009610279511444746...\r\n // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it\r\n // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so\r\n // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal\r\n // place is still 2.6.\r\n if (checkRoundingDigits(r.d, k = pr, rm)) {\r\n\r\n do {\r\n sd += 10;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n r = divide(num, denominator, sd, 1);\r\n\r\n if (!inf) {\r\n\r\n // Check for 14 nines from the 2nd rounding digit, as the first may be 4.\r\n if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n\r\n break;\r\n }\r\n } while (checkRoundingDigits(r.d, k += 10, rm));\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|bigint|Decimal}\r\n *\r\n P.max = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, -1);\r\n };\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|bigint|Decimal}\r\n *\r\n P.min = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 1);\r\n };\r\n */\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return y negated if x is finite and y is ±Infinity.\r\n else if (x.d) y.s = -y.s;\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with different signs.\r\n // Return NaN if both are ±Infinity with the same sign.\r\n else y = new Ctor(y.d || x.s !== y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.plus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return y negated if x is zero and y is non-zero.\r\n if (yd[0]) y.s = -y.s;\r\n\r\n // Return x if y is zero and x is non-zero.\r\n else if (xd[0]) y = new Ctor(x);\r\n\r\n // Return zero if both are zero.\r\n // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity.\r\n else return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n e = mathfloor(y.e / LOG_BASE);\r\n xe = mathfloor(x.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of\r\n // zeros needing to be prepended, but this can be avoided while still ensuring correct\r\n // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to `xd` if shorter.\r\n // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * The result depends on the modulo mode.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0.\r\n if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);\r\n\r\n // Return x if y is ±Infinity or x is ±0.\r\n if (!y.d || x.d && !x.d[0]) {\r\n return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);\r\n }\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n\r\n if (Ctor.modulo == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // result = x - q * y where 0 <= result < abs(y)\r\n q = divide(x, y.abs(), 0, 3, 1);\r\n q.s *= y.s;\r\n } else {\r\n q = divide(x, y, 0, Ctor.modulo, 1);\r\n }\r\n\r\n q = q.times(y);\r\n\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return naturalExponential(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return naturalLogarithm(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var carry, d, e, i, k, len, pr, rm, xd, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with the same sign.\r\n // Return NaN if both are ±Infinity with different signs.\r\n // Return y if x is finite and y is ±Infinity.\r\n else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!yd[0]) y = new Ctor(x);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n k = mathfloor(x.e / LOG_BASE);\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var k,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n if (x.d) {\r\n k = getPrecision(x.d);\r\n if (z && x.e + 1 > k) k = x.e + 1;\r\n } else {\r\n k = NaN;\r\n }\r\n\r\n return k;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.round = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n return finalise(new Ctor(x), x.e + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n *\r\n * sin(0) = 0\r\n * sin(-0) = -0\r\n * sin(Infinity) = NaN\r\n * sin(-Infinity) = NaN\r\n * sin(NaN) = NaN\r\n *\r\n */\r\n P.sine = P.sin = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = sine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, sd, r, rep, t,\r\n x = this,\r\n d = x.d,\r\n e = x.e,\r\n s = x.s,\r\n Ctor = x.constructor;\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !d || !d[0]) {\r\n return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);\r\n }\r\n\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(d);\r\n\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, sd + 2, 1)).times(0.5);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * tan(0) = 0\r\n * tan(-0) = -0\r\n * tan(Infinity) = NaN\r\n * tan(-Infinity) = NaN\r\n * tan(NaN) = NaN\r\n *\r\n */\r\n P.tangent = P.tan = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n x = x.sin();\r\n x.s = 1;\r\n x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n y.s *= x.s;\r\n\r\n // If either is NaN, ±Infinity or ±0...\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd\r\n\r\n // Return NaN if either is NaN.\r\n // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity.\r\n ? NaN\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n // Return ±0 if either is ±0.\r\n : !xd || !yd ? y.s / 0 : y.s * 0);\r\n }\r\n\r\n e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = getBase10Exponent(r, e);\r\n\r\n return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 2, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toBinary = function (sd, rm) {\r\n return toStringBinary(this, 2, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.toDP = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return finalise(x, dp + x.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), dp + 1, rm);\r\n str = finiteToString(x, true, dp + 1);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = finalise(new Ctor(x), dp + x.e + 1, rm);\r\n str = finiteToString(y, false, dp + y.e + 1);\r\n }\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return an array representing the value of this Decimal as a simple fraction with an integer\r\n * numerator and an integer denominator.\r\n *\r\n * The denominator will be a positive non-zero value less than or equal to the specified maximum\r\n * denominator. If a maximum denominator is not specified, the denominator will be the lowest\r\n * value necessary to represent the number exactly.\r\n *\r\n * [maxD] {number|string|bigint|Decimal} Maximum denominator. Integer >= 1 and < Infinity.\r\n *\r\n */\r\n P.toFraction = function (maxD) {\r\n var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r,\r\n x = this,\r\n xd = x.d,\r\n Ctor = x.constructor;\r\n\r\n if (!xd) return new Ctor(x);\r\n\r\n n1 = d0 = new Ctor(1);\r\n d1 = n0 = new Ctor(0);\r\n\r\n d = new Ctor(d1);\r\n e = d.e = getPrecision(xd) - x.e - 1;\r\n k = e % LOG_BASE;\r\n d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);\r\n\r\n if (maxD == null) {\r\n\r\n // d is 10**e, the minimum max-denominator needed.\r\n maxD = e > 0 ? d : n1;\r\n } else {\r\n n = new Ctor(maxD);\r\n if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n);\r\n maxD = n.gt(d) ? (e > 0 ? d : n1) : n;\r\n }\r\n\r\n external = false;\r\n n = new Ctor(digitsToString(xd));\r\n pr = Ctor.precision;\r\n Ctor.precision = e = xd.length * LOG_BASE * 2;\r\n\r\n for (;;) {\r\n q = divide(n, d, 0, 1, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.cmp(maxD) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n d2 = n1;\r\n n1 = n0.plus(q.times(d2));\r\n n0 = d2;\r\n d2 = d;\r\n d = n.minus(q.times(d2));\r\n n = d2;\r\n }\r\n\r\n d2 = divide(maxD.minus(d0), d1, 0, 1, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1?\r\n r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1\r\n ? [n1, d1] : [n0, d0];\r\n\r\n Ctor.precision = pr;\r\n external = true;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 16, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toHexadecimal = P.toHex = function (sd, rm) {\r\n return toStringBinary(this, 16, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding\r\n * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal.\r\n *\r\n * The return value will always have the same sign as this Decimal, unless either this Decimal\r\n * or `y` is NaN, in which case the return value will be also be NaN.\r\n *\r\n * The return value is not affected by the value of `precision`.\r\n *\r\n * y {number|string|bigint|Decimal} The magnitude to round to a multiple of.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toNearest() rounding mode not an integer: {rm}'\r\n * 'toNearest() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toNearest = function (y, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n\r\n if (y == null) {\r\n\r\n // If x is not finite, return x.\r\n if (!x.d) return x;\r\n\r\n y = new Ctor(1);\r\n rm = Ctor.rounding;\r\n } else {\r\n y = new Ctor(y);\r\n if (rm === void 0) {\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(rm, 0, 8);\r\n }\r\n\r\n // If x is not finite, return x if y is not NaN, else NaN.\r\n if (!x.d) return y.s ? x : y;\r\n\r\n // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN.\r\n if (!y.d) {\r\n if (y.s) y.s = x.s;\r\n return y;\r\n }\r\n }\r\n\r\n // If y is not zero, calculate the nearest multiple of y to x.\r\n if (y.d[0]) {\r\n external = false;\r\n x = divide(x, y, 0, rm, 1).times(y);\r\n external = true;\r\n finalise(x);\r\n\r\n // If y is zero, return zero with the sign of x.\r\n } else {\r\n y.s = x.s;\r\n x = y;\r\n }\r\n\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n * Zero keeps its sign.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 8, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toOctal = function (sd, rm) {\r\n return toStringBinary(this, 8, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded\r\n * to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * ECMAScript compliant.\r\n *\r\n * pow(x, NaN) = NaN\r\n * pow(x, ±0) = 1\r\n\r\n * pow(NaN, non-zero) = NaN\r\n * pow(abs(x) > 1, +Infinity) = +Infinity\r\n * pow(abs(x) > 1, -Infinity) = +0\r\n * pow(abs(x) == 1, ±Infinity) = NaN\r\n * pow(abs(x) < 1, +Infinity) = +0\r\n * pow(abs(x) < 1, -Infinity) = +Infinity\r\n * pow(+Infinity, y > 0) = +Infinity\r\n * pow(+Infinity, y < 0) = +0\r\n * pow(-Infinity, odd integer > 0) = -Infinity\r\n * pow(-Infinity, even integer > 0) = +Infinity\r\n * pow(-Infinity, odd integer < 0) = -0\r\n * pow(-Infinity, even integer < 0) = +0\r\n * pow(+0, y > 0) = +0\r\n * pow(+0, y < 0) = +Infinity\r\n * pow(-0, odd integer > 0) = -0\r\n * pow(-0, even integer > 0) = +0\r\n * pow(-0, odd integer < 0) = -Infinity\r\n * pow(-0, even integer < 0) = +Infinity\r\n * pow(finite x < 0, finite non-integer) = NaN\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the\r\n * probability of an incorrectly rounded result\r\n * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14\r\n * i.e. 1 in 250,000,000,000,000\r\n *\r\n * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place).\r\n *\r\n * y {number|string|bigint|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, rm, s,\r\n x = this,\r\n Ctor = x.constructor,\r\n yn = +(y = new Ctor(y));\r\n\r\n // Either ±Infinity, NaN or ±0?\r\n if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));\r\n\r\n x = new Ctor(x);\r\n\r\n if (x.eq(1)) return x;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (y.eq(1)) return finalise(x, pr, rm);\r\n\r\n // y exponent\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = intPow(Ctor, x, k, pr);\r\n return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);\r\n }\r\n\r\n s = x.s;\r\n\r\n // if x is negative\r\n if (s < 0) {\r\n\r\n // if y is not an integer\r\n if (e < y.d.length - 1) return new Ctor(NaN);\r\n\r\n // Result is positive if x is negative and the last digit of integer y is even.\r\n if ((y.d[e] & 1) == 0) s = 1;\r\n\r\n // if x.eq(-1)\r\n if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {\r\n x.s = s;\r\n return x;\r\n }\r\n }\r\n\r\n // Estimate result exponent.\r\n // x^y = 10^e, where e = y * log10(x)\r\n // log10(x) = log10(x_significand) + x_exponent\r\n // log10(x_significand) = ln(x_significand) / ln(10)\r\n k = mathpow(+x, yn);\r\n e = k == 0 || !isFinite(k)\r\n ? mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1))\r\n : new Ctor(k + '').e;\r\n\r\n // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1.\r\n\r\n // Overflow/underflow?\r\n if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);\r\n\r\n external = false;\r\n Ctor.rounding = x.s = 1;\r\n\r\n // Estimate the extra guard digits needed to ensure five correct rounding digits from\r\n // naturalLogarithm(x). Example of failure without these extra digits (precision: 10):\r\n // new Decimal(2.32456).pow('2087987436534566.46411')\r\n // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815\r\n k = Math.min(12, (e + '').length);\r\n\r\n // r = x^y = exp(y*ln(x))\r\n r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);\r\n\r\n // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40)\r\n if (r.d) {\r\n\r\n // Truncate to the required precision plus five rounding digits.\r\n r = finalise(r, pr + 5, 1);\r\n\r\n // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate\r\n // the result.\r\n if (checkRoundingDigits(r.d, pr, rm)) {\r\n e = pr + 10;\r\n\r\n // Truncate to the increased precision plus five rounding digits.\r\n r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);\r\n\r\n // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9).\r\n if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n }\r\n }\r\n\r\n r.s = s;\r\n external = true;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), sd, rm);\r\n str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toSD() digits out of range: {sd}'\r\n * 'toSD() digits not an integer: {sd}'\r\n * 'toSD() rounding mode not an integer: {rm}'\r\n * 'toSD() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toSignificantDigits = P.toSD = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return finalise(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal truncated to a whole number.\r\n *\r\n */\r\n P.truncated = P.trunc = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n * Unlike `toString`, negative zero will include the minus sign.\r\n *\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() ? '-' + str : str;\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower,\r\n * finiteToString, naturalExponential, naturalLogarithm\r\n * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest,\r\n * P.toPrecision, P.toSignificantDigits, toStringBinary, random\r\n * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm\r\n * convertBase toStringBinary, parseOther\r\n * cos P.cos\r\n * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy,\r\n * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction,\r\n * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm,\r\n * taylorSeries, atan2, parseOther\r\n * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh,\r\n * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus,\r\n * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot,\r\n * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed,\r\n * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits,\r\n * P.truncated, divide, getLn10, getPi, naturalExponential,\r\n * naturalLogarithm, ceil, floor, round, trunc\r\n * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf,\r\n * toStringBinary\r\n * getBase10Exponent P.minus, P.plus, P.times, parseOther\r\n * getLn10 P.logarithm, naturalLogarithm\r\n * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2\r\n * getPrecision P.precision, P.toFraction\r\n * getZeroString digitsToString, finiteToString\r\n * intPow P.toPower, parseOther\r\n * isOdd toLessThanHalfPi\r\n * maxOrMin max, min\r\n * naturalExponential P.naturalExponential, P.toPower\r\n * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm,\r\n * P.toPower, naturalExponential\r\n * nonFiniteToString finiteToString, toStringBinary\r\n * parseDecimal Decimal\r\n * parseOther Decimal\r\n * sin P.sin\r\n * taylorSeries P.cosh, P.sinh, cos, sin\r\n * toLessThanHalfPi P.cos, P.sin\r\n * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal\r\n * truncate intPow\r\n *\r\n * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi,\r\n * naturalLogarithm, config, parseOther, random, Decimal\r\n */\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Check 5 rounding digits if `repeating` is null, 4 otherwise.\r\n * `repeating == null` if caller is `log` or `pow`,\r\n * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`.\r\n */\r\n function checkRoundingDigits(d, i, rm, repeating) {\r\n var di, k, r, rd;\r\n\r\n // Get the length of the first word of the array d.\r\n for (k = d[0]; k >= 10; k /= 10) --i;\r\n\r\n // Is the rounding digit in the first word of d?\r\n if (--i < 0) {\r\n i += LOG_BASE;\r\n di = 0;\r\n } else {\r\n di = Math.ceil((i + 1) / LOG_BASE);\r\n i %= LOG_BASE;\r\n }\r\n\r\n // i is the index (0 - 6) of the rounding digit.\r\n // E.g. if within the word 3487563 the first rounding digit is 5,\r\n // then i = 4, k = 1000, rd = 3487563 % 1000 = 563\r\n k = mathpow(10, LOG_BASE - i);\r\n rd = d[di] % k | 0;\r\n\r\n if (repeating == null) {\r\n if (i < 3) {\r\n if (i == 0) rd = rd / 100 | 0;\r\n else if (i == 1) rd = rd / 10 | 0;\r\n r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0;\r\n } else {\r\n r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 ||\r\n (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;\r\n }\r\n } else {\r\n if (i < 4) {\r\n if (i == 0) rd = rd / 1000 | 0;\r\n else if (i == 1) rd = rd / 100 | 0;\r\n else if (i == 2) rd = rd / 10 | 0;\r\n r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;\r\n } else {\r\n r = ((repeating || rm < 4) && rd + 1 == k ||\r\n (!repeating && rm > 3) && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1;\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n // Convert string of `baseIn` to an array of numbers of `baseOut`.\r\n // Eg. convertBase('255', 10, 16) returns [15, 15].\r\n // Eg. convertBase('ff', 16, 10) returns [2, 5, 5].\r\n function convertBase(str, baseIn, baseOut) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n strL = str.length;\r\n\r\n for (; i < strL;) {\r\n for (arrL = arr.length; arrL--;) arr[arrL] *= baseIn;\r\n arr[0] += NUMERALS.indexOf(str.charAt(i++));\r\n for (j = 0; j < arr.length; j++) {\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] === void 0) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n\r\n /*\r\n * cos(x) = 1 - x^2/2! + x^4/4! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function cosine(Ctor, x) {\r\n var k, len, y;\r\n\r\n if (x.isZero()) return x;\r\n\r\n // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1\r\n // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n len = x.d.length;\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n y = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n y = '2.3283064365386962890625e-10';\r\n }\r\n\r\n Ctor.precision += k;\r\n\r\n x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));\r\n\r\n // Reverse argument reduction\r\n for (var i = k; i--;) {\r\n var cos2x = x.times(x);\r\n x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);\r\n }\r\n\r\n Ctor.precision -= k;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Perform division in the specified base.\r\n */\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k, base) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % base | 0;\r\n carry = temp / base | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, rm, dp, base) {\r\n var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0,\r\n yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(// Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN :\r\n\r\n // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.\r\n xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0);\r\n }\r\n\r\n if (base) {\r\n logBase = 1;\r\n e = x.e - y.e;\r\n } else {\r\n base = BASE;\r\n logBase = LOG_BASE;\r\n e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);\r\n }\r\n\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n // The digit array of a Decimal from toStringBinary may have trailing zeros.\r\n for (i = 0; yd[i] == (xd[i] || 0); i++);\r\n\r\n if (yd[i] > (xd[i] || 0)) e--;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else if (dp) {\r\n sd = pr + (x.e - y.e) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) {\r\n qd.push(1);\r\n more = true;\r\n } else {\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / logBase + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * base + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n more = k || i < xL;\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= base/2\r\n k = base / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k, base);\r\n xd = multiplyInteger(xd, k, base);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= base / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= base) k = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL, base);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL, base);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n\r\n more = rem[0] !== void 0;\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n }\r\n\r\n // logBase is 1 when divide is being used for base conversion.\r\n if (logBase == 1) {\r\n q.e = e;\r\n inexact = more;\r\n } else {\r\n\r\n // To calculate q.e, first get the number of digits of qd[0].\r\n for (i = 1, k = qd[0]; k >= 10; k /= 10) i++;\r\n q.e = i + e * logBase - 1;\r\n\r\n finalise(q, dp ? pr + q.e + 1 : pr, rm, more);\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits using rounding mode `rm`.\r\n * Check for over/under-flow.\r\n */\r\n function finalise(x, sd, rm, isTruncated) {\r\n var digits, i, j, k, rd, roundUp, w, xd, xdi,\r\n Ctor = x.constructor;\r\n\r\n // Don't round if sd is null or undefined.\r\n out: if (sd != null) {\r\n xd = x.d;\r\n\r\n // Infinity/NaN.\r\n if (!xd) return x;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd containing rd, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // digits: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++;\r\n i = sd - digits;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / mathpow(10, digits - j - 1) % 10 | 0;\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) {\r\n if (isTruncated) {\r\n\r\n // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`.\r\n for (; k++ <= xdi;) xd.push(0);\r\n w = rd = 0;\r\n digits = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (digits = 1; k >= 10; k /= 10) digits++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - digits.\r\n j = i - LOG_BASE + digits;\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;\r\n }\r\n }\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n isTruncated = isTruncated || sd < 0 ||\r\n xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));\r\n\r\n // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right\r\n // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression\r\n // will give 714.\r\n\r\n roundUp = rm < 4\r\n ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xd[0]) {\r\n xd.length = 0;\r\n if (roundUp) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xd[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (roundUp) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n\r\n // i will be the length of xd[0] before k is added.\r\n for (i = 1, j = xd[0]; j >= 10; j /= 10) i++;\r\n j = xd[0] += k;\r\n for (k = 1; j >= 10; j /= 10) k++;\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xd[0] == BASE) xd[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n }\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > Ctor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < Ctor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // Ctor.underflow = true;\r\n } // else Ctor.underflow = false;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function finiteToString(x, isExp, sd) {\r\n if (!x.isFinite()) return nonFiniteToString(x);\r\n var k,\r\n e = x.e,\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (x.e < 0 ? 'e' : 'e+') + x.e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(digits, e) {\r\n var w = digits[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for ( e *= LOG_BASE; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n if (sd > LN10_PRECISION) {\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(precisionLimitExceeded);\r\n }\r\n return finalise(new Ctor(LN10), sd, 1, true);\r\n }\r\n\r\n\r\n function getPi(Ctor, sd, rm) {\r\n if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);\r\n return finalise(new Ctor(PI), sd, rm, true);\r\n }\r\n\r\n\r\n function getPrecision(digits) {\r\n var w = digits.length - 1,\r\n len = w * LOG_BASE + 1;\r\n\r\n w = digits[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) len--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = digits[0]; w >= 10; w /= 10) len++;\r\n }\r\n\r\n return len;\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an\r\n * integer of type number.\r\n *\r\n * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`.\r\n *\r\n */\r\n function intPow(Ctor, x, n, pr) {\r\n var isTruncated,\r\n r = new Ctor(1),\r\n\r\n // Max n of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n k = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (n % 2) {\r\n r = r.times(x);\r\n if (truncate(r.d, k)) isTruncated = true;\r\n }\r\n\r\n n = mathfloor(n / 2);\r\n if (n === 0) {\r\n\r\n // To ensure correct rounding when r.d is truncated, increment the last word if it is zero.\r\n n = r.d.length - 1;\r\n if (isTruncated && r.d[n] === 0) ++r.d[n];\r\n break;\r\n }\r\n\r\n x = x.times(x);\r\n truncate(x.d, k);\r\n }\r\n\r\n external = true;\r\n\r\n return r;\r\n }\r\n\r\n\r\n function isOdd(n) {\r\n return n.d[n.d.length - 1] & 1;\r\n }\r\n\r\n\r\n /*\r\n * Handle `max` (`n` is -1) and `min` (`n` is 1).\r\n */\r\n function maxOrMin(Ctor, args, n) {\r\n var k, y,\r\n x = new Ctor(args[0]),\r\n i = 0;\r\n\r\n for (; ++i < args.length;) {\r\n y = new Ctor(args[i]);\r\n\r\n // NaN?\r\n if (!y.s) {\r\n x = y;\r\n break;\r\n }\r\n\r\n k = x.cmp(y);\r\n\r\n if (k === n || k === 0 && x.s === n) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000\r\n * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(Infinity) = Infinity\r\n * exp(-Infinity) = 0\r\n * exp(NaN) = NaN\r\n * exp(±0) = 1\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n * The result will always be correctly rounded.\r\n *\r\n */\r\n function naturalExponential(x, sd) {\r\n var denominator, guard, j, pow, sum, t, wpr,\r\n rep = 0,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // 0/NaN/Infinity?\r\n if (!x.d || !x.d[0] || x.e > 17) {\r\n\r\n return new Ctor(x.d\r\n ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0\r\n : x.s ? x.s < 0 ? 0 : x : 0 / 0);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n // while abs(x) >= 0.1\r\n while (x.e > -2) {\r\n\r\n // x = x / 2^5\r\n x = x.times(t);\r\n k += 5;\r\n }\r\n\r\n // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision\r\n // necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(1);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = finalise(pow.times(x), wpr, 1);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n j = k;\r\n while (j--) sum = finalise(sum.times(sum), wpr, 1);\r\n\r\n // Check to see if the first 4 rounding digits are [49]999.\r\n // If so, repeat the summation with a higher precision, otherwise\r\n // e.g. with precision: 18, rounding: 1\r\n // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123)\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n\r\n if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += 10;\r\n denominator = pow = t = new Ctor(1);\r\n i = 0;\r\n rep++;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * ln(-n) = NaN\r\n * ln(0) = -Infinity\r\n * ln(-0) = -Infinity\r\n * ln(1) = 0\r\n * ln(Infinity) = Infinity\r\n * ln(-Infinity) = NaN\r\n * ln(NaN) = NaN\r\n *\r\n * ln(n) (n != 1) is non-terminating.\r\n *\r\n */\r\n function naturalLogarithm(y, sd) {\r\n var c, c0, denominator, e, numerator, rep, sum, t, wpr, x1, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // Is x negative or Infinity, NaN, 0 or 1?\r\n if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {\r\n return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n Ctor.precision = wpr += guard;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n\r\n if (Math.abs(e = x.e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = x.e;\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n Ctor.precision = pr;\r\n\r\n return sd == null ? finalise(x, pr, rm, external = true) : x;\r\n }\r\n\r\n // x1 is x reduced to a value near 1.\r\n x1 = x;\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = finalise(numerator.times(x2), wpr, 1);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction. Check that e is not 0 because, besides preventing an\r\n // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr, 1);\r\n\r\n // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has\r\n // been repeated previously) and the first 4 rounding digits 9999?\r\n // If so, restart the summation with a higher precision, otherwise\r\n // e.g. with precision: 12, rounding: 1\r\n // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463.\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += guard;\r\n t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = rep = 1;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n // ±Infinity, NaN.\r\n function nonFiniteToString(x) {\r\n // Unsigned.\r\n return String(x.s * x.s / 0);\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // TODO BigInt str: no need to check for decimal point, exponential form or leading zeros.\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48; --len);\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n x.e = e = e - i - 1;\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > x.constructor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < x.constructor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // x.constructor.underflow = true;\r\n } // else x.constructor.underflow = false;\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value.\r\n */\r\n function parseOther(x, str) {\r\n var base, Ctor, divisor, i, isFloat, len, p, xd, xe;\r\n\r\n if (str.indexOf('_') > -1) {\r\n str = str.replace(/(\\d)_(?=\\d)/g, '$1');\r\n if (isDecimal.test(str)) return parseDecimal(x, str);\r\n } else if (str === 'Infinity' || str === 'NaN') {\r\n if (!+str) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return x;\r\n }\r\n\r\n if (isHex.test(str)) {\r\n base = 16;\r\n str = str.toLowerCase();\r\n } else if (isBinary.test(str)) {\r\n base = 2;\r\n } else if (isOctal.test(str)) {\r\n base = 8;\r\n } else {\r\n throw Error(invalidArgument + str);\r\n }\r\n\r\n // Is there a binary exponent part?\r\n i = str.search(/p/i);\r\n\r\n if (i > 0) {\r\n p = +str.slice(i + 1);\r\n str = str.substring(2, i);\r\n } else {\r\n str = str.slice(2);\r\n }\r\n\r\n // Convert `str` as an integer then divide the result by `base` raised to a power such that the\r\n // fraction part will be restored.\r\n i = str.indexOf('.');\r\n isFloat = i >= 0;\r\n Ctor = x.constructor;\r\n\r\n if (isFloat) {\r\n str = str.replace('.', '');\r\n len = str.length;\r\n i = len - i;\r\n\r\n // log[10](16) = 1.2041... , log[10](88) = 1.9444....\r\n divisor = intPow(Ctor, new Ctor(base), i, i * 2);\r\n }\r\n\r\n xd = convertBase(str, base, BASE);\r\n xe = xd.length - 1;\r\n\r\n // Remove trailing zeros.\r\n for (i = xe; xd[i] === 0; --i) xd.pop();\r\n if (i < 0) return new Ctor(x.s * 0);\r\n x.e = getBase10Exponent(xd, xe);\r\n x.d = xd;\r\n external = false;\r\n\r\n // At what precision to perform the division to ensure exact conversion?\r\n // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount)\r\n // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412\r\n // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits.\r\n // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount\r\n // Therefore using 4 * the number of digits of str will always be enough.\r\n if (isFloat) x = divide(x, divisor, len * 4);\r\n\r\n // Multiply by the binary exponent part if present.\r\n if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));\r\n external = true;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function sine(Ctor, x) {\r\n var k,\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);\r\n }\r\n\r\n // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x)\r\n // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5)\r\n // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x);\r\n\r\n // Reverse argument reduction\r\n var sin2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sin2_x = x.times(x);\r\n x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`.\r\n function taylorSeries(Ctor, n, x, y, isHyperbolic) {\r\n var j, t, u, x2,\r\n i = 1,\r\n pr = Ctor.precision,\r\n k = Math.ceil(pr / LOG_BASE);\r\n\r\n external = false;\r\n x2 = x.times(x);\r\n u = new Ctor(y);\r\n\r\n for (;;) {\r\n t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1);\r\n u = isHyperbolic ? y.plus(t) : y.minus(t);\r\n y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1);\r\n t = u.plus(y);\r\n\r\n if (t.d[k] !== void 0) {\r\n for (j = k; t.d[j] === u.d[j] && j--;);\r\n if (j == -1) break;\r\n }\r\n\r\n j = u;\r\n u = y;\r\n y = t;\r\n t = j;\r\n i++;\r\n }\r\n\r\n external = true;\r\n t.d.length = k + 1;\r\n\r\n return t;\r\n }\r\n\r\n\r\n // Exponent e must be positive and non-zero.\r\n function tinyPow(b, e) {\r\n var n = b;\r\n while (--e) n *= b;\r\n return n;\r\n }\r\n\r\n\r\n // Return the absolute value of `x` reduced to less than or equal to half pi.\r\n function toLessThanHalfPi(Ctor, x) {\r\n var t,\r\n isNeg = x.s < 0,\r\n pi = getPi(Ctor, Ctor.precision, 1),\r\n halfPi = pi.times(0.5);\r\n\r\n x = x.abs();\r\n\r\n if (x.lte(halfPi)) {\r\n quadrant = isNeg ? 4 : 1;\r\n return x;\r\n }\r\n\r\n t = x.divToInt(pi);\r\n\r\n if (t.isZero()) {\r\n quadrant = isNeg ? 3 : 2;\r\n } else {\r\n x = x.minus(t.times(pi));\r\n\r\n // 0 <= x < pi\r\n if (x.lte(halfPi)) {\r\n quadrant = isOdd(t) ? (isNeg ? 2 : 3) : (isNeg ? 4 : 1);\r\n return x;\r\n }\r\n\r\n quadrant = isOdd(t) ? (isNeg ? 1 : 4) : (isNeg ? 3 : 2);\r\n }\r\n\r\n return x.minus(pi).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return the value of Decimal `x` as a string in base `baseOut`.\r\n *\r\n * If the optional `sd` argument is present include a binary exponent suffix.\r\n */\r\n function toStringBinary(x, baseOut, sd, rm) {\r\n var base, e, i, k, len, roundUp, str, xd, y,\r\n Ctor = x.constructor,\r\n isExp = sd !== void 0;\r\n\r\n if (isExp) {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n } else {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n }\r\n\r\n if (!x.isFinite()) {\r\n str = nonFiniteToString(x);\r\n } else {\r\n str = finiteToString(x);\r\n i = str.indexOf('.');\r\n\r\n // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required:\r\n // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10))\r\n // minBinaryExponent = floor(decimalExponent * log[2](10))\r\n // log[2](10) = 3.321928094887362347870319429489390175864\r\n\r\n if (isExp) {\r\n base = 2;\r\n if (baseOut == 16) {\r\n sd = sd * 4 - 3;\r\n } else if (baseOut == 8) {\r\n sd = sd * 3 - 2;\r\n }\r\n } else {\r\n base = baseOut;\r\n }\r\n\r\n // Convert the number as an integer then divide the result by its base raised to a power such\r\n // that the fraction part will be restored.\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n str = str.replace('.', '');\r\n y = new Ctor(1);\r\n y.e = str.length - i;\r\n y.d = convertBase(finiteToString(y), 10, base);\r\n y.e = y.d.length;\r\n }\r\n\r\n xd = convertBase(str, 10, base);\r\n e = len = xd.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] == 0;) xd.pop();\r\n\r\n if (!xd[0]) {\r\n str = isExp ? '0p+0' : '0';\r\n } else {\r\n if (i < 0) {\r\n e--;\r\n } else {\r\n x = new Ctor(x);\r\n x.d = xd;\r\n x.e = e;\r\n x = divide(x, y, sd, rm, 0, base);\r\n xd = x.d;\r\n e = x.e;\r\n roundUp = inexact;\r\n }\r\n\r\n // The rounding digit, i.e. the digit after the digit that may be rounded up.\r\n i = xd[sd];\r\n k = base / 2;\r\n roundUp = roundUp || xd[sd + 1] !== void 0;\r\n\r\n roundUp = rm < 4\r\n ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2))\r\n : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 ||\r\n rm === (x.s < 0 ? 8 : 7));\r\n\r\n xd.length = sd;\r\n\r\n if (roundUp) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (; ++xd[--sd] > base - 1;) {\r\n xd[sd] = 0;\r\n if (!sd) {\r\n ++e;\r\n xd.unshift(1);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n\r\n // Add binary exponent suffix?\r\n if (isExp) {\r\n if (len > 1) {\r\n if (baseOut == 16 || baseOut == 8) {\r\n i = baseOut == 16 ? 4 : 3;\r\n for (--len; len % i; len++) str += '0';\r\n xd = convertBase(str, base, baseOut);\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // xd[0] will always be be 1\r\n for (i = 1, str = '1.'; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n } else {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n }\r\n\r\n str = str + (e < 0 ? 'p' : 'p+') + e;\r\n } else if (e < 0) {\r\n for (; ++e;) str = '0' + str;\r\n str = '0.' + str;\r\n } else {\r\n if (++e > len) for (e -= len; e-- ;) str += '0';\r\n else if (e < len) str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str;\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * abs\r\n * acos\r\n * acosh\r\n * add\r\n * asin\r\n * asinh\r\n * atan\r\n * atanh\r\n * atan2\r\n * cbrt\r\n * ceil\r\n * clamp\r\n * clone\r\n * config\r\n * cos\r\n * cosh\r\n * div\r\n * exp\r\n * floor\r\n * hypot\r\n * ln\r\n * log\r\n * log2\r\n * log10\r\n * max\r\n * min\r\n * mod\r\n * mul\r\n * pow\r\n * random\r\n * round\r\n * set\r\n * sign\r\n * sin\r\n * sinh\r\n * sqrt\r\n * sub\r\n * sum\r\n * tan\r\n * tanh\r\n * trunc\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of `x`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function abs(x) {\r\n return new this(x).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine in radians of `x`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function acos(x) {\r\n return new this(x).acos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function acosh(x) {\r\n return new this(x).acosh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n * y {number|string|bigint|Decimal}\r\n *\r\n */\r\n function add(x, y) {\r\n return new this(x).plus(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function asin(x) {\r\n return new this(x).asin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function asinh(x) {\r\n return new this(x).asinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function atan(x) {\r\n return new this(x).atan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function atanh(x) {\r\n return new this(x).atanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi\r\n * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi, pi]\r\n *\r\n * y {number|string|bigint|Decimal} The y-coordinate.\r\n * x {number|string|bigint|Decimal} The x-coordinate.\r\n *\r\n * atan2(±0, -0) = ±pi\r\n * atan2(±0, +0) = ±0\r\n * atan2(±0, -x) = ±pi for x > 0\r\n * atan2(±0, x) = ±0 for x > 0\r\n * atan2(-y, ±0) = -pi/2 for y > 0\r\n * atan2(y, ±0) = pi/2 for y > 0\r\n * atan2(±y, -Infinity) = ±pi for finite y > 0\r\n * atan2(±y, +Infinity) = ±0 for finite y > 0\r\n * atan2(±Infinity, x) = ±pi/2 for finite x\r\n * atan2(±Infinity, -Infinity) = ±3*pi/4\r\n * atan2(±Infinity, +Infinity) = ±pi/4\r\n * atan2(NaN, x) = NaN\r\n * atan2(y, NaN) = NaN\r\n *\r\n */\r\n function atan2(y, x) {\r\n y = new this(y);\r\n x = new this(x);\r\n var r,\r\n pr = this.precision,\r\n rm = this.rounding,\r\n wpr = pr + 4;\r\n\r\n // Either NaN\r\n if (!y.s || !x.s) {\r\n r = new this(NaN);\r\n\r\n // Both ±Infinity\r\n } else if (!y.d && !x.d) {\r\n r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);\r\n r.s = y.s;\r\n\r\n // x is ±Infinity or y is ±0\r\n } else if (!x.d || y.isZero()) {\r\n r = x.s < 0 ? getPi(this, pr, rm) : new this(0);\r\n r.s = y.s;\r\n\r\n // y is ±Infinity or x is ±0\r\n } else if (!y.d || x.isZero()) {\r\n r = getPi(this, wpr, 1).times(0.5);\r\n r.s = y.s;\r\n\r\n // Both non-zero and finite\r\n } else if (x.s < 0) {\r\n this.precision = wpr;\r\n this.rounding = 1;\r\n r = this.atan(divide(y, x, wpr, 1));\r\n x = getPi(this, wpr, 1);\r\n this.precision = pr;\r\n this.rounding = rm;\r\n r = y.s < 0 ? r.minus(x) : r.plus(x);\r\n } else {\r\n r = this.atan(divide(y, x, wpr, 1));\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function cbrt(x) {\r\n return new this(x).cbrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function ceil(x) {\r\n return finalise(x = new this(x), x.e + 1, 2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n * min {number|string|bigint|Decimal}\r\n * max {number|string|bigint|Decimal}\r\n *\r\n */\r\n function clamp(x, min, max) {\r\n return new this(x).clamp(min, max);\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n * maxE {number}\r\n * minE {number}\r\n * modulo {number}\r\n * crypto {boolean|number}\r\n * defaults {true}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected');\r\n var i, p, v,\r\n useDefaults = obj.defaults === true,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -EXP_LIMIT, 0,\r\n 'toExpPos', 0, EXP_LIMIT,\r\n 'maxE', 0, EXP_LIMIT,\r\n 'minE', -EXP_LIMIT, 0,\r\n 'modulo', 0, 9\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (v === true || v === false || v === 0 || v === 1) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n this[p] = true;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n } else {\r\n this[p] = false;\r\n }\r\n } else {\r\n throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function cos(x) {\r\n return new this(x).cos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function cosh(x) {\r\n return new this(x).cosh();\r\n }\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * v {number|string|bigint|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(v) {\r\n var e, i, t,\r\n x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(v);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n if (isDecimalInstance(v)) {\r\n x.s = v.s;\r\n\r\n if (external) {\r\n if (!v.d || v.e > Decimal.maxE) {\r\n\r\n // Infinity.\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (v.e < Decimal.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d.slice();\r\n }\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d ? v.d.slice() : v.d;\r\n }\r\n\r\n return;\r\n }\r\n\r\n t = typeof v;\r\n\r\n if (t === 'number') {\r\n if (v === 0) {\r\n x.s = 1 / v < 0 ? -1 : 1;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n if (v < 0) {\r\n v = -v;\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (v === ~~v && v < 1e7) {\r\n for (e = 0, i = v; i >= 10; i /= 10) e++;\r\n\r\n if (external) {\r\n if (e > Decimal.maxE) {\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (e < Decimal.minE) {\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Infinity or NaN?\r\n if (v * 0 !== 0) {\r\n if (!v) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return;\r\n }\r\n\r\n return parseDecimal(x, v.toString());\r\n }\r\n\r\n if (t === 'string') {\r\n if ((i = v.charCodeAt(0)) === 45) { // minus sign\r\n v = v.slice(1);\r\n x.s = -1;\r\n } else {\r\n if (i === 43) v = v.slice(1); // plus sign\r\n x.s = 1;\r\n }\r\n\r\n return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);\r\n }\r\n\r\n if (t === 'bigint') {\r\n if (v < 0) {\r\n v = -v;\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n return parseDecimal(x, v.toString());\r\n }\r\n\r\n throw Error(invalidArgument + v);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n Decimal.EUCLID = 9;\r\n\r\n Decimal.config = Decimal.set = config;\r\n Decimal.clone = clone;\r\n Decimal.isDecimal = isDecimalInstance;\r\n\r\n Decimal.abs = abs;\r\n Decimal.acos = acos;\r\n Decimal.acosh = acosh; // ES6\r\n Decimal.add = add;\r\n Decimal.asin = asin;\r\n Decimal.asinh = asinh; // ES6\r\n Decimal.atan = atan;\r\n Decimal.atanh = atanh; // ES6\r\n Decimal.atan2 = atan2;\r\n Decimal.cbrt = cbrt; // ES6\r\n Decimal.ceil = ceil;\r\n Decimal.clamp = clamp;\r\n Decimal.cos = cos;\r\n Decimal.cosh = cosh; // ES6\r\n Decimal.div = div;\r\n Decimal.exp = exp;\r\n Decimal.floor = floor;\r\n Decimal.hypot = hypot; // ES6\r\n Decimal.ln = ln;\r\n Decimal.log = log;\r\n Decimal.log10 = log10; // ES6\r\n Decimal.log2 = log2; // ES6\r\n Decimal.max = max;\r\n Decimal.min = min;\r\n Decimal.mod = mod;\r\n Decimal.mul = mul;\r\n Decimal.pow = pow;\r\n Decimal.random = random;\r\n Decimal.round = round;\r\n Decimal.sign = sign; // ES6\r\n Decimal.sin = sin;\r\n Decimal.sinh = sinh; // ES6\r\n Decimal.sqrt = sqrt;\r\n Decimal.sub = sub;\r\n Decimal.sum = sum;\r\n Decimal.tan = tan;\r\n Decimal.tanh = tanh; // ES6\r\n Decimal.trunc = trunc; // ES6\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n if (obj.defaults !== true) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n * y {number|string|bigint|Decimal}\r\n *\r\n */\r\n function div(x, y) {\r\n return new this(x).div(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} The power to which to raise the base of the natural log.\r\n *\r\n */\r\n function exp(x) {\r\n return new this(x).exp();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function floor(x) {\r\n return finalise(x = new this(x), x.e + 1, 3);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of the sum of the squares of the arguments,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...)\r\n *\r\n * arguments {number|string|bigint|Decimal}\r\n *\r\n */\r\n function hypot() {\r\n var i, n,\r\n t = new this(0);\r\n\r\n external = false;\r\n\r\n for (i = 0; i < arguments.length;) {\r\n n = new this(arguments[i++]);\r\n if (!n.d) {\r\n if (n.s) {\r\n external = true;\r\n return new this(1 / 0);\r\n }\r\n t = n;\r\n } else if (t.d) {\r\n t = t.plus(n.times(n));\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return t.sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return true if object is a Decimal instance (where Decimal is any Decimal constructor),\r\n * otherwise return false.\r\n *\r\n */\r\n function isDecimalInstance(obj) {\r\n return obj instanceof Decimal || obj && obj.toStringTag === tag || false;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function ln(x) {\r\n return new this(x).ln();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base\r\n * is specified, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * log[y](x)\r\n *\r\n * x {number|string|bigint|Decimal} The argument of the logarithm.\r\n * y {number|string|bigint|Decimal} The base of the logarithm.\r\n *\r\n */\r\n function log(x, y) {\r\n return new this(x).log(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function log2(x) {\r\n return new this(x).log(2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function log10(x) {\r\n return new this(x).log(10);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|bigint|Decimal}\r\n *\r\n */\r\n function max() {\r\n return maxOrMin(this, arguments, -1);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|bigint|Decimal}\r\n *\r\n */\r\n function min() {\r\n return maxOrMin(this, arguments, 1);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n * y {number|string|bigint|Decimal}\r\n *\r\n */\r\n function mod(x, y) {\r\n return new this(x).mod(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n * y {number|string|bigint|Decimal}\r\n *\r\n */\r\n function mul(x, y) {\r\n return new this(x).mul(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} The base.\r\n * y {number|string|bigint|Decimal} The exponent.\r\n *\r\n */\r\n function pow(x, y) {\r\n return new this(x).pow(y);\r\n }\r\n\r\n\r\n /*\r\n * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with\r\n * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros\r\n * are produced).\r\n *\r\n * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive.\r\n *\r\n */\r\n function random(sd) {\r\n var d, e, k, n,\r\n i = 0,\r\n r = new this(1),\r\n rd = [];\r\n\r\n if (sd === void 0) sd = this.precision;\r\n else checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n k = Math.ceil(sd / LOG_BASE);\r\n\r\n if (!this.crypto) {\r\n for (; i < k;) rd[i++] = Math.random() * 1e7 | 0;\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n } else if (crypto.getRandomValues) {\r\n d = crypto.getRandomValues(new Uint32Array(k));\r\n\r\n for (; i < k;) {\r\n n = d[i];\r\n\r\n // 0 <= n < 4294967296\r\n // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865).\r\n if (n >= 4.29e9) {\r\n d[i] = crypto.getRandomValues(new Uint32Array(1))[0];\r\n } else {\r\n\r\n // 0 <= n <= 4289999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd[i++] = n % 1e7;\r\n }\r\n }\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n d = crypto.randomBytes(k *= 4);\r\n\r\n for (; i < k;) {\r\n\r\n // 0 <= n < 2147483648\r\n n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24);\r\n\r\n // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286).\r\n if (n >= 2.14e9) {\r\n crypto.randomBytes(4).copy(d, i);\r\n } else {\r\n\r\n // 0 <= n <= 2139999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd.push(n % 1e7);\r\n i += 4;\r\n }\r\n }\r\n\r\n i = k / 4;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n\r\n k = rd[--i];\r\n sd %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to sd.\r\n if (k && sd) {\r\n n = mathpow(10, LOG_BASE - sd);\r\n rd[i] = (k / n | 0) * n;\r\n }\r\n\r\n // Remove trailing words which are zero.\r\n for (; rd[i] === 0; i--) rd.pop();\r\n\r\n // Zero?\r\n if (i < 0) {\r\n e = 0;\r\n rd = [0];\r\n } else {\r\n e = -1;\r\n\r\n // Remove leading words which are zero and adjust exponent accordingly.\r\n for (; rd[0] === 0; e -= LOG_BASE) rd.shift();\r\n\r\n // Count the digits of the first word of rd to determine leading zeros.\r\n for (k = 1, n = rd[0]; n >= 10; n /= 10) k++;\r\n\r\n // Adjust the exponent for leading zeros of the first word of rd.\r\n if (k < LOG_BASE) e -= LOG_BASE - k;\r\n }\r\n\r\n r.e = e;\r\n r.d = rd;\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`.\r\n *\r\n * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL).\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function round(x) {\r\n return finalise(x = new this(x), x.e + 1, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if x > 0,\r\n * -1 if x < 0,\r\n * 0 if x is 0,\r\n * -0 if x is -0,\r\n * NaN otherwise\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function sign(x) {\r\n x = new this(x);\r\n return x.d ? (x.d[0] ? x.s : 0 * x.s) : x.s || NaN;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function sin(x) {\r\n return new this(x).sin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function sinh(x) {\r\n return new this(x).sinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function sqrt(x) {\r\n return new this(x).sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n * y {number|string|bigint|Decimal}\r\n *\r\n */\r\n function sub(x, y) {\r\n return new this(x).sub(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of the arguments, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * Only the result is rounded, not the intermediate calculations.\r\n *\r\n * arguments {number|string|bigint|Decimal}\r\n *\r\n */\r\n function sum() {\r\n var i = 0,\r\n args = arguments,\r\n x = new this(args[i]);\r\n\r\n external = false;\r\n for (; x.s && ++i < args.length;) x = x.plus(args[i]);\r\n external = true;\r\n\r\n return finalise(x, this.precision, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function tan(x) {\r\n return new this(x).tan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|bigint|Decimal} A value in radians.\r\n *\r\n */\r\n function tanh(x) {\r\n return new this(x).tanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` truncated to an integer.\r\n *\r\n * x {number|string|bigint|Decimal}\r\n *\r\n */\r\n function trunc(x) {\r\n return finalise(x = new this(x), x.e + 1, 1);\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(DEFAULTS);\r\n Decimal.prototype.constructor = Decimal;\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Create the internal constants from their string values.\r\n LN10 = new Decimal(LN10);\r\n PI = new Decimal(PI);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n if (typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol') {\r\n P[Symbol['for']('nodejs.util.inspect.custom')] = P.toString;\r\n P[Symbol.toStringTag] = 'Decimal';\r\n }\r\n\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self ? self : window;\r\n }\r\n\r\n noConflict = globalScope.Decimal;\r\n Decimal.noConflict = function () {\r\n globalScope.Decimal = noConflict;\r\n return Decimal;\r\n };\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MemoryCookieStore = void 0;\nconst pathMatch_1 = require(\"./pathMatch\");\nconst permuteDomain_1 = require(\"./permuteDomain\");\nconst store_1 = require(\"./store\");\nconst utils_1 = require(\"./utils\");\n/**\n * An in-memory {@link Store} implementation for {@link CookieJar}. This is the default implementation used by\n * {@link CookieJar} and supports both async and sync operations. Also supports serialization, getAllCookies, and removeAllCookies.\n * @public\n */\nclass MemoryCookieStore extends store_1.Store {\n /**\n * Create a new {@link MemoryCookieStore}.\n */\n constructor() {\n super();\n this.synchronous = true;\n this.idx = Object.create(null);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n findCookie(domain, path, key, callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n if (domain == null || path == null || key == null) {\n return promiseCallback.resolve(undefined);\n }\n const result = this.idx[domain]?.[path]?.[key];\n return promiseCallback.resolve(result);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n findCookies(domain, path, allowSpecialUseDomain = false, callback) {\n if (typeof allowSpecialUseDomain === 'function') {\n callback = allowSpecialUseDomain;\n // TODO: It's weird that `allowSpecialUseDomain` defaults to false with no callback,\n // but true with a callback. This is legacy behavior from v4.\n allowSpecialUseDomain = true;\n }\n const results = [];\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n if (!domain) {\n return promiseCallback.resolve([]);\n }\n let pathMatcher;\n if (!path) {\n // null means \"all paths\"\n pathMatcher = function matchAll(domainIndex) {\n for (const curPath in domainIndex) {\n const pathIndex = domainIndex[curPath];\n for (const key in pathIndex) {\n const value = pathIndex[key];\n if (value) {\n results.push(value);\n }\n }\n }\n };\n }\n else {\n pathMatcher = function matchRFC(domainIndex) {\n //NOTE: we should use path-match algorithm from S5.1.4 here\n //(see : https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/canonical_cookie.cc#L299)\n for (const cookiePath in domainIndex) {\n if ((0, pathMatch_1.pathMatch)(path, cookiePath)) {\n const pathIndex = domainIndex[cookiePath];\n for (const key in pathIndex) {\n const value = pathIndex[key];\n if (value) {\n results.push(value);\n }\n }\n }\n }\n };\n }\n const domains = (0, permuteDomain_1.permuteDomain)(domain, allowSpecialUseDomain) || [domain];\n const idx = this.idx;\n domains.forEach((curDomain) => {\n const domainIndex = idx[curDomain];\n if (!domainIndex) {\n return;\n }\n pathMatcher(domainIndex);\n });\n return promiseCallback.resolve(results);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n putCookie(cookie, callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const { domain, path, key } = cookie;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (domain == null || path == null || key == null) {\n return promiseCallback.resolve(undefined);\n }\n const domainEntry = this.idx[domain] ??\n Object.create(null);\n this.idx[domain] = domainEntry;\n const pathEntry = domainEntry[path] ??\n Object.create(null);\n domainEntry[path] = pathEntry;\n pathEntry[key] = cookie;\n return promiseCallback.resolve(undefined);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n updateCookie(_oldCookie, newCookie, callback) {\n // updateCookie() may avoid updating cookies that are identical. For example,\n // lastAccessed may not be important to some stores and an equality\n // comparison could exclude that field.\n // Don't return a value when using a callback, so that the return type is truly \"void\"\n if (callback)\n this.putCookie(newCookie, callback);\n else\n return this.putCookie(newCookie);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n removeCookie(domain, path, key, callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n delete this.idx[domain]?.[path]?.[key];\n return promiseCallback.resolve(undefined);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n removeCookies(domain, path, callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const domainEntry = this.idx[domain];\n if (domainEntry) {\n if (path) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete domainEntry[path];\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.idx[domain];\n }\n }\n return promiseCallback.resolve(undefined);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n removeAllCookies(callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n this.idx = Object.create(null);\n return promiseCallback.resolve(undefined);\n }\n /**\n * @internal No doc because this is an overload that supports the implementation\n */\n getAllCookies(callback) {\n const promiseCallback = (0, utils_1.createPromiseCallback)(callback);\n const cookies = [];\n const idx = this.idx;\n const domains = Object.keys(idx);\n domains.forEach((domain) => {\n const domainEntry = idx[domain] ?? {};\n const paths = Object.keys(domainEntry);\n paths.forEach((path) => {\n const pathEntry = domainEntry[path] ?? {};\n const keys = Object.keys(pathEntry);\n keys.forEach((key) => {\n const keyEntry = pathEntry[key];\n if (keyEntry != null) {\n cookies.push(keyEntry);\n }\n });\n });\n });\n // Sort by creationIndex so deserializing retains the creation order.\n // When implementing your own store, this SHOULD retain the order too\n cookies.sort((a, b) => {\n return (a.creationIndex || 0) - (b.creationIndex || 0);\n });\n return promiseCallback.resolve(cookies);\n }\n}\nexports.MemoryCookieStore = MemoryCookieStore;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst EventInit = require(\"./EventInit.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n EventInit._convertInherit(globalObject, obj, ret, { context });\n\n {\n const key = \"newURL\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"USVString\"](value, {\n context: context + \" has member 'newURL' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = \"\";\n }\n }\n\n {\n const key = \"oldURL\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"USVString\"](value, {\n context: context + \" has member 'oldURL' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = \"\";\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","/** Here is yet another implementation of XPath 1.0 in Javascript.\n *\n * My goal was to make it relatively compact, but as I fixed all the axis bugs\n * the axes became more and more complicated. :-(.\n *\n * I have not implemented namespaces or case-sensitive axes for XML yet.\n *\n * How to test it in Chrome: You can make a Chrome extension that replaces\n * the WebKit XPath parser with this one. But it takes a bit of effort to\n * get around isolated world and same-origin restrictions:\n * manifest.json:\n {\n \"name\": \"XPathTest\",\n \"version\": \"0.1\",\n \"content_scripts\": [{\n \"matches\": [\"http://localhost/*\"], // or wildcard host\n \"js\": [\"xpath.js\", \"injection.js\"],\n \"all_frames\": true, \"run_at\": \"document_start\"\n }]\n }\n * injection.js:\n // goal: give my xpath object to the website's JS context.\n var script = document.createElement('script');\n script.textContent =\n \"document.addEventListener('xpathextend', function(e) {\\n\" +\n \" console.log('extending document with xpath...');\\n\" +\n \" e.detail(window);\" +\n \"});\";\n document.documentElement.appendChild(script);\n document.documentElement.removeChild(script);\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent('xpathextend', true, true, this.xpath.extend);\n document.dispatchEvent(evt);\n */\nmodule.exports = core => {\n var xpath = {};\n\n // Helper function to deal with the migration of Attr to no longer have a nodeName property despite this codebase\n // assuming it does.\n function getNodeName(nodeOrAttr) {\n return nodeOrAttr.constructor.name === 'Attr' ? nodeOrAttr.name : nodeOrAttr.nodeName;\n }\n\n /***************************************************************************\n * Tokenization *\n ***************************************************************************/\n /**\n * The XPath lexer is basically a single regular expression, along with\n * some helper functions to pop different types.\n */\n var Stream = xpath.Stream = function Stream(str) {\n this.original = this.str = str;\n this.peeked = null;\n // TODO: not really needed, but supposedly tokenizer also disambiguates\n // a * b vs. node test *\n this.prev = null; // for debugging\n this.prevprev = null;\n }\n Stream.prototype = {\n peek: function() {\n if (this.peeked) return this.peeked;\n var m = this.re.exec(this.str);\n if (!m) return null;\n this.str = this.str.substr(m[0].length);\n return this.peeked = m[1];\n },\n /** Peek 2 tokens ahead. */\n peek2: function() {\n this.peek(); // make sure this.peeked is set\n var m = this.re.exec(this.str);\n if (!m) return null;\n return m[1];\n },\n pop: function() {\n var r = this.peek();\n this.peeked = null;\n this.prevprev = this.prev;\n this.prev = r;\n return r;\n },\n trypop: function(tokens) {\n var tok = this.peek();\n if (tok === tokens) return this.pop();\n if (Array.isArray(tokens)) {\n for (var i = 0; i < tokens.length; ++i) {\n var t = tokens[i];\n if (t == tok) return this.pop();;\n }\n }\n },\n trypopfuncname: function() {\n var tok = this.peek();\n if (!this.isQnameRe.test(tok))\n return null;\n switch (tok) {\n case 'comment': case 'text': case 'processing-instruction': case 'node':\n return null;\n }\n if ('(' != this.peek2()) return null;\n return this.pop();\n },\n trypopaxisname: function() {\n var tok = this.peek();\n switch (tok) {\n case 'ancestor': case 'ancestor-or-self': case 'attribute':\n case 'child': case 'descendant': case 'descendant-or-self':\n case 'following': case 'following-sibling': case 'namespace':\n case 'parent': case 'preceding': case 'preceding-sibling': case 'self':\n if ('::' == this.peek2()) return this.pop();\n }\n return null;\n },\n trypopnametest: function() {\n var tok = this.peek();\n if ('*' === tok || this.startsWithNcNameRe.test(tok)) return this.pop();\n return null;\n },\n trypopliteral: function() {\n var tok = this.peek();\n if (null == tok) return null;\n var first = tok.charAt(0);\n var last = tok.charAt(tok.length - 1);\n if ('\"' === first && '\"' === last ||\n \"'\" === first && \"'\" === last) {\n this.pop();\n return tok.substr(1, tok.length - 2) ?? null;\n }\n return null;\n },\n trypopnumber: function() {\n var tok = this.peek();\n if (this.isNumberRe.test(tok)) return parseFloat(this.pop()) ?? null;\n else return null;\n },\n trypopvarref: function() {\n var tok = this.peek();\n if (null == tok) return null;\n if ('$' === tok.charAt(0)) return this.pop().substr(1) ?? null;\n else return null;\n },\n position: function() {\n return this.original.length - this.str.length;\n }\n };\n (function() {\n // http://www.w3.org/TR/REC-xml-names/#NT-NCName\n var nameStartCharsExceptColon =\n 'A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF' +\n '\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF' +\n '\\uFDF0-\\uFFFD'; // JS doesn't support [#x10000-#xEFFFF]\n var nameCharExceptColon = nameStartCharsExceptColon +\n '\\\\-\\\\.0-9\\xb7\\u0300-\\u036F\\u203F-\\u2040';\n var ncNameChars = '[' + nameStartCharsExceptColon +\n '][' + nameCharExceptColon + ']*'\n // http://www.w3.org/TR/REC-xml-names/#NT-QName\n var qNameChars = ncNameChars + '(?::' + ncNameChars + ')?';\n var otherChars = '\\\\.\\\\.|[\\\\(\\\\)\\\\[\\\\].@,]|::'; // .. must come before [.]\n var operatorChars =\n 'and|or|mod|div|' +\n '//|!=|<=|>=|[*/|+\\\\-=<>]'; // //, !=, <=, >= before individual ones.\n var literal = '\"[^\"]*\"|' + \"'[^']*'\";\n var numberChars = '[0-9]+(?:\\\\.[0-9]*)?|\\\\.[0-9]+';\n var variableReference = '\\\\$' + qNameChars;\n var nameTestChars = '\\\\*|' + ncNameChars + ':\\\\*|' + qNameChars;\n var optionalSpace = '[ \\t\\r\\n]*'; // stricter than regexp \\s.\n var nodeType = 'comment|text|processing-instruction|node';\n var re = new RegExp(\n // numberChars before otherChars so that leading-decimal doesn't become .\n '^' + optionalSpace + '(' + numberChars + '|' + otherChars + '|' +\n nameTestChars + '|' + operatorChars + '|' + literal + '|' +\n variableReference + ')'\n // operatorName | nodeType | functionName | axisName are lumped into\n // qName for now; we'll check them on pop.\n );\n Stream.prototype.re = re;\n Stream.prototype.startsWithNcNameRe = new RegExp('^' + ncNameChars);\n Stream.prototype.isQnameRe = new RegExp('^' + qNameChars + '$');\n Stream.prototype.isNumberRe = new RegExp('^' + numberChars + '$');\n })();\n\n /***************************************************************************\n * Parsing *\n ***************************************************************************/\n var parse = xpath.parse = function parse(stream, a) {\n var r = orExpr(stream,a);\n var x, unparsed = [];\n while (x = stream.pop()) {\n unparsed.push(x);\n }\n if (unparsed.length)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Unparsed tokens: ' + unparsed.join(' '));\n return r;\n }\n\n /**\n * binaryL ::= subExpr\n * | binaryL op subExpr\n * so a op b op c becomes ((a op b) op c)\n */\n function binaryL(subExpr, stream, a, ops) {\n var lhs = subExpr(stream, a);\n if (lhs == null) return null;\n var op;\n while (op = stream.trypop(ops)) {\n var rhs = subExpr(stream, a);\n if (rhs == null)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected something after ' + op);\n lhs = a.node(op, lhs, rhs);\n }\n return lhs;\n }\n /**\n * Too bad this is never used. If they made a ** operator (raise to power),\n ( we would use it.\n * binaryR ::= subExpr\n * | subExpr op binaryR\n * so a op b op c becomes (a op (b op c))\n */\n function binaryR(subExpr, stream, a, ops) {\n var lhs = subExpr(stream, a);\n if (lhs == null) return null;\n var op = stream.trypop(ops);\n if (op) {\n var rhs = binaryR(stream, a);\n if (rhs == null)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected something after ' + op);\n return a.node(op, lhs, rhs);\n } else {\n return lhs;// TODO\n }\n }\n /** [1] LocationPath::= RelativeLocationPath | AbsoluteLocationPath\n * e.g. a, a/b, //a/b\n */\n function locationPath(stream, a) {\n return absoluteLocationPath(stream, a) ||\n relativeLocationPath(null, stream, a);\n }\n /** [2] AbsoluteLocationPath::= '/' RelativeLocationPath? | AbbreviatedAbsoluteLocationPath\n * [10] AbbreviatedAbsoluteLocationPath::= '//' RelativeLocationPath\n */\n function absoluteLocationPath(stream, a) {\n var op = stream.peek();\n if ('/' === op || '//' === op) {\n var lhs = a.node('Root');\n return relativeLocationPath(lhs, stream, a, true);\n } else {\n return null;\n }\n }\n /** [3] RelativeLocationPath::= Step | RelativeLocationPath '/' Step |\n * | AbbreviatedRelativeLocationPath\n * [11] AbbreviatedRelativeLocationPath::= RelativeLocationPath '//' Step\n * e.g. p/a, etc.\n */\n function relativeLocationPath(lhs, stream, a, isOnlyRootOk) {\n if (null == lhs) {\n lhs = step(stream, a);\n if (null == lhs) return lhs;\n }\n var op;\n while (op = stream.trypop(['/', '//'])) {\n if ('//' === op) {\n lhs = a.node('/', lhs,\n a.node('Axis', 'descendant-or-self', 'node', undefined));\n }\n var rhs = step(stream, a);\n if (null == rhs && '/' === op && isOnlyRootOk) return lhs;\n else isOnlyRootOk = false;\n if (null == rhs)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected step after ' + op);\n lhs = a.node('/', lhs, rhs);\n }\n return lhs;\n }\n /** [4] Step::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep\n * [12] AbbreviatedStep::= '.' | '..'\n * e.g. @href, self::p, p, a[@href], ., ..\n */\n function step(stream, a) {\n var abbrStep = stream.trypop(['.', '..']);\n if ('.' === abbrStep) // A location step of . is short for self::node().\n return a.node('Axis', 'self', 'node');\n if ('..' === abbrStep) // A location step of .. is short for parent::node()\n return a.node('Axis', 'parent', 'node');\n\n var axis = axisSpecifier(stream, a);\n var nodeType = nodeTypeTest(stream, a);\n var nodeName;\n if (null == nodeType) nodeName = nodeNameTest(stream, a);\n if (null == axis && null == nodeType && null == nodeName) return null;\n if (null == nodeType && null == nodeName)\n throw new XPathException(\n XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected nodeTest after axisSpecifier ' + axis);\n if (null == axis) axis = 'child';\n if (null == nodeType) {\n // When there's only a node name, then the node type is forced to be the\n // principal node type of the axis.\n // see http://www.w3.org/TR/xpath/#dt-principal-node-type\n if ('attribute' === axis) nodeType = 'attribute';\n else if ('namespace' === axis) nodeType = 'namespace';\n else nodeType = 'element';\n }\n var lhs = a.node('Axis', axis, nodeType, nodeName);\n var pred;\n while (null != (pred = predicate(lhs, stream, a))) {\n lhs = pred;\n }\n return lhs;\n }\n /** [5] AxisSpecifier::= AxisName '::' | AbbreviatedAxisSpecifier\n * [6] AxisName::= 'ancestor' | 'ancestor-or-self' | 'attribute' | 'child'\n * | 'descendant' | 'descendant-or-self' | 'following'\n * | 'following-sibling' | 'namespace' | 'parent' |\n * | 'preceding' | 'preceding-sibling' | 'self'\n * [13] AbbreviatedAxisSpecifier::= '@'?\n */\n function axisSpecifier(stream, a) {\n var attr = stream.trypop('@');\n if (null != attr) return 'attribute';\n var axisName = stream.trypopaxisname();\n if (null != axisName) {\n var coloncolon = stream.trypop('::');\n if (null == coloncolon)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Should not happen. Should be ::.');\n return axisName;\n }\n }\n /** [7] NodeTest::= NameTest | NodeType '(' ')' | 'processing-instruction' '(' Literal ')'\n * [38] NodeType::= 'comment' | 'text' | 'processing-instruction' | 'node'\n * I've split nodeTypeTest from nodeNameTest for convenience.\n */\n function nodeTypeTest(stream, a) {\n if ('(' !== stream.peek2()) {\n return null;\n }\n var type = stream.trypop(['comment', 'text', 'processing-instruction', 'node']);\n if (null != type) {\n if (null == stream.trypop('('))\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Should not happen.');\n var param = undefined;\n if (type == 'processing-instruction') {\n param = stream.trypopliteral();\n }\n if (null == stream.trypop(')'))\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected close parens.');\n return type\n }\n }\n function nodeNameTest(stream, a) {\n var name = stream.trypopnametest();\n if (name != null) return name;\n else return null;\n }\n /** [8] Predicate::= '[' PredicateExpr ']'\n * [9] PredicateExpr::= Expr\n */\n function predicate(lhs, stream, a) {\n if (null == stream.trypop('[')) return null;\n var expr = orExpr(stream, a);\n if (null == expr)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected expression after [');\n if (null == stream.trypop(']'))\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected ] after expression.');\n return a.node('Predicate', lhs, expr);\n }\n /** [14] Expr::= OrExpr\n */\n /** [15] PrimaryExpr::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall\n * e.g. $x, (3+4), \"hi\", 32, f(x)\n */\n function primaryExpr(stream, a) {\n var x = stream.trypopliteral();\n if (null == x)\n x = stream.trypopnumber();\n if (null != x) {\n return x;\n }\n var varRef = stream.trypopvarref();\n if (null != varRef) return a.node('VariableReference', varRef);\n var funCall = functionCall(stream, a);\n if (null != funCall) {\n return funCall;\n }\n if (stream.trypop('(')) {\n var e = orExpr(stream, a);\n if (null == e)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected expression after (.');\n if (null == stream.trypop(')'))\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected ) after expression.');\n return e;\n }\n return null;\n }\n /** [16] FunctionCall::= FunctionName '(' ( Argument ( ',' Argument )* )? ')'\n * [17] Argument::= Expr\n */\n function functionCall(stream, a) {\n var name = stream.trypopfuncname(stream, a);\n if (null == name) return null;\n if (null == stream.trypop('('))\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected ( ) after function name.');\n var params = [];\n var first = true;\n while (null == stream.trypop(')')) {\n if (!first && null == stream.trypop(','))\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected , between arguments of the function.');\n first = false;\n var param = orExpr(stream, a);\n if (param == null)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected expression as argument of function.');\n params.push(param);\n }\n return a.node('FunctionCall', name, params);\n }\n\n /** [18] UnionExpr::= PathExpr | UnionExpr '|' PathExpr\n */\n function unionExpr(stream, a) { return binaryL(pathExpr, stream, a, '|'); }\n /** [19] PathExpr ::= LocationPath\n * | FilterExpr\n * | FilterExpr '/' RelativeLocationPath\n * | FilterExpr '//' RelativeLocationPath\n * Unlike most other nodes, this one always generates a node because\n * at this point all reverse nodesets must turn into a forward nodeset\n */\n function pathExpr(stream, a) {\n // We have to do FilterExpr before LocationPath because otherwise\n // LocationPath will eat up the name from a function call.\n var filter = filterExpr(stream, a);\n if (null == filter) {\n var loc = locationPath(stream, a);\n if (null == loc) {\n throw new Error\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': The expression shouldn\\'t be empty...');\n }\n return a.node('PathExpr', loc);\n }\n var rel = relativeLocationPath(filter, stream, a, false);\n if (filter === rel) return rel;\n else return a.node('PathExpr', rel);\n }\n /** [20] FilterExpr::= PrimaryExpr | FilterExpr Predicate\n * aka. FilterExpr ::= PrimaryExpr Predicate*\n */\n function filterExpr(stream, a) {\n var primary = primaryExpr(stream, a);\n if (primary == null) return null;\n var pred, lhs = primary;\n while (null != (pred = predicate(lhs, stream, a))) {\n lhs = pred;\n }\n return lhs;\n }\n\n /** [21] OrExpr::= AndExpr | OrExpr 'or' AndExpr\n */\n function orExpr(stream, a) {\n var orig = (stream.peeked || '') + stream.str\n var r = binaryL(andExpr, stream, a, 'or');\n var now = (stream.peeked || '') + stream.str;\n return r;\n }\n /** [22] AndExpr::= EqualityExpr | AndExpr 'and' EqualityExpr\n */\n function andExpr(stream, a) { return binaryL(equalityExpr, stream, a, 'and'); }\n /** [23] EqualityExpr::= RelationalExpr | EqualityExpr '=' RelationalExpr\n * | EqualityExpr '!=' RelationalExpr\n */\n function equalityExpr(stream, a) { return binaryL(relationalExpr, stream, a, ['=','!=']); }\n /** [24] RelationalExpr::= AdditiveExpr | RelationalExpr '<' AdditiveExpr\n * | RelationalExpr '>' AdditiveExpr\n * | RelationalExpr '<=' AdditiveExpr\n * | RelationalExpr '>=' AdditiveExpr\n */\n function relationalExpr(stream, a) { return binaryL(additiveExpr, stream, a, ['<','>','<=','>=']); }\n /** [25] AdditiveExpr::= MultiplicativeExpr\n * | AdditiveExpr '+' MultiplicativeExpr\n * | AdditiveExpr '-' MultiplicativeExpr\n */\n function additiveExpr(stream, a) { return binaryL(multiplicativeExpr, stream, a, ['+','-']); }\n /** [26] MultiplicativeExpr::= UnaryExpr\n * | MultiplicativeExpr MultiplyOperator UnaryExpr\n * | MultiplicativeExpr 'div' UnaryExpr\n * | MultiplicativeExpr 'mod' UnaryExpr\n */\n function multiplicativeExpr(stream, a) { return binaryL(unaryExpr, stream, a, ['*','div','mod']); }\n /** [27] UnaryExpr::= UnionExpr | '-' UnaryExpr\n */\n function unaryExpr(stream, a) {\n if (stream.trypop('-')) {\n var e = unaryExpr(stream, a);\n if (null == e)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Expected unary expression after -');\n return a.node('UnaryMinus', e);\n }\n else return unionExpr(stream, a);\n }\n var astFactory = {\n node: function() {return Array.prototype.slice.call(arguments);}\n };\n\n\n /***************************************************************************\n * Optimizations (TODO) *\n ***************************************************************************/\n /**\n * Some things I've been considering:\n * 1) a//b becomes a/descendant::b if there's no predicate that uses\n * position() or last()\n * 2) axis[pred]: when pred doesn't use position, evaluate it just once per\n * node in the node-set rather than once per (node, position, last).\n * For more optimizations, look up Gecko's optimizer:\n * http://mxr.mozilla.org/mozilla-central/source/content/xslt/src/xpath/txXPathOptimizer.cpp\n */\n // TODO\n function optimize(ast) {\n }\n\n /***************************************************************************\n * Evaluation: axes *\n ***************************************************************************/\n\n /**\n * Data types: For string, number, boolean, we just use Javascript types.\n * Node-sets have the form\n * {nodes: [node, ...]}\n * or {nodes: [node, ...], pos: [[1], [2], ...], lasts: [[1], [2], ...]}\n *\n * Most of the time, only the node is used and the position information is\n * discarded. But if you use a predicate, we need to try every value of\n * position and last in case the predicate calls position() or last().\n */\n\n /**\n * The NodeMultiSet is a helper class to help generate\n * {nodes:[], pos:[], lasts:[]} structures. It is useful for the\n * descendant, descendant-or-self, following-sibling, and\n * preceding-sibling axes for which we can use a stack to organize things.\n */\n function NodeMultiSet(isReverseAxis) {\n this.nodes = [];\n this.pos = [];\n this.lasts = [];\n this.nextPos = [];\n this.seriesIndexes = []; // index within nodes that each series begins.\n this.isReverseAxis = isReverseAxis;\n this._pushToNodes = isReverseAxis ? Array.prototype.unshift : Array.prototype.push;\n }\n NodeMultiSet.prototype = {\n pushSeries: function pushSeries() {\n this.nextPos.push(1);\n this.seriesIndexes.push(this.nodes.length);\n },\n popSeries: function popSeries() {\n console.assert(0 < this.nextPos.length, this.nextPos);\n var last = this.nextPos.pop() - 1,\n indexInPos = this.nextPos.length,\n seriesBeginIndex = this.seriesIndexes.pop(),\n seriesEndIndex = this.nodes.length;\n for (var i = seriesBeginIndex; i < seriesEndIndex; ++i) {\n console.assert(indexInPos < this.lasts[i].length);\n console.assert(undefined === this.lasts[i][indexInPos]);\n this.lasts[i][indexInPos] = last;\n }\n },\n finalize: function() {\n if (null == this.nextPos) return this;\n console.assert(0 === this.nextPos.length);\n var lastsJSON = JSON.stringify(this.lasts);\n for (var i = 0; i < this.lasts.length; ++i) {\n for (var j = 0; j < this.lasts[i].length; ++j) {\n console.assert(null != this.lasts[i][j], i + ',' + j + ':' + lastsJSON);\n }\n }\n this.pushSeries = this.popSeries = this.addNode = function() {\n throw new Error('Already finalized.');\n };\n return this;\n },\n addNode: function addNode(node) {\n console.assert(node);\n this._pushToNodes.call(this.nodes, node)\n this._pushToNodes.call(this.pos, this.nextPos.slice());\n this._pushToNodes.call(this.lasts, new Array(this.nextPos.length));\n for (var i = 0; i < this.nextPos.length; ++i) this.nextPos[i]++;\n },\n simplify: function() {\n this.finalize();\n return {nodes:this.nodes, pos:this.pos, lasts:this.lasts};\n }\n };\n function eachContext(nodeMultiSet) {\n var r = [];\n for (var i = 0; i < nodeMultiSet.nodes.length; i++) {\n var node = nodeMultiSet.nodes[i];\n if (!nodeMultiSet.pos) {\n r.push({nodes:[node], pos: [[i + 1]], lasts: [[nodeMultiSet.nodes.length]]});\n } else {\n for (var j = 0; j < nodeMultiSet.pos[i].length; ++j) {\n r.push({nodes:[node], pos: [[nodeMultiSet.pos[i][j]]], lasts: [[nodeMultiSet.lasts[i][j]]]});\n }\n }\n }\n return r;\n }\n /** Matcher used in the axes.\n */\n function NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase) {\n this.nodeTypeNum = nodeTypeNum;\n this.nodeName = nodeName;\n this.shouldLowerCase = shouldLowerCase;\n this.nodeNameTest =\n null == nodeName ? this._alwaysTrue :\n shouldLowerCase ? this._nodeNameLowerCaseEquals :\n this._nodeNameEquals;\n }\n NodeMatcher.prototype = {\n matches: function matches(node) {\n if (0 === this.nodeTypeNum || this._nodeTypeMatches(node)) {\n return this.nodeNameTest(getNodeName(node));\n }\n\n return false;\n },\n _nodeTypeMatches(nodeOrAttr) {\n if (nodeOrAttr.constructor.name === 'Attr' && this.nodeTypeNum === 2) {\n return true;\n }\n return nodeOrAttr.nodeType === this.nodeTypeNum;\n },\n _alwaysTrue: function(name) {return true;},\n _nodeNameEquals: function _nodeNameEquals(name) {\n return this.nodeName === name;\n },\n _nodeNameLowerCaseEquals: function _nodeNameLowerCaseEquals(name) {\n return this.nodeName === name.toLowerCase();\n }\n };\n\n function followingSiblingHelper(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, shift, peek, followingNode, andSelf, isReverseAxis) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var nodeMultiSet = new NodeMultiSet(isReverseAxis);\n while (0 < nodeList.length) { // can be if for following, preceding\n var node = shift.call(nodeList);\n console.assert(node != null);\n node = followingNode(node);\n nodeMultiSet.pushSeries();\n var numPushed = 1;\n while (null != node) {\n if (! andSelf && matcher.matches(node))\n nodeMultiSet.addNode(node);\n if (node === peek.call(nodeList)) {\n shift.call(nodeList);\n nodeMultiSet.pushSeries();\n numPushed++;\n }\n if (andSelf && matcher.matches(node))\n nodeMultiSet.addNode(node);\n node = followingNode(node);\n }\n while (0 < numPushed--)\n nodeMultiSet.popSeries();\n }\n return nodeMultiSet;\n }\n\n /** Returns the next non-descendant node in document order.\n * This is the first node in following::node(), if node is the context.\n */\n function followingNonDescendantNode(node) {\n if (node.ownerElement) {\n if (node.ownerElement.firstChild)\n return node.ownerElement.firstChild;\n node = node.ownerElement;\n }\n do {\n if (node.nextSibling) return node.nextSibling;\n } while (node = node.parentNode);\n return null;\n }\n\n /** Returns the next node in a document-order depth-first search.\n * See the definition of document order[1]:\n * 1) element\n * 2) namespace nodes\n * 3) attributes\n * 4) children\n * [1]: http://www.w3.org/TR/xpath/#dt-document-order\n */\n function followingNode(node) {\n if (node.ownerElement) // attributes: following node of element.\n node = node.ownerElement;\n if (null != node.firstChild)\n return node.firstChild;\n do {\n if (null != node.nextSibling) {\n return node.nextSibling;\n }\n node = node.parentNode;\n } while (node);\n return null;\n }\n /** Returns the previous node in document order (excluding attributes\n * and namespace nodes).\n */\n function precedingNode(node) {\n if (node.ownerElement)\n return node.ownerElement;\n if (null != node.previousSibling) {\n node = node.previousSibling;\n while (null != node.lastChild) {\n node = node.lastChild;\n }\n return node;\n }\n if (null != node.parentNode) {\n return node.parentNode;\n }\n return null;\n }\n /** This axis is inefficient if there are many nodes in the nodeList.\n * But I think it's a pretty useless axis so it's ok. */\n function followingHelper(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var nodeMultiSet = new NodeMultiSet(false);\n var cursor = nodeList[0];\n var unorderedFollowingStarts = [];\n for (var i = 0; i < nodeList.length; i++) {\n var node = nodeList[i];\n var start = followingNonDescendantNode(node);\n if (start)\n unorderedFollowingStarts.push(start);\n }\n if (0 === unorderedFollowingStarts.length)\n return {nodes:[]};\n var pos = [], nextPos = [];\n var started = 0;\n while (cursor = followingNode(cursor)) {\n for (var i = unorderedFollowingStarts.length - 1; i >= 0; i--){\n if (cursor === unorderedFollowingStarts[i]) {\n nodeMultiSet.pushSeries();\n unorderedFollowingStarts.splice(i,i+1);\n started++;\n }\n }\n if (started && matcher.matches(cursor)) {\n nodeMultiSet.addNode(cursor);\n }\n }\n console.assert(0 === unorderedFollowingStarts.length);\n for (var i = 0; i < started; i++)\n nodeMultiSet.popSeries();\n return nodeMultiSet.finalize();\n }\n function precedingHelper(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var cursor = nodeList.pop();\n if (null == cursor) return {nodes:{}};\n var r = {nodes:[], pos:[], lasts:[]};\n var nextParents = [cursor.parentNode || cursor.ownerElement], nextPos = [1];\n while (cursor = precedingNode(cursor)) {\n if (cursor === nodeList[nodeList.length - 1]) {\n nextParents.push(nodeList.pop());\n nextPos.push(1);\n }\n var matches = matcher.matches(cursor);\n var pos, someoneUsed = false;\n if (matches)\n pos = nextPos.slice();\n\n for (var i = 0; i < nextParents.length; ++i) {\n if (cursor === nextParents[i]) {\n nextParents[i] = cursor.parentNode || cursor.ownerElement;\n if (matches) {\n pos[i] = null;\n }\n } else {\n if (matches) {\n pos[i] = nextPos[i]++;\n someoneUsed = true;\n }\n }\n }\n if (someoneUsed) {\n r.nodes.unshift(cursor);\n r.pos.unshift(pos);\n }\n }\n for (var i = 0; i < r.pos.length; ++i) {\n var lasts = [];\n r.lasts.push(lasts);\n for (var j = r.pos[i].length - 1; j >= 0; j--) {\n if (null == r.pos[i][j]) {\n r.pos[i].splice(j, j+1);\n } else {\n lasts.unshift(nextPos[j] - 1);\n }\n }\n }\n return r;\n }\n\n /** node-set, axis -> node-set */\n function descendantDfs(nodeMultiSet, node, remaining, matcher, andSelf, attrIndices, attrNodes) {\n while (0 < remaining.length && null != remaining[0].ownerElement) {\n var attr = remaining.shift();\n if (andSelf && matcher.matches(attr)) {\n attrNodes.push(attr);\n attrIndices.push(nodeMultiSet.nodes.length);\n }\n }\n if (null != node && !andSelf) {\n if (matcher.matches(node))\n nodeMultiSet.addNode(node);\n }\n var pushed = false;\n if (null == node) {\n if (0 === remaining.length) return;\n node = remaining.shift();\n nodeMultiSet.pushSeries();\n pushed = true;\n } else if (0 < remaining.length && node === remaining[0]) {\n nodeMultiSet.pushSeries();\n pushed = true;\n remaining.shift();\n }\n if (andSelf) {\n if (matcher.matches(node))\n nodeMultiSet.addNode(node);\n }\n // TODO: use optimization. Also try element.getElementsByTagName\n // var nodeList = 1 === nodeTypeNum && null != node.children ? node.children : node.childNodes;\n var nodeList = node.childNodes;\n for (var j = 0; j < nodeList.length; ++j) {\n var child = nodeList[j];\n descendantDfs(nodeMultiSet, child, remaining, matcher, andSelf, attrIndices, attrNodes);\n }\n if (pushed) {\n nodeMultiSet.popSeries();\n }\n }\n function descenantHelper(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, andSelf) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var nodeMultiSet = new NodeMultiSet(false);\n var attrIndices = [], attrNodes = [];\n while (0 < nodeList.length) {\n // var node = nodeList.shift();\n descendantDfs(nodeMultiSet, null, nodeList, matcher, andSelf, attrIndices, attrNodes);\n }\n nodeMultiSet.finalize();\n for (var i = attrNodes.length-1; i >= 0; --i) {\n nodeMultiSet.nodes.splice(attrIndices[i], attrIndices[i], attrNodes[i]);\n nodeMultiSet.pos.splice(attrIndices[i], attrIndices[i], [1]);\n nodeMultiSet.lasts.splice(attrIndices[i], attrIndices[i], [1]);\n }\n return nodeMultiSet;\n }\n /**\n */\n function ancestorHelper(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, andSelf) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var ancestors = []; // array of non-empty arrays of matching ancestors\n for (var i = 0; i < nodeList.length; ++i) {\n var node = nodeList[i];\n var isFirst = true;\n var a = [];\n while (null != node) {\n if (!isFirst || andSelf) {\n if (matcher.matches(node))\n a.push(node);\n }\n isFirst = false;\n node = node.parentNode || node.ownerElement;\n }\n if (0 < a.length)\n ancestors.push(a);\n }\n var lasts = [];\n for (var i = 0; i < ancestors.length; ++i) lasts.push(ancestors[i].length);\n var nodeMultiSet = new NodeMultiSet(true);\n var newCtx = {nodes:[], pos:[], lasts:[]};\n while (0 < ancestors.length) {\n var pos = [ancestors[0].length];\n var last = [lasts[0]];\n var node = ancestors[0].pop();\n for (var i = ancestors.length - 1; i > 0; --i) {\n if (node === ancestors[i][ancestors[i].length - 1]) {\n pos.push(ancestors[i].length);\n last.push(lasts[i]);\n ancestors[i].pop();\n if (0 === ancestors[i].length) {\n ancestors.splice(i, i+1);\n lasts.splice(i, i+1);\n }\n }\n }\n if (0 === ancestors[0].length) {\n ancestors.shift();\n lasts.shift();\n }\n newCtx.nodes.push(node);\n newCtx.pos.push(pos);\n newCtx.lasts.push(last);\n }\n return newCtx;\n }\n /** Helper function for sortDocumentOrder. Returns a list of indices, from the\n * node to the root, of positions within parent.\n * For convenience, the node is the first element of the array.\n */\n function addressVector(node) {\n var r = [node];\n if (null != node.ownerElement) {\n node = node.ownerElement;\n r.push(-1);\n }\n while (null != node) {\n var i = 0;\n while (null != node.previousSibling) {\n node = node.previousSibling;\n i++;\n }\n r.push(i);\n node = node.parentNode\n }\n return r;\n }\n function addressComparator(a, b) {\n var minlen = Math.min(a.length - 1, b.length - 1), // not including [0]=node\n alen = a.length,\n blen = b.length;\n if (a[0] === b[0]) return 0;\n var c;\n for (var i = 0; i < minlen; ++i) {\n c = a[alen - i - 1] - b[blen - i - 1];\n if (0 !== c)\n break;\n }\n if (null == c || 0 === c) {\n // All equal until one of the nodes. The longer one is the descendant.\n c = alen - blen;\n }\n if (0 === c)\n c = getNodeName(a) - getNodeName(b);\n if (0 === c)\n c = 1;\n return c;\n }\n var sortUniqDocumentOrder = xpath.sortUniqDocumentOrder = function(nodes) {\n var a = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var v = addressVector(node);\n a.push(v);\n }\n a.sort(addressComparator);\n var b = [];\n for (var i = 0; i < a.length; i++) {\n if (0 < i && a[i][0] === a[i - 1][0])\n continue;\n b.push(a[i][0]);\n }\n return b;\n }\n /** Sort node multiset. Does not do any de-duping. */\n function sortNodeMultiSet(nodeMultiSet) {\n var a = [];\n for (var i = 0; i < nodeMultiSet.nodes.length; i++) {\n var v = addressVector(nodeMultiSet.nodes[i]);\n a.push({v:v, n:nodeMultiSet.nodes[i],\n p:nodeMultiSet.pos[i], l:nodeMultiSet.lasts[i]});\n }\n a.sort(compare);\n var r = {nodes:[], pos:[], lasts:[]};\n for (var i = 0; i < a.length; ++i) {\n r.nodes.push(a[i].n);\n r.pos.push(a[i].p);\n r.lasts.push(a[i].l);\n }\n function compare(x, y) {\n return addressComparator(x.v, y.v);\n }\n return r;\n }\n /** Returns an array containing all the ancestors down to a node.\n * The array starts with document.\n */\n function nodeAndAncestors(node) {\n var ancestors = [node];\n var p = node;\n while (p = p.parentNode || p.ownerElement) {\n ancestors.unshift(p);\n }\n return ancestors;\n }\n function compareSiblings(a, b) {\n if (a === b) return 0;\n var c = a;\n while (c = c.previousSibling) {\n if (c === b)\n return 1; // b < a\n }\n c = b;\n while (c = c.previousSibling) {\n if (c === a)\n return -1; // a < b\n }\n throw new Error('a and b are not siblings: ' + xpath.stringifyObject(a) + ' vs ' + xpath.stringifyObject(b));\n }\n /** The merge in merge-sort.*/\n function mergeNodeLists(x, y) {\n var a, b, aanc, banc, r = [];\n if ('object' !== typeof x)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Invalid LHS for | operator ' +\n '(expected node-set): ' + x);\n if ('object' !== typeof y)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Invalid LHS for | operator ' +\n '(expected node-set): ' + y);\n while (true) {\n if (null == a) {\n a = x.shift();\n if (null != a)\n aanc = addressVector(a);\n }\n if (null == b) {\n b = y.shift();\n if (null != b)\n banc = addressVector(b);\n }\n if (null == a || null == b) break;\n var c = addressComparator(aanc, banc);\n if (c < 0) {\n r.push(a);\n a = null;\n aanc = null;\n } else if (c > 0) {\n r.push(b);\n b = null;\n banc = null;\n } else if (getNodeName(a) < getNodeName(b)) { // attributes\n r.push(a);\n a = null;\n aanc = null;\n } else if (getNodeName(a) > getNodeName(b)) { // attributes\n r.push(b);\n b = null;\n banc = null;\n } else if (a !== b) {\n // choose b arbitrarily\n r.push(b);\n b = null;\n banc = null;\n } else {\n console.assert(a === b, c);\n // just skip b without pushing it.\n b = null;\n banc = null;\n }\n }\n while (a) {\n r.push(a);\n a = x.shift();\n }\n while (b) {\n r.push(b);\n b = y.shift();\n }\n return r;\n }\n function comparisonHelper(test, x, y, isNumericComparison) {\n var coersion;\n if (isNumericComparison)\n coersion = fn.number;\n else coersion =\n 'boolean' === typeof x || 'boolean' === typeof y ? fn['boolean'] :\n 'number' === typeof x || 'number' === typeof y ? fn.number :\n fn.string;\n if ('object' === typeof x && 'object' === typeof y) {\n var aMap = {};\n for (var i = 0; i < x.nodes.length; ++i) {\n var xi = coersion({nodes:[x.nodes[i]]});\n for (var j = 0; j < y.nodes.length; ++j) {\n var yj = coersion({nodes:[y.nodes[j]]});\n if (test(xi, yj)) return true;\n }\n }\n return false;\n } else if ('object' === typeof x && x.nodes && x.nodes.length) {\n for (var i = 0; i < x.nodes.length; ++i) {\n var xi = coersion({nodes:[x.nodes[i]]}), yc = coersion(y);\n if (test(xi, yc))\n return true;\n }\n return false;\n } else if ('object' === typeof y && x.nodes && x.nodes.length) {\n for (var i = 0; i < x.nodes.length; ++i) {\n var yi = coersion({nodes:[y.nodes[i]]}), xc = coersion(x);\n if (test(xc, yi))\n return true;\n }\n return false;\n } else {\n var xc = coersion(x), yc = coersion(y);\n return test(xc, yc);\n }\n }\n var axes = xpath.axes = {\n 'ancestor':\n function ancestor(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return ancestorHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, false);\n },\n 'ancestor-or-self':\n function ancestorOrSelf(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return ancestorHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, true);\n },\n 'attribute':\n function attribute(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n // TODO: figure out whether positions should be undefined here.\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var nodeMultiSet = new NodeMultiSet(false);\n if (null != nodeName) {\n // TODO: with namespace\n for (var i = 0; i < nodeList.length; ++i) {\n var node = nodeList[i];\n if (null == node.getAttributeNode)\n continue; // only Element has .getAttributeNode\n var attr = node.getAttributeNode(nodeName);\n if (null != attr && matcher.matches(attr)) {\n nodeMultiSet.pushSeries();\n nodeMultiSet.addNode(attr);\n nodeMultiSet.popSeries();\n }\n }\n } else {\n for (var i = 0; i < nodeList.length; ++i) {\n var node = nodeList[i];\n if (null != node.attributes) {\n nodeMultiSet.pushSeries();\n for (var j = 0; j < node.attributes.length; j++) { // all nodes have .attributes\n var attr = node.attributes[j];\n if (matcher.matches(attr)) // TODO: I think this check is unnecessary\n nodeMultiSet.addNode(attr);\n }\n nodeMultiSet.popSeries();\n }\n }\n }\n return nodeMultiSet.finalize();\n },\n 'child':\n function child(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var nodeMultiSet = new NodeMultiSet(false);\n for (var i = 0; i < nodeList.length; ++i) {\n var n = nodeList[i];\n if (n.ownerElement) // skip attribute nodes' text child.\n continue;\n if (n.childNodes) {\n nodeMultiSet.pushSeries();\n var childList = 1 === nodeTypeNum && null != n.children ?\n n.children : n.childNodes;\n for (var j = 0; j < childList.length; ++j) {\n var child = childList[j];\n if (matcher.matches(child)) {\n nodeMultiSet.addNode(child);\n }\n // don't have to do de-duping because children have parent,\n // which are current context.\n }\n nodeMultiSet.popSeries();\n }\n }\n nodeMultiSet.finalize();\n return sortNodeMultiSet(nodeMultiSet);\n },\n 'descendant':\n function descenant(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return descenantHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, false);\n },\n 'descendant-or-self':\n function descenantOrSelf(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return descenantHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase, true);\n },\n 'following':\n function following(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return followingHelper(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase);\n },\n 'following-sibling':\n function followingSibling(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return followingSiblingHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase,\n Array.prototype.shift, function() {return this[0];},\n function(node) {return node.nextSibling;});\n },\n 'namespace':\n function namespace(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n // TODO\n },\n 'parent':\n function parent(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n var nodes = [], pos = [];\n for (var i = 0; i < nodeList.length; ++i) {\n var parent = nodeList[i].parentNode || nodeList[i].ownerElement;\n if (null == parent)\n continue;\n if (!matcher.matches(parent))\n continue;\n if (nodes.length > 0 && parent === nodes[nodes.length-1])\n continue;\n nodes.push(parent);\n pos.push([1]);\n }\n return {nodes:nodes, pos:pos, lasts:pos};\n },\n 'preceding':\n function preceding(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return precedingHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase);\n },\n 'preceding-sibling':\n function precedingSibling(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n return followingSiblingHelper(\n nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase,\n Array.prototype.pop, function() {return this[this.length-1];},\n function(node) {return node.previousSibling},\n false, true);\n },\n 'self':\n function self(nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase) {\n var nodes = [], pos = [];\n var matcher = new NodeMatcher(nodeTypeNum, nodeName, shouldLowerCase);\n for (var i = 0; i < nodeList.length; ++i) {\n if (matcher.matches(nodeList[i])) {\n nodes.push(nodeList[i]);\n pos.push([1]);\n }\n }\n return {nodes: nodes, pos: pos, lasts: pos}\n }\n };\n\n /***************************************************************************\n * Evaluation: functions *\n ***************************************************************************/\n var fn = {\n 'number': function number(optObject) {\n if ('number' === typeof optObject)\n return optObject;\n if ('string' === typeof optObject)\n return parseFloat(optObject); // note: parseFloat(' ') -> NaN, unlike +' ' -> 0.\n if ('boolean' === typeof optObject)\n return +optObject;\n return fn.number(fn.string.call(this, optObject)); // for node-sets\n },\n 'string': function string(optObject) {\n if (null == optObject)\n return fn.string(this);\n if ('string' === typeof optObject || 'boolean' === typeof optObject ||\n 'number' === typeof optObject)\n return '' + optObject;\n if (0 == optObject.nodes.length) return '';\n if (null != optObject.nodes[0].textContent)\n return optObject.nodes[0].textContent;\n return optObject.nodes[0].nodeValue;\n },\n 'boolean': function booleanVal(x) {\n return 'object' === typeof x ? x.nodes.length > 0 : !!x;\n },\n 'last': function last() {\n console.assert(Array.isArray(this.pos));\n console.assert(Array.isArray(this.lasts));\n console.assert(1 === this.pos.length);\n console.assert(1 === this.lasts.length);\n console.assert(1 === this.lasts[0].length);\n return this.lasts[0][0];\n },\n 'position': function position() {\n console.assert(Array.isArray(this.pos));\n console.assert(Array.isArray(this.lasts));\n console.assert(1 === this.pos.length);\n console.assert(1 === this.lasts.length);\n console.assert(1 === this.pos[0].length);\n return this.pos[0][0];\n },\n 'count': function count(nodeSet) {\n if ('object' !== typeof nodeSet)\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Position ' + stream.position() +\n ': Function count(node-set) ' +\n 'got wrong argument type: ' + nodeSet);\n return nodeSet.nodes.length;\n },\n 'id': function id(object) {\n var r = {nodes: []};\n var doc = this.nodes[0].ownerDocument || this.nodes[0];\n console.assert(doc);\n var ids;\n if ('object' === typeof object) {\n // for node-sets, map id over each node value.\n ids = [];\n for (var i = 0; i < object.nodes.length; ++i) {\n var idNode = object.nodes[i];\n var idsString = fn.string({nodes:[idNode]});\n var a = idsString.split(/[ \\t\\r\\n]+/g);\n Array.prototype.push.apply(ids, a);\n }\n } else {\n var idsString = fn.string(object);\n var a = idsString.split(/[ \\t\\r\\n]+/g);\n ids = a;\n }\n for (var i = 0; i < ids.length; ++i) {\n var id = ids[i];\n if (0 === id.length)\n continue;\n var node = doc.getElementById(id);\n if (null != node)\n r.nodes.push(node);\n }\n r.nodes = sortUniqDocumentOrder(r.nodes);\n return r;\n },\n 'local-name': function(nodeSet) {\n if (null == nodeSet)\n return fn.name(this);\n if (null == nodeSet.nodes) {\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'argument to name() must be a node-set. got ' + nodeSet);\n }\n // TODO: namespaced version\n return nodeSet.nodes[0].localName;\n },\n 'namespace-uri': function(nodeSet) {\n // TODO\n throw new Error('not implemented yet');\n },\n 'name': function(nodeSet) {\n if (null == nodeSet)\n return fn.name(this);\n if (null == nodeSet.nodes) {\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'argument to name() must be a node-set. got ' + nodeSet);\n }\n return nodeSet.nodes[0].name;\n },\n 'concat': function concat(x) {\n var l = [];\n for (var i = 0; i < arguments.length; ++i) {\n l.push(fn.string(arguments[i]));\n }\n return l.join('');\n },\n 'starts-with': function startsWith(a, b) {\n var as = fn.string(a), bs = fn.string(b);\n return as.substr(0, bs.length) === bs;\n },\n 'contains': function contains(a, b) {\n var as = fn.string(a), bs = fn.string(b);\n var i = as.indexOf(bs);\n if (-1 === i) return false;\n return true;\n },\n 'substring-before': function substringBefore(a, b) {\n var as = fn.string(a), bs = fn.string(b);\n var i = as.indexOf(bs);\n if (-1 === i) return '';\n return as.substr(0, i);\n },\n 'substring-after': function substringBefore(a, b) {\n var as = fn.string(a), bs = fn.string(b);\n var i = as.indexOf(bs);\n if (-1 === i) return '';\n return as.substr(i + bs.length);\n },\n 'substring': function substring(string, start, optEnd) {\n if (null == string || null == start) {\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Must be at least 2 arguments to string()');\n }\n var sString = fn.string(string),\n iStart = fn.round(start),\n iEnd = optEnd == null ? null : fn.round(optEnd);\n // Note that xpath string positions user 1-based index\n if (iEnd == null)\n return sString.substr(iStart - 1);\n else\n return sString.substr(iStart - 1, iEnd);\n },\n 'string-length': function stringLength(optString) {\n return fn.string.call(this, optString).length;\n },\n 'normalize-space': function normalizeSpace(optString) {\n var s = fn.string.call(this, optString);\n return s.replace(/[ \\t\\r\\n]+/g, ' ').replace(/^ | $/g, '');\n },\n 'translate': function translate(string, from, to) {\n var sString = fn.string.call(this, string),\n sFrom = fn.string(from),\n sTo = fn.string(to);\n var eachCharRe = [];\n var map = {};\n for (var i = 0; i < sFrom.length; ++i) {\n var c = sFrom.charAt(i);\n map[c] = sTo.charAt(i); // returns '' if beyond length of sTo.\n // copied from goog.string.regExpEscape in the Closure library.\n eachCharRe.push(\n c.replace(/([-()\\[\\]{}+?*.$\\^|,:#': function(x, y) {\n return comparisonHelper(function(x, y) { return fn.number(x) > fn.number(y);}, x, y, true);\n },\n '>=': function(x, y) {\n return comparisonHelper(function(x, y) { return fn.number(x) >= fn.number(y);}, x, y, true);\n },\n 'and': function(x, y) { return fn['boolean'](x) && fn['boolean'](y); },\n 'or': function(x, y) { return fn['boolean'](x) || fn['boolean'](y); },\n '|': function(x, y) { return {nodes: mergeNodeLists(x.nodes, y.nodes)}; },\n '=': function(x, y) {\n // optimization for two node-sets case: avoid n^2 comparisons.\n if ('object' === typeof x && 'object' === typeof y) {\n var aMap = {};\n for (var i = 0; i < x.nodes.length; ++i) {\n var s = fn.string({nodes:[x.nodes[i]]});\n aMap[s] = true;\n }\n for (var i = 0; i < y.nodes.length; ++i) {\n var s = fn.string({nodes:[y.nodes[i]]});\n if (aMap[s]) return true;\n }\n return false;\n } else {\n return comparisonHelper(function(x, y) {return x === y;}, x, y);\n }\n },\n '!=': function(x, y) {\n // optimization for two node-sets case: avoid n^2 comparisons.\n if ('object' === typeof x && 'object' === typeof y) {\n if (0 === x.nodes.length || 0 === y.nodes.length) return false;\n var aMap = {};\n for (var i = 0; i < x.nodes.length; ++i) {\n var s = fn.string({nodes:[x.nodes[i]]});\n aMap[s] = true;\n }\n for (var i = 0; i < y.nodes.length; ++i) {\n var s = fn.string({nodes:[y.nodes[i]]});\n if (!aMap[s]) return true;\n }\n return false;\n } else {\n return comparisonHelper(function(x, y) {return x !== y;}, x, y);\n }\n }\n };\n var nodeTypes = xpath.nodeTypes = {\n 'node': 0,\n 'attribute': 2,\n 'comment': 8, // this.doc.COMMENT_NODE,\n 'text': 3, // this.doc.TEXT_NODE,\n 'processing-instruction': 7, // this.doc.PROCESSING_INSTRUCTION_NODE,\n 'element': 1 //this.doc.ELEMENT_NODE\n };\n /** For debugging and unit tests: returnjs a stringified version of the\n * argument. */\n var stringifyObject = xpath.stringifyObject = function stringifyObject(ctx) {\n var seenKey = 'seen' + Math.floor(Math.random()*1000000000);\n return JSON.stringify(helper(ctx));\n\n function helper(ctx) {\n if (Array.isArray(ctx)) {\n return ctx.map(function(x) {return helper(x);});\n }\n if ('object' !== typeof ctx) return ctx;\n if (null == ctx) return ctx;\n // if (ctx.toString) return ctx.toString();\n if (null != ctx.outerHTML) return ctx.outerHTML;\n if (null != ctx.nodeValue) return ctx.nodeName + '=' + ctx.nodeValue;\n if (ctx[seenKey]) return '[circular]';\n ctx[seenKey] = true;\n var nicer = {};\n for (var key in ctx) {\n if (seenKey === key)\n continue;\n try {\n nicer[key] = helper(ctx[key]);\n } catch (e) {\n nicer[key] = '[exception: ' + e.message + ']';\n }\n }\n delete ctx[seenKey];\n return nicer;\n }\n }\n var Evaluator = xpath.Evaluator = function Evaluator(doc) {\n this.doc = doc;\n }\n Evaluator.prototype = {\n val: function val(ast, ctx) {\n console.assert(ctx.nodes);\n\n if ('number' === typeof ast || 'string' === typeof ast) return ast;\n if (more[ast[0]]) {\n var evaluatedParams = [];\n for (var i = 1; i < ast.length; ++i) {\n evaluatedParams.push(this.val(ast[i], ctx));\n }\n var r = more[ast[0]].apply(ctx, evaluatedParams);\n return r;\n }\n switch (ast[0]) {\n case 'Root': return {nodes: [this.doc]};\n case 'FunctionCall':\n var functionName = ast[1], functionParams = ast[2];\n if (null == fn[functionName])\n throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,\n 'Unknown function: ' + functionName);\n var evaluatedParams = [];\n for (var i = 0; i < functionParams.length; ++i) {\n evaluatedParams.push(this.val(functionParams[i], ctx));\n }\n var r = fn[functionName].apply(ctx, evaluatedParams);\n return r;\n case 'Predicate':\n var lhs = this.val(ast[1], ctx);\n var ret = {nodes: []};\n var contexts = eachContext(lhs);\n for (var i = 0; i < contexts.length; ++i) {\n var singleNodeSet = contexts[i];\n var rhs = this.val(ast[2], singleNodeSet);\n var success;\n if ('number' === typeof rhs) {\n success = rhs === singleNodeSet.pos[0][0];\n } else {\n success = fn['boolean'](rhs);\n }\n if (success) {\n var node = singleNodeSet.nodes[0];\n ret.nodes.push(node);\n // skip over all the rest of the same node.\n while (i+1 < contexts.length && node === contexts[i+1].nodes[0]) {\n i++;\n }\n }\n }\n return ret;\n case 'PathExpr':\n // turn the path into an expressoin; i.e., remove the position\n // information of the last axis.\n var x = this.val(ast[1], ctx);\n // Make the nodeset a forward-direction-only one.\n if (x.finalize) { // it is a NodeMultiSet\n return {nodes: x.nodes};\n } else {\n return x;\n }\n case '/':\n // TODO: don't generate '/' nodes, just Axis nodes.\n var lhs = this.val(ast[1], ctx);\n console.assert(null != lhs);\n var r = this.val(ast[2], lhs);\n console.assert(null != r);\n return r;\n case 'Axis':\n // All the axis tests from Step. We only get AxisSpecifier NodeTest,\n // not the predicate (which is applied later)\n var axis = ast[1],\n nodeType = ast[2],\n nodeTypeNum = nodeTypes[nodeType],\n shouldLowerCase = true, // TODO: give option\n nodeName = ast[3] && shouldLowerCase ? ast[3].toLowerCase() : ast[3];\n nodeName = nodeName === '*' ? null : nodeName;\n if ('object' !== typeof ctx) return {nodes:[], pos:[]};\n var nodeList = ctx.nodes.slice(); // TODO: is copy needed?\n var r = axes[axis](nodeList /*destructive!*/, nodeTypeNum, nodeName, shouldLowerCase);\n return r;\n }\n }\n };\n var evaluate = xpath.evaluate = function evaluate(expr, doc, context) {\n //var astFactory = new AstEvaluatorFactory(doc, context);\n var stream = new Stream(expr);\n var ast = parse(stream, astFactory);\n var val = new Evaluator(doc).val(ast, {nodes: [context]});\n return val;\n }\n\n /***************************************************************************\n * DOM interface *\n ***************************************************************************/\n var XPathException = xpath.XPathException = function XPathException(code, message) {\n var e = new Error(message);\n e.name = 'XPathException';\n e.code = code;\n return e;\n }\n XPathException.INVALID_EXPRESSION_ERR = 51;\n XPathException.TYPE_ERR = 52;\n\n\n var XPathEvaluator = xpath.XPathEvaluator = function XPathEvaluator() {}\n XPathEvaluator.prototype = {\n createExpression: function(expression, resolver) {\n return new XPathExpression(expression, resolver);\n },\n createNSResolver: function(nodeResolver) {\n // TODO\n },\n evaluate: function evaluate(expression, contextNode, resolver, type, result) {\n var expr = new XPathExpression(expression, resolver);\n return expr.evaluate(contextNode, type, result);\n }\n };\n\n\n var XPathExpression = xpath.XPathExpression = function XPathExpression(expression, resolver, optDoc) {\n var stream = new Stream(expression);\n this._ast = parse(stream, astFactory);\n this._doc = optDoc;\n }\n XPathExpression.prototype = {\n evaluate: function evaluate(contextNode, type, result) {\n if (null == contextNode.nodeType)\n throw new Error('bad argument (expected context node): ' + contextNode);\n var doc = contextNode.ownerDocument || contextNode;\n if (null != this._doc && this._doc !== doc) {\n throw new core.DOMException(\n core.DOMException.WRONG_DOCUMENT_ERR,\n 'The document must be the same as the context node\\'s document.');\n }\n var evaluator = new Evaluator(doc);\n var value = evaluator.val(this._ast, {nodes: [contextNode]});\n if (XPathResult.NUMBER_TYPE === type)\n value = fn.number(value);\n else if (XPathResult.STRING_TYPE === type)\n value = fn.string(value);\n else if (XPathResult.BOOLEAN_TYPE === type)\n value = fn['boolean'](value);\n else if (XPathResult.ANY_TYPE !== type &&\n XPathResult.UNORDERED_NODE_ITERATOR_TYPE !== type &&\n XPathResult.ORDERED_NODE_ITERATOR_TYPE !== type &&\n XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE !== type &&\n XPathResult.ORDERED_NODE_SNAPSHOT_TYPE !== type &&\n XPathResult.ANY_UNORDERED_NODE_TYPE !== type &&\n XPathResult.FIRST_ORDERED_NODE_TYPE !== type)\n throw new core.DOMException(\n core.DOMException.NOT_SUPPORTED_ERR,\n 'You must provide an XPath result type (0=any).');\n else if (XPathResult.ANY_TYPE !== type &&\n 'object' !== typeof value)\n throw new XPathException(\n XPathException.TYPE_ERR,\n 'Value should be a node-set: ' + value);\n return new XPathResult(doc, value, type);\n }\n }\n\n var XPathResult = xpath.XPathResult = function XPathResult(doc, value, resultType) {\n this._value = value;\n this._resultType = resultType;\n this._i = 0;\n\n // TODO: we removed mutation events but didn't take care of this. No tests fail, so that's nice, but eventually we\n // should fix this, preferably by entirely replacing our XPath implementation.\n // this._invalidated = false;\n // if (this.resultType === XPathResult.UNORDERED_NODE_ITERATOR_TYPE ||\n // this.resultType === XPathResult.ORDERED_NODE_ITERATOR_TYPE) {\n // doc.addEventListener('DOMSubtreeModified', invalidate, true);\n // var self = this;\n // function invalidate() {\n // self._invalidated = true;\n // doc.removeEventListener('DOMSubtreeModified', invalidate, true);\n // }\n // }\n }\n XPathResult.ANY_TYPE = 0;\n XPathResult.NUMBER_TYPE = 1;\n XPathResult.STRING_TYPE = 2;\n XPathResult.BOOLEAN_TYPE = 3;\n XPathResult.UNORDERED_NODE_ITERATOR_TYPE = 4;\n XPathResult.ORDERED_NODE_ITERATOR_TYPE = 5;\n XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE = 6;\n XPathResult.ORDERED_NODE_SNAPSHOT_TYPE = 7;\n XPathResult.ANY_UNORDERED_NODE_TYPE = 8;\n XPathResult.FIRST_ORDERED_NODE_TYPE = 9;\n var proto = {\n // XPathResultType\n get resultType() {\n if (this._resultType) return this._resultType;\n switch (typeof this._value) {\n case 'number': return XPathResult.NUMBER_TYPE;\n case 'string': return XPathResult.STRING_TYPE;\n case 'boolean': return XPathResult.BOOLEAN_TYPE;\n default: return XPathResult.UNORDERED_NODE_ITERATOR_TYPE;\n }\n },\n get numberValue() {\n if (XPathResult.NUMBER_TYPE !== this.resultType)\n throw new XPathException(XPathException.TYPE_ERR,\n 'You should have asked for a NUMBER_TYPE.');\n return this._value;\n },\n get stringValue() {\n if (XPathResult.STRING_TYPE !== this.resultType)\n throw new XPathException(XPathException.TYPE_ERR,\n 'You should have asked for a STRING_TYPE.');\n return this._value;\n },\n get booleanValue() {\n if (XPathResult.BOOLEAN_TYPE !== this.resultType)\n throw new XPathException(XPathException.TYPE_ERR,\n 'You should have asked for a BOOLEAN_TYPE.');\n return this._value;\n },\n get singleNodeValue() {\n if (XPathResult.ANY_UNORDERED_NODE_TYPE !== this.resultType &&\n XPathResult.FIRST_ORDERED_NODE_TYPE !== this.resultType)\n throw new XPathException(\n XPathException.TYPE_ERR,\n 'You should have asked for a FIRST_ORDERED_NODE_TYPE.');\n return this._value.nodes[0] || null;\n },\n get invalidIteratorState() {\n if (XPathResult.UNORDERED_NODE_ITERATOR_TYPE !== this.resultType &&\n XPathResult.ORDERED_NODE_ITERATOR_TYPE !== this.resultType)\n return false;\n return !!this._invalidated;\n },\n get snapshotLength() {\n if (XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE !== this.resultType &&\n XPathResult.ORDERED_NODE_SNAPSHOT_TYPE !== this.resultType)\n throw new XPathException(\n XPathException.TYPE_ERR,\n 'You should have asked for a ORDERED_NODE_SNAPSHOT_TYPE.');\n return this._value.nodes.length;\n },\n iterateNext: function iterateNext() {\n if (XPathResult.UNORDERED_NODE_ITERATOR_TYPE !== this.resultType &&\n XPathResult.ORDERED_NODE_ITERATOR_TYPE !== this.resultType)\n throw new XPathException(\n XPathException.TYPE_ERR,\n 'You should have asked for a ORDERED_NODE_ITERATOR_TYPE.');\n if (this.invalidIteratorState)\n throw new core.DOMException(\n core.DOMException.INVALID_STATE_ERR,\n 'The document has been mutated since the result was returned');\n return this._value.nodes[this._i++] || null;\n },\n snapshotItem: function snapshotItem(index) {\n if (XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE !== this.resultType &&\n XPathResult.ORDERED_NODE_SNAPSHOT_TYPE !== this.resultType)\n throw new XPathException(\n XPathException.TYPE_ERR,\n 'You should have asked for a ORDERED_NODE_SNAPSHOT_TYPE.');\n return this._value.nodes[index] || null;\n }\n };\n // so you can access ANY_TYPE etc. from the instances:\n XPathResult.prototype = Object.create(XPathResult,\n Object.keys(proto).reduce(function (descriptors, name) {\n descriptors[name] = Object.getOwnPropertyDescriptor(proto, name);\n return descriptors;\n }, {\n constructor: {\n value: XPathResult,\n writable: true,\n configurable: true\n }\n }));\n\n core.XPathException = XPathException;\n core.XPathExpression = XPathExpression;\n core.XPathResult = XPathResult;\n core.XPathEvaluator = XPathEvaluator;\n\n core.Document.prototype.createExpression =\n XPathEvaluator.prototype.createExpression;\n\n core.Document.prototype.createNSResolver =\n XPathEvaluator.prototype.createNSResolver;\n\n core.Document.prototype.evaluate = XPathEvaluator.prototype.evaluate;\n\n return xpath; // for tests\n};\n","//.CommonJS\nvar CSSOM = {};\n///CommonJS\n\n\n/**\n * @constructor\n * @see http://dev.w3.org/csswg/cssom/#the-stylesheet-interface\n */\nCSSOM.StyleSheet = function StyleSheet() {\n\tthis.parentStyleSheet = null;\n};\n\n\n//.CommonJS\nexports.StyleSheet = CSSOM.StyleSheet;\n///CommonJS\n","\"use strict\";\n\nconst SVGPreserveAspectRatio = require(\"../generated/SVGPreserveAspectRatio\");\n\nclass SVGAnimatedPreserveAspectRatioImpl {\n constructor(globalObject, args, privateData) {\n this._globalObject = globalObject;\n this._element = privateData.element;\n }\n\n get baseVal() {\n return SVGPreserveAspectRatio.createImpl(this._globalObject, [], {\n element: this._element\n });\n }\n\n get animVal() {\n return SVGPreserveAspectRatio.createImpl(this._globalObject, [], {\n element: this._element\n });\n }\n}\n\nexports.implementation = SVGAnimatedPreserveAspectRatioImpl;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLMeterElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLMeterElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLMeterElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLMeterElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get value() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get value' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"value\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set value(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set value' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n V = conversions[\"double\"](V, {\n context: \"Failed to set the 'value' property on 'HTMLMeterElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"value\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get min() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get min' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"min\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set min(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set min' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n V = conversions[\"double\"](V, {\n context: \"Failed to set the 'min' property on 'HTMLMeterElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"min\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get max() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get max' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"max\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set max(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set max' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n V = conversions[\"double\"](V, {\n context: \"Failed to set the 'max' property on 'HTMLMeterElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"max\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get low() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get low' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"low\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set low(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set low' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n V = conversions[\"double\"](V, {\n context: \"Failed to set the 'low' property on 'HTMLMeterElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"low\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get high() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get high' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"high\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set high(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set high' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n V = conversions[\"double\"](V, {\n context: \"Failed to set the 'high' property on 'HTMLMeterElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"high\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get optimum() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get optimum' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"optimum\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set optimum(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set optimum' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n V = conversions[\"double\"](V, {\n context: \"Failed to set the 'optimum' property on 'HTMLMeterElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"optimum\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get labels() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get labels' called on an object that is not a valid instance of HTMLMeterElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"labels\"]);\n }\n }\n Object.defineProperties(HTMLMeterElement.prototype, {\n value: { enumerable: true },\n min: { enumerable: true },\n max: { enumerable: true },\n low: { enumerable: true },\n high: { enumerable: true },\n optimum: { enumerable: true },\n labels: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLMeterElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLMeterElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLMeterElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLMeterElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLButtonElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLButtonElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLButtonElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLButtonElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n checkValidity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'checkValidity' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return esValue[implSymbol].checkValidity();\n }\n\n reportValidity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'reportValidity' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return esValue[implSymbol].reportValidity();\n }\n\n setCustomValidity(error) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setCustomValidity' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'setCustomValidity' on 'HTMLButtonElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setCustomValidity' on 'HTMLButtonElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].setCustomValidity(...args);\n }\n\n get autofocus() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get autofocus' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"autofocus\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set autofocus(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set autofocus' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'autofocus' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"autofocus\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"autofocus\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get disabled() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get disabled' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"disabled\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set disabled(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set disabled' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'disabled' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"disabled\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"disabled\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get form() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get form' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"form\"]);\n }\n\n get formNoValidate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get formNoValidate' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"formnovalidate\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set formNoValidate(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set formNoValidate' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'formNoValidate' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"formnovalidate\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"formnovalidate\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get formTarget() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get formTarget' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"formtarget\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set formTarget(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set formTarget' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'formTarget' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"formtarget\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"name\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set name(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set name' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'name' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"name\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get type' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"type\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set type(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set type' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'type' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"type\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get value() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get value' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"value\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set value(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set value' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'value' property on 'HTMLButtonElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"value\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get willValidate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get willValidate' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return esValue[implSymbol][\"willValidate\"];\n }\n\n get validity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get validity' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"validity\"]);\n }\n\n get validationMessage() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get validationMessage' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return esValue[implSymbol][\"validationMessage\"];\n }\n\n get labels() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get labels' called on an object that is not a valid instance of HTMLButtonElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"labels\"]);\n }\n }\n Object.defineProperties(HTMLButtonElement.prototype, {\n checkValidity: { enumerable: true },\n reportValidity: { enumerable: true },\n setCustomValidity: { enumerable: true },\n autofocus: { enumerable: true },\n disabled: { enumerable: true },\n form: { enumerable: true },\n formNoValidate: { enumerable: true },\n formTarget: { enumerable: true },\n name: { enumerable: true },\n type: { enumerable: true },\n value: { enumerable: true },\n willValidate: { enumerable: true },\n validity: { enumerable: true },\n validationMessage: { enumerable: true },\n labels: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLButtonElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLButtonElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLButtonElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLButtonElement-impl.js\");\n","\"use strict\";\nconst {\n removeLeadingAndTrailingHTTPWhitespace,\n removeTrailingHTTPWhitespace,\n isHTTPWhitespaceChar,\n solelyContainsHTTPTokenCodePoints,\n soleyContainsHTTPQuotedStringTokenCodePoints,\n asciiLowercase,\n collectAnHTTPQuotedString\n} = require(\"./utils.js\");\n\nmodule.exports = input => {\n input = removeLeadingAndTrailingHTTPWhitespace(input);\n\n let position = 0;\n let type = \"\";\n while (position < input.length && input[position] !== \"/\") {\n type += input[position];\n ++position;\n }\n\n if (type.length === 0 || !solelyContainsHTTPTokenCodePoints(type)) {\n return null;\n }\n\n if (position >= input.length) {\n return null;\n }\n\n // Skips past \"/\"\n ++position;\n\n let subtype = \"\";\n while (position < input.length && input[position] !== \";\") {\n subtype += input[position];\n ++position;\n }\n\n subtype = removeTrailingHTTPWhitespace(subtype);\n\n if (subtype.length === 0 || !solelyContainsHTTPTokenCodePoints(subtype)) {\n return null;\n }\n\n const mimeType = {\n type: asciiLowercase(type),\n subtype: asciiLowercase(subtype),\n parameters: new Map()\n };\n\n while (position < input.length) {\n // Skip past \";\"\n ++position;\n\n while (isHTTPWhitespaceChar(input[position])) {\n ++position;\n }\n\n let parameterName = \"\";\n while (position < input.length && input[position] !== \";\" && input[position] !== \"=\") {\n parameterName += input[position];\n ++position;\n }\n parameterName = asciiLowercase(parameterName);\n\n if (position < input.length) {\n if (input[position] === \";\") {\n continue;\n }\n\n // Skip past \"=\"\n ++position;\n }\n\n let parameterValue = null;\n if (input[position] === \"\\\"\") {\n [parameterValue, position] = collectAnHTTPQuotedString(input, position);\n\n while (position < input.length && input[position] !== \";\") {\n ++position;\n }\n } else {\n parameterValue = \"\";\n while (position < input.length && input[position] !== \";\") {\n parameterValue += input[position];\n ++position;\n }\n\n parameterValue = removeTrailingHTTPWhitespace(parameterValue);\n\n if (parameterValue === \"\") {\n continue;\n }\n }\n\n if (parameterName.length > 0 &&\n solelyContainsHTTPTokenCodePoints(parameterName) &&\n soleyContainsHTTPQuotedStringTokenCodePoints(parameterValue) &&\n !mimeType.parameters.has(parameterName)) {\n mimeType.parameters.set(parameterName, parameterValue);\n }\n }\n\n return mimeType;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst BlobCallback = require(\"./BlobCallback.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLCanvasElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLCanvasElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLCanvasElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLCanvasElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n getContext(contextId) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'getContext' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'getContext' on 'HTMLCanvasElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'getContext' on 'HTMLCanvasElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n for (let i = 1; i < arguments.length; i++) {\n let curArg = arguments[i];\n curArg = conversions[\"any\"](curArg, {\n context: \"Failed to execute 'getContext' on 'HTMLCanvasElement': parameter \" + (i + 1),\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].getContext(...args));\n }\n\n toDataURL() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'toDataURL' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'toDataURL' on 'HTMLCanvasElement': parameter 1\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"any\"](curArg, {\n context: \"Failed to execute 'toDataURL' on 'HTMLCanvasElement': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].toDataURL(...args);\n }\n\n toBlob(callback) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'toBlob' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'toBlob' on 'HTMLCanvasElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = BlobCallback.convert(globalObject, curArg, {\n context: \"Failed to execute 'toBlob' on 'HTMLCanvasElement': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'toBlob' on 'HTMLCanvasElement': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n if (curArg !== undefined) {\n curArg = conversions[\"any\"](curArg, {\n context: \"Failed to execute 'toBlob' on 'HTMLCanvasElement': parameter 3\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].toBlob(...args);\n }\n\n get width() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get width' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"width\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set width(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set width' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'width' property on 'HTMLCanvasElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"width\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get height() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get height' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"height\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set height(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set height' called on an object that is not a valid instance of HTMLCanvasElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'height' property on 'HTMLCanvasElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"height\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLCanvasElement.prototype, {\n getContext: { enumerable: true },\n toDataURL: { enumerable: true },\n toBlob: { enumerable: true },\n width: { enumerable: true },\n height: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLCanvasElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLCanvasElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLCanvasElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLCanvasElement-impl.js\");\n","\"use strict\";\nconst vm = require(\"vm\");\nconst webIDLConversions = require(\"webidl-conversions\");\nconst { CSSStyleDeclaration } = require(\"cssstyle\");\nconst whatwgURL = require(\"whatwg-url\");\nconst notImplemented = require(\"./not-implemented\");\nconst { installInterfaces } = require(\"../living/interfaces\");\nconst { define, mixin } = require(\"../utils\");\nconst Element = require(\"../living/generated/Element\");\nconst EventTarget = require(\"../living/generated/EventTarget\");\nconst EventHandlerNonNull = require(\"../living/generated/EventHandlerNonNull\");\nconst IDLFunction = require(\"../living/generated/Function\");\nconst OnBeforeUnloadEventHandlerNonNull = require(\"../living/generated/OnBeforeUnloadEventHandlerNonNull\");\nconst OnErrorEventHandlerNonNull = require(\"../living/generated/OnErrorEventHandlerNonNull\");\nconst { fireAPageTransitionEvent } = require(\"../living/helpers/page-transition-event\");\nconst namedPropertiesWindow = require(\"../living/named-properties-window\");\nconst DOMException = require(\"../living/generated/DOMException\");\nconst idlUtils = require(\"../living/generated/utils\");\nconst WebSocketImpl = require(\"../living/websockets/WebSocket-impl\").implementation;\nconst BarProp = require(\"../living/generated/BarProp\");\nconst documents = require(\"../living/documents.js\");\nconst External = require(\"../living/generated/External\");\nconst Navigator = require(\"../living/generated/Navigator\");\nconst Performance = require(\"../living/generated/Performance\");\nconst Screen = require(\"../living/generated/Screen\");\nconst Crypto = require(\"../living/generated/Crypto\");\nconst Storage = require(\"../living/generated/Storage\");\nconst Selection = require(\"../living/generated/Selection\");\nconst reportException = require(\"../living/helpers/runtime-script-errors\");\nconst { getCurrentEventHandlerValue } = require(\"../living/helpers/create-event-accessor.js\");\nconst { fireAnEvent } = require(\"../living/helpers/events\");\nconst SessionHistory = require(\"../living/window/SessionHistory\");\nconst { getDeclarationForElement, getResolvedValue, propertiesWithResolvedValueImplemented,\n SHADOW_DOM_PSEUDO_REGEXP } = require(\"../living/helpers/style-rules.js\");\nconst CustomElementRegistry = require(\"../living/generated/CustomElementRegistry\");\nconst MessageEvent = require(\"../living/generated/MessageEvent\");\nconst jsGlobals = require(\"./js-globals.json\");\n\nconst GlobalEventHandlersImpl = require(\"../living/nodes/GlobalEventHandlers-impl\").implementation;\nconst WindowEventHandlersImpl = require(\"../living/nodes/WindowEventHandlers-impl\").implementation;\n\nconst events = new Set([\n // GlobalEventHandlers\n \"abort\", \"autocomplete\",\n \"autocompleteerror\", \"blur\",\n \"cancel\", \"canplay\", \"canplaythrough\",\n \"change\", \"click\",\n \"close\", \"contextmenu\",\n \"cuechange\", \"dblclick\",\n \"drag\", \"dragend\",\n \"dragenter\",\n \"dragleave\", \"dragover\",\n \"dragstart\", \"drop\",\n \"durationchange\", \"emptied\",\n \"ended\", \"focus\",\n \"input\", \"invalid\",\n \"keydown\", \"keypress\",\n \"keyup\", \"load\", \"loadeddata\",\n \"loadedmetadata\", \"loadstart\",\n \"mousedown\", \"mouseenter\",\n \"mouseleave\", \"mousemove\",\n \"mouseout\", \"mouseover\",\n \"mouseup\", \"wheel\",\n \"pause\", \"play\",\n \"playing\", \"progress\",\n \"ratechange\", \"reset\",\n \"resize\", \"scroll\",\n \"securitypolicyviolation\",\n \"seeked\", \"seeking\",\n \"select\", \"sort\", \"stalled\",\n \"submit\", \"suspend\",\n \"timeupdate\", \"toggle\",\n \"volumechange\", \"waiting\",\n\n // WindowEventHandlers\n \"afterprint\",\n \"beforeprint\",\n \"hashchange\",\n \"languagechange\",\n \"message\",\n \"messageerror\",\n \"offline\",\n \"online\",\n \"pagehide\",\n \"pageshow\",\n \"popstate\",\n \"rejectionhandled\",\n \"storage\",\n \"unhandledrejection\",\n \"unload\"\n\n // \"error\" and \"beforeunload\" are added separately\n]);\n\nconst jsGlobalEntriesToInstall = Object.entries(jsGlobals).filter(([name]) => name in global);\n\nexports.createWindow = options => {\n const makeVMContext = options.runScripts === \"outside-only\" || options.runScripts === \"dangerously\";\n\n // Bootstrap with an empty object from the Node.js realm. We'll muck with its prototype chain shortly.\n const window = {};\n\n // Make window into a global object: either via vm, or just aliasing the Node.js globals.\n // Also set _globalObject and _globalProxy.\n //\n // TODO: don't expose _globalObject and _globalProxy as public properties. While you're there, audit usage sites to\n // see how necessary they really are.\n if (makeVMContext) {\n vm.createContext(window);\n\n window._globalObject = window;\n window._globalProxy = vm.runInContext(\"this\", window);\n\n // Without this, these globals will only appear to scripts running inside the context using vm.runScript; they will\n // not appear to scripts running from the outside, including to JSDOM implementation code.\n for (const [globalName, globalPropDesc] of jsGlobalEntriesToInstall) {\n const propDesc = { ...globalPropDesc, value: vm.runInContext(globalName, window) };\n Object.defineProperty(window, globalName, propDesc);\n }\n } else {\n window._globalObject = window._globalProxy = window;\n\n // Without contextifying the window, none of the globals will exist. So, let's at least alias them from the Node.js\n // context. See https://github.com/jsdom/jsdom/issues/2727 for more background and discussion.\n for (const [globalName, globalPropDesc] of jsGlobalEntriesToInstall) {\n const propDesc = { ...globalPropDesc, value: global[globalName] };\n Object.defineProperty(window, globalName, propDesc);\n }\n }\n\n // Create instances of all the web platform interfaces and install them on the window.\n installInterfaces(window, [\"Window\"]);\n\n // Now we have an EventTarget contructor so we can work on the prototype chain.\n\n // eslint-disable-next-line func-name-matching, func-style\n const WindowConstructor = function Window() {\n throw new TypeError(\"Illegal constructor\");\n };\n Object.setPrototypeOf(WindowConstructor, window.EventTarget);\n\n Object.defineProperty(window, \"Window\", {\n configurable: true,\n writable: true,\n value: WindowConstructor\n });\n\n // TODO: do an actual WindowProperties object. See https://github.com/jsdom/jsdom/pull/3765 for an attempt.\n const windowPropertiesObject = Object.create(window.EventTarget.prototype);\n Object.defineProperties(windowPropertiesObject, {\n [Symbol.toStringTag]: {\n value: \"WindowProperties\",\n configurable: true\n }\n });\n namedPropertiesWindow.initializeWindow(window, window._globalProxy);\n\n const windowPrototype = Object.create(windowPropertiesObject);\n Object.defineProperties(windowPrototype, {\n constructor: {\n value: WindowConstructor,\n writable: true,\n configurable: true\n },\n [Symbol.toStringTag]: {\n value: \"Window\",\n configurable: true\n }\n });\n\n WindowConstructor.prototype = windowPrototype;\n Object.setPrototypeOf(window, windowPrototype);\n if (makeVMContext) {\n Object.setPrototypeOf(window._globalProxy, windowPrototype);\n Object.setPrototypeOf(window.EventTarget.prototype, window.Object.prototype);\n }\n\n // Now that the prototype chain is fully set up, call the superclass setup.\n EventTarget.setup(window, window);\n\n installEventHandlers(window);\n\n installOwnProperties(window, options);\n\n // Not sure why this is necessary... TODO figure it out.\n Object.defineProperty(idlUtils.implForWrapper(window), idlUtils.wrapperSymbol, { get: () => window._globalProxy });\n\n // Fire or prepare to fire load and pageshow events.\n process.nextTick(() => {\n if (!window.document) {\n return; // window might've been closed already\n }\n\n if (window.document.readyState === \"complete\") {\n fireAnEvent(\"load\", window, undefined, {}, true);\n } else {\n window.document.addEventListener(\"load\", () => {\n fireAnEvent(\"load\", window, undefined, {}, true);\n if (!window._document) {\n return; // window might've been closed already\n }\n\n const documentImpl = idlUtils.implForWrapper(window._document);\n if (!documentImpl._pageShowingFlag) {\n documentImpl._pageShowingFlag = true;\n fireAPageTransitionEvent(\"pageshow\", window, false);\n }\n });\n }\n });\n\n return window;\n};\n\nfunction installEventHandlers(window) {\n mixin(window, WindowEventHandlersImpl.prototype);\n mixin(window, GlobalEventHandlersImpl.prototype);\n window._initGlobalEvents();\n\n Object.defineProperty(window, \"onbeforeunload\", {\n configurable: true,\n enumerable: true,\n get() {\n return idlUtils.tryWrapperForImpl(getCurrentEventHandlerValue(window, \"beforeunload\"));\n },\n set(V) {\n if (!idlUtils.isObject(V)) {\n V = null;\n } else {\n V = OnBeforeUnloadEventHandlerNonNull.convert(window, V, {\n context: \"Failed to set the 'onbeforeunload' property on 'Window': The provided value\"\n });\n }\n window._setEventHandlerFor(\"beforeunload\", V);\n }\n });\n\n Object.defineProperty(window, \"onerror\", {\n configurable: true,\n enumerable: true,\n get() {\n return idlUtils.tryWrapperForImpl(getCurrentEventHandlerValue(window, \"error\"));\n },\n set(V) {\n if (!idlUtils.isObject(V)) {\n V = null;\n } else {\n V = OnErrorEventHandlerNonNull.convert(window, V, {\n context: \"Failed to set the 'onerror' property on 'Window': The provided value\"\n });\n }\n window._setEventHandlerFor(\"error\", V);\n }\n });\n\n for (const event of events) {\n Object.defineProperty(window, `on${event}`, {\n configurable: true,\n enumerable: true,\n get() {\n return idlUtils.tryWrapperForImpl(getCurrentEventHandlerValue(window, event));\n },\n set(V) {\n if (!idlUtils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(window, V, {\n context: `Failed to set the 'on${event}' property on 'Window': The provided value`\n });\n }\n window._setEventHandlerFor(event, V);\n }\n });\n }\n}\n\nfunction installOwnProperties(window, options) {\n const windowInitialized = performance.now();\n\n // ### PRIVATE DATA PROPERTIES\n\n window._resourceLoader = options.resourceLoader;\n\n // List options explicitly to be clear which are passed through\n window._document = documents.createWrapper(window, {\n parsingMode: options.parsingMode,\n contentType: options.contentType,\n encoding: options.encoding,\n cookieJar: options.cookieJar,\n url: options.url,\n lastModified: options.lastModified,\n referrer: options.referrer,\n parseOptions: options.parseOptions,\n defaultView: window._globalProxy,\n global: window,\n parentOrigin: options.parentOrigin\n }, { alwaysUseDocumentClass: true });\n\n const documentOrigin = idlUtils.implForWrapper(window._document)._origin;\n window._origin = documentOrigin;\n\n // https://html.spec.whatwg.org/#session-history\n window._sessionHistory = new SessionHistory({\n document: idlUtils.implForWrapper(window._document),\n url: idlUtils.implForWrapper(window._document)._URL,\n stateObject: null\n }, window);\n\n window._virtualConsole = options.virtualConsole;\n\n window._runScripts = options.runScripts;\n\n // Set up the window as if it's a top level window.\n // If it's not, then references will be corrected by frame/iframe code.\n window._parent = window._top = window._globalProxy;\n window._frameElement = null;\n\n // This implements window.frames.length, since window.frames returns a\n // self reference to the window object. This value is incremented in the\n // HTMLFrameElement implementation.\n window._length = 0;\n\n // https://dom.spec.whatwg.org/#window-current-event\n window._currentEvent = undefined;\n\n window._pretendToBeVisual = options.pretendToBeVisual;\n window._storageQuota = options.storageQuota;\n\n // Some properties (such as localStorage and sessionStorage) share data\n // between windows in the same origin. This object is intended\n // to contain such data.\n if (options.commonForOrigin && options.commonForOrigin[documentOrigin]) {\n window._commonForOrigin = options.commonForOrigin;\n } else {\n window._commonForOrigin = {\n [documentOrigin]: {\n localStorageArea: new Map(),\n sessionStorageArea: new Map(),\n windowsInSameOrigin: [window]\n }\n };\n }\n\n window._currentOriginData = window._commonForOrigin[documentOrigin];\n\n // ### WEB STORAGE\n\n window._localStorage = Storage.create(window, [], {\n associatedWindow: window,\n storageArea: window._currentOriginData.localStorageArea,\n type: \"localStorage\",\n url: window._document.documentURI,\n storageQuota: window._storageQuota\n });\n window._sessionStorage = Storage.create(window, [], {\n associatedWindow: window,\n storageArea: window._currentOriginData.sessionStorageArea,\n type: \"sessionStorage\",\n url: window._document.documentURI,\n storageQuota: window._storageQuota\n });\n\n // ### SELECTION\n\n // https://w3c.github.io/selection-api/#dfn-selection\n window._selection = Selection.createImpl(window);\n\n // https://w3c.github.io/selection-api/#dom-window\n window.getSelection = function () {\n return window._selection;\n };\n\n // ### GETTERS\n\n const locationbar = BarProp.create(window);\n const menubar = BarProp.create(window);\n const personalbar = BarProp.create(window);\n const scrollbars = BarProp.create(window);\n const statusbar = BarProp.create(window);\n const toolbar = BarProp.create(window);\n const external = External.create(window);\n const navigator = Navigator.create(window, [], { userAgent: window._resourceLoader._userAgent });\n const performanceImpl = Performance.create(window, [], {\n timeOrigin: performance.timeOrigin + windowInitialized,\n nowAtTimeOrigin: windowInitialized\n });\n const screen = Screen.create(window);\n const crypto = Crypto.create(window);\n window._customElementRegistry = CustomElementRegistry.create(window);\n\n define(window, {\n get length() {\n return window._length;\n },\n get window() {\n return window._globalProxy;\n },\n get frameElement() {\n return idlUtils.wrapperForImpl(window._frameElement);\n },\n get frames() {\n return window._globalProxy;\n },\n get self() {\n return window._globalProxy;\n },\n get parent() {\n return window._parent;\n },\n get top() {\n return window._top;\n },\n get document() {\n return window._document;\n },\n get external() {\n return external;\n },\n get location() {\n return idlUtils.wrapperForImpl(idlUtils.implForWrapper(window._document)._location);\n },\n // [PutForwards=href]:\n set location(value) {\n Reflect.set(window.location, \"href\", value);\n },\n get history() {\n return idlUtils.wrapperForImpl(idlUtils.implForWrapper(window._document)._history);\n },\n get navigator() {\n return navigator;\n },\n get locationbar() {\n return locationbar;\n },\n get menubar() {\n return menubar;\n },\n get personalbar() {\n return personalbar;\n },\n get scrollbars() {\n return scrollbars;\n },\n get statusbar() {\n return statusbar;\n },\n get toolbar() {\n return toolbar;\n },\n get performance() {\n return performanceImpl;\n },\n get screen() {\n return screen;\n },\n get crypto() {\n return crypto;\n },\n get origin() {\n return window._origin;\n },\n get localStorage() {\n if (idlUtils.implForWrapper(window._document)._origin === \"null\") {\n throw DOMException.create(window, [\n \"localStorage is not available for opaque origins\",\n \"SecurityError\"\n ]);\n }\n\n return window._localStorage;\n },\n get sessionStorage() {\n if (idlUtils.implForWrapper(window._document)._origin === \"null\") {\n throw DOMException.create(window, [\n \"sessionStorage is not available for opaque origins\",\n \"SecurityError\"\n ]);\n }\n\n return window._sessionStorage;\n },\n get customElements() {\n return window._customElementRegistry;\n },\n get event() {\n return window._currentEvent ? idlUtils.wrapperForImpl(window._currentEvent) : undefined;\n }\n });\n\n Object.defineProperties(window, {\n // [Replaceable]:\n self: makeReplaceablePropertyDescriptor(\"self\", window),\n locationbar: makeReplaceablePropertyDescriptor(\"locationbar\", window),\n menubar: makeReplaceablePropertyDescriptor(\"menubar\", window),\n personalbar: makeReplaceablePropertyDescriptor(\"personalbar\", window),\n scrollbars: makeReplaceablePropertyDescriptor(\"scrollbars\", window),\n statusbar: makeReplaceablePropertyDescriptor(\"statusbar\", window),\n toolbar: makeReplaceablePropertyDescriptor(\"toolbar\", window),\n frames: makeReplaceablePropertyDescriptor(\"frames\", window),\n parent: makeReplaceablePropertyDescriptor(\"parent\", window),\n external: makeReplaceablePropertyDescriptor(\"external\", window),\n length: makeReplaceablePropertyDescriptor(\"length\", window),\n screen: makeReplaceablePropertyDescriptor(\"screen\", window),\n origin: makeReplaceablePropertyDescriptor(\"origin\", window),\n event: makeReplaceablePropertyDescriptor(\"event\", window),\n\n // [LegacyUnforgeable]:\n window: { configurable: false },\n document: { configurable: false },\n location: { configurable: false },\n top: { configurable: false }\n });\n\n\n // ### METHODS\n\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n\n // In the spec the list of active timers is a set of IDs. We make it a map of IDs to Node.js timer objects, so that\n // we can call Node.js-side clearTimeout() when clearing, and thus allow process shutdown faster.\n const listOfActiveTimers = new Map();\n let latestTimerId = 0;\n\n window.setTimeout = function (handler, timeout = 0, ...args) {\n if (typeof handler !== \"function\") {\n handler = webIDLConversions.DOMString(handler);\n }\n timeout = webIDLConversions.long(timeout);\n\n return timerInitializationSteps(handler, timeout, args, { methodContext: window, repeat: false });\n };\n window.setInterval = function (handler, timeout = 0, ...args) {\n if (typeof handler !== \"function\") {\n handler = webIDLConversions.DOMString(handler);\n }\n timeout = webIDLConversions.long(timeout);\n\n return timerInitializationSteps(handler, timeout, args, { methodContext: window, repeat: true });\n };\n\n window.clearTimeout = function (handle = 0) {\n handle = webIDLConversions.long(handle);\n\n const nodejsTimer = listOfActiveTimers.get(handle);\n if (nodejsTimer) {\n clearTimeout(nodejsTimer);\n listOfActiveTimers.delete(handle);\n }\n };\n window.clearInterval = function (handle = 0) {\n handle = webIDLConversions.long(handle);\n\n const nodejsTimer = listOfActiveTimers.get(handle);\n if (nodejsTimer) {\n // We use setTimeout() in timerInitializationSteps even for window.setInterval().\n clearTimeout(nodejsTimer);\n listOfActiveTimers.delete(handle);\n }\n };\n\n function timerInitializationSteps(handler, timeout, args, { methodContext, repeat, previousHandle }) {\n // This appears to be unspecced, but matches browser behavior for close()ed windows.\n if (!methodContext._document) {\n return 0;\n }\n\n // TODO: implement timer nesting level behavior.\n\n const methodContextProxy = methodContext._globalProxy;\n const handle = previousHandle !== undefined ? previousHandle : ++latestTimerId;\n\n function task() {\n if (!listOfActiveTimers.has(handle)) {\n return;\n }\n\n try {\n if (typeof handler === \"function\") {\n handler.apply(methodContextProxy, args);\n } else if (window._runScripts === \"dangerously\") {\n vm.runInContext(handler, window, { filename: window.location.href, displayErrors: false });\n }\n } catch (e) {\n reportException(window, e, window.location.href);\n }\n\n if (listOfActiveTimers.has(handle)) {\n if (repeat) {\n timerInitializationSteps(handler, timeout, args, { methodContext, repeat: true, previousHandle: handle });\n } else {\n listOfActiveTimers.delete(handle);\n }\n }\n }\n\n if (timeout < 0) {\n timeout = 0;\n }\n\n const nodejsTimer = setTimeout(task, timeout);\n listOfActiveTimers.set(handle, nodejsTimer);\n\n return handle;\n }\n\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#microtask-queuing\n\n window.queueMicrotask = function (callback) {\n callback = IDLFunction.convert(window, callback);\n\n queueMicrotask(() => {\n try {\n callback();\n } catch (e) {\n reportException(window, e, window.location.href);\n }\n });\n };\n\n // https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames\n\n let animationFrameCallbackId = 0;\n const mapOfAnimationFrameCallbacks = new Map();\n let animationFrameNodejsInterval = null;\n\n // Unlike the spec, where an animation frame happens every 60 Hz regardless, we optimize so that if there are no\n // requestAnimationFrame() calls outstanding, we don't fire the timer. This helps us track that.\n let numberOfOngoingAnimationFrameCallbacks = 0;\n\n if (window._pretendToBeVisual) {\n window.requestAnimationFrame = function (callback) {\n callback = IDLFunction.convert(window, callback);\n\n const handle = ++animationFrameCallbackId;\n mapOfAnimationFrameCallbacks.set(handle, callback);\n\n ++numberOfOngoingAnimationFrameCallbacks;\n if (numberOfOngoingAnimationFrameCallbacks === 1) {\n animationFrameNodejsInterval = setInterval(() => {\n runAnimationFrameCallbacks(performance.now() - windowInitialized);\n }, 1000 / 60);\n }\n\n return handle;\n };\n\n window.cancelAnimationFrame = function (handle) {\n handle = webIDLConversions[\"unsigned long\"](handle);\n\n removeAnimationFrameCallback(handle);\n };\n\n function runAnimationFrameCallbacks(now) {\n // Converting to an array is important to get a sync snapshot and thus match spec semantics.\n const callbackHandles = [...mapOfAnimationFrameCallbacks.keys()];\n for (const handle of callbackHandles) {\n // This has() can be false if a callback calls cancelAnimationFrame().\n if (mapOfAnimationFrameCallbacks.has(handle)) {\n const callback = mapOfAnimationFrameCallbacks.get(handle);\n removeAnimationFrameCallback(handle);\n try {\n callback(now);\n } catch (e) {\n reportException(window, e, window.location.href);\n }\n }\n }\n }\n\n function removeAnimationFrameCallback(handle) {\n if (mapOfAnimationFrameCallbacks.has(handle)) {\n --numberOfOngoingAnimationFrameCallbacks;\n if (numberOfOngoingAnimationFrameCallbacks === 0) {\n clearInterval(animationFrameNodejsInterval);\n }\n }\n\n mapOfAnimationFrameCallbacks.delete(handle);\n }\n }\n\n function stopAllTimers() {\n for (const nodejsTimer of listOfActiveTimers.values()) {\n clearTimeout(nodejsTimer);\n }\n listOfActiveTimers.clear();\n\n clearInterval(animationFrameNodejsInterval);\n }\n\n function Option(text, value, defaultSelected, selected) {\n if (text === undefined) {\n text = \"\";\n }\n text = webIDLConversions.DOMString(text);\n\n if (value !== undefined) {\n value = webIDLConversions.DOMString(value);\n }\n\n defaultSelected = webIDLConversions.boolean(defaultSelected);\n selected = webIDLConversions.boolean(selected);\n\n const option = window._document.createElement(\"option\");\n const impl = idlUtils.implForWrapper(option);\n\n if (text !== \"\") {\n impl.text = text;\n }\n if (value !== undefined) {\n impl.setAttributeNS(null, \"value\", value);\n }\n if (defaultSelected) {\n impl.setAttributeNS(null, \"selected\", \"\");\n }\n impl._selectedness = selected;\n\n return option;\n }\n Object.defineProperty(Option, \"prototype\", {\n value: window.HTMLOptionElement.prototype,\n configurable: false,\n enumerable: false,\n writable: false\n });\n Object.defineProperty(window, \"Option\", {\n value: Option,\n configurable: true,\n enumerable: false,\n writable: true\n });\n\n function Image(...args) {\n const img = window._document.createElement(\"img\");\n const impl = idlUtils.implForWrapper(img);\n\n if (args.length > 0) {\n impl.setAttributeNS(null, \"width\", String(args[0]));\n }\n if (args.length > 1) {\n impl.setAttributeNS(null, \"height\", String(args[1]));\n }\n\n return img;\n }\n Object.defineProperty(Image, \"prototype\", {\n value: window.HTMLImageElement.prototype,\n configurable: false,\n enumerable: false,\n writable: false\n });\n Object.defineProperty(window, \"Image\", {\n value: Image,\n configurable: true,\n enumerable: false,\n writable: true\n });\n\n function Audio(src) {\n const audio = window._document.createElement(\"audio\");\n const impl = idlUtils.implForWrapper(audio);\n impl.setAttributeNS(null, \"preload\", \"auto\");\n\n if (src !== undefined) {\n impl.setAttributeNS(null, \"src\", String(src));\n }\n\n return audio;\n }\n Object.defineProperty(Audio, \"prototype\", {\n value: window.HTMLAudioElement.prototype,\n configurable: false,\n enumerable: false,\n writable: false\n });\n Object.defineProperty(window, \"Audio\", {\n value: Audio,\n configurable: true,\n enumerable: false,\n writable: true\n });\n\n window.postMessage = function (message, targetOrigin) {\n if (arguments.length < 2) {\n throw new TypeError(\"'postMessage' requires 2 arguments: 'message' and 'targetOrigin'\");\n }\n\n targetOrigin = webIDLConversions.DOMString(targetOrigin);\n\n if (targetOrigin === \"/\") {\n // TODO: targetOrigin === \"/\" requires getting incumbent settings object.\n // Maybe could be done with Error stack traces??\n return;\n } else if (targetOrigin !== \"*\") {\n const parsedURL = whatwgURL.parseURL(targetOrigin);\n if (parsedURL === null) {\n throw DOMException.create(window, [\n \"Failed to execute 'postMessage' on 'Window': \" +\n \"Invalid target origin '\" + targetOrigin + \"' in a call to 'postMessage'.\",\n \"SyntaxError\"\n ]);\n }\n targetOrigin = whatwgURL.serializeURLOrigin(parsedURL);\n\n if (targetOrigin !== idlUtils.implForWrapper(window._document)._origin) {\n // Not implemented.\n return;\n }\n }\n\n // TODO: event.source - requires reference to incumbent window\n // TODO: event.origin - requires reference to incumbent window\n // TODO: event.ports\n // TODO: event.data - requires structured cloning\n setTimeout(() => {\n fireAnEvent(\"message\", window, MessageEvent, { data: message });\n }, 0);\n };\n\n window.atob = function (str) {\n try {\n return atob(str);\n } catch {\n // Convert Node.js DOMException to one from our global.\n throw DOMException.create(window, [\n \"The string to be decoded contains invalid characters.\",\n \"InvalidCharacterError\"\n ]);\n }\n };\n\n window.btoa = function (str) {\n try {\n return btoa(str);\n } catch {\n // Convert Node.js DOMException to one from our global.\n throw DOMException.create(window, [\n \"The string to be encoded contains invalid characters.\",\n \"InvalidCharacterError\"\n ]);\n }\n };\n\n window.stop = function () {\n const manager = idlUtils.implForWrapper(window._document)._requestManager;\n if (manager) {\n manager.close();\n }\n };\n\n window.close = function () {\n // Recursively close child frame windows, then ourselves (depth-first).\n for (let i = 0; i < window.length; ++i) {\n window[i].close();\n }\n\n // Clear out all listeners. Any in-flight or upcoming events should not get delivered.\n idlUtils.implForWrapper(window)._eventListeners = Object.create(null);\n\n if (window._document) {\n if (window._document.body) {\n window._document.body.innerHTML = \"\";\n }\n\n if (window._document.close) {\n // It's especially important to clear out the listeners here because document.close() causes a \"load\" event to\n // fire.\n idlUtils.implForWrapper(window._document)._eventListeners = Object.create(null);\n window._document.close();\n }\n const doc = idlUtils.implForWrapper(window._document);\n if (doc._requestManager) {\n doc._requestManager.close();\n }\n delete window._document;\n }\n\n stopAllTimers();\n WebSocketImpl.cleanUpWindow(window);\n };\n\n window.getComputedStyle = function (elt, pseudoElt = undefined) {\n elt = Element.convert(window, elt);\n if (pseudoElt !== undefined && pseudoElt !== null) {\n pseudoElt = webIDLConversions.DOMString(pseudoElt);\n }\n\n if (pseudoElt !== undefined && pseudoElt !== null && pseudoElt !== \"\") {\n // TODO: Parse pseudoElt\n\n if (SHADOW_DOM_PSEUDO_REGEXP.test(pseudoElt)) {\n throw new TypeError(\"Tried to get the computed style of a Shadow DOM pseudo-element.\");\n }\n\n notImplemented(\"window.getComputedStyle(elt, pseudoElt)\", window);\n }\n\n const declaration = new CSSStyleDeclaration();\n const { forEach } = Array.prototype;\n\n const elementDeclaration = getDeclarationForElement(elt);\n forEach.call(elementDeclaration, property => {\n declaration.setProperty(\n property,\n elementDeclaration.getPropertyValue(property),\n elementDeclaration.getPropertyPriority(property)\n );\n });\n\n // https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle\n const declarations = Object.keys(propertiesWithResolvedValueImplemented);\n forEach.call(declarations, property => {\n declaration.setProperty(property, getResolvedValue(elt, property));\n });\n\n return declaration;\n };\n\n window.getSelection = function () {\n return window._document.getSelection();\n };\n\n // The captureEvents() and releaseEvents() methods must do nothing\n window.captureEvents = function () {};\n\n window.releaseEvents = function () {};\n\n // ### PUBLIC DATA PROPERTIES (TODO: should be getters)\n\n function wrapConsoleMethod(method) {\n return (...args) => {\n window._virtualConsole.emit(method, ...args);\n };\n }\n\n window.console = {\n assert: wrapConsoleMethod(\"assert\"),\n clear: wrapConsoleMethod(\"clear\"),\n count: wrapConsoleMethod(\"count\"),\n countReset: wrapConsoleMethod(\"countReset\"),\n debug: wrapConsoleMethod(\"debug\"),\n dir: wrapConsoleMethod(\"dir\"),\n dirxml: wrapConsoleMethod(\"dirxml\"),\n error: wrapConsoleMethod(\"error\"),\n group: wrapConsoleMethod(\"group\"),\n groupCollapsed: wrapConsoleMethod(\"groupCollapsed\"),\n groupEnd: wrapConsoleMethod(\"groupEnd\"),\n info: wrapConsoleMethod(\"info\"),\n log: wrapConsoleMethod(\"log\"),\n table: wrapConsoleMethod(\"table\"),\n time: wrapConsoleMethod(\"time\"),\n timeLog: wrapConsoleMethod(\"timeLog\"),\n timeEnd: wrapConsoleMethod(\"timeEnd\"),\n trace: wrapConsoleMethod(\"trace\"),\n warn: wrapConsoleMethod(\"warn\")\n };\n\n function notImplementedMethod(name) {\n return function () {\n notImplemented(name, window);\n };\n }\n\n define(window, {\n name: \"\",\n status: \"\",\n devicePixelRatio: 1,\n innerWidth: 1024,\n innerHeight: 768,\n outerWidth: 1024,\n outerHeight: 768,\n pageXOffset: 0,\n pageYOffset: 0,\n screenX: 0,\n screenLeft: 0,\n screenY: 0,\n screenTop: 0,\n scrollX: 0,\n scrollY: 0,\n\n alert: notImplementedMethod(\"window.alert\"),\n blur: notImplementedMethod(\"window.blur\"),\n confirm: notImplementedMethod(\"window.confirm\"),\n focus: notImplementedMethod(\"window.focus\"),\n moveBy: notImplementedMethod(\"window.moveBy\"),\n moveTo: notImplementedMethod(\"window.moveTo\"),\n open: notImplementedMethod(\"window.open\"),\n print: notImplementedMethod(\"window.print\"),\n prompt: notImplementedMethod(\"window.prompt\"),\n resizeBy: notImplementedMethod(\"window.resizeBy\"),\n resizeTo: notImplementedMethod(\"window.resizeTo\"),\n scroll: notImplementedMethod(\"window.scroll\"),\n scrollBy: notImplementedMethod(\"window.scrollBy\"),\n scrollTo: notImplementedMethod(\"window.scrollTo\")\n });\n}\n\nfunction makeReplaceablePropertyDescriptor(property, window) {\n const desc = {\n set(value) {\n Object.defineProperty(window, property, {\n configurable: true,\n enumerable: true,\n writable: true,\n value\n });\n }\n };\n\n Object.defineProperty(desc.set, \"name\", { value: `set ${property}` });\n return desc;\n}\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst BlobPropertyBag = require(\"./BlobPropertyBag.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"Blob\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Blob'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Blob\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Blob {\n constructor() {\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\"Failed to construct 'Blob': parameter 1\" + \" is not an iterable object.\");\n } else {\n const V = [];\n const tmp = curArg;\n for (let nextItem of tmp) {\n if (exports.is(nextItem)) {\n nextItem = utils.implForWrapper(nextItem);\n } else if (utils.isArrayBuffer(nextItem)) {\n } else if (ArrayBuffer.isView(nextItem)) {\n } else {\n nextItem = conversions[\"USVString\"](nextItem, {\n context: \"Failed to construct 'Blob': parameter 1\" + \"'s element\",\n globals: globalObject\n });\n }\n V.push(nextItem);\n }\n curArg = V;\n }\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = BlobPropertyBag.convert(globalObject, curArg, { context: \"Failed to construct 'Blob': parameter 2\" });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n slice() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'slice' called on an object that is not a valid instance of Blob.\");\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"long long\"](curArg, {\n context: \"Failed to execute 'slice' on 'Blob': parameter 1\",\n globals: globalObject,\n clamp: true\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"long long\"](curArg, {\n context: \"Failed to execute 'slice' on 'Blob': parameter 2\",\n globals: globalObject,\n clamp: true\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'slice' on 'Blob': parameter 3\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].slice(...args));\n }\n\n get size() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get size' called on an object that is not a valid instance of Blob.\");\n }\n\n return esValue[implSymbol][\"size\"];\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get type' called on an object that is not a valid instance of Blob.\");\n }\n\n return esValue[implSymbol][\"type\"];\n }\n }\n Object.defineProperties(Blob.prototype, {\n slice: { enumerable: true },\n size: { enumerable: true },\n type: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Blob\", configurable: true }\n });\n ctorRegistry[interfaceName] = Blob;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Blob\n });\n};\n\nconst Impl = require(\"../file-api/Blob-impl.js\");\n","\"use strict\";\n\nconst EventTargetImpl = require(\"../events/EventTarget-impl\").implementation;\n\nclass PerformanceImpl extends EventTargetImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this.timeOrigin = privateData.timeOrigin;\n this._nowAtTimeOrigin = privateData.nowAtTimeOrigin;\n }\n\n now() {\n return performance.now() - this._nowAtTimeOrigin;\n }\n\n toJSON() {\n return { timeOrigin: this.timeOrigin };\n }\n}\n\nexports.implementation = PerformanceImpl;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (!utils.isObject(value)) {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n function callTheUserObjectsOperation(event) {\n let thisArg = utils.tryWrapperForImpl(this);\n let O = value;\n let X = O;\n\n if (typeof O !== \"function\") {\n X = O[\"handleEvent\"];\n if (typeof X !== \"function\") {\n throw new globalObject.TypeError(`${context} does not correctly implement EventListener.`);\n }\n thisArg = O;\n }\n\n event = utils.tryWrapperForImpl(event);\n\n let callResult = Reflect.apply(X, thisArg, [event]);\n }\n\n callTheUserObjectsOperation[utils.wrapperSymbol] = value;\n callTheUserObjectsOperation.objectReference = value;\n\n return callTheUserObjectsOperation;\n};\n\nexports.install = (globalObject, globalNames) => {};\n","\"use strict\";\nconst UIEventImpl = require(\"./UIEvent-impl\").implementation;\nconst InputEventInit = require(\"../generated/InputEventInit\");\n\n// https://w3c.github.io/uievents/#interface-inputevent\nclass InputEventImpl extends UIEventImpl { }\nInputEventImpl.defaultInit = InputEventInit.convert(undefined, undefined);\n\nmodule.exports = {\n implementation: InputEventImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLCollection = require(\"./HTMLCollection.js\");\n\nconst interfaceName = \"HTMLFormControlsCollection\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLFormControlsCollection'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLFormControlsCollection\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLCollection._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLFormControlsCollection extends globalObject.HTMLCollection {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n namedItem(name) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'namedItem' called on an object that is not a valid instance of HTMLFormControlsCollection.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'namedItem' on 'HTMLFormControlsCollection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'namedItem' on 'HTMLFormControlsCollection': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].namedItem(...args));\n }\n }\n Object.defineProperties(HTMLFormControlsCollection.prototype, {\n namedItem: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLFormControlsCollection\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = HTMLFormControlsCollection;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLFormControlsCollection\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of target[implSymbol][utils.supportedPropertyNames]) {\n if (!(key in target)) {\n keys.add(`${key}`);\n }\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n const namedValue = target[implSymbol].namedItem(P);\n\n if (namedValue !== null && !(P in target) && !ignoreNamedProps) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(namedValue)\n };\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n if (!utils.hasOwn(target, P)) {\n const creating = !(target[implSymbol].namedItem(P) !== null);\n if (!creating) {\n return false;\n }\n }\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !(target[implSymbol].item(index) !== null);\n }\n\n if (target[implSymbol].namedItem(P) !== null && !(P in target)) {\n return false;\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../nodes/HTMLFormControlsCollection-impl.js\");\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst { parseFloatingPointNumber } = require(\"../helpers/strings\");\nconst { getLabelsForLabelable } = require(\"../helpers/form-controls\");\n\nclass HTMLMeterElementImpl extends HTMLElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n this._labels = null;\n }\n\n // https://html.spec.whatwg.org/multipage/form-elements.html#concept-meter-minimum\n get _minimumValue() {\n const min = this.getAttributeNS(null, \"min\");\n if (min !== null) {\n const parsed = parseFloatingPointNumber(min);\n if (parsed !== null) {\n return parsed;\n }\n }\n return 0;\n }\n\n // https://html.spec.whatwg.org/multipage/form-elements.html#concept-meter-maximum\n get _maximumValue() {\n let candidate = 1.0;\n\n const max = this.getAttributeNS(null, \"max\");\n if (max !== null) {\n const parsed = parseFloatingPointNumber(max);\n if (parsed !== null) {\n candidate = parsed;\n }\n }\n\n const minimumValue = this._minimumValue;\n return candidate >= minimumValue ? candidate : minimumValue;\n }\n\n // https://html.spec.whatwg.org/multipage/form-elements.html#concept-meter-actual\n get _actualValue() {\n let candidate = 0;\n\n const value = this.getAttributeNS(null, \"value\");\n if (value !== null) {\n const parsed = parseFloatingPointNumber(value);\n if (parsed !== null) {\n candidate = parsed;\n }\n }\n\n const minimumValue = this._minimumValue;\n if (candidate < minimumValue) {\n return minimumValue;\n }\n\n const maximumValue = this._maximumValue;\n return candidate > maximumValue ? maximumValue : candidate;\n }\n\n // https://html.spec.whatwg.org/multipage/form-elements.html#concept-meter-low\n get _lowBoundary() {\n const minimumValue = this._minimumValue;\n let candidate = minimumValue;\n\n const low = this.getAttributeNS(null, \"low\");\n if (low !== null) {\n const parsed = parseFloatingPointNumber(low);\n if (parsed !== null) {\n candidate = parsed;\n }\n }\n\n if (candidate < minimumValue) {\n return minimumValue;\n }\n\n const maximumValue = this._maximumValue;\n return candidate > maximumValue ? maximumValue : candidate;\n }\n\n // https://html.spec.whatwg.org/multipage/form-elements.html#concept-meter-high\n get _highBoundary() {\n const maximumValue = this._maximumValue;\n let candidate = maximumValue;\n\n const high = this.getAttributeNS(null, \"high\");\n if (high !== null) {\n const parsed = parseFloatingPointNumber(high);\n if (parsed !== null) {\n candidate = parsed;\n }\n }\n\n const lowBoundary = this._lowBoundary;\n if (candidate < lowBoundary) {\n return lowBoundary;\n }\n\n return candidate > maximumValue ? maximumValue : candidate;\n }\n\n // https://html.spec.whatwg.org/multipage/form-elements.html#concept-meter-optimum\n get _optimumPoint() {\n const minimumValue = this._minimumValue;\n const maximumValue = this._maximumValue;\n let candidate = (minimumValue + maximumValue) / 2;\n\n const optimum = this.getAttributeNS(null, \"optimum\");\n if (optimum !== null) {\n const parsed = parseFloatingPointNumber(optimum);\n if (parsed !== null) {\n candidate = parsed;\n }\n }\n\n if (candidate < minimumValue) {\n return minimumValue;\n }\n\n return candidate > maximumValue ? maximumValue : candidate;\n }\n\n get labels() {\n return getLabelsForLabelable(this);\n }\n\n get value() {\n return this._actualValue;\n }\n\n set value(val) {\n this.setAttributeNS(null, \"value\", String(val));\n }\n\n get min() {\n return this._minimumValue;\n }\n\n set min(val) {\n this.setAttributeNS(null, \"min\", String(val));\n }\n\n get max() {\n return this._maximumValue;\n }\n\n set max(val) {\n this.setAttributeNS(null, \"max\", String(val));\n }\n\n get low() {\n return this._lowBoundary;\n }\n\n set low(val) {\n this.setAttributeNS(null, \"low\", String(val));\n }\n\n get high() {\n return this._highBoundary;\n }\n\n set high(val) {\n this.setAttributeNS(null, \"high\", String(val));\n }\n\n get optimum() {\n return this._optimumPoint;\n }\n\n set optimum(val) {\n this.setAttributeNS(null, \"optimum\", String(val));\n }\n}\n\nmodule.exports = {\n implementation: HTMLMeterElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst { isSummaryForParentDetails } = require(\"../helpers/details\");\nconst focusing = require(\"../helpers/focusing\");\nconst { HTML_NS, SVG_NS } = require(\"../helpers/namespaces\");\nconst DOMStringMap = require(\"../generated/DOMStringMap\");\n\nconst tabIndexReflectAllowedHTMLElements = new Set([\n \"a\", \"area\", \"button\", \"frame\", \"iframe\",\n \"input\", \"object\", \"select\", \"textarea\"\n]);\n\nclass HTMLOrSVGElementImpl {\n _initHTMLOrSVGElement() {\n this._tabIndex = 0;\n this._dataset = null;\n }\n\n get dataset() {\n if (!this._dataset) {\n this._dataset = DOMStringMap.createImpl(this._globalObject, [], { element: this });\n }\n return this._dataset;\n }\n\n // TODO this should be [Reflect]able if we added default value support to webidl2js's [Reflect]\n get tabIndex() {\n if (!this.hasAttributeNS(null, \"tabindex\")) {\n if ((this.namespaceURI === HTML_NS && (tabIndexReflectAllowedHTMLElements.has(this._localName) ||\n (this._localName === \"summary\" && isSummaryForParentDetails(this)))) ||\n (this.namespaceURI === SVG_NS && this._localName === \"a\")) {\n return 0;\n }\n return -1;\n }\n return conversions.long(this.getAttributeNS(null, \"tabindex\"));\n }\n\n set tabIndex(value) {\n this.setAttributeNS(null, \"tabindex\", String(value));\n }\n\n focus() {\n if (!focusing.isFocusableAreaElement(this)) {\n return;\n }\n const ownerDocument = this._ownerDocument;\n const previous = ownerDocument._lastFocusedElement;\n\n if (previous === this) {\n return;\n }\n\n ownerDocument._lastFocusedElement = null;\n if (previous) {\n focusing.fireFocusEventWithTargetAdjustment(\"blur\", previous, this);\n focusing.fireFocusEventWithTargetAdjustment(\"focusout\", previous, this, { bubbles: true });\n } else {\n const frameElement = ownerDocument._defaultView._frameElement;\n if (frameElement) {\n const frameLastFocusedElement = frameElement.ownerDocument._lastFocusedElement;\n frameElement.ownerDocument._lastFocusedElement = null;\n focusing.fireFocusEventWithTargetAdjustment(\"blur\", frameLastFocusedElement, null);\n focusing.fireFocusEventWithTargetAdjustment(\"focusout\", frameLastFocusedElement, null, { bubbles: true });\n frameElement.ownerDocument._lastFocusedElement = frameElement;\n }\n }\n\n ownerDocument._lastFocusedElement = this;\n focusing.fireFocusEventWithTargetAdjustment(\"focus\", this, previous);\n focusing.fireFocusEventWithTargetAdjustment(\"focusin\", this, previous, { bubbles: true });\n ownerDocument.getSelection().collapse(this, 0);\n }\n\n blur() {\n if (this._ownerDocument._lastFocusedElement !== this || !focusing.isFocusableAreaElement(this)) {\n return;\n }\n\n this._ownerDocument._lastFocusedElement = null;\n focusing.fireFocusEventWithTargetAdjustment(\"blur\", this, null);\n focusing.fireFocusEventWithTargetAdjustment(\"focusout\", this, null, { bubbles: true });\n this._ownerDocument.getSelection().empty();\n }\n}\n\nexports.implementation = HTMLOrSVGElementImpl;\n","\"use strict\";\nconst fs = require(\"fs\");\nconst { EventEmitter } = require(\"events\");\nconst { URL } = require(\"whatwg-url\");\nconst parseDataURL = require(\"data-urls\");\nconst DOMException = require(\"../generated/DOMException\");\n\nconst ProgressEvent = require(\"../generated/ProgressEvent\");\n\nconst agentFactory = require(\"../helpers/agent-factory\");\nconst Request = require(\"../helpers/http-request\");\nconst { fireAnEvent } = require(\"../helpers/events\");\n\nconst headerListSeparatorRegexp = /,[ \\t]*/;\nconst simpleMethods = new Set([\"GET\", \"HEAD\", \"POST\"]);\nconst simpleHeaders = new Set([\"accept\", \"accept-language\", \"content-language\", \"content-type\"]);\nconst preflightHeaders = new Set([\n \"access-control-expose-headers\",\n \"access-control-allow-headers\",\n \"access-control-allow-credentials\",\n \"access-control-allow-origin\"\n]);\n\nconst READY_STATES = exports.READY_STATES = Object.freeze({\n UNSENT: 0,\n OPENED: 1,\n HEADERS_RECEIVED: 2,\n LOADING: 3,\n DONE: 4\n});\n\nfunction getRequestHeader(requestHeaders, header) {\n const lcHeader = header.toLowerCase();\n const keys = Object.keys(requestHeaders);\n let n = keys.length;\n while (n--) {\n const key = keys[n];\n if (key.toLowerCase() === lcHeader) {\n return requestHeaders[key];\n }\n }\n return null;\n}\n\nfunction updateRequestHeader(requestHeaders, header, newValue) {\n const lcHeader = header.toLowerCase();\n const keys = Object.keys(requestHeaders);\n let n = keys.length;\n while (n--) {\n const key = keys[n];\n if (key.toLowerCase() === lcHeader) {\n requestHeaders[key] = newValue;\n }\n }\n}\n\nfunction dispatchError(xhr) {\n const errMessage = xhr.properties.error;\n requestErrorSteps(xhr, \"error\", DOMException.create(xhr._globalObject, [errMessage, \"NetworkError\"]));\n\n if (xhr._ownerDocument) {\n const error = new Error(errMessage);\n error.type = \"XMLHttpRequest\"; // TODO this should become \"resource loading\" when XHR goes through resource loader\n\n xhr._ownerDocument._defaultView._virtualConsole.emit(\"jsdomError\", error);\n }\n}\n\nfunction validCORSHeaders(xhr, response, flag, properties, origin) {\n const acaoStr = response.headers[\"access-control-allow-origin\"];\n const acao = acaoStr ? acaoStr.trim() : null;\n if (acao !== \"*\" && acao !== origin) {\n properties.error = \"Cross origin \" + origin + \" forbidden\";\n dispatchError(xhr);\n return false;\n }\n const acacStr = response.headers[\"access-control-allow-credentials\"];\n const acac = acacStr ? acacStr.trim() : null;\n if (flag.withCredentials && acac !== \"true\") {\n properties.error = \"Credentials forbidden\";\n dispatchError(xhr);\n return false;\n }\n return true;\n}\n\nfunction validCORSPreflightHeaders(xhr, response, flag, properties) {\n if (!validCORSHeaders(xhr, response, flag, properties, properties.origin)) {\n return false;\n }\n const acahStr = response.headers[\"access-control-allow-headers\"];\n const acah = new Set(acahStr ? acahStr.trim().toLowerCase().split(headerListSeparatorRegexp) : []);\n const forbiddenHeaders = acah.has(\"*\") ?\n [] :\n Object.keys(flag.requestHeaders).filter(header => {\n const lcHeader = header.toLowerCase();\n return !simpleHeaders.has(lcHeader) && !acah.has(lcHeader);\n });\n if (forbiddenHeaders.length > 0) {\n properties.error = \"Headers \" + forbiddenHeaders + \" forbidden\";\n dispatchError(xhr);\n return false;\n }\n return true;\n}\n\nfunction requestErrorSteps(xhr, event, exception) {\n const { flag, properties, upload } = xhr;\n\n xhr.readyState = READY_STATES.DONE;\n properties.send = false;\n\n setResponseToNetworkError(xhr);\n\n if (flag.synchronous) {\n throw exception;\n }\n\n fireAnEvent(\"readystatechange\", xhr);\n\n if (!properties.uploadComplete) {\n properties.uploadComplete = true;\n\n if (properties.uploadListener) {\n fireAnEvent(event, upload, ProgressEvent, { loaded: 0, total: 0, lengthComputable: false });\n fireAnEvent(\"loadend\", upload, ProgressEvent, { loaded: 0, total: 0, lengthComputable: false });\n }\n }\n\n fireAnEvent(event, xhr, ProgressEvent, { loaded: 0, total: 0, lengthComputable: false });\n fireAnEvent(\"loadend\", xhr, ProgressEvent, { loaded: 0, total: 0, lengthComputable: false });\n}\n\nfunction setResponseToNetworkError(xhr) {\n const { properties } = xhr;\n\n properties.responseBuffer =\n properties.responseCache =\n properties.responseTextCache =\n properties.responseXMLCache = null;\n\n properties.responseHeaders = {};\n xhr.status = 0;\n xhr.statusText = \"\";\n}\n\n// return a \"request\" client object or an event emitter matching the same behaviour for unsupported protocols\n// the callback should be called with a \"request\" response object or an event emitter matching the same behaviour too\nfunction createClient(xhr) {\n const { flag, properties } = xhr;\n const urlObj = new URL(flag.uri);\n const uri = urlObj.href;\n const ucMethod = flag.method.toUpperCase();\n\n const { requestManager } = flag;\n\n if (urlObj.protocol === \"file:\") {\n const response = new EventEmitter();\n response.statusCode = 200;\n response.rawHeaders = [];\n response.headers = {};\n const filePath = urlObj.pathname\n .replace(/^file:\\/\\//, \"\")\n .replace(/^\\/([a-z]):\\//i, \"$1:/\")\n .replace(/%20/g, \" \");\n\n const client = new EventEmitter();\n\n const readableStream = fs.createReadStream(filePath, { encoding: null });\n\n readableStream.on(\"data\", chunk => {\n response.emit(\"data\", chunk);\n client.emit(\"data\", chunk);\n });\n\n readableStream.on(\"end\", () => {\n response.emit(\"end\");\n client.emit(\"end\");\n });\n\n readableStream.on(\"error\", err => {\n client.emit(\"error\", err);\n });\n\n client.abort = function () {\n readableStream.destroy();\n client.emit(\"abort\");\n };\n\n if (requestManager) {\n const req = {\n abort() {\n properties.abortError = true;\n xhr.abort();\n }\n };\n requestManager.add(req);\n const rmReq = requestManager.remove.bind(requestManager, req);\n client.on(\"abort\", rmReq);\n client.on(\"error\", rmReq);\n client.on(\"end\", rmReq);\n }\n\n process.nextTick(() => client.emit(\"response\", response, urlObj.href));\n\n return client;\n }\n\n if (urlObj.protocol === \"data:\") {\n const response = new EventEmitter();\n\n const client = new EventEmitter();\n\n let buffer;\n try {\n const parsed = parseDataURL(uri);\n const contentType = parsed.mimeType.toString();\n buffer = Buffer.from(parsed.body);\n response.statusCode = 200;\n response.rawHeaders = [\"Content-Type\", contentType];\n response.headers = { \"content-type\": contentType };\n } catch (err) {\n process.nextTick(() => client.emit(\"error\", err));\n return client;\n }\n\n client.abort = () => {\n // do nothing\n };\n\n process.nextTick(() => {\n client.emit(\"response\", response, urlObj.href);\n process.nextTick(() => {\n response.emit(\"data\", buffer);\n client.emit(\"data\", buffer);\n response.emit(\"end\");\n client.emit(\"end\");\n });\n });\n\n return client;\n }\n const agents = agentFactory(flag.proxy, flag.strictSSL);\n const requestHeaders = {};\n\n for (const header in flag.requestHeaders) {\n requestHeaders[header] = flag.requestHeaders[header];\n }\n\n if (getRequestHeader(flag.requestHeaders, \"referer\") === null) {\n requestHeaders.Referer = flag.referrer;\n }\n if (getRequestHeader(flag.requestHeaders, \"user-agent\") === null) {\n requestHeaders[\"User-Agent\"] = flag.userAgent;\n }\n if (getRequestHeader(flag.requestHeaders, \"accept-language\") === null) {\n requestHeaders[\"Accept-Language\"] = \"en\";\n }\n if (getRequestHeader(flag.requestHeaders, \"accept\") === null) {\n requestHeaders.Accept = \"*/*\";\n }\n\n const crossOrigin = flag.origin !== urlObj.origin;\n if (crossOrigin) {\n requestHeaders.Origin = flag.origin;\n }\n\n const options = { rejectUnauthorized: flag.strictSSL, agents, followRedirects: true };\n if (flag.auth) {\n options.user = flag.auth.user || \"\";\n options.pass = flag.auth.pass || \"\";\n }\n if (flag.cookieJar && (!crossOrigin || flag.withCredentials)) {\n options.cookieJar = flag.cookieJar;\n }\n\n const { body } = flag;\n const hasBody = body !== undefined &&\n body !== null &&\n body !== \"\" &&\n !(ucMethod === \"HEAD\" || ucMethod === \"GET\");\n\n if (hasBody && getRequestHeader(flag.requestHeaders, \"content-type\") === null) {\n requestHeaders[\"Content-Type\"] = \"text/plain;charset=UTF-8\";\n }\n\n function doRequest() {\n try {\n requestHeaders[\"Accept-Encoding\"] = \"gzip, deflate\";\n\n let len = 0;\n if (hasBody) {\n len = body.byteLength;\n requestHeaders[\"Content-Length\"] = len;\n }\n\n const requestClient = new Request(uri, options, { method: flag.method, headers: requestHeaders });\n if (hasBody) {\n requestClient.write(body);\n }\n return requestClient;\n } catch (e) {\n const eventEmitterclient = new EventEmitter();\n process.nextTick(() => eventEmitterclient.emit(\"error\", e));\n eventEmitterclient.end = () => {};\n eventEmitterclient.abort = () => {\n // do nothing\n };\n return eventEmitterclient;\n }\n }\n\n let client;\n\n const nonSimpleHeaders = Object.keys(flag.requestHeaders)\n .filter(header => !simpleHeaders.has(header.toLowerCase()));\n\n if (crossOrigin && (!simpleMethods.has(ucMethod) || nonSimpleHeaders.length > 0 || properties.uploadListener)) {\n client = new EventEmitter();\n\n const preflightRequestHeaders = {};\n for (const header in requestHeaders) {\n // the only existing request headers the cors spec allows on the preflight request are Origin and Referer\n const lcHeader = header.toLowerCase();\n if (lcHeader === \"origin\" || lcHeader === \"referer\") {\n preflightRequestHeaders[header] = requestHeaders[header];\n }\n }\n\n preflightRequestHeaders[\"Access-Control-Request-Method\"] = flag.method;\n if (nonSimpleHeaders.length > 0) {\n preflightRequestHeaders[\"Access-Control-Request-Headers\"] = nonSimpleHeaders.join(\", \");\n }\n\n preflightRequestHeaders[\"User-Agent\"] = flag.userAgent;\n\n flag.preflight = true;\n\n const rejectUnauthorized = flag.strictSSL;\n const preflightClient = new Request(\n uri,\n { agents, followRedirects: false },\n { method: \"OPTIONS\", headers: preflightRequestHeaders, rejectUnauthorized }\n );\n\n preflightClient.on(\"response\", resp => {\n // don't send the real request if the preflight request returned an error\n if (resp.statusCode < 200 || resp.statusCode > 299) {\n client.emit(\"error\", new Error(\"Response for preflight has invalid HTTP status code \" + resp.statusCode));\n return;\n }\n // don't send the real request if we aren't allowed to use the headers\n if (!validCORSPreflightHeaders(xhr, resp, flag, properties)) {\n setResponseToNetworkError(xhr);\n return;\n }\n // Set request gzip option right before headers are set\n const realClient = doRequest();\n realClient.on(\"response\", (...args) => client.emit(\"response\", ...args));\n realClient.on(\"data\", chunk => client.emit(\"data\", chunk));\n realClient.on(\"end\", () => client.emit(\"end\"));\n realClient.on(\"abort\", () => client.emit(\"abort\"));\n realClient.on(\"request\", req => {\n client.headers = realClient.headers;\n client.emit(\"request\", req);\n });\n realClient.on(\"redirect\", (...args) => {\n client.emit(\"redirect\", ...args);\n });\n realClient.on(\"error\", err => {\n client.emit(\"error\", err);\n });\n client.abort = () => {\n realClient.abort();\n };\n setImmediate(() => realClient.end());\n });\n\n preflightClient.on(\"error\", err => {\n client.emit(\"error\", err);\n });\n\n client.abort = () => {\n preflightClient.abort();\n };\n setImmediate(() => preflightClient.end());\n } else {\n client = doRequest();\n setImmediate(() => client.end());\n }\n\n if (requestManager) {\n const req = {\n abort() {\n properties.abortError = true;\n xhr.abort();\n }\n };\n requestManager.add(req);\n const rmReq = requestManager.remove.bind(requestManager, req);\n client.on(\"abort\", rmReq);\n client.on(\"error\", rmReq);\n client.on(\"end\", rmReq);\n }\n return client;\n}\n\nexports.headerListSeparatorRegexp = headerListSeparatorRegexp;\nexports.simpleHeaders = simpleHeaders;\nexports.preflightHeaders = preflightHeaders;\nexports.getRequestHeader = getRequestHeader;\nexports.updateRequestHeader = updateRequestHeader;\nexports.dispatchError = dispatchError;\nexports.validCORSHeaders = validCORSHeaders;\nexports.requestErrorSteps = requestErrorSteps;\nexports.setResponseToNetworkError = setResponseToNetworkError;\nexports.createClient = createClient;\n","\"use strict\";\n\n// https://infra.spec.whatwg.org/#sets\n//\n// Only use this class if a Set cannot be used, e.g. when \"replace\" operation is needed, since there's no way to replace\n// an element while keep the relative order using a Set, only remove and then add something at the end.\n\nmodule.exports = class OrderedSet {\n constructor() {\n this._items = [];\n }\n\n append(item) {\n if (!this.contains(item)) {\n this._items.push(item);\n }\n }\n\n prepend(item) {\n if (!this.contains(item)) {\n this._items.unshift(item);\n }\n }\n\n replace(item, replacement) {\n let seen = false;\n for (let i = 0; i < this._items.length;) {\n const isInstance = this._items[i] === item || this._items[i] === replacement;\n if (seen && isInstance) {\n this._items.splice(i, 1);\n } else {\n if (isInstance) {\n this._items[i] = replacement;\n seen = true;\n }\n i++;\n }\n }\n }\n\n remove(...items) {\n this.removePredicate(item => items.includes(item));\n }\n\n removePredicate(predicate) {\n for (let i = 0; i < this._items.length;) {\n if (predicate(this._items[i])) {\n this._items.splice(i, 1);\n } else {\n i++;\n }\n }\n }\n\n empty() {\n this._items.length = 0;\n }\n\n contains(item) {\n return this._items.includes(item);\n }\n\n get size() {\n return this._items.length;\n }\n\n isEmpty() {\n return this._items.length === 0;\n }\n\n // Useful for other parts of jsdom\n\n [Symbol.iterator]() {\n return this._items[Symbol.iterator]();\n }\n\n keys() {\n return this._items.keys();\n }\n\n get(index) {\n return this._items[index];\n }\n\n some(func) {\n return this._items.some(func);\n }\n\n // https://dom.spec.whatwg.org/#concept-ordered-set-parser\n static parse(input) {\n const tokens = new OrderedSet();\n for (const token of input.split(/[\\t\\n\\f\\r ]+/)) {\n if (token) {\n tokens.append(token);\n }\n }\n return tokens;\n }\n\n // https://dom.spec.whatwg.org/#concept-ordered-set-serializer\n serialize() {\n return this._items.join(\" \");\n }\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","\"use strict\";\n\nconst xnv = require(\"xml-name-validator\");\n\nconst { NAMESPACES } = require(\"./constants\");\n\nfunction generatePrefix(map, newNamespace, prefixIndex) {\n const generatedPrefix = `ns${prefixIndex}`;\n map[newNamespace] = [generatedPrefix];\n return generatedPrefix;\n}\n\nfunction preferredPrefixString(map, ns, preferredPrefix) {\n const candidateList = map[ns];\n if (!candidateList) {\n return null;\n }\n if (candidateList.includes(preferredPrefix)) {\n return preferredPrefix;\n }\n return candidateList[candidateList.length - 1];\n}\n\nfunction serializeAttributeValue(value/* , requireWellFormed*/) {\n if (value === null) {\n return \"\";\n }\n // TODO: Check well-formedness\n return value\n .replace(/&/ug, \"&\")\n .replace(/\"/ug, \""\")\n .replace(//ug, \">\")\n .replace(/\\t/ug, \" \")\n .replace(/\\n/ug, \" \")\n .replace(/\\r/ug, \" \");\n}\n\nfunction serializeAttributes(\n element,\n map,\n localPrefixes,\n ignoreNamespaceDefAttr,\n requireWellFormed,\n refs\n) {\n let result = \"\";\n const namespaceLocalnames = Object.create(null);\n for (const attr of element.attributes) {\n if (\n requireWellFormed &&\n namespaceLocalnames[attr.namespaceURI] &&\n namespaceLocalnames[attr.namespaceURI].has(attr.localName)\n ) {\n throw new Error(\"Found duplicated attribute\");\n }\n if (!namespaceLocalnames[attr.namespaceURI]) {\n namespaceLocalnames[attr.namespaceURI] = new Set();\n }\n namespaceLocalnames[attr.namespaceURI].add(attr.localName);\n const attributeNamespace = attr.namespaceURI;\n let candidatePrefix = null;\n if (attributeNamespace !== null) {\n candidatePrefix = preferredPrefixString(\n map,\n attributeNamespace,\n attr.prefix\n );\n if (attributeNamespace === NAMESPACES.XMLNS) {\n if (\n attr.value === NAMESPACES.XML ||\n (attr.prefix === null && ignoreNamespaceDefAttr) ||\n (attr.prefix !== null &&\n localPrefixes[attr.localName] !== attr.value &&\n map[attr.value].includes(attr.localName))\n ) {\n continue;\n }\n if (requireWellFormed && attr.value === NAMESPACES.XMLNS) {\n throw new Error(\n \"The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing\"\n );\n }\n if (requireWellFormed && attr.value === \"\") {\n throw new Error(\n \"Namespace prefix declarations cannot be used to undeclare a namespace\"\n );\n }\n if (attr.prefix === \"xmlns\") {\n candidatePrefix = \"xmlns\";\n }\n } else if (candidatePrefix === null) {\n candidatePrefix = generatePrefix(\n map,\n attributeNamespace,\n refs.prefixIndex++\n );\n result += ` xmlns:${candidatePrefix}=\"${serializeAttributeValue(\n attributeNamespace,\n requireWellFormed\n )}\"`;\n }\n }\n\n result += \" \";\n if (candidatePrefix !== null) {\n result += `${candidatePrefix}:`;\n }\n if (\n requireWellFormed &&\n (attr.localName.includes(\":\") ||\n !xnv.name(attr.localName) ||\n (attr.localName === \"xmlns\" && attributeNamespace === null))\n ) {\n throw new Error(\"Invalid attribute localName value\");\n }\n result += `${attr.localName}=\"${serializeAttributeValue(attr.value, requireWellFormed)}\"`;\n }\n return result;\n}\n\nmodule.exports.preferredPrefixString = preferredPrefixString;\nmodule.exports.generatePrefix = generatePrefix;\nmodule.exports.serializeAttributeValue = serializeAttributeValue;\nmodule.exports.serializeAttributes = serializeAttributes;\n","\"use strict\";\nconst whatwgURL = require(\"whatwg-url\");\nconst DOMException = require(\"../generated/DOMException\");\nconst { navigate } = require(\"./navigation\");\n\n// Not implemented: use of entry settings object's API base URL in href setter, assign, and replace. Instead we just\n// use the document base URL. The difference matters in the case of cross-frame calls.\n\nexports.implementation = class LocationImpl {\n constructor(globalObject, args, privateData) {\n this._relevantDocument = privateData.relevantDocument;\n this.url = null;\n\n this._globalObject = globalObject;\n }\n\n get _url() {\n return this._relevantDocument._URL;\n }\n\n _locationObjectSetterNavigate(url) {\n // Not implemented: extra steps here to determine replacement flag.\n\n return this._locationObjectNavigate(url);\n }\n\n _locationObjectNavigate(url, { replacement = false } = {}) {\n // Not implemented: the setup for calling navigate, which doesn't apply to our stub navigate anyway.\n\n navigate(this._relevantDocument._defaultView, url, { replacement, exceptionsEnabled: true });\n }\n\n toString() {\n return this.href;\n }\n\n get href() {\n return whatwgURL.serializeURL(this._url);\n }\n set href(v) {\n const newURL = whatwgURL.parseURL(v, { baseURL: this._relevantDocument.baseURL() });\n if (newURL === null) {\n throw new TypeError(`Could not parse \"${v}\" as a URL`);\n }\n\n this._locationObjectSetterNavigate(newURL);\n }\n\n get origin() {\n return whatwgURL.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n set protocol(v) {\n const copyURL = { ...this._url };\n\n const possibleFailure = whatwgURL.basicURLParse(v + \":\", { url: copyURL, stateOverride: \"scheme start\" });\n if (possibleFailure === null) {\n throw new TypeError(`Could not parse the URL after setting the procol to \"${v}\"`);\n }\n\n if (copyURL.scheme !== \"http\" && copyURL.scheme !== \"https\") {\n return;\n }\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n if (url.port === null) {\n return whatwgURL.serializeHost(url.host);\n }\n\n return whatwgURL.serializeHost(url.host) + \":\" + whatwgURL.serializeInteger(url.port);\n }\n set host(v) {\n const copyURL = { ...this._url };\n\n if (whatwgURL.hasAnOpaquePath(copyURL)) {\n return;\n }\n\n whatwgURL.basicURLParse(v, { url: copyURL, stateOverride: \"host\" });\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return whatwgURL.serializeHost(this._url.host);\n }\n set hostname(v) {\n const copyURL = { ...this._url };\n\n if (whatwgURL.hasAnOpaquePath(copyURL)) {\n return;\n }\n\n whatwgURL.basicURLParse(v, { url: copyURL, stateOverride: \"hostname\" });\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return whatwgURL.serializeInteger(this._url.port);\n }\n set port(v) {\n const copyURL = { ...this._url };\n\n if (whatwgURL.cannotHaveAUsernamePasswordPort(copyURL)) {\n return;\n }\n\n whatwgURL.basicURLParse(v, { url: copyURL, stateOverride: \"port\" });\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n get pathname() {\n return whatwgURL.serializePath(this._url);\n }\n set pathname(v) {\n const copyURL = { ...this._url };\n\n if (whatwgURL.hasAnOpaquePath(copyURL)) {\n return;\n }\n\n copyURL.path = [];\n whatwgURL.basicURLParse(v, { url: copyURL, stateOverride: \"path start\" });\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n set search(v) {\n const copyURL = { ...this._url };\n\n if (v === \"\") {\n copyURL.query = null;\n } else {\n const input = v[0] === \"?\" ? v.substring(1) : v;\n copyURL.query = \"\";\n whatwgURL.basicURLParse(input, {\n url: copyURL,\n stateOverride: \"query\",\n encodingOverride: this._relevantDocument.charset\n });\n }\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n set hash(v) {\n const copyURL = { ...this._url };\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n copyURL.fragment = \"\";\n whatwgURL.basicURLParse(input, { url: copyURL, stateOverride: \"fragment\" });\n\n if (copyURL.fragment === this._url.fragment) {\n return;\n }\n\n this._locationObjectSetterNavigate(copyURL);\n }\n\n assign(url) {\n // Should be entry settings object; oh well\n const parsedURL = this._relevantDocument.encodingParseAURL(url);\n\n if (parsedURL === null) {\n throw DOMException.create(this._globalObject, [\n `Could not resolve the given string \"${url}\" relative to the base URL \"${this._relevantDocument.URL}\"`,\n \"SyntaxError\"\n ]);\n }\n\n this._locationObjectNavigate(parsedURL);\n }\n\n replace(url) {\n // Should be entry settings object; oh well\n const parsedURL = this._relevantDocument.encodingParseAURL(url);\n\n if (parsedURL === null) {\n throw DOMException.create(this._globalObject, [\n `Could not resolve the given string \"${url}\" relative to the base URL \"${this._relevantDocument.URL}\"`,\n \"SyntaxError\"\n ]);\n }\n\n this._locationObjectNavigate(parsedURL, { replacement: true });\n }\n\n reload() {\n const flags = { replace: true, reloadTriggered: true, exceptionsEnabled: true };\n navigate(this._relevantDocument._defaultView, this._url, flags);\n }\n};\n","\"use strict\";\n\nconst UIEventImpl = require(\"./UIEvent-impl\").implementation;\nconst CompositionEventInit = require(\"../generated/CompositionEventInit\");\n\nclass CompositionEventImpl extends UIEventImpl {\n initCompositionEvent(type, bubbles, cancelable, view, data) {\n if (this._dispatchFlag) {\n return;\n }\n\n this.initUIEvent(type, bubbles, cancelable, view, 0);\n this.data = data;\n }\n}\nCompositionEventImpl.defaultInit = CompositionEventInit.convert(undefined, undefined);\n\nmodule.exports = {\n implementation: CompositionEventImpl\n};\n",null,"\"use strict\";\n\n// Note that we take code points as JS numbers, not JS strings.\n\nfunction isASCIIDigit(c) {\n return c >= 0x30 && c <= 0x39;\n}\n\nfunction isASCIIAlpha(c) {\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\n}\n\nfunction isASCIIAlphanumeric(c) {\n return isASCIIAlpha(c) || isASCIIDigit(c);\n}\n\nfunction isASCIIHex(c) {\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\n}\n\nmodule.exports = {\n isASCIIDigit,\n isASCIIAlpha,\n isASCIIAlphanumeric,\n isASCIIHex\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst SVGElement = require(\"./SVGElement.js\");\n\nconst interfaceName = \"SVGGraphicsElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGGraphicsElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGGraphicsElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n SVGElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGGraphicsElement extends globalObject.SVGElement {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get requiredExtensions() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get requiredExtensions' called on an object that is not a valid instance of SVGGraphicsElement.\"\n );\n }\n\n return utils.getSameObject(this, \"requiredExtensions\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"requiredExtensions\"]);\n });\n }\n\n get systemLanguage() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get systemLanguage' called on an object that is not a valid instance of SVGGraphicsElement.\"\n );\n }\n\n return utils.getSameObject(this, \"systemLanguage\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"systemLanguage\"]);\n });\n }\n }\n Object.defineProperties(SVGGraphicsElement.prototype, {\n requiredExtensions: { enumerable: true },\n systemLanguage: { enumerable: true },\n [Symbol.toStringTag]: { value: \"SVGGraphicsElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = SVGGraphicsElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGGraphicsElement\n });\n};\n\nconst Impl = require(\"../nodes/SVGGraphicsElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst CharacterData = require(\"./CharacterData.js\");\n\nconst interfaceName = \"Text\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Text'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Text\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n CharacterData._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Text extends globalObject.CharacterData {\n constructor() {\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'Text': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = \"\";\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n splitText(offset) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'splitText' called on an object that is not a valid instance of Text.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'splitText' on 'Text': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'splitText' on 'Text': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].splitText(...args));\n }\n\n get wholeText() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get wholeText' called on an object that is not a valid instance of Text.\");\n }\n\n return esValue[implSymbol][\"wholeText\"];\n }\n\n get assignedSlot() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get assignedSlot' called on an object that is not a valid instance of Text.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"assignedSlot\"]);\n }\n }\n Object.defineProperties(Text.prototype, {\n splitText: { enumerable: true },\n wholeText: { enumerable: true },\n assignedSlot: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Text\", configurable: true }\n });\n ctorRegistry[interfaceName] = Text;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Text\n });\n};\n\nconst Impl = require(\"../nodes/Text-impl.js\");\n","\"use strict\";\n\nconst DOMException = require(\"../generated/DOMException\");\n\nconst NODE_TYPE = require(\"../node-type\");\n\nconst AbstractRangeImpl = require(\"./AbstractRange-impl\").implementation;\n\n// https://dom.spec.whatwg.org/#staticrange\nclass StaticRangeImpl extends AbstractRangeImpl {\n // https://dom.spec.whatwg.org/#dom-staticrange-staticrange\n constructor(globalObject, args) {\n const { startContainer, startOffset, endContainer, endOffset } = args[0];\n\n if (\n startContainer.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE ||\n startContainer.nodeType === NODE_TYPE.ATTRIBUTE_NODE ||\n endContainer.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE ||\n endContainer.nodeType === NODE_TYPE.ATTRIBUTE_NODE\n ) {\n throw DOMException.create(globalObject, [\"The supplied node is incorrect.\", \"InvalidNodeTypeError\"]);\n }\n\n super(globalObject, [], {\n start: {\n node: startContainer,\n offset: startOffset\n },\n end: {\n node: endContainer,\n offset: endOffset\n }\n });\n }\n}\n\nmodule.exports = {\n implementation: StaticRangeImpl\n};\n","\"use strict\";\n\nconst DOMException = require(\"../generated/DOMException\");\nconst OrderedSet = require(\"../helpers/ordered-set.js\");\nconst { asciiLowercase } = require(\"../helpers/strings.js\");\nconst idlUtils = require(\"../generated/utils.js\");\n\nconst { getAttributeValue, setAttributeValue, hasAttributeByName } = require(\"../attributes.js\");\n\nfunction validateTokens(globalObject, ...tokens) {\n for (const token of tokens) {\n if (token === \"\") {\n throw DOMException.create(globalObject, [\"The token provided must not be empty.\", \"SyntaxError\"]);\n }\n }\n for (const token of tokens) {\n if (/[\\t\\n\\f\\r ]/.test(token)) {\n throw DOMException.create(globalObject, [\n \"The token provided contains HTML space characters, which are not valid in tokens.\",\n \"InvalidCharacterError\"\n ]);\n }\n }\n}\n\n// https://dom.spec.whatwg.org/#domtokenlist\nclass DOMTokenListImpl {\n constructor(globalObject, args, privateData) {\n this._globalObject = globalObject;\n\n // _syncWithElement() must always be called before any _tokenSet access.\n this._tokenSet = new OrderedSet();\n this._element = privateData.element;\n this._attributeLocalName = privateData.attributeLocalName;\n this._supportedTokens = privateData.supportedTokens;\n\n // Needs synchronization with element if token set is to be accessed.\n this._dirty = true;\n }\n\n attrModified() {\n this._dirty = true;\n }\n\n _syncWithElement() {\n if (!this._dirty) {\n return;\n }\n\n const val = getAttributeValue(this._element, this._attributeLocalName);\n if (val === null) {\n this._tokenSet.empty();\n } else {\n this._tokenSet = OrderedSet.parse(val);\n }\n\n this._dirty = false;\n }\n\n _validationSteps(token) {\n if (!this._supportedTokens) {\n throw new TypeError(`${this._attributeLocalName} attribute has no supported tokens`);\n }\n const lowerToken = asciiLowercase(token);\n return this._supportedTokens.has(lowerToken);\n }\n\n _updateSteps() {\n if (!hasAttributeByName(this._element, this._attributeLocalName) && this._tokenSet.isEmpty()) {\n return;\n }\n setAttributeValue(this._element, this._attributeLocalName, this._tokenSet.serialize());\n }\n\n _serializeSteps() {\n return getAttributeValue(this._element, this._attributeLocalName);\n }\n\n // Used by other parts of jsdom\n get tokenSet() {\n this._syncWithElement();\n return this._tokenSet;\n }\n\n get length() {\n this._syncWithElement();\n return this._tokenSet.size;\n }\n\n get [idlUtils.supportedPropertyIndices]() {\n this._syncWithElement();\n return this._tokenSet.keys();\n }\n\n item(index) {\n this._syncWithElement();\n if (index >= this._tokenSet.size) {\n return null;\n }\n return this._tokenSet.get(index);\n }\n\n contains(token) {\n this._syncWithElement();\n return this._tokenSet.contains(token);\n }\n\n add(...tokens) {\n for (const token of tokens) {\n validateTokens(this._globalObject, token);\n }\n this._syncWithElement();\n for (const token of tokens) {\n this._tokenSet.append(token);\n }\n this._updateSteps();\n }\n\n remove(...tokens) {\n for (const token of tokens) {\n validateTokens(this._globalObject, token);\n }\n this._syncWithElement();\n this._tokenSet.remove(...tokens);\n this._updateSteps();\n }\n\n toggle(token, force = undefined) {\n validateTokens(this._globalObject, token);\n this._syncWithElement();\n if (this._tokenSet.contains(token)) {\n if (force === undefined || force === false) {\n this._tokenSet.remove(token);\n this._updateSteps();\n return false;\n }\n return true;\n }\n if (force === undefined || force === true) {\n this._tokenSet.append(token);\n this._updateSteps();\n return true;\n }\n return false;\n }\n\n replace(token, newToken) {\n validateTokens(this._globalObject, token, newToken);\n this._syncWithElement();\n if (!this._tokenSet.contains(token)) {\n return false;\n }\n this._tokenSet.replace(token, newToken);\n this._updateSteps();\n return true;\n }\n\n supports(token) {\n return this._validationSteps(token);\n }\n\n get value() {\n return this._serializeSteps();\n }\n\n set value(V) {\n setAttributeValue(this._element, this._attributeLocalName, V);\n }\n}\n\nexports.implementation = DOMTokenListImpl;\n","\"use strict\";\n\nconst style = require(\"../level2/style\");\nconst xpath = require(\"../level3/xpath\");\n\n// This object defines the mapping between the interface name and the generated interface wrapper code.\n// Note: The mapping needs to stay as-is in order due to interface evaluation.\n// We cannot \"refactor\" this to something less duplicative because that would break bundlers which depend on static\n// analysis of require()s.\nconst generatedInterfaces = {\n DOMException: require(\"./generated/DOMException.js\"),\n\n URL: require(\"whatwg-url/webidl2js-wrapper\").URL,\n URLSearchParams: require(\"whatwg-url/webidl2js-wrapper\").URLSearchParams,\n\n EventTarget: require(\"./generated/EventTarget\"),\n\n NamedNodeMap: require(\"./generated/NamedNodeMap\"),\n Node: require(\"./generated/Node\"),\n Attr: require(\"./generated/Attr\"),\n Element: require(\"./generated/Element\"),\n DocumentFragment: require(\"./generated/DocumentFragment\"),\n DOMImplementation: require(\"./generated/DOMImplementation\"),\n Document: require(\"./generated/Document\"),\n XMLDocument: require(\"./generated/XMLDocument\"),\n CharacterData: require(\"./generated/CharacterData\"),\n Text: require(\"./generated/Text\"),\n CDATASection: require(\"./generated/CDATASection\"),\n ProcessingInstruction: require(\"./generated/ProcessingInstruction\"),\n Comment: require(\"./generated/Comment\"),\n DocumentType: require(\"./generated/DocumentType\"),\n NodeList: require(\"./generated/NodeList\"),\n RadioNodeList: require(\"./generated/RadioNodeList\"),\n HTMLCollection: require(\"./generated/HTMLCollection\"),\n HTMLOptionsCollection: require(\"./generated/HTMLOptionsCollection\"),\n DOMStringMap: require(\"./generated/DOMStringMap\"),\n DOMTokenList: require(\"./generated/DOMTokenList\"),\n\n StyleSheetList: require(\"./generated/StyleSheetList.js\"),\n\n HTMLElement: require(\"./generated/HTMLElement.js\"),\n HTMLHeadElement: require(\"./generated/HTMLHeadElement.js\"),\n HTMLTitleElement: require(\"./generated/HTMLTitleElement.js\"),\n HTMLBaseElement: require(\"./generated/HTMLBaseElement.js\"),\n HTMLLinkElement: require(\"./generated/HTMLLinkElement.js\"),\n HTMLMetaElement: require(\"./generated/HTMLMetaElement.js\"),\n HTMLStyleElement: require(\"./generated/HTMLStyleElement.js\"),\n HTMLBodyElement: require(\"./generated/HTMLBodyElement.js\"),\n HTMLHeadingElement: require(\"./generated/HTMLHeadingElement.js\"),\n HTMLParagraphElement: require(\"./generated/HTMLParagraphElement.js\"),\n HTMLHRElement: require(\"./generated/HTMLHRElement.js\"),\n HTMLPreElement: require(\"./generated/HTMLPreElement.js\"),\n HTMLUListElement: require(\"./generated/HTMLUListElement.js\"),\n HTMLOListElement: require(\"./generated/HTMLOListElement.js\"),\n HTMLLIElement: require(\"./generated/HTMLLIElement.js\"),\n HTMLMenuElement: require(\"./generated/HTMLMenuElement.js\"),\n HTMLDListElement: require(\"./generated/HTMLDListElement.js\"),\n HTMLDivElement: require(\"./generated/HTMLDivElement.js\"),\n HTMLAnchorElement: require(\"./generated/HTMLAnchorElement.js\"),\n HTMLAreaElement: require(\"./generated/HTMLAreaElement.js\"),\n HTMLBRElement: require(\"./generated/HTMLBRElement.js\"),\n HTMLButtonElement: require(\"./generated/HTMLButtonElement.js\"),\n HTMLCanvasElement: require(\"./generated/HTMLCanvasElement.js\"),\n HTMLDataElement: require(\"./generated/HTMLDataElement.js\"),\n HTMLDataListElement: require(\"./generated/HTMLDataListElement.js\"),\n HTMLDetailsElement: require(\"./generated/HTMLDetailsElement.js\"),\n HTMLDialogElement: require(\"./generated/HTMLDialogElement.js\"),\n HTMLDirectoryElement: require(\"./generated/HTMLDirectoryElement.js\"),\n HTMLFieldSetElement: require(\"./generated/HTMLFieldSetElement.js\"),\n HTMLFontElement: require(\"./generated/HTMLFontElement.js\"),\n HTMLFormElement: require(\"./generated/HTMLFormElement.js\"),\n HTMLHtmlElement: require(\"./generated/HTMLHtmlElement.js\"),\n HTMLImageElement: require(\"./generated/HTMLImageElement.js\"),\n HTMLInputElement: require(\"./generated/HTMLInputElement.js\"),\n HTMLLabelElement: require(\"./generated/HTMLLabelElement.js\"),\n HTMLLegendElement: require(\"./generated/HTMLLegendElement.js\"),\n HTMLMapElement: require(\"./generated/HTMLMapElement.js\"),\n HTMLMarqueeElement: require(\"./generated/HTMLMarqueeElement.js\"),\n HTMLMediaElement: require(\"./generated/HTMLMediaElement.js\"),\n HTMLMeterElement: require(\"./generated/HTMLMeterElement.js\"),\n HTMLModElement: require(\"./generated/HTMLModElement.js\"),\n HTMLOptGroupElement: require(\"./generated/HTMLOptGroupElement.js\"),\n HTMLOptionElement: require(\"./generated/HTMLOptionElement.js\"),\n HTMLOutputElement: require(\"./generated/HTMLOutputElement.js\"),\n HTMLPictureElement: require(\"./generated/HTMLPictureElement.js\"),\n HTMLProgressElement: require(\"./generated/HTMLProgressElement.js\"),\n HTMLQuoteElement: require(\"./generated/HTMLQuoteElement.js\"),\n HTMLScriptElement: require(\"./generated/HTMLScriptElement.js\"),\n HTMLSelectElement: require(\"./generated/HTMLSelectElement.js\"),\n HTMLSlotElement: require(\"./generated/HTMLSlotElement.js\"),\n HTMLSourceElement: require(\"./generated/HTMLSourceElement.js\"),\n HTMLSpanElement: require(\"./generated/HTMLSpanElement.js\"),\n HTMLTableCaptionElement: require(\"./generated/HTMLTableCaptionElement.js\"),\n HTMLTableCellElement: require(\"./generated/HTMLTableCellElement.js\"),\n HTMLTableColElement: require(\"./generated/HTMLTableColElement.js\"),\n HTMLTableElement: require(\"./generated/HTMLTableElement.js\"),\n HTMLTimeElement: require(\"./generated/HTMLTimeElement.js\"),\n HTMLTableRowElement: require(\"./generated/HTMLTableRowElement.js\"),\n HTMLTableSectionElement: require(\"./generated/HTMLTableSectionElement.js\"),\n HTMLTemplateElement: require(\"./generated/HTMLTemplateElement.js\"),\n HTMLTextAreaElement: require(\"./generated/HTMLTextAreaElement.js\"),\n HTMLUnknownElement: require(\"./generated/HTMLUnknownElement.js\"),\n HTMLFrameElement: require(\"./generated/HTMLFrameElement.js\"),\n HTMLFrameSetElement: require(\"./generated/HTMLFrameSetElement.js\"),\n HTMLIFrameElement: require(\"./generated/HTMLIFrameElement.js\"),\n HTMLEmbedElement: require(\"./generated/HTMLEmbedElement.js\"),\n HTMLObjectElement: require(\"./generated/HTMLObjectElement.js\"),\n HTMLParamElement: require(\"./generated/HTMLParamElement.js\"),\n HTMLVideoElement: require(\"./generated/HTMLVideoElement.js\"),\n HTMLAudioElement: require(\"./generated/HTMLAudioElement.js\"),\n HTMLTrackElement: require(\"./generated/HTMLTrackElement.js\"),\n HTMLFormControlsCollection: require(\"./generated/HTMLFormControlsCollection.js\"),\n\n SVGElement: require(\"./generated/SVGElement.js\"),\n SVGGraphicsElement: require(\"./generated/SVGGraphicsElement.js\"),\n SVGSVGElement: require(\"./generated/SVGSVGElement.js\"),\n SVGGElement: require(\"./generated/SVGGElement.js\"),\n SVGDefsElement: require(\"./generated/SVGDefsElement.js\"),\n SVGDescElement: require(\"./generated/SVGDescElement.js\"),\n SVGMetadataElement: require(\"./generated/SVGMetadataElement.js\"),\n SVGTitleElement: require(\"./generated/SVGTitleElement.js\"),\n SVGSymbolElement: require(\"./generated/SVGSymbolElement.js\"),\n SVGSwitchElement: require(\"./generated/SVGSwitchElement.js\"),\n\n SVGAnimatedPreserveAspectRatio: require(\"./generated/SVGAnimatedPreserveAspectRatio\"),\n SVGAnimatedRect: require(\"./generated/SVGAnimatedRect\"),\n SVGAnimatedString: require(\"./generated/SVGAnimatedString\"),\n SVGNumber: require(\"./generated/SVGNumber\"),\n SVGPreserveAspectRatio: require(\"./generated/SVGPreserveAspectRatio\"),\n SVGRect: require(\"./generated/SVGRect\"),\n SVGStringList: require(\"./generated/SVGStringList\"),\n\n Event: require(\"./generated/Event\"),\n CloseEvent: require(\"./generated/CloseEvent\"),\n CustomEvent: require(\"./generated/CustomEvent\"),\n MessageEvent: require(\"./generated/MessageEvent\"),\n ErrorEvent: require(\"./generated/ErrorEvent\"),\n HashChangeEvent: require(\"./generated/HashChangeEvent\"),\n PopStateEvent: require(\"./generated/PopStateEvent\"),\n StorageEvent: require(\"./generated/StorageEvent\"),\n ProgressEvent: require(\"./generated/ProgressEvent\"),\n PageTransitionEvent: require(\"./generated/PageTransitionEvent\"),\n SubmitEvent: require(\"./generated/SubmitEvent\"),\n\n UIEvent: require(\"./generated/UIEvent\"),\n FocusEvent: require(\"./generated/FocusEvent\"),\n InputEvent: require(\"./generated/InputEvent\"),\n MouseEvent: require(\"./generated/MouseEvent\"),\n KeyboardEvent: require(\"./generated/KeyboardEvent\"),\n TouchEvent: require(\"./generated/TouchEvent\"),\n CompositionEvent: require(\"./generated/CompositionEvent\"),\n WheelEvent: require(\"./generated/WheelEvent\"),\n\n BarProp: require(\"./generated/BarProp\"),\n External: require(\"./generated/External\"),\n Location: require(\"./generated/Location\"),\n History: require(\"./generated/History\"),\n Screen: require(\"./generated/Screen\"),\n Performance: require(\"./generated/Performance\"),\n Navigator: require(\"./generated/Navigator\"),\n\n Crypto: require(\"./generated/Crypto\"),\n\n PluginArray: require(\"./generated/PluginArray\"),\n MimeTypeArray: require(\"./generated/MimeTypeArray\"),\n Plugin: require(\"./generated/Plugin\"),\n MimeType: require(\"./generated/MimeType\"),\n\n FileReader: require(\"./generated/FileReader\"),\n Blob: require(\"./generated/Blob\"),\n File: require(\"./generated/File\"),\n FileList: require(\"./generated/FileList\"),\n ValidityState: require(\"./generated/ValidityState\"),\n\n DOMParser: require(\"./generated/DOMParser\"),\n XMLSerializer: require(\"./generated/XMLSerializer\"),\n\n FormData: require(\"./generated/FormData\"),\n XMLHttpRequestEventTarget: require(\"./generated/XMLHttpRequestEventTarget\"),\n XMLHttpRequestUpload: require(\"./generated/XMLHttpRequestUpload\"),\n XMLHttpRequest: require(\"./generated/XMLHttpRequest\"),\n WebSocket: require(\"./generated/WebSocket\"),\n\n NodeFilter: require(\"./generated/NodeFilter\"),\n NodeIterator: require(\"./generated/NodeIterator\"),\n TreeWalker: require(\"./generated/TreeWalker\"),\n\n AbstractRange: require(\"./generated/AbstractRange\"),\n Range: require(\"./generated/Range\"),\n StaticRange: require(\"./generated/StaticRange\"),\n Selection: require(\"./generated/Selection\"),\n\n Storage: require(\"./generated/Storage\"),\n\n CustomElementRegistry: require(\"./generated/CustomElementRegistry\"),\n ElementInternals: require(\"./generated/ElementInternals\"),\n ShadowRoot: require(\"./generated/ShadowRoot\"),\n\n MutationObserver: require(\"./generated/MutationObserver\"),\n MutationRecord: require(\"./generated/MutationRecord\"),\n\n Headers: require(\"./generated/Headers\"),\n AbortController: require(\"./generated/AbortController\"),\n AbortSignal: require(\"./generated/AbortSignal\"),\n\n DOMRectReadOnly: require(\"./generated/DOMRectReadOnly\"),\n DOMRect: require(\"./generated/DOMRect\")\n};\n\nfunction install(window, name, interfaceConstructor) {\n Object.defineProperty(window, name, {\n configurable: true,\n writable: true,\n value: interfaceConstructor\n });\n}\n\nexports.installInterfaces = (window, globalNames) => {\n // Install generated interface.\n for (const generatedInterface of Object.values(generatedInterfaces)) {\n generatedInterface.install(window, globalNames);\n }\n\n // Install legacy HTMLDocument interface\n // https://html.spec.whatwg.org/#htmldocument\n install(window, \"HTMLDocument\", window.Document);\n\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n Object.setPrototypeOf(window.DOMException.prototype, window.Error.prototype);\n\n // These need to be cleaned up...\n style.addToCore(window);\n xpath(window);\n};\n\n// Returns an interface webidl2js wrapper given its an interface name.\nexports.getInterfaceWrapper = name => {\n return generatedInterfaces[name];\n};\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLParagraphElementImpl extends HTMLElementImpl { }\n\nmodule.exports = {\n implementation: HTMLParagraphElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTableSectionElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTableSectionElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTableSectionElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTableSectionElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n insertRow() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'insertRow' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"long\"](curArg, {\n context: \"Failed to execute 'insertRow' on 'HTMLTableSectionElement': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = -1;\n }\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].insertRow(...args));\n }\n\n deleteRow(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'deleteRow' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'deleteRow' on 'HTMLTableSectionElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"long\"](curArg, {\n context: \"Failed to execute 'deleteRow' on 'HTMLTableSectionElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].deleteRow(...args);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get rows() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get rows' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n return utils.getSameObject(this, \"rows\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"rows\"]);\n });\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLTableSectionElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get ch() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get ch' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"char\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set ch(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set ch' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'ch' property on 'HTMLTableSectionElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"char\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get chOff() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get chOff' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"charoff\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set chOff(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set chOff' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'chOff' property on 'HTMLTableSectionElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"charoff\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get vAlign() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vAlign' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"valign\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set vAlign(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set vAlign' called on an object that is not a valid instance of HTMLTableSectionElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'vAlign' property on 'HTMLTableSectionElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"valign\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLTableSectionElement.prototype, {\n insertRow: { enumerable: true },\n deleteRow: { enumerable: true },\n rows: { enumerable: true },\n align: { enumerable: true },\n ch: { enumerable: true },\n chOff: { enumerable: true },\n vAlign: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTableSectionElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTableSectionElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTableSectionElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTableSectionElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Blob = require(\"./Blob.js\");\nconst EventHandlerNonNull = require(\"./EventHandlerNonNull.js\");\nconst BinaryType = require(\"./BinaryType.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst EventTarget = require(\"./EventTarget.js\");\n\nconst interfaceName = \"WebSocket\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'WebSocket'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"WebSocket\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n EventTarget._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class WebSocket extends globalObject.EventTarget {\n constructor(url) {\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to construct 'WebSocket': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'WebSocket': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n if (utils.isObject(curArg)) {\n if (curArg[Symbol.iterator] !== undefined) {\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\n \"Failed to construct 'WebSocket': parameter 2\" + \" sequence\" + \" is not an iterable object.\"\n );\n } else {\n const V = [];\n const tmp = curArg;\n for (let nextItem of tmp) {\n nextItem = conversions[\"DOMString\"](nextItem, {\n context: \"Failed to construct 'WebSocket': parameter 2\" + \" sequence\" + \"'s element\",\n globals: globalObject\n });\n\n V.push(nextItem);\n }\n curArg = V;\n }\n } else {\n }\n } else {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to construct 'WebSocket': parameter 2\",\n globals: globalObject\n });\n }\n } else {\n curArg = [];\n }\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n close() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'close' called on an object that is not a valid instance of WebSocket.\");\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"unsigned short\"](curArg, {\n context: \"Failed to execute 'close' on 'WebSocket': parameter 1\",\n globals: globalObject,\n clamp: true\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'close' on 'WebSocket': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].close(...args);\n }\n\n send(data) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'send' called on an object that is not a valid instance of WebSocket.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'send' on 'WebSocket': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (Blob.is(curArg)) {\n {\n let curArg = arguments[0];\n curArg = Blob.convert(globalObject, curArg, {\n context: \"Failed to execute 'send' on 'WebSocket': parameter 1\"\n });\n args.push(curArg);\n }\n } else if (utils.isArrayBuffer(curArg)) {\n {\n let curArg = arguments[0];\n curArg = conversions[\"ArrayBuffer\"](curArg, {\n context: \"Failed to execute 'send' on 'WebSocket': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n } else if (ArrayBuffer.isView(curArg)) {\n {\n let curArg = arguments[0];\n if (ArrayBuffer.isView(curArg)) {\n } else {\n throw new globalObject.TypeError(\n \"Failed to execute 'send' on 'WebSocket': parameter 1\" + \" is not of any supported type.\"\n );\n }\n args.push(curArg);\n }\n } else {\n {\n let curArg = arguments[0];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to execute 'send' on 'WebSocket': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n }\n }\n return esValue[implSymbol].send(...args);\n }\n\n get url() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get url' called on an object that is not a valid instance of WebSocket.\");\n }\n\n return esValue[implSymbol][\"url\"];\n }\n\n get readyState() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get readyState' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return esValue[implSymbol][\"readyState\"];\n }\n\n get bufferedAmount() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get bufferedAmount' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return esValue[implSymbol][\"bufferedAmount\"];\n }\n\n get onopen() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get onopen' called on an object that is not a valid instance of WebSocket.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onopen\"]);\n }\n\n set onopen(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'set onopen' called on an object that is not a valid instance of WebSocket.\");\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onopen' property on 'WebSocket': The provided value\"\n });\n }\n esValue[implSymbol][\"onopen\"] = V;\n }\n\n get onerror() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onerror' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onerror\"]);\n }\n\n set onerror(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onerror' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onerror' property on 'WebSocket': The provided value\"\n });\n }\n esValue[implSymbol][\"onerror\"] = V;\n }\n\n get onclose() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onclose' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onclose\"]);\n }\n\n set onclose(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onclose' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onclose' property on 'WebSocket': The provided value\"\n });\n }\n esValue[implSymbol][\"onclose\"] = V;\n }\n\n get extensions() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get extensions' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return esValue[implSymbol][\"extensions\"];\n }\n\n get protocol() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get protocol' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return esValue[implSymbol][\"protocol\"];\n }\n\n get onmessage() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onmessage' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onmessage\"]);\n }\n\n set onmessage(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onmessage' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onmessage' property on 'WebSocket': The provided value\"\n });\n }\n esValue[implSymbol][\"onmessage\"] = V;\n }\n\n get binaryType() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get binaryType' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"binaryType\"]);\n }\n\n set binaryType(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set binaryType' called on an object that is not a valid instance of WebSocket.\"\n );\n }\n\n V = `${V}`;\n if (!BinaryType.enumerationValues.has(V)) {\n return;\n }\n\n esValue[implSymbol][\"binaryType\"] = V;\n }\n }\n Object.defineProperties(WebSocket.prototype, {\n close: { enumerable: true },\n send: { enumerable: true },\n url: { enumerable: true },\n readyState: { enumerable: true },\n bufferedAmount: { enumerable: true },\n onopen: { enumerable: true },\n onerror: { enumerable: true },\n onclose: { enumerable: true },\n extensions: { enumerable: true },\n protocol: { enumerable: true },\n onmessage: { enumerable: true },\n binaryType: { enumerable: true },\n [Symbol.toStringTag]: { value: \"WebSocket\", configurable: true },\n CONNECTING: { value: 0, enumerable: true },\n OPEN: { value: 1, enumerable: true },\n CLOSING: { value: 2, enumerable: true },\n CLOSED: { value: 3, enumerable: true }\n });\n Object.defineProperties(WebSocket, {\n CONNECTING: { value: 0, enumerable: true },\n OPEN: { value: 1, enumerable: true },\n CLOSING: { value: 2, enumerable: true },\n CLOSED: { value: 3, enumerable: true }\n });\n ctorRegistry[interfaceName] = WebSocket;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: WebSocket\n });\n};\n\nconst Impl = require(\"../websockets/WebSocket-impl.js\");\n","\"use strict\";\n\nconst {\n isValidFloatingPointNumber,\n isValidSimpleColor,\n parseFloatingPointNumber,\n stripLeadingAndTrailingASCIIWhitespace,\n stripNewlines,\n splitOnCommas\n} = require(\"./strings\");\nconst {\n isValidDateString,\n isValidMonthString,\n isValidTimeString,\n isValidWeekString,\n parseLocalDateAndTimeString,\n serializeNormalizedDateAndTime\n} = require(\"./dates-and-times\");\nconst whatwgURL = require(\"whatwg-url\");\n\nconst NodeList = require(\"../generated/NodeList\");\nconst { domSymbolTree } = require(\"./internal-constants\");\nconst { closest, firstChildWithLocalName } = require(\"./traversal\");\nconst NODE_TYPE = require(\"../node-type\");\nconst { HTML_NS } = require(\"./namespaces\");\n\n// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#concept-fe-disabled\nexports.isDisabled = formControl => {\n if (formControl.localName === \"button\" || formControl.localName === \"input\" || formControl.localName === \"select\" ||\n formControl.localName === \"textarea\") {\n if (formControl.hasAttributeNS(null, \"disabled\")) {\n return true;\n }\n }\n\n let e = formControl.parentNode;\n while (e) {\n if (e.localName === \"fieldset\" && e.hasAttributeNS(null, \"disabled\")) {\n const firstLegendElementChild = firstChildWithLocalName(e, \"legend\");\n if (!firstLegendElementChild || !firstLegendElementChild.contains(formControl)) {\n return true;\n }\n }\n e = e.parentNode;\n }\n\n return false;\n};\n\n// https://html.spec.whatwg.org/multipage/forms.html#category-listed\nconst listedElements = new Set([\"button\", \"fieldset\", \"input\", \"object\", \"output\", \"select\", \"textarea\"]);\nexports.isListed = formControl => listedElements.has(formControl._localName) && formControl.namespaceURI === HTML_NS;\n\n// https://html.spec.whatwg.org/multipage/forms.html#category-submit\nconst submittableElements = new Set([\"button\", \"input\", \"object\", \"select\", \"textarea\"]);\nexports.isSubmittable = formControl => {\n return submittableElements.has(formControl._localName) && formControl.namespaceURI === HTML_NS;\n};\n\n// https://html.spec.whatwg.org/multipage/forms.html#concept-submit-button\nconst submitButtonInputTypes = new Set([\"submit\", \"image\"]);\nexports.isSubmitButton = formControl => {\n return ((formControl._localName === \"input\" && submitButtonInputTypes.has(formControl.type)) ||\n (formControl._localName === \"button\" && formControl.type === \"submit\")) &&\n formControl.namespaceURI === HTML_NS;\n};\n\n// https://html.spec.whatwg.org/multipage/forms.html#concept-button\nconst buttonInputTypes = new Set([...submitButtonInputTypes, \"reset\", \"button\"]);\nexports.isButton = formControl => {\n return ((formControl._localName === \"input\" && buttonInputTypes.has(formControl.type)) ||\n formControl._localName === \"button\") &&\n formControl.namespaceURI === HTML_NS;\n};\n\n// https://html.spec.whatwg.org/multipage/dom.html#interactive-content-2\nexports.isInteractiveContent = node => {\n if (node.nodeType !== NODE_TYPE.ELEMENT_NODE) {\n return false;\n }\n if (node.namespaceURI !== HTML_NS) {\n return false;\n }\n if (node.hasAttributeNS(null, \"tabindex\")) {\n return true;\n }\n switch (node.localName) {\n case \"a\":\n return node.hasAttributeNS(null, \"href\");\n\n case \"audio\":\n case \"video\":\n return node.hasAttributeNS(null, \"controls\");\n\n case \"img\":\n case \"object\":\n return node.hasAttributeNS(null, \"usemap\");\n\n case \"input\":\n return node.type !== \"hidden\";\n\n case \"button\":\n case \"details\":\n case \"embed\":\n case \"iframe\":\n case \"label\":\n case \"select\":\n case \"textarea\":\n return true;\n }\n\n return false;\n};\n\n// https://html.spec.whatwg.org/multipage/forms.html#category-label\nexports.isLabelable = node => {\n if (node.nodeType !== NODE_TYPE.ELEMENT_NODE) {\n return false;\n }\n if (node.namespaceURI !== HTML_NS) {\n return false;\n }\n switch (node.localName) {\n case \"button\":\n case \"meter\":\n case \"output\":\n case \"progress\":\n case \"select\":\n case \"textarea\":\n return true;\n\n case \"input\":\n return node.type !== \"hidden\";\n }\n if (node._ceDefinition?.formAssociated) {\n return true;\n }\n\n return false;\n};\n\nexports.getLabelsForLabelable = labelable => {\n if (!exports.isLabelable(labelable)) {\n return null;\n }\n if (!labelable._labels) {\n const root = labelable.getRootNode({});\n labelable._labels = NodeList.createImpl(root._globalObject, [], {\n element: root,\n query: () => {\n const nodes = [];\n for (const descendant of domSymbolTree.treeIterator(root)) {\n if (descendant.control === labelable) {\n nodes.push(descendant);\n }\n }\n return nodes;\n }\n });\n }\n return labelable._labels;\n};\n\n// https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\nexports.isValidEmailAddress = (emailAddress, multiple = false) => {\n const emailAddressRegExp = new RegExp(\"^[a-zA-Z0-9.!#$%&'*+\\\\/=?^_`{|}~-]+@[a-zA-Z0-9]\" +\n \"(?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}\" +\n \"[a-zA-Z0-9])?)*$\");\n // A valid e-mail address list is a set of comma-separated tokens, where each token is itself\n // a valid e - mail address.To obtain the list of tokens from a valid e - mail address list,\n // an implementation must split the string on commas.\n if (multiple) {\n return splitOnCommas(emailAddress).every(value => emailAddressRegExp.test(value));\n }\n return emailAddressRegExp.test(emailAddress);\n};\n\nexports.isValidAbsoluteURL = url => {\n return whatwgURL.parseURL(url) !== null;\n};\n\nexports.sanitizeValueByType = (input, val) => {\n switch (input.type.toLowerCase()) {\n case \"password\":\n case \"search\":\n case \"tel\":\n case \"text\":\n val = stripNewlines(val);\n break;\n\n case \"color\":\n // https://html.spec.whatwg.org/multipage/forms.html#color-state-(type=color):value-sanitization-algorithm\n val = isValidSimpleColor(val) ? val.toLowerCase() : \"#000000\";\n break;\n\n case \"date\":\n // https://html.spec.whatwg.org/multipage/input.html#date-state-(type=date):value-sanitization-algorithm\n if (!isValidDateString(val)) {\n val = \"\";\n }\n break;\n\n case \"datetime-local\": {\n // https://html.spec.whatwg.org/multipage/input.html#local-date-and-time-state-(type=datetime-local):value-sanitization-algorithm\n const dateAndTime = parseLocalDateAndTimeString(val);\n val = dateAndTime !== null ? serializeNormalizedDateAndTime(dateAndTime) : \"\";\n break;\n }\n\n case \"email\":\n // https://html.spec.whatwg.org/multipage/forms.html#e-mail-state-(type=email):value-sanitization-algorithm\n // https://html.spec.whatwg.org/multipage/forms.html#e-mail-state-(type=email):value-sanitization-algorithm-2\n if (input.hasAttributeNS(null, \"multiple\")) {\n val = val.split(\",\").map(token => stripLeadingAndTrailingASCIIWhitespace(token)).join(\",\");\n } else {\n val = stripNewlines(val);\n val = stripLeadingAndTrailingASCIIWhitespace(val);\n }\n break;\n\n case \"month\":\n // https://html.spec.whatwg.org/multipage/input.html#month-state-(type=month):value-sanitization-algorithm\n if (!isValidMonthString(val)) {\n val = \"\";\n }\n break;\n\n case \"number\":\n // https://html.spec.whatwg.org/multipage/input.html#number-state-(type=number):value-sanitization-algorithm\n // TODO: using parseFloatingPointNumber in addition to isValidFloatingPointNumber to pass number.html WPT.\n // Possible spec bug.\n if (!isValidFloatingPointNumber(val) || parseFloatingPointNumber(val) === null) {\n val = \"\";\n }\n break;\n\n case \"range\":\n // https://html.spec.whatwg.org/multipage/input.html#range-state-(type=range):value-sanitization-algorithm\n // TODO: using parseFloatingPointNumber in addition to isValidFloatingPointNumber to pass number.html WPT.\n // Possible spec bug.\n if (!isValidFloatingPointNumber(val) || parseFloatingPointNumber(val) === null) {\n const minimum = input._minimum;\n const maximum = input._maximum;\n const defaultValue = maximum < minimum ? minimum : (minimum + maximum) / 2;\n val = `${defaultValue}`;\n } else if (val < input._minimum) {\n val = `${input._minimum}`;\n } else if (val > input._maximum) {\n val = `${input._maximum}`;\n }\n break;\n\n case \"time\":\n // https://html.spec.whatwg.org/multipage/input.html#time-state-(type=time):value-sanitization-algorithm\n if (!isValidTimeString(val)) {\n val = \"\";\n }\n break;\n\n case \"url\":\n // https://html.spec.whatwg.org/multipage/forms.html#url-state-(type=url):value-sanitization-algorithm\n val = stripNewlines(val);\n val = stripLeadingAndTrailingASCIIWhitespace(val);\n break;\n\n case \"week\":\n // https://html.spec.whatwg.org/multipage/input.html#week-state-(type=week):value-sanitization-algorithm\n if (!isValidWeekString(val)) {\n val = \"\";\n }\n }\n\n return val;\n};\n\n// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-owner\n// TODO: The spec describes an imperative process for assigning/resetting an element's form\n// owner based on activities involving form-associated elements. This simpler implementation\n// instead calculates the current form owner only when the property is accessed. This is not\n// sufficient to pass all the web platform tests, but is good enough for most purposes. We\n// should eventually update it to use the correct version, though. See\n// https://github.com/whatwg/html/issues/4050 for some discussion.\n\nexports.formOwner = formControl => {\n const formAttr = formControl.getAttributeNS(null, \"form\");\n if (formAttr === \"\") {\n return null;\n }\n if (formAttr === null) {\n return closest(formControl, \"form\");\n }\n\n const root = formControl.getRootNode({});\n let firstElementWithId;\n for (const descendant of domSymbolTree.treeIterator(root)) {\n if (descendant.nodeType === NODE_TYPE.ELEMENT_NODE &&\n descendant.getAttributeNS(null, \"id\") === formAttr) {\n firstElementWithId = descendant;\n break;\n }\n }\n\n if (firstElementWithId &&\n firstElementWithId.namespaceURI === HTML_NS &&\n firstElementWithId.localName === \"form\") {\n return firstElementWithId;\n }\n return null;\n};\n","\"use strict\";\n\nconst URL = require(\"./lib/URL\");\nconst URLSearchParams = require(\"./lib/URLSearchParams\");\n\nexports.URL = URL;\nexports.URLSearchParams = URLSearchParams;\n","\"use strict\";\nconst whatwgEncoding = require(\"whatwg-encoding\");\n\n// https://html.spec.whatwg.org/#encoding-sniffing-algorithm\nmodule.exports = (uint8Array, { transportLayerEncodingLabel, defaultEncoding = \"windows-1252\" } = {}) => {\n let encoding = whatwgEncoding.getBOMEncoding(uint8Array);\n\n if (encoding === null && transportLayerEncodingLabel !== undefined) {\n encoding = whatwgEncoding.labelToName(transportLayerEncodingLabel);\n }\n\n if (encoding === null) {\n encoding = prescanMetaCharset(uint8Array);\n }\n\n if (encoding === null) {\n encoding = defaultEncoding;\n }\n\n return encoding;\n};\n\n// https://html.spec.whatwg.org/multipage/syntax.html#prescan-a-byte-stream-to-determine-its-encoding\nfunction prescanMetaCharset(uint8Array) {\n const l = Math.min(uint8Array.byteLength, 1024);\n for (let i = 0; i < l; i++) {\n let c = uint8Array[i];\n if (c === 0x3C) {\n // \"<\"\n const c1 = uint8Array[i + 1];\n const c2 = uint8Array[i + 2];\n const c3 = uint8Array[i + 3];\n const c4 = uint8Array[i + 4];\n const c5 = uint8Array[i + 5];\n // !-- (comment start)\n if (c1 === 0x21 && c2 === 0x2D && c3 === 0x2D) {\n i += 4;\n for (; i < l; i++) {\n c = uint8Array[i];\n const cMinus1 = uint8Array[i - 1];\n const cMinus2 = uint8Array[i - 2];\n // --> (comment end)\n if (c === 0x3E && cMinus1 === 0x2D && cMinus2 === 0x2D) {\n break;\n }\n }\n } else if ((c1 === 0x4D || c1 === 0x6D) &&\n (c2 === 0x45 || c2 === 0x65) &&\n (c3 === 0x54 || c3 === 0x74) &&\n (c4 === 0x41 || c4 === 0x61) &&\n (isSpaceCharacter(c5) || c5 === 0x2F)) {\n // \"meta\" + space or /\n i += 6;\n const attributeList = new Set();\n let gotPragma = false;\n let needPragma = null;\n let charset = null;\n\n let attrRes;\n do {\n attrRes = getAttribute(uint8Array, i, l);\n if (attrRes.attr && !attributeList.has(attrRes.attr.name)) {\n attributeList.add(attrRes.attr.name);\n if (attrRes.attr.name === \"http-equiv\") {\n gotPragma = attrRes.attr.value === \"content-type\";\n } else if (attrRes.attr.name === \"content\" && !charset) {\n charset = extractCharacterEncodingFromMeta(attrRes.attr.value);\n if (charset !== null) {\n needPragma = true;\n }\n } else if (attrRes.attr.name === \"charset\") {\n charset = whatwgEncoding.labelToName(attrRes.attr.value);\n needPragma = false;\n }\n }\n i = attrRes.i;\n } while (attrRes.attr);\n\n if (needPragma === null) {\n continue;\n }\n if (needPragma === true && gotPragma === false) {\n continue;\n }\n if (charset === null) {\n continue;\n }\n\n if (charset === \"UTF-16LE\" || charset === \"UTF-16BE\") {\n charset = \"UTF-8\";\n }\n if (charset === \"x-user-defined\") {\n charset = \"windows-1252\";\n }\n\n return charset;\n } else if ((c1 >= 0x41 && c1 <= 0x5A) || (c1 >= 0x61 && c1 <= 0x7A)) {\n // a-z or A-Z\n for (i += 2; i < l; i++) {\n c = uint8Array[i];\n // space or >\n if (isSpaceCharacter(c) || c === 0x3E) {\n break;\n }\n }\n let attrRes;\n do {\n attrRes = getAttribute(uint8Array, i, l);\n i = attrRes.i;\n } while (attrRes.attr);\n } else if (c1 === 0x21 || c1 === 0x2F || c1 === 0x3F) {\n // ! or / or ?\n for (i += 2; i < l; i++) {\n c = uint8Array[i];\n // >\n if (c === 0x3E) {\n break;\n }\n }\n }\n }\n }\n return null;\n}\n\n// https://html.spec.whatwg.org/multipage/syntax.html#concept-get-attributes-when-sniffing\nfunction getAttribute(uint8Array, i, l) {\n for (; i < l; i++) {\n let c = uint8Array[i];\n // space or /\n if (isSpaceCharacter(c) || c === 0x2F) {\n continue;\n }\n // \">\"\n if (c === 0x3E) {\n break;\n }\n let name = \"\";\n let value = \"\";\n nameLoop:for (; i < l; i++) {\n c = uint8Array[i];\n // \"=\"\n if (c === 0x3D && name !== \"\") {\n i++;\n break;\n }\n // space\n if (isSpaceCharacter(c)) {\n for (i++; i < l; i++) {\n c = uint8Array[i];\n // space\n if (isSpaceCharacter(c)) {\n continue;\n }\n // not \"=\"\n if (c !== 0x3D) {\n return { attr: { name, value }, i };\n }\n\n i++;\n break nameLoop;\n }\n break;\n }\n // / or >\n if (c === 0x2F || c === 0x3E) {\n return { attr: { name, value }, i };\n }\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n name += String.fromCharCode(c + 0x20); // lowercase\n } else {\n name += String.fromCharCode(c);\n }\n }\n c = uint8Array[i];\n // space\n if (isSpaceCharacter(c)) {\n for (i++; i < l; i++) {\n c = uint8Array[i];\n // space\n if (isSpaceCharacter(c)) {\n continue;\n } else {\n break;\n }\n }\n }\n // \" or '\n if (c === 0x22 || c === 0x27) {\n const quote = c;\n for (i++; i < l; i++) {\n c = uint8Array[i];\n\n if (c === quote) {\n i++;\n return { attr: { name, value }, i };\n }\n\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n value += String.fromCharCode(c + 0x20); // lowercase\n } else {\n value += String.fromCharCode(c);\n }\n }\n }\n\n // >\n if (c === 0x3E) {\n return { attr: { name, value }, i };\n }\n\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n value += String.fromCharCode(c + 0x20); // lowercase\n } else {\n value += String.fromCharCode(c);\n }\n\n for (i++; i < l; i++) {\n c = uint8Array[i];\n\n // space or >\n if (isSpaceCharacter(c) || c === 0x3E) {\n return { attr: { name, value }, i };\n }\n\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n value += String.fromCharCode(c + 0x20); // lowercase\n } else {\n value += String.fromCharCode(c);\n }\n }\n }\n return { i };\n}\n\nfunction extractCharacterEncodingFromMeta(string) {\n let position = 0;\n\n while (true) {\n const indexOfCharset = string.substring(position).search(/charset/ui);\n\n if (indexOfCharset === -1) {\n return null;\n }\n let subPosition = position + indexOfCharset + \"charset\".length;\n\n while (isSpaceCharacter(string[subPosition].charCodeAt(0))) {\n ++subPosition;\n }\n\n if (string[subPosition] !== \"=\") {\n position = subPosition - 1;\n continue;\n }\n\n ++subPosition;\n\n while (isSpaceCharacter(string[subPosition].charCodeAt(0))) {\n ++subPosition;\n }\n\n position = subPosition;\n break;\n }\n\n if (string[position] === \"\\\"\" || string[position] === \"'\") {\n const nextIndex = string.indexOf(string[position], position + 1);\n\n if (nextIndex !== -1) {\n return whatwgEncoding.labelToName(string.substring(position + 1, nextIndex));\n }\n\n // It is an unmatched quotation mark\n return null;\n }\n\n if (string.length === position + 1) {\n return null;\n }\n\n const indexOfASCIIWhitespaceOrSemicolon = string.substring(position + 1).search(/\\x09|\\x0A|\\x0C|\\x0D|\\x20|;/u);\n const end = indexOfASCIIWhitespaceOrSemicolon === -1 ?\n string.length :\n position + indexOfASCIIWhitespaceOrSemicolon + 1;\n\n return whatwgEncoding.labelToName(string.substring(position, end));\n}\n\nfunction isSpaceCharacter(c) {\n return c === 0x09 || c === 0x0A || c === 0x0C || c === 0x0D || c === 0x20;\n}\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n function invokeTheCallbackFunction(event) {\n const thisArg = utils.tryWrapperForImpl(this);\n let callResult;\n\n if (typeof value === \"function\") {\n event = utils.tryWrapperForImpl(event);\n\n callResult = Reflect.apply(value, thisArg, [event]);\n }\n\n if (callResult === null || callResult === undefined) {\n callResult = null;\n } else {\n callResult = conversions[\"DOMString\"](callResult, { context: context, globals: globalObject });\n }\n return callResult;\n }\n\n invokeTheCallbackFunction.construct = event => {\n event = utils.tryWrapperForImpl(event);\n\n let callResult = Reflect.construct(value, [event]);\n\n if (callResult === null || callResult === undefined) {\n callResult = null;\n } else {\n callResult = conversions[\"DOMString\"](callResult, { context: context, globals: globalObject });\n }\n return callResult;\n };\n\n invokeTheCallbackFunction[utils.wrapperSymbol] = value;\n invokeTheCallbackFunction.objectReference = value;\n\n return invokeTheCallbackFunction;\n};\n","\"use strict\";\n\nconst HTTP_STATUS_CODES = require(\"http\").STATUS_CODES;\nconst { spawnSync } = require(\"child_process\");\nconst { URL } = require(\"whatwg-url\");\nconst whatwgEncoding = require(\"whatwg-encoding\");\nconst tough = require(\"tough-cookie\");\nconst MIMEType = require(\"whatwg-mimetype\");\n\nconst xhrUtils = require(\"./xhr-utils\");\nconst DOMException = require(\"../generated/DOMException\");\nconst { asciiCaseInsensitiveMatch } = require(\"../helpers/strings\");\nconst idlUtils = require(\"../generated/utils\");\nconst Document = require(\"../generated/Document\");\nconst Blob = require(\"../generated/Blob\");\nconst FormData = require(\"../generated/FormData\");\nconst XMLHttpRequestEventTargetImpl = require(\"./XMLHttpRequestEventTarget-impl\").implementation;\nconst XMLHttpRequestUpload = require(\"../generated/XMLHttpRequestUpload\");\nconst ProgressEvent = require(\"../generated/ProgressEvent\");\nconst { isArrayBuffer } = require(\"../generated/utils\");\nconst { parseIntoDocument } = require(\"../../browser/parser\");\nconst { fragmentSerialization } = require(\"../domparsing/serialization\");\nconst { setupForSimpleEventAccessors } = require(\"../helpers/create-event-accessor\");\nconst { parseJSONFromBytes } = require(\"../helpers/json\");\nconst { fireAnEvent } = require(\"../helpers/events\");\nconst { copyToArrayBufferInNewRealm } = require(\"../helpers/binary-data\");\nconst { serializeEntryList, chunksToBuffer } = require(\"./multipart-form-data.js\");\n\nconst { READY_STATES } = xhrUtils;\n\nconst syncWorkerFile = require.resolve ? require.resolve(\"./xhr-sync-worker.js\") : null;\n\nconst tokenRegexp = /^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$/;\nconst fieldValueRegexp = /^[ \\t]*(?:[\\x21-\\x7E\\x80-\\xFF](?:[ \\t][\\x21-\\x7E\\x80-\\xFF])?)*[ \\t]*$/;\n\nconst utf8Decoder = new TextDecoder();\n\nconst forbiddenRequestHeaders = new Set([\n \"accept-charset\",\n \"accept-encoding\",\n \"access-control-request-headers\",\n \"access-control-request-method\",\n \"connection\",\n \"content-length\",\n \"cookie\",\n \"cookie2\",\n \"date\",\n \"dnt\",\n \"expect\",\n \"host\",\n \"keep-alive\",\n \"origin\",\n \"referer\",\n \"te\",\n \"trailer\",\n \"transfer-encoding\",\n \"upgrade\",\n \"via\"\n]);\nconst forbiddenResponseHeaders = new Set([\n \"set-cookie\",\n \"set-cookie2\"\n]);\nconst uniqueResponseHeaders = new Set([\n \"content-type\",\n \"content-length\",\n \"user-agent\",\n \"referer\",\n \"host\",\n \"authorization\",\n \"proxy-authorization\",\n \"if-modified-since\",\n \"if-unmodified-since\",\n \"from\",\n \"location\",\n \"max-forwards\"\n]);\nconst corsSafeResponseHeaders = new Set([\n \"cache-control\",\n \"content-language\",\n \"content-length\",\n \"content-type\",\n \"expires\",\n \"last-modified\",\n \"pragma\"\n]);\n\nconst allowedRequestMethods = new Set([\"OPTIONS\", \"GET\", \"HEAD\", \"POST\", \"PUT\", \"DELETE\"]);\nconst forbiddenRequestMethods = new Set([\"TRACK\", \"TRACE\", \"CONNECT\"]);\n\nclass XMLHttpRequestImpl extends XMLHttpRequestEventTargetImpl {\n constructor(window) {\n super(window);\n\n // Avoid running `_ownerDocument` getter multiple times in the constructor:\n const { _ownerDocument } = this;\n\n this.upload = XMLHttpRequestUpload.createImpl(window);\n\n this.readyState = READY_STATES.UNSENT;\n this.responseURL = \"\";\n this.status = 0;\n this.statusText = \"\";\n\n this.flag = {\n synchronous: false,\n withCredentials: false,\n mimeType: null,\n auth: null,\n method: undefined,\n responseType: \"\",\n requestHeaders: {},\n referrer: _ownerDocument.URL,\n uri: \"\",\n timeout: 0,\n body: undefined,\n preflight: false,\n requestManager: _ownerDocument._requestManager,\n strictSSL: window._resourceLoader._strictSSL,\n proxy: window._resourceLoader._proxy,\n cookieJar: _ownerDocument._cookieJar,\n encoding: _ownerDocument._encoding,\n origin: window._origin,\n userAgent: window.navigator.userAgent\n };\n\n this.properties = {\n beforeSend: false,\n send: false,\n client: null,\n\n timeoutStart: 0,\n timeoutId: 0,\n timeoutFn: null,\n\n responseBuffer: null,\n responseCache: null,\n responseTextCache: null,\n responseXMLCache: null,\n\n responseHeaders: {},\n filteredResponseHeaders: [],\n\n error: \"\",\n uploadComplete: false,\n uploadListener: false,\n\n // Signifies that we're calling abort() from xhr-utils.js because of a window shutdown.\n // In that case the termination reason is \"fatal\", not \"end-user abort\".\n abortError: false,\n\n cookieJar: _ownerDocument._cookieJar,\n bufferStepSize: 1 * 1024 * 1024, // pre-allocate buffer increase step size. init value is 1MB\n totalReceivedChunkSize: 0\n };\n }\n\n get responseType() {\n return this.flag.responseType;\n }\n set responseType(responseType) {\n const { flag } = this;\n if (this.readyState === READY_STATES.LOADING || this.readyState === READY_STATES.DONE) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n if (this.readyState === READY_STATES.OPENED && flag.synchronous) {\n throw DOMException.create(this._globalObject, [\n \"The object does not support the operation or argument.\",\n \"InvalidAccessError\"\n ]);\n }\n flag.responseType = responseType;\n }\n\n get response() {\n const { properties } = this;\n if (properties.responseCache) {\n // Needed because of: https://github.com/jsdom/webidl2js/issues/149\n return idlUtils.tryWrapperForImpl(properties.responseCache);\n }\n let res;\n\n const responseBuffer = properties.responseBuffer ?\n properties.responseBuffer.slice(0, properties.totalReceivedChunkSize) :\n null;\n\n switch (this.responseType) {\n case \"\":\n case \"text\": {\n res = this.responseText;\n break;\n }\n case \"arraybuffer\": {\n if (!responseBuffer) {\n return null;\n }\n res = copyToArrayBufferInNewRealm(responseBuffer, this._globalObject);\n break;\n }\n case \"blob\": {\n if (!responseBuffer) {\n return null;\n }\n const contentType = finalMIMEType(this);\n res = Blob.createImpl(this._globalObject, [\n [new Uint8Array(responseBuffer)],\n { type: contentType || \"\" }\n ]);\n break;\n }\n case \"document\": {\n res = this.responseXML;\n break;\n }\n case \"json\": {\n if (this.readyState !== READY_STATES.DONE || !responseBuffer) {\n res = null;\n }\n\n try {\n res = parseJSONFromBytes(responseBuffer);\n } catch {\n res = null;\n }\n break;\n }\n }\n properties.responseCache = res;\n // Needed because of: https://github.com/jsdom/webidl2js/issues/149\n return idlUtils.tryWrapperForImpl(res);\n }\n get responseText() {\n const { properties } = this;\n if (this.responseType !== \"\" && this.responseType !== \"text\") {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n if (this.readyState !== READY_STATES.LOADING && this.readyState !== READY_STATES.DONE) {\n return \"\";\n }\n if (properties.responseTextCache) {\n return properties.responseTextCache;\n }\n const responseBuffer = properties.responseBuffer ?\n properties.responseBuffer.slice(0, properties.totalReceivedChunkSize) :\n null;\n\n if (!responseBuffer) {\n return \"\";\n }\n\n const fallbackEncoding = finalCharset(this) || whatwgEncoding.getBOMEncoding(responseBuffer) || \"UTF-8\";\n const res = whatwgEncoding.decode(responseBuffer, fallbackEncoding);\n\n properties.responseTextCache = res;\n return res;\n }\n get responseXML() {\n const { flag, properties } = this;\n if (this.responseType !== \"\" && this.responseType !== \"document\") {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n if (this.readyState !== READY_STATES.DONE) {\n return null;\n }\n if (properties.responseXMLCache) {\n return properties.responseXMLCache;\n }\n const responseBuffer = properties.responseBuffer ?\n properties.responseBuffer.slice(0, properties.totalReceivedChunkSize) :\n null;\n\n if (!responseBuffer) {\n return null;\n }\n\n const contentType = finalMIMEType(this);\n let isHTML = false;\n let isXML = false;\n const parsed = MIMEType.parse(contentType);\n if (parsed) {\n isHTML = parsed.isHTML();\n isXML = parsed.isXML();\n if (!isXML && !isHTML) {\n return null;\n }\n }\n\n if (this.responseType === \"\" && isHTML) {\n return null;\n }\n\n const encoding = finalCharset(this) || whatwgEncoding.getBOMEncoding(responseBuffer) || \"UTF-8\";\n const resText = whatwgEncoding.decode(responseBuffer, encoding);\n\n if (!resText) {\n return null;\n }\n const res = Document.createImpl(this._globalObject, [], {\n options: {\n url: flag.uri,\n lastModified: new Date(getResponseHeader(this, \"last-modified\")),\n parsingMode: isHTML ? \"html\" : \"xml\",\n cookieJar: { setCookieSync: () => undefined, getCookieStringSync: () => \"\" },\n encoding,\n parseOptions: this._ownerDocument._parseOptions\n }\n });\n try {\n parseIntoDocument(resText, res);\n } catch {\n properties.responseXMLCache = null;\n return null;\n }\n res.close();\n properties.responseXMLCache = res;\n return res;\n }\n\n get timeout() {\n return this.flag.timeout;\n }\n set timeout(val) {\n const { flag, properties } = this;\n if (flag.synchronous) {\n throw DOMException.create(this._globalObject, [\n \"The object does not support the operation or argument.\",\n \"InvalidAccessError\"\n ]);\n }\n flag.timeout = val;\n clearTimeout(properties.timeoutId);\n if (val > 0 && properties.timeoutFn) {\n properties.timeoutId = setTimeout(\n properties.timeoutFn,\n Math.max(0, val - ((new Date()).getTime() - properties.timeoutStart))\n );\n } else {\n properties.timeoutFn = null;\n properties.timeoutStart = 0;\n }\n }\n\n get withCredentials() {\n return this.flag.withCredentials;\n }\n set withCredentials(val) {\n const { flag, properties } = this;\n if (!(this.readyState === READY_STATES.UNSENT || this.readyState === READY_STATES.OPENED)) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n if (properties.send) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n flag.withCredentials = val;\n }\n\n abort() {\n const { properties } = this;\n // Terminate the request\n clearTimeout(properties.timeoutId);\n properties.timeoutFn = null;\n properties.timeoutStart = 0;\n\n const { client } = properties;\n if (client) {\n client.abort();\n properties.client = null;\n }\n\n if (properties.abortError) {\n // Special case that ideally shouldn't be going through the public API at all.\n // Run the https://xhr.spec.whatwg.org/#handle-errors \"fatal\" steps.\n this.readyState = READY_STATES.DONE;\n properties.send = false;\n xhrUtils.setResponseToNetworkError(this);\n return;\n }\n\n if ((this.readyState === READY_STATES.OPENED && properties.send) ||\n this.readyState === READY_STATES.HEADERS_RECEIVED ||\n this.readyState === READY_STATES.LOADING) {\n xhrUtils.requestErrorSteps(this, \"abort\");\n }\n\n if (this.readyState === READY_STATES.DONE) {\n this.readyState = READY_STATES.UNSENT;\n\n xhrUtils.setResponseToNetworkError(this);\n }\n }\n getAllResponseHeaders() {\n const { properties, readyState } = this;\n if (readyState === READY_STATES.UNSENT || readyState === READY_STATES.OPENED) {\n return \"\";\n }\n return Object.keys(properties.responseHeaders)\n .filter(key => properties.filteredResponseHeaders.indexOf(key) === -1)\n .map(key => [key.toLowerCase(), properties.responseHeaders[key]].join(\": \"))\n .join(\"\\r\\n\");\n }\n\n getResponseHeader(header) {\n const { properties, readyState } = this;\n if (readyState === READY_STATES.UNSENT || readyState === READY_STATES.OPENED) {\n return null;\n }\n const lcHeader = header.toLowerCase();\n if (properties.filteredResponseHeaders.find(filtered => lcHeader === filtered.toLowerCase())) {\n return null;\n }\n return getResponseHeader(this, lcHeader);\n }\n\n open(method, uri, asynchronous, user, password) {\n const { flag, properties, _ownerDocument } = this;\n if (!_ownerDocument) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n\n if (!tokenRegexp.test(method)) {\n throw DOMException.create(this._globalObject, [\n \"The string did not match the expected pattern.\",\n \"SyntaxError\"\n ]);\n }\n const upperCaseMethod = method.toUpperCase();\n if (forbiddenRequestMethods.has(upperCaseMethod)) {\n throw DOMException.create(this._globalObject, [\"The operation is insecure.\", \"SecurityError\"]);\n }\n\n const { client } = properties;\n if (client && typeof client.abort === \"function\") {\n client.abort();\n }\n\n if (allowedRequestMethods.has(upperCaseMethod)) {\n method = upperCaseMethod;\n }\n if (typeof asynchronous !== \"undefined\") {\n flag.synchronous = !asynchronous;\n } else {\n flag.synchronous = false;\n }\n if (flag.responseType && flag.synchronous) {\n throw DOMException.create(this._globalObject, [\n \"The object does not support the operation or argument.\",\n \"InvalidAccessError\"\n ]);\n }\n if (flag.synchronous && flag.timeout) {\n throw DOMException.create(this._globalObject, [\n \"The object does not support the operation or argument.\",\n \"InvalidAccessError\"\n ]);\n }\n flag.method = method;\n\n let urlObj;\n try {\n urlObj = new URL(uri, _ownerDocument.baseURLSerialized());\n } catch {\n throw DOMException.create(this._globalObject, [\n \"The string did not match the expected pattern.\",\n \"SyntaxError\"\n ]);\n }\n\n if (user || (password && !urlObj.username)) {\n flag.auth = {\n user,\n pass: password\n };\n urlObj.username = \"\";\n urlObj.password = \"\";\n }\n\n flag.uri = urlObj.href;\n flag.requestHeaders = {};\n flag.preflight = false;\n\n properties.send = false;\n properties.uploadListener = false;\n properties.abortError = false;\n this.responseURL = \"\";\n readyStateChange(this, READY_STATES.OPENED);\n }\n\n overrideMimeType(mime) {\n const { readyState } = this;\n if (readyState === READY_STATES.LOADING || readyState === READY_STATES.DONE) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n\n this.flag.overrideMIMEType = \"application/octet-stream\";\n\n // Waiting for better spec: https://github.com/whatwg/xhr/issues/157\n const parsed = MIMEType.parse(mime);\n if (parsed) {\n this.flag.overrideMIMEType = parsed.essence;\n\n const charset = parsed.parameters.get(\"charset\");\n if (charset) {\n this.flag.overrideCharset = whatwgEncoding.labelToName(charset);\n }\n }\n }\n\n // TODO: Add support for URLSearchParams and ReadableStream\n send(body) {\n const { flag, properties, upload, _ownerDocument } = this;\n // Not per spec, but per tests: https://github.com/whatwg/xhr/issues/65\n if (!_ownerDocument) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n\n if (this.readyState !== READY_STATES.OPENED || properties.send) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n\n properties.beforeSend = true;\n\n try {\n if (flag.method === \"GET\" || flag.method === \"HEAD\") {\n body = null;\n }\n\n if (body !== null) {\n let encoding = null;\n let mimeType = null;\n\n if (Document.isImpl(body)) {\n encoding = \"UTF-8\";\n mimeType = (body._parsingMode === \"html\" ? \"text/html\" : \"application/xml\") + \";charset=UTF-8\";\n flag.body = Buffer.from(fragmentSerialization(body, { requireWellFormed: false }));\n } else {\n if (typeof body === \"string\") {\n encoding = \"UTF-8\";\n }\n const { buffer, contentType } = extractBody(body);\n mimeType = contentType;\n flag.body = buffer;\n }\n\n const existingContentType = xhrUtils.getRequestHeader(flag.requestHeaders, \"content-type\");\n if (mimeType !== null && existingContentType === null) {\n flag.requestHeaders[\"Content-Type\"] = mimeType;\n } else if (existingContentType !== null && encoding !== null) {\n // Waiting for better spec: https://github.com/whatwg/xhr/issues/188. This seems like a good guess at what\n // the spec will be, in the meantime.\n const parsed = MIMEType.parse(existingContentType);\n if (parsed) {\n const charset = parsed.parameters.get(\"charset\");\n if (charset && !asciiCaseInsensitiveMatch(charset, encoding) && encoding !== null) {\n parsed.parameters.set(\"charset\", encoding);\n xhrUtils.updateRequestHeader(flag.requestHeaders, \"content-type\", parsed.toString());\n }\n }\n }\n }\n } finally {\n if (properties.beforeSend) {\n properties.beforeSend = false;\n } else {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n }\n\n if (Object.keys(upload._eventListeners).length > 0) {\n properties.uploadListener = true;\n }\n\n // request doesn't like zero-length bodies\n if (flag.body && flag.body.byteLength === 0) {\n flag.body = null;\n }\n\n if (flag.synchronous) {\n const flagStr = JSON.stringify(flag, function (k, v) {\n if (this === flag && k === \"requestManager\") {\n return null;\n }\n if (this === flag && k === \"pool\" && v) {\n return { maxSockets: v.maxSockets };\n }\n return v;\n });\n const res = spawnSync(\n process.execPath,\n [syncWorkerFile],\n { input: flagStr, maxBuffer: Infinity }\n );\n if (res.status !== 0) {\n throw new Error(res.stderr.toString());\n }\n if (res.error) {\n if (typeof res.error === \"string\") {\n res.error = new Error(res.error);\n }\n throw res.error;\n }\n\n const response = JSON.parse(res.stdout.toString());\n const resProp = response.properties;\n if (resProp.responseBuffer && resProp.responseBuffer.data) {\n resProp.responseBuffer = Buffer.from(resProp.responseBuffer.data);\n }\n if (resProp.cookieJar) {\n resProp.cookieJar = tough.CookieJar.deserializeSync(\n resProp.cookieJar,\n _ownerDocument._cookieJar.store\n );\n }\n\n this.readyState = READY_STATES.LOADING;\n this.status = response.status;\n this.statusText = response.statusText;\n this.responseURL = response.responseURL;\n Object.assign(this.properties, response.properties);\n\n if (resProp.error) {\n xhrUtils.dispatchError(this);\n throw DOMException.create(this._globalObject, [resProp.error, \"NetworkError\"]);\n } else {\n const { responseBuffer } = properties;\n const contentLength = getResponseHeader(this, \"content-length\") || \"0\";\n const bufferLength = parseInt(contentLength) || responseBuffer.length;\n const progressObj = { lengthComputable: false };\n if (bufferLength !== 0) {\n progressObj.total = bufferLength;\n progressObj.loaded = bufferLength;\n progressObj.lengthComputable = true;\n }\n fireAnEvent(\"progress\", this, ProgressEvent, progressObj);\n readyStateChange(this, READY_STATES.DONE);\n fireAnEvent(\"load\", this, ProgressEvent, progressObj);\n fireAnEvent(\"loadend\", this, ProgressEvent, progressObj);\n }\n } else {\n properties.send = true;\n\n fireAnEvent(\"loadstart\", this, ProgressEvent);\n\n const client = xhrUtils.createClient(this);\n\n properties.client = client;\n // For new client, reset totalReceivedChunkSize and bufferStepSize\n properties.totalReceivedChunkSize = 0;\n properties.bufferStepSize = 1 * 1024 * 1024;\n\n properties.origin = flag.origin;\n\n client.on(\"error\", err => {\n client.removeAllListeners();\n properties.error = err;\n xhrUtils.dispatchError(this);\n });\n\n client.on(\"response\", (res, url) => receiveResponse(this, res, url));\n\n client.on(\"redirect\", (response, requestHeaders, currentURL) => {\n const destUrlObj = new URL(requestHeaders.Referer);\n const urlObj = new URL(currentURL);\n\n if (destUrlObj.origin !== urlObj.origin && destUrlObj.origin !== flag.origin) {\n properties.origin = \"null\";\n }\n\n requestHeaders.Origin = properties.origin;\n\n if (flag.origin !== destUrlObj.origin &&\n destUrlObj.protocol !== \"data:\") {\n if (!xhrUtils.validCORSHeaders(this, response, flag, properties, flag.origin)) {\n return;\n }\n if (urlObj.username || urlObj.password) {\n properties.error = \"Userinfo forbidden in cors redirect\";\n xhrUtils.dispatchError(this);\n }\n }\n });\n if (body !== null && body !== \"\") {\n properties.uploadComplete = false;\n setDispatchProgressEvents(this);\n } else {\n properties.uploadComplete = true;\n }\n if (this.timeout > 0) {\n properties.timeoutStart = (new Date()).getTime();\n properties.timeoutFn = () => {\n client.abort();\n if (!(this.readyState === READY_STATES.UNSENT ||\n (this.readyState === READY_STATES.OPENED && !properties.send) ||\n this.readyState === READY_STATES.DONE)) {\n properties.send = false;\n let stateChanged = false;\n if (!properties.uploadComplete) {\n fireAnEvent(\"progress\", upload, ProgressEvent);\n readyStateChange(this, READY_STATES.DONE);\n fireAnEvent(\"timeout\", upload, ProgressEvent);\n fireAnEvent(\"loadend\", upload, ProgressEvent);\n stateChanged = true;\n }\n fireAnEvent(\"progress\", this, ProgressEvent);\n if (!stateChanged) {\n readyStateChange(this, READY_STATES.DONE);\n }\n fireAnEvent(\"timeout\", this, ProgressEvent);\n fireAnEvent(\"loadend\", this, ProgressEvent);\n }\n this.readyState = READY_STATES.UNSENT;\n };\n properties.timeoutId = setTimeout(properties.timeoutFn, this.timeout);\n }\n }\n }\n\n setRequestHeader(header, value) {\n const { flag, properties } = this;\n\n if (this.readyState !== READY_STATES.OPENED || properties.send) {\n throw DOMException.create(this._globalObject, [\"The object is in an invalid state.\", \"InvalidStateError\"]);\n }\n\n value = normalizeHeaderValue(value);\n\n if (!tokenRegexp.test(header) || !fieldValueRegexp.test(value)) {\n throw DOMException.create(this._globalObject, [\n \"The string did not match the expected pattern.\",\n \"SyntaxError\"\n ]);\n }\n\n const lcHeader = header.toLowerCase();\n\n if (forbiddenRequestHeaders.has(lcHeader) || lcHeader.startsWith(\"sec-\") || lcHeader.startsWith(\"proxy-\")) {\n return;\n }\n\n const keys = Object.keys(flag.requestHeaders);\n let n = keys.length;\n while (n--) {\n const key = keys[n];\n if (key.toLowerCase() === lcHeader) {\n flag.requestHeaders[key] += \", \" + value;\n return;\n }\n }\n flag.requestHeaders[header] = value;\n }\n}\n\nsetupForSimpleEventAccessors(XMLHttpRequestImpl.prototype, [\"readystatechange\"]);\n\nfunction readyStateChange(xhr, readyState) {\n if (xhr.readyState === readyState) {\n return;\n }\n\n xhr.readyState = readyState;\n\n fireAnEvent(\"readystatechange\", xhr);\n}\n\nfunction receiveResponse(xhr, response, currentURL) {\n const { flag, properties } = xhr;\n const { rawHeaders, statusCode } = response;\n\n let byteOffset = 0;\n\n const headers = {};\n const filteredResponseHeaders = [];\n const headerMap = {};\n const n = Number(rawHeaders.length);\n for (let i = 0; i < n; i += 2) {\n const k = rawHeaders[i];\n const kl = k.toLowerCase();\n const v = rawHeaders[i + 1];\n if (uniqueResponseHeaders.has(kl)) {\n if (headerMap[kl] !== undefined) {\n delete headers[headerMap[kl]];\n }\n headers[k] = v;\n } else if (headerMap[kl] !== undefined) {\n headers[headerMap[kl]] += \", \" + v;\n } else {\n headers[k] = v;\n }\n headerMap[kl] = k;\n }\n\n const destUrlObj = new URL(currentURL);\n if (properties.origin !== destUrlObj.origin &&\n destUrlObj.protocol !== \"data:\") {\n if (!xhrUtils.validCORSHeaders(xhr, response, flag, properties, properties.origin)) {\n return;\n }\n const acehStr = response.headers[\"access-control-expose-headers\"];\n const aceh = new Set(acehStr ? acehStr.trim().toLowerCase().split(xhrUtils.headerListSeparatorRegexp) : []);\n for (const header in headers) {\n const lcHeader = header.toLowerCase();\n if (!corsSafeResponseHeaders.has(lcHeader) && !aceh.has(lcHeader)) {\n filteredResponseHeaders.push(header);\n }\n }\n }\n\n for (const header in headers) {\n const lcHeader = header.toLowerCase();\n if (forbiddenResponseHeaders.has(lcHeader)) {\n filteredResponseHeaders.push(header);\n }\n }\n\n xhr.responseURL = destUrlObj.href;\n\n xhr.status = statusCode;\n xhr.statusText = response.statusMessage || HTTP_STATUS_CODES[statusCode] || \"\";\n\n properties.responseHeaders = headers;\n properties.filteredResponseHeaders = filteredResponseHeaders;\n\n const contentLength = getResponseHeader(xhr, \"content-length\") || \"0\";\n const bufferLength = parseInt(contentLength) || 0;\n const progressObj = { lengthComputable: false };\n let lastProgressReported;\n if (bufferLength !== 0) {\n progressObj.total = bufferLength;\n progressObj.loaded = 0;\n progressObj.lengthComputable = true;\n }\n // pre-allocate buffer.\n properties.responseBuffer = Buffer.alloc(properties.bufferStepSize);\n properties.responseCache = null;\n properties.responseTextCache = null;\n properties.responseXMLCache = null;\n readyStateChange(xhr, READY_STATES.HEADERS_RECEIVED);\n\n if (!properties.client) {\n // The request was aborted in reaction to the readystatechange event.\n return;\n }\n\n // Can't use the client since the client gets the post-ungzipping bytes (which can be greater than the\n // Content-Length).\n response.on(\"data\", chunk => {\n byteOffset += chunk.length;\n progressObj.loaded = byteOffset;\n });\n\n properties.client.on(\"data\", chunk => {\n properties.totalReceivedChunkSize += chunk.length;\n if (properties.totalReceivedChunkSize >= properties.bufferStepSize) {\n properties.bufferStepSize *= 2;\n while (properties.totalReceivedChunkSize >= properties.bufferStepSize) {\n properties.bufferStepSize *= 2;\n }\n const tmpBuf = Buffer.alloc(properties.bufferStepSize);\n properties.responseBuffer.copy(tmpBuf, 0, 0, properties.responseBuffer.length);\n properties.responseBuffer = tmpBuf;\n }\n chunk.copy(properties.responseBuffer, properties.totalReceivedChunkSize - chunk.length, 0, chunk.length);\n properties.responseCache = null;\n properties.responseTextCache = null;\n properties.responseXMLCache = null;\n\n if (xhr.readyState === READY_STATES.HEADERS_RECEIVED) {\n xhr.readyState = READY_STATES.LOADING;\n }\n fireAnEvent(\"readystatechange\", xhr);\n\n if (progressObj.total !== progressObj.loaded || properties.totalReceivedChunkSize === byteOffset) {\n if (lastProgressReported !== progressObj.loaded) {\n // This is a necessary check in the gzip case where we can be getting new data from the client, as it\n // un-gzips, but no new data has been gotten from the response, so we should not fire a progress event.\n lastProgressReported = progressObj.loaded;\n fireAnEvent(\"progress\", xhr, ProgressEvent, progressObj);\n }\n }\n });\n properties.client.on(\"end\", () => {\n clearTimeout(properties.timeoutId);\n properties.timeoutFn = null;\n properties.timeoutStart = 0;\n properties.client = null;\n if (lastProgressReported !== progressObj.loaded) {\n // https://github.com/whatwg/xhr/issues/318\n fireAnEvent(\"progress\", xhr, ProgressEvent, progressObj);\n }\n readyStateChange(xhr, READY_STATES.DONE);\n fireAnEvent(\"load\", xhr, ProgressEvent, progressObj);\n fireAnEvent(\"loadend\", xhr, ProgressEvent, progressObj);\n });\n}\n\nfunction setDispatchProgressEvents(xhr) {\n const { properties, upload } = xhr;\n const { client } = properties;\n\n let total = 0;\n let lengthComputable = false;\n const length = client.headers && parseInt(xhrUtils.getRequestHeader(client.headers, \"content-length\"));\n if (length) {\n total = length;\n lengthComputable = true;\n }\n const initProgress = {\n lengthComputable,\n total,\n loaded: 0\n };\n\n if (properties.uploadListener) {\n fireAnEvent(\"loadstart\", upload, ProgressEvent, initProgress);\n }\n\n client.on(\"request\", req => {\n req.on(\"response\", () => {\n properties.uploadComplete = true;\n\n if (!properties.uploadListener) {\n return;\n }\n\n const progress = {\n lengthComputable,\n total,\n loaded: total\n };\n fireAnEvent(\"progress\", upload, ProgressEvent, progress);\n fireAnEvent(\"load\", upload, ProgressEvent, progress);\n fireAnEvent(\"loadend\", upload, ProgressEvent, progress);\n });\n });\n}\n\nfunction finalMIMEType(xhr) {\n const { flag } = xhr;\n return flag.overrideMIMEType || getResponseHeader(xhr, \"content-type\");\n}\n\nfunction finalCharset(xhr) {\n const { flag } = xhr;\n if (flag.overrideCharset) {\n return flag.overrideCharset;\n }\n const parsedContentType = MIMEType.parse(getResponseHeader(xhr, \"content-type\"));\n if (parsedContentType) {\n return whatwgEncoding.labelToName(parsedContentType.parameters.get(\"charset\"));\n }\n return null;\n}\n\nfunction getResponseHeader(xhr, lcHeader) {\n const { properties } = xhr;\n const keys = Object.keys(properties.responseHeaders);\n let n = keys.length;\n while (n--) {\n const key = keys[n];\n if (key.toLowerCase() === lcHeader) {\n return properties.responseHeaders[key];\n }\n }\n return null;\n}\n\nfunction normalizeHeaderValue(value) {\n return value.replace(/^[\\x09\\x0A\\x0D\\x20]+/, \"\").replace(/[\\x09\\x0A\\x0D\\x20]+$/, \"\");\n}\n\nfunction extractBody(bodyInit) {\n // https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n // except we represent the body as a Node.js Buffer instead.\n\n if (Blob.isImpl(bodyInit)) {\n return {\n buffer: bodyInit._buffer,\n contentType: bodyInit.type === \"\" ? null : bodyInit.type\n };\n } else if (isArrayBuffer(bodyInit)) {\n return {\n buffer: Buffer.from(bodyInit),\n contentType: null\n };\n } else if (ArrayBuffer.isView(bodyInit)) {\n return {\n buffer: Buffer.from(bodyInit.buffer, bodyInit.byteOffset, bodyInit.byteLength),\n contentType: null\n };\n } else if (FormData.isImpl(bodyInit)) {\n const { boundary, outputChunks } = serializeEntryList(bodyInit._entries);\n\n return {\n buffer: chunksToBuffer(outputChunks),\n contentType: \"multipart/form-data; boundary=\" + utf8Decoder.decode(boundary)\n };\n }\n\n // Must be a string\n return {\n buffer: Buffer.from(bodyInit, \"utf-8\"),\n contentType: \"text/plain;charset=UTF-8\"\n };\n}\n\nexports.implementation = XMLHttpRequestImpl;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst DocumentFragment = require(\"./DocumentFragment.js\");\n\nconst interfaceName = \"ShadowRoot\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'ShadowRoot'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"ShadowRoot\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n DocumentFragment._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class ShadowRoot extends globalObject.DocumentFragment {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get mode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get mode' called on an object that is not a valid instance of ShadowRoot.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"mode\"]);\n }\n\n get host() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get host' called on an object that is not a valid instance of ShadowRoot.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"host\"]);\n }\n\n get innerHTML() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get innerHTML' called on an object that is not a valid instance of ShadowRoot.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"innerHTML\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set innerHTML(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set innerHTML' called on an object that is not a valid instance of ShadowRoot.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'innerHTML' property on 'ShadowRoot': The provided value\",\n globals: globalObject,\n treatNullAsEmptyString: true\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"innerHTML\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get activeElement() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get activeElement' called on an object that is not a valid instance of ShadowRoot.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"activeElement\"]);\n }\n }\n Object.defineProperties(ShadowRoot.prototype, {\n mode: { enumerable: true },\n host: { enumerable: true },\n innerHTML: { enumerable: true },\n activeElement: { enumerable: true },\n [Symbol.toStringTag]: { value: \"ShadowRoot\", configurable: true }\n });\n ctorRegistry[interfaceName] = ShadowRoot;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: ShadowRoot\n });\n};\n\nconst Impl = require(\"../nodes/ShadowRoot-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Range = require(\"./Range.js\");\nconst Node = require(\"./Node.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"Selection\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Selection'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Selection\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Selection {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n getRangeAt(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'getRangeAt' called on an object that is not a valid instance of Selection.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'getRangeAt' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'getRangeAt' on 'Selection': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].getRangeAt(...args));\n }\n\n addRange(range) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'addRange' called on an object that is not a valid instance of Selection.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'addRange' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Range.convert(globalObject, curArg, {\n context: \"Failed to execute 'addRange' on 'Selection': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].addRange(...args);\n }\n\n removeRange(range) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'removeRange' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'removeRange' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Range.convert(globalObject, curArg, {\n context: \"Failed to execute 'removeRange' on 'Selection': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].removeRange(...args);\n }\n\n removeAllRanges() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'removeAllRanges' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol].removeAllRanges();\n }\n\n empty() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'empty' called on an object that is not a valid instance of Selection.\");\n }\n\n return esValue[implSymbol].empty();\n }\n\n collapse(node) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'collapse' called on an object that is not a valid instance of Selection.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'collapse' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'collapse' on 'Selection': parameter 1\"\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'collapse' on 'Selection': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = 0;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].collapse(...args);\n }\n\n setPosition(node) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setPosition' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'setPosition' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg === null || curArg === undefined) {\n curArg = null;\n } else {\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'setPosition' on 'Selection': parameter 1\"\n });\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setPosition' on 'Selection': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = 0;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].setPosition(...args);\n }\n\n collapseToStart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'collapseToStart' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol].collapseToStart();\n }\n\n collapseToEnd() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'collapseToEnd' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol].collapseToEnd();\n }\n\n extend(node) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'extend' called on an object that is not a valid instance of Selection.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'extend' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'extend' on 'Selection': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'extend' on 'Selection': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = 0;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].extend(...args);\n }\n\n setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setBaseAndExtent' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n if (arguments.length < 4) {\n throw new globalObject.TypeError(\n `Failed to execute 'setBaseAndExtent' on 'Selection': 4 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 3\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[3];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 4\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].setBaseAndExtent(...args);\n }\n\n selectAllChildren(node) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'selectAllChildren' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'selectAllChildren' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'selectAllChildren' on 'Selection': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].selectAllChildren(...args);\n }\n\n deleteFromDocument() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'deleteFromDocument' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol].deleteFromDocument();\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n containsNode(node) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'containsNode' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'containsNode' on 'Selection': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Node.convert(globalObject, curArg, {\n context: \"Failed to execute 'containsNode' on 'Selection': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"boolean\"](curArg, {\n context: \"Failed to execute 'containsNode' on 'Selection': parameter 2\",\n globals: globalObject\n });\n } else {\n curArg = false;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].containsNode(...args);\n }\n\n toString() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'toString' called on an object that is not a valid instance of Selection.\");\n }\n\n return esValue[implSymbol].toString();\n }\n\n get anchorNode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get anchorNode' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"anchorNode\"]);\n }\n\n get anchorOffset() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get anchorOffset' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol][\"anchorOffset\"];\n }\n\n get focusNode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get focusNode' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"focusNode\"]);\n }\n\n get focusOffset() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get focusOffset' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol][\"focusOffset\"];\n }\n\n get isCollapsed() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get isCollapsed' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol][\"isCollapsed\"];\n }\n\n get rangeCount() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get rangeCount' called on an object that is not a valid instance of Selection.\"\n );\n }\n\n return esValue[implSymbol][\"rangeCount\"];\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get type' called on an object that is not a valid instance of Selection.\");\n }\n\n return esValue[implSymbol][\"type\"];\n }\n }\n Object.defineProperties(Selection.prototype, {\n getRangeAt: { enumerable: true },\n addRange: { enumerable: true },\n removeRange: { enumerable: true },\n removeAllRanges: { enumerable: true },\n empty: { enumerable: true },\n collapse: { enumerable: true },\n setPosition: { enumerable: true },\n collapseToStart: { enumerable: true },\n collapseToEnd: { enumerable: true },\n extend: { enumerable: true },\n setBaseAndExtent: { enumerable: true },\n selectAllChildren: { enumerable: true },\n deleteFromDocument: { enumerable: true },\n containsNode: { enumerable: true },\n toString: { enumerable: true },\n anchorNode: { enumerable: true },\n anchorOffset: { enumerable: true },\n focusNode: { enumerable: true },\n focusOffset: { enumerable: true },\n isCollapsed: { enumerable: true },\n rangeCount: { enumerable: true },\n type: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Selection\", configurable: true }\n });\n ctorRegistry[interfaceName] = Selection;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Selection\n });\n};\n\nconst Impl = require(\"../selection/Selection-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"Navigator\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'Navigator'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"Navigator\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class Navigator {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n javaEnabled() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'javaEnabled' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol].javaEnabled();\n }\n\n get appCodeName() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get appCodeName' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"appCodeName\"];\n }\n\n get appName() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get appName' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"appName\"];\n }\n\n get appVersion() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get appVersion' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"appVersion\"];\n }\n\n get platform() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get platform' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"platform\"];\n }\n\n get product() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get product' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"product\"];\n }\n\n get productSub() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get productSub' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"productSub\"];\n }\n\n get userAgent() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get userAgent' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"userAgent\"];\n }\n\n get vendor() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get vendor' called on an object that is not a valid instance of Navigator.\");\n }\n\n return esValue[implSymbol][\"vendor\"];\n }\n\n get vendorSub() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get vendorSub' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"vendorSub\"];\n }\n\n get language() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get language' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"language\"];\n }\n\n get languages() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get languages' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"languages\"]);\n }\n\n get onLine() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get onLine' called on an object that is not a valid instance of Navigator.\");\n }\n\n return esValue[implSymbol][\"onLine\"];\n }\n\n get cookieEnabled() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get cookieEnabled' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"cookieEnabled\"];\n }\n\n get plugins() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get plugins' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return utils.getSameObject(this, \"plugins\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"plugins\"]);\n });\n }\n\n get mimeTypes() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get mimeTypes' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return utils.getSameObject(this, \"mimeTypes\", () => {\n return utils.tryWrapperForImpl(esValue[implSymbol][\"mimeTypes\"]);\n });\n }\n\n get hardwareConcurrency() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get hardwareConcurrency' called on an object that is not a valid instance of Navigator.\"\n );\n }\n\n return esValue[implSymbol][\"hardwareConcurrency\"];\n }\n }\n Object.defineProperties(Navigator.prototype, {\n javaEnabled: { enumerable: true },\n appCodeName: { enumerable: true },\n appName: { enumerable: true },\n appVersion: { enumerable: true },\n platform: { enumerable: true },\n product: { enumerable: true },\n productSub: { enumerable: true },\n userAgent: { enumerable: true },\n vendor: { enumerable: true },\n vendorSub: { enumerable: true },\n language: { enumerable: true },\n languages: { enumerable: true },\n onLine: { enumerable: true },\n cookieEnabled: { enumerable: true },\n plugins: { enumerable: true },\n mimeTypes: { enumerable: true },\n hardwareConcurrency: { enumerable: true },\n [Symbol.toStringTag]: { value: \"Navigator\", configurable: true }\n });\n ctorRegistry[interfaceName] = Navigator;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: Navigator\n });\n};\n\nconst Impl = require(\"../navigator/Navigator-impl.js\");\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLHRElementImpl extends HTMLElementImpl { }\n\nmodule.exports = {\n implementation: HTMLHRElementImpl\n};\n","\"use strict\";\n\nconst UIEventImpl = require(\"./UIEvent-impl\").implementation;\n\nconst TouchEventInit = require(\"../generated/TouchEventInit\");\n\nclass TouchEventImpl extends UIEventImpl {\n\n}\nTouchEventImpl.defaultInit = TouchEventInit.convert(undefined, undefined);\n\nmodule.exports = {\n implementation: TouchEventImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst SelectionMode = require(\"./SelectionMode.js\");\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst FileList = require(\"./FileList.js\");\nconst parseNonNegativeInteger_helpers_strings = require(\"../helpers/strings.js\").parseNonNegativeInteger;\nconst create_DOMException = require(\"./DOMException.js\").create;\nconst serializeURLwhatwg_url = require(\"whatwg-url\").serializeURL;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLInputElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLInputElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLInputElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLInputElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n stepUp() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'stepUp' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"long\"](curArg, {\n context: \"Failed to execute 'stepUp' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = 1;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].stepUp(...args);\n }\n\n stepDown() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'stepDown' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (curArg !== undefined) {\n curArg = conversions[\"long\"](curArg, {\n context: \"Failed to execute 'stepDown' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n } else {\n curArg = 1;\n }\n args.push(curArg);\n }\n return esValue[implSymbol].stepDown(...args);\n }\n\n checkValidity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'checkValidity' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol].checkValidity();\n }\n\n reportValidity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'reportValidity' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol].reportValidity();\n }\n\n setCustomValidity(error) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setCustomValidity' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'setCustomValidity' on 'HTMLInputElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setCustomValidity' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return esValue[implSymbol].setCustomValidity(...args);\n }\n\n select() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'select' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol].select();\n }\n\n setRangeText(replacement) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setRangeText' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'setRangeText' on 'HTMLInputElement': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n switch (arguments.length) {\n case 1:\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n break;\n case 2:\n throw new globalObject.TypeError(\n `Failed to execute 'setRangeText' on 'HTMLInputElement': only ${arguments.length} arguments present.`\n );\n break;\n case 3:\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 3\",\n globals: globalObject\n });\n args.push(curArg);\n }\n break;\n default:\n {\n let curArg = arguments[0];\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 3\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[3];\n if (curArg !== undefined) {\n curArg = SelectionMode.convert(globalObject, curArg, {\n context: \"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 4\"\n });\n } else {\n curArg = \"preserve\";\n }\n args.push(curArg);\n }\n }\n return esValue[implSymbol].setRangeText(...args);\n }\n\n setSelectionRange(start, end) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'setSelectionRange' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to execute 'setSelectionRange' on 'HTMLInputElement': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setSelectionRange' on 'HTMLInputElement': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'setSelectionRange' on 'HTMLInputElement': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'setSelectionRange' on 'HTMLInputElement': parameter 3\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].setSelectionRange(...args);\n }\n\n get accept() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get accept' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"accept\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set accept(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set accept' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'accept' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"accept\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get alt() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get alt' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"alt\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set alt(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set alt' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'alt' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"alt\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get autocomplete() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get autocomplete' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"autocomplete\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set autocomplete(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set autocomplete' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'autocomplete' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"autocomplete\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get autofocus() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get autofocus' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"autofocus\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set autofocus(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set autofocus' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'autofocus' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"autofocus\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"autofocus\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get defaultChecked() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get defaultChecked' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"checked\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set defaultChecked(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set defaultChecked' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'defaultChecked' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"checked\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"checked\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get checked() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get checked' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"checked\"];\n }\n\n set checked(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set checked' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'checked' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"checked\"] = V;\n }\n\n get dirName() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get dirName' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"dirname\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set dirName(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set dirName' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'dirName' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"dirname\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get disabled() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get disabled' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"disabled\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set disabled(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set disabled' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'disabled' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"disabled\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"disabled\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get form() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get form' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"form\"]);\n }\n\n get files() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get files' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"files\"]);\n }\n\n set files(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set files' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = FileList.convert(globalObject, V, {\n context: \"Failed to set the 'files' property on 'HTMLInputElement': The provided value\"\n });\n }\n esValue[implSymbol][\"files\"] = V;\n }\n\n get formNoValidate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get formNoValidate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"formnovalidate\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set formNoValidate(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set formNoValidate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'formNoValidate' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"formnovalidate\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"formnovalidate\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get formTarget() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get formTarget' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"formtarget\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set formTarget(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set formTarget' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'formTarget' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"formtarget\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get indeterminate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get indeterminate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"indeterminate\"];\n }\n\n set indeterminate(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set indeterminate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'indeterminate' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"indeterminate\"] = V;\n }\n\n get inputMode() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get inputMode' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"inputmode\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set inputMode(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set inputMode' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'inputMode' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"inputmode\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get list() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get list' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"list\"]);\n }\n\n get max() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get max' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"max\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set max(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set max' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'max' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"max\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get maxLength() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get maxLength' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"maxlength\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && conversions.long(value) === value) {\n return value;\n }\n }\n return -1;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set maxLength(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set maxLength' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"long\"](V, {\n context: \"Failed to set the 'maxLength' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V < 0) {\n throw create_DOMException(globalObject, [\n `The negative value ${V} cannot be set for the maxLength property.`,\n \"IndexSizeError\"\n ]);\n }\n\n esValue[implSymbol]._reflectSetTheContentAttribute(\"maxlength\", String(V));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get min() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get min' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"min\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set min(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set min' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'min' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"min\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get minLength() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get minLength' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"minlength\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && conversions.long(value) === value) {\n return value;\n }\n }\n return -1;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set minLength(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set minLength' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"long\"](V, {\n context: \"Failed to set the 'minLength' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V < 0) {\n throw create_DOMException(globalObject, [\n `The negative value ${V} cannot be set for the minLength property.`,\n \"IndexSizeError\"\n ]);\n }\n\n esValue[implSymbol]._reflectSetTheContentAttribute(\"minlength\", String(V));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get multiple() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get multiple' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"multiple\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set multiple(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set multiple' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'multiple' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"multiple\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"multiple\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get name' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"name\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set name(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set name' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'name' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"name\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get pattern() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get pattern' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"pattern\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set pattern(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set pattern' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'pattern' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"pattern\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get placeholder() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get placeholder' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"placeholder\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set placeholder(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set placeholder' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'placeholder' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"placeholder\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get readOnly() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get readOnly' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"readonly\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set readOnly(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set readOnly' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'readOnly' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"readonly\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"readonly\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get required() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get required' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"required\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set required(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set required' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'required' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"required\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"required\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get size() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get size' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n let value = esValue[implSymbol]._reflectGetTheContentAttribute(\"size\");\n if (value !== null) {\n value = parseNonNegativeInteger_helpers_strings(value);\n if (value !== null && value >= 1 && value <= 2147483647) {\n return value;\n }\n }\n return 20;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set size(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set size' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'size' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V === 0) {\n throw create_DOMException(globalObject, [\n `The value ${V} cannot be set for the size property.`,\n \"IndexSizeError\"\n ]);\n }\n\n const newValue = V <= 2147483647 && V >= 1 ? V : 20;\n esValue[implSymbol]._reflectSetTheContentAttribute(\"size\", String(newValue));\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get src() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get src' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"src\");\n if (value === null) {\n return \"\";\n }\n\n if (this._srcURLCacheKey === value) {\n return this._srcURLCache;\n }\n\n this._srcURLCacheKey = value;\n\n const urlRecord = esValue[implSymbol]._ownerDocument.encodingParseAURL(value);\n if (urlRecord !== null) {\n this._srcURLCache = serializeURLwhatwg_url(urlRecord);\n return this._srcURLCache;\n }\n this._srcURLCache = conversions.USVString(value);\n return this._srcURLCache;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set src(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set src' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"USVString\"](V, {\n context: \"Failed to set the 'src' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"src\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get step() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get step' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"step\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set step(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set step' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'step' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"step\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get type() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get type' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"type\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set type(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set type' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'type' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"type\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get defaultValue() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get defaultValue' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"value\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set defaultValue(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set defaultValue' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'defaultValue' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"value\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get value() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get value' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol][\"value\"];\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set value(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set value' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'value' property on 'HTMLInputElement': The provided value\",\n globals: globalObject,\n treatNullAsEmptyString: true\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol][\"value\"] = V;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get valueAsDate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get valueAsDate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"valueAsDate\"];\n }\n\n set valueAsDate(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set valueAsDate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"object\"](V, {\n context: \"Failed to set the 'valueAsDate' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n }\n esValue[implSymbol][\"valueAsDate\"] = V;\n }\n\n get valueAsNumber() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get valueAsNumber' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"valueAsNumber\"];\n }\n\n set valueAsNumber(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set valueAsNumber' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"unrestricted double\"](V, {\n context: \"Failed to set the 'valueAsNumber' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n esValue[implSymbol][\"valueAsNumber\"] = V;\n }\n\n get willValidate() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get willValidate' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"willValidate\"];\n }\n\n get validity() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get validity' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"validity\"]);\n }\n\n get validationMessage() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get validationMessage' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"validationMessage\"];\n }\n\n get labels() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get labels' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"labels\"]);\n }\n\n get selectionStart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get selectionStart' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"selectionStart\"];\n }\n\n set selectionStart(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set selectionStart' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'selectionStart' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n }\n esValue[implSymbol][\"selectionStart\"] = V;\n }\n\n get selectionEnd() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get selectionEnd' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"selectionEnd\"];\n }\n\n set selectionEnd(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set selectionEnd' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"unsigned long\"](V, {\n context: \"Failed to set the 'selectionEnd' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n }\n esValue[implSymbol][\"selectionEnd\"] = V;\n }\n\n get selectionDirection() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get selectionDirection' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n return esValue[implSymbol][\"selectionDirection\"];\n }\n\n set selectionDirection(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set selectionDirection' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n if (V === null || V === undefined) {\n V = null;\n } else {\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'selectionDirection' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n }\n esValue[implSymbol][\"selectionDirection\"] = V;\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n get useMap() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get useMap' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"usemap\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set useMap(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set useMap' called on an object that is not a valid instance of HTMLInputElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'useMap' property on 'HTMLInputElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"usemap\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLInputElement.prototype, {\n stepUp: { enumerable: true },\n stepDown: { enumerable: true },\n checkValidity: { enumerable: true },\n reportValidity: { enumerable: true },\n setCustomValidity: { enumerable: true },\n select: { enumerable: true },\n setRangeText: { enumerable: true },\n setSelectionRange: { enumerable: true },\n accept: { enumerable: true },\n alt: { enumerable: true },\n autocomplete: { enumerable: true },\n autofocus: { enumerable: true },\n defaultChecked: { enumerable: true },\n checked: { enumerable: true },\n dirName: { enumerable: true },\n disabled: { enumerable: true },\n form: { enumerable: true },\n files: { enumerable: true },\n formNoValidate: { enumerable: true },\n formTarget: { enumerable: true },\n indeterminate: { enumerable: true },\n inputMode: { enumerable: true },\n list: { enumerable: true },\n max: { enumerable: true },\n maxLength: { enumerable: true },\n min: { enumerable: true },\n minLength: { enumerable: true },\n multiple: { enumerable: true },\n name: { enumerable: true },\n pattern: { enumerable: true },\n placeholder: { enumerable: true },\n readOnly: { enumerable: true },\n required: { enumerable: true },\n size: { enumerable: true },\n src: { enumerable: true },\n step: { enumerable: true },\n type: { enumerable: true },\n defaultValue: { enumerable: true },\n value: { enumerable: true },\n valueAsDate: { enumerable: true },\n valueAsNumber: { enumerable: true },\n willValidate: { enumerable: true },\n validity: { enumerable: true },\n validationMessage: { enumerable: true },\n labels: { enumerable: true },\n selectionStart: { enumerable: true },\n selectionEnd: { enumerable: true },\n selectionDirection: { enumerable: true },\n align: { enumerable: true },\n useMap: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLInputElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLInputElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLInputElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLInputElement-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"BarProp\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'BarProp'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"BarProp\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class BarProp {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n get visible() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get visible' called on an object that is not a valid instance of BarProp.\");\n }\n\n return esValue[implSymbol][\"visible\"];\n }\n }\n Object.defineProperties(BarProp.prototype, {\n visible: { enumerable: true },\n [Symbol.toStringTag]: { value: \"BarProp\", configurable: true }\n });\n ctorRegistry[interfaceName] = BarProp;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: BarProp\n });\n};\n\nconst Impl = require(\"../window/BarProp-impl.js\");\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js\n\n// == UTF16-BE codec. ==========================================================\n\nexports.utf16be = Utf16BECodec;\nfunction Utf16BECodec() {\n}\n\nUtf16BECodec.prototype.encoder = Utf16BEEncoder;\nUtf16BECodec.prototype.decoder = Utf16BEDecoder;\nUtf16BECodec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nfunction Utf16BEEncoder() {\n}\n\nUtf16BEEncoder.prototype.write = function(str) {\n var buf = Buffer.from(str, 'ucs2');\n for (var i = 0; i < buf.length; i += 2) {\n var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp;\n }\n return buf;\n}\n\nUtf16BEEncoder.prototype.end = function() {\n}\n\n\n// -- Decoding\n\nfunction Utf16BEDecoder() {\n this.overflowByte = -1;\n}\n\nUtf16BEDecoder.prototype.write = function(buf) {\n if (buf.length == 0)\n return '';\n\n var buf2 = Buffer.alloc(buf.length + 1),\n i = 0, j = 0;\n\n if (this.overflowByte !== -1) {\n buf2[0] = buf[0];\n buf2[1] = this.overflowByte;\n i = 1; j = 2;\n }\n\n for (; i < buf.length-1; i += 2, j+= 2) {\n buf2[j] = buf[i+1];\n buf2[j+1] = buf[i];\n }\n\n this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1;\n\n return buf2.slice(0, j).toString('ucs2');\n}\n\nUtf16BEDecoder.prototype.end = function() {\n this.overflowByte = -1;\n}\n\n\n// == UTF-16 codec =============================================================\n// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic.\n// Defaults to UTF-16LE, as it's prevalent and default in Node.\n// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le\n// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'});\n\n// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false).\n\nexports.utf16 = Utf16Codec;\nfunction Utf16Codec(codecOptions, iconv) {\n this.iconv = iconv;\n}\n\nUtf16Codec.prototype.encoder = Utf16Encoder;\nUtf16Codec.prototype.decoder = Utf16Decoder;\n\n\n// -- Encoding (pass-through)\n\nfunction Utf16Encoder(options, codec) {\n options = options || {};\n if (options.addBOM === undefined)\n options.addBOM = true;\n this.encoder = codec.iconv.getEncoder('utf-16le', options);\n}\n\nUtf16Encoder.prototype.write = function(str) {\n return this.encoder.write(str);\n}\n\nUtf16Encoder.prototype.end = function() {\n return this.encoder.end();\n}\n\n\n// -- Decoding\n\nfunction Utf16Decoder(options, codec) {\n this.decoder = null;\n this.initialBufs = [];\n this.initialBufsLen = 0;\n\n this.options = options || {};\n this.iconv = codec.iconv;\n}\n\nUtf16Decoder.prototype.write = function(buf) {\n if (!this.decoder) {\n // Codec is not chosen yet. Accumulate initial bytes.\n this.initialBufs.push(buf);\n this.initialBufsLen += buf.length;\n \n if (this.initialBufsLen < 16) // We need more bytes to use space heuristic (see below)\n return '';\n\n // We have enough bytes -> detect endianness.\n var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n var resStr = '';\n for (var i = 0; i < this.initialBufs.length; i++)\n resStr += this.decoder.write(this.initialBufs[i]);\n\n this.initialBufs.length = this.initialBufsLen = 0;\n return resStr;\n }\n\n return this.decoder.write(buf);\n}\n\nUtf16Decoder.prototype.end = function() {\n if (!this.decoder) {\n var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n var resStr = '';\n for (var i = 0; i < this.initialBufs.length; i++)\n resStr += this.decoder.write(this.initialBufs[i]);\n\n var trail = this.decoder.end();\n if (trail)\n resStr += trail;\n\n this.initialBufs.length = this.initialBufsLen = 0;\n return resStr;\n }\n return this.decoder.end();\n}\n\nfunction detectEncoding(bufs, defaultEncoding) {\n var b = [];\n var charsProcessed = 0;\n var asciiCharsLE = 0, asciiCharsBE = 0; // Number of ASCII chars when decoded as LE or BE.\n\n outer_loop:\n for (var i = 0; i < bufs.length; i++) {\n var buf = bufs[i];\n for (var j = 0; j < buf.length; j++) {\n b.push(buf[j]);\n if (b.length === 2) {\n if (charsProcessed === 0) {\n // Check BOM first.\n if (b[0] === 0xFF && b[1] === 0xFE) return 'utf-16le';\n if (b[0] === 0xFE && b[1] === 0xFF) return 'utf-16be';\n }\n\n if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;\n if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;\n\n b.length = 0;\n charsProcessed++;\n\n if (charsProcessed >= 100) {\n break outer_loop;\n }\n }\n }\n }\n\n // Make decisions.\n // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon.\n // So, we count ASCII as if it was LE or BE, and decide from that.\n if (asciiCharsBE > asciiCharsLE) return 'utf-16be';\n if (asciiCharsBE < asciiCharsLE) return 'utf-16le';\n\n // Couldn't decide (likely all zeros or not enough data).\n return defaultEncoding || 'utf-16le';\n}\n\n\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","\"use strict\";\n\nconst nodeCrypto = require(\"crypto\");\nconst DOMException = require(\"../generated/DOMException\");\n\n// https://w3c.github.io/webcrypto/#crypto-interface\nclass CryptoImpl {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n // https://w3c.github.io/webcrypto/#Crypto-method-getRandomValues\n getRandomValues(array) {\n const typeName = getTypedArrayTypeName(array);\n if (!(typeName === \"Int8Array\" ||\n typeName === \"Uint8Array\" ||\n typeName === \"Uint8ClampedArray\" ||\n typeName === \"Int16Array\" ||\n typeName === \"Uint16Array\" ||\n typeName === \"Int32Array\" ||\n typeName === \"Uint32Array\" ||\n typeName === \"BigInt64Array\" ||\n typeName === \"BigUint64Array\")) {\n throw DOMException.create(this._globalObject, [\n `getRandomValues() only accepts integer typed arrays`,\n \"TypeMismatchError\"\n ]);\n }\n\n if (array.byteLength > 65536) {\n throw DOMException.create(this._globalObject, [\n `getRandomValues() cannot generate more than 65536 bytes of random values; ` +\n `${array.byteLength} bytes were requested`,\n \"QuotaExceededError\"\n ]);\n }\n nodeCrypto.randomFillSync(array);\n return array;\n }\n\n // https://w3c.github.io/webcrypto/#Crypto-method-randomUUID\n randomUUID() {\n return nodeCrypto.randomUUID();\n }\n}\n\nexports.implementation = CryptoImpl;\n\n// See #3395. Subclasses of TypedArrays should properly work, but we can't rely\n// on instanceof because Uint8Array may be different across different windows -\n// which can happen in JSDOM when running { runScripts: \"dangerously\" }. As a\n// solution, we imitate the behavior of instanceof by walking the proottype\n// chain.\nfunction getTypedArrayTypeName(array) {\n const target = array.constructor;\n const chain = [target.name];\n let proto = Object.getPrototypeOf(target);\n while (proto) {\n chain.push(proto.name);\n proto = Object.getPrototypeOf(proto);\n }\n\n while (chain.length > 0 && chain[chain.length - 1] !== \"TypedArray\") {\n chain.pop();\n }\n chain.reverse();\n return chain[1];\n}\n","\"use strict\";\n\nconst enumerationValues = new Set([\"\", \"arraybuffer\", \"blob\", \"document\", \"json\", \"text\"]);\nexports.enumerationValues = enumerationValues;\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n const string = `${value}`;\n if (!enumerationValues.has(string)) {\n throw new globalObject.TypeError(\n `${context} '${string}' is not a valid enumeration value for XMLHttpRequestResponseType`\n );\n }\n return string;\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n {\n const key = \"extends\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"DOMString\"](value, {\n context: context + \" has member 'extends' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\n\nconst idlUtils = require(\"../generated/utils\");\nconst HTMLElement = require(\"../generated/HTMLElement\");\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nconst { nodeRoot } = require(\"../helpers/node\");\nconst { assignSlotableForTree, findFlattenedSlotables } = require(\"../helpers/shadow-dom\");\n\nclass HTMLSlotElementImpl extends HTMLElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n this._assignedNodes = [];\n }\n\n // https://dom.spec.whatwg.org/#slot-name\n get name() {\n return this.getAttributeNS(null, \"name\") || \"\";\n }\n\n _attrModified(name, value, oldValue) {\n super._attrModified(name, value, oldValue);\n\n // https://dom.spec.whatwg.org/#slot-name\n if (name === \"name\") {\n if (value === oldValue) {\n return;\n }\n\n if (value === null && oldValue === \"\") {\n return;\n }\n\n if (value === \"\" && oldValue === null) {\n return;\n }\n\n assignSlotableForTree(nodeRoot(this));\n }\n }\n\n // https://html.spec.whatwg.org/#dom-slot-assignednodes\n assignedNodes(options) {\n if (!options || !options.flatten) {\n return this._assignedNodes.map(idlUtils.wrapperForImpl);\n }\n\n return findFlattenedSlotables(this).map(idlUtils.wrapperForImpl);\n }\n\n // https://html.spec.whatwg.org/#dom-slot-assignedelements\n assignedElements(options) {\n return this.assignedNodes(options).filter(HTMLElement.is);\n }\n}\n\nmodule.exports = {\n implementation: HTMLSlotElementImpl\n};\n","\"use strict\";\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLSourceElementImpl extends HTMLElementImpl {}\n\nmodule.exports = {\n implementation: HTMLSourceElementImpl\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Blob = require(\"./Blob.js\");\nconst EventHandlerNonNull = require(\"./EventHandlerNonNull.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst EventTarget = require(\"./EventTarget.js\");\n\nconst interfaceName = \"FileReader\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'FileReader'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"FileReader\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n EventTarget._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class FileReader extends globalObject.EventTarget {\n constructor() {\n return exports.setup(Object.create(new.target.prototype), globalObject, undefined);\n }\n\n readAsArrayBuffer(blob) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'readAsArrayBuffer' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'readAsArrayBuffer' on 'FileReader': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Blob.convert(globalObject, curArg, {\n context: \"Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].readAsArrayBuffer(...args);\n }\n\n readAsBinaryString(blob) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'readAsBinaryString' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'readAsBinaryString' on 'FileReader': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Blob.convert(globalObject, curArg, {\n context: \"Failed to execute 'readAsBinaryString' on 'FileReader': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].readAsBinaryString(...args);\n }\n\n readAsText(blob) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'readAsText' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'readAsText' on 'FileReader': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Blob.convert(globalObject, curArg, {\n context: \"Failed to execute 'readAsText' on 'FileReader': parameter 1\"\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n if (curArg !== undefined) {\n curArg = conversions[\"DOMString\"](curArg, {\n context: \"Failed to execute 'readAsText' on 'FileReader': parameter 2\",\n globals: globalObject\n });\n }\n args.push(curArg);\n }\n return esValue[implSymbol].readAsText(...args);\n }\n\n readAsDataURL(blob) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'readAsDataURL' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'readAsDataURL' on 'FileReader': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = Blob.convert(globalObject, curArg, {\n context: \"Failed to execute 'readAsDataURL' on 'FileReader': parameter 1\"\n });\n args.push(curArg);\n }\n return esValue[implSymbol].readAsDataURL(...args);\n }\n\n abort() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'abort' called on an object that is not a valid instance of FileReader.\");\n }\n\n return esValue[implSymbol].abort();\n }\n\n get readyState() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get readyState' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return esValue[implSymbol][\"readyState\"];\n }\n\n get result() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get result' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"result\"]);\n }\n\n get error() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get error' called on an object that is not a valid instance of FileReader.\");\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"error\"]);\n }\n\n get onloadstart() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onloadstart' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onloadstart\"]);\n }\n\n set onloadstart(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onloadstart' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onloadstart' property on 'FileReader': The provided value\"\n });\n }\n esValue[implSymbol][\"onloadstart\"] = V;\n }\n\n get onprogress() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onprogress' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onprogress\"]);\n }\n\n set onprogress(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onprogress' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onprogress' property on 'FileReader': The provided value\"\n });\n }\n esValue[implSymbol][\"onprogress\"] = V;\n }\n\n get onload() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onload' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onload\"]);\n }\n\n set onload(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onload' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onload' property on 'FileReader': The provided value\"\n });\n }\n esValue[implSymbol][\"onload\"] = V;\n }\n\n get onabort() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onabort' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onabort\"]);\n }\n\n set onabort(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onabort' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onabort' property on 'FileReader': The provided value\"\n });\n }\n esValue[implSymbol][\"onabort\"] = V;\n }\n\n get onerror() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onerror' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onerror\"]);\n }\n\n set onerror(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onerror' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onerror' property on 'FileReader': The provided value\"\n });\n }\n esValue[implSymbol][\"onerror\"] = V;\n }\n\n get onloadend() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get onloadend' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n return utils.tryWrapperForImpl(esValue[implSymbol][\"onloadend\"]);\n }\n\n set onloadend(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set onloadend' called on an object that is not a valid instance of FileReader.\"\n );\n }\n\n if (!utils.isObject(V)) {\n V = null;\n } else {\n V = EventHandlerNonNull.convert(globalObject, V, {\n context: \"Failed to set the 'onloadend' property on 'FileReader': The provided value\"\n });\n }\n esValue[implSymbol][\"onloadend\"] = V;\n }\n }\n Object.defineProperties(FileReader.prototype, {\n readAsArrayBuffer: { enumerable: true },\n readAsBinaryString: { enumerable: true },\n readAsText: { enumerable: true },\n readAsDataURL: { enumerable: true },\n abort: { enumerable: true },\n readyState: { enumerable: true },\n result: { enumerable: true },\n error: { enumerable: true },\n onloadstart: { enumerable: true },\n onprogress: { enumerable: true },\n onload: { enumerable: true },\n onabort: { enumerable: true },\n onerror: { enumerable: true },\n onloadend: { enumerable: true },\n [Symbol.toStringTag]: { value: \"FileReader\", configurable: true },\n EMPTY: { value: 0, enumerable: true },\n LOADING: { value: 1, enumerable: true },\n DONE: { value: 2, enumerable: true }\n });\n Object.defineProperties(FileReader, {\n EMPTY: { value: 0, enumerable: true },\n LOADING: { value: 1, enumerable: true },\n DONE: { value: 2, enumerable: true }\n });\n ctorRegistry[interfaceName] = FileReader;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: FileReader\n });\n};\n\nconst Impl = require(\"../file-api/FileReader-impl.js\");\n",null,"\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst SVGElement = require(\"./SVGElement.js\");\n\nconst interfaceName = \"SVGMetadataElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'SVGMetadataElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"SVGMetadataElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n SVGElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class SVGMetadataElement extends globalObject.SVGElement {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n }\n Object.defineProperties(SVGMetadataElement.prototype, {\n [Symbol.toStringTag]: { value: \"SVGMetadataElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = SVGMetadataElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: SVGMetadataElement\n });\n};\n\nconst Impl = require(\"../nodes/SVGMetadataElement-impl.js\");\n","'use strict';\n\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list.\n* By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('./list.d.ts').listGetNode} */\n// eslint-disable-next-line consistent-return\nvar listGetNode = function (list, key, isDelete) {\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\t// eslint-disable-next-line eqeqeq\n\tfor (; (curr = prev.next) != null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tif (!isDelete) {\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tcurr.next = /** @type {NonNullable} */ (list.next);\n\t\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('./list.d.ts').listGet} */\nvar listGet = function (objects, key) {\n\tif (!objects) {\n\t\treturn void undefined;\n\t}\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('./list.d.ts').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('./list.d.ts').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('./list.d.ts').listHas} */\nvar listHas = function (objects, key) {\n\tif (!objects) {\n\t\treturn false;\n\t}\n\treturn !!listGetNode(objects, key);\n};\n/** @type {import('./list.d.ts').listDelete} */\n// eslint-disable-next-line consistent-return\nvar listDelete = function (objects, key) {\n\tif (objects) {\n\t\treturn listGetNode(objects, key, true);\n\t}\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannelList() {\n\t/** @typedef {ReturnType} Channel */\n\t/** @typedef {Parameters[0]} K */\n\t/** @typedef {Parameters[1]} V */\n\n\t/** @type {import('./list.d.ts').RootNode | undefined} */ var $o;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tvar root = $o && $o.next;\n\t\t\tvar deletedNode = listDelete($o, key);\n\t\t\tif (deletedNode && root && root === deletedNode) {\n\t\t\t\t$o = void undefined;\n\t\t\t}\n\t\t\treturn !!deletedNode;\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn listGet($o, key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn listHas($o, key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$o) {\n\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t$o = {\n\t\t\t\t\tnext: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tlistSet(/** @type {NonNullable} */ ($o), key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","// Generated using `npm run build`. Do not edit.\n\nvar regex = /^[a-z](?:[\\.0-9_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*-(?:[\\x2D\\.0-9_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*$/;\n\nvar isPotentialCustomElementName = function(string) {\n\treturn regex.test(string);\n};\n\nmodule.exports = isPotentialCustomElementName;\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLOptGroupElementImpl extends HTMLElementImpl { }\n\nmodule.exports = {\n implementation: HTMLOptGroupElementImpl\n};\n","\"use strict\";\n\nconst produceXMLSerialization = require(\"w3c-xmlserializer\");\nconst parse5 = require(\"parse5\");\nconst DOMException = require(\"../generated/DOMException\");\nconst { domSymbolTree } = require(\"../helpers/internal-constants\");\nconst utils = require(\"../generated/utils\");\nconst treeAdapter = require(\"./parse5-adapter-serialization\");\nconst NODE_TYPE = require(\"../node-type\");\n\nmodule.exports.fragmentSerialization = (node, { outer, requireWellFormed, globalObject }) => {\n const contextDocument =\n node.nodeType === NODE_TYPE.DOCUMENT_NODE ? node : node._ownerDocument;\n if (contextDocument._parsingMode === \"html\") {\n const config = {\n ...contextDocument._parseOptions,\n treeAdapter\n };\n return outer ? parse5.serializeOuter(node, config) : parse5.serialize(node, config);\n }\n\n const childNodes = outer ? [node] : domSymbolTree.childrenToArray(node);\n\n try {\n let serialized = \"\";\n for (let i = 0; i < childNodes.length; ++i) {\n serialized += produceXMLSerialization(\n utils.wrapperForImpl(childNodes[i]),\n { requireWellFormed }\n );\n }\n return serialized;\n } catch (e) {\n throw DOMException.create(globalObject, [e.message, \"InvalidStateError\"]);\n }\n};\n","\"use strict\";\n\nconst DOMException = require(\"../generated/DOMException\");\nconst idlUtils = require(\"../generated/utils.js\");\nconst attributes = require(\"../attributes.js\");\nconst { HTML_NS } = require(\"../helpers/namespaces\");\n\nexports.implementation = class NamedNodeMapImpl {\n constructor(globalObject, args, privateData) {\n this._element = privateData.element;\n\n this._globalObject = globalObject;\n }\n get _attributeList() {\n return this._element._attributeList;\n }\n\n get [idlUtils.supportedPropertyIndices]() {\n return this._attributeList.keys();\n }\n get length() {\n return this._attributeList.length;\n }\n item(index) {\n if (index >= this._attributeList.length) {\n return null;\n }\n return this._attributeList[index];\n }\n\n get [idlUtils.supportedPropertyNames]() {\n const names = new Set(this._attributeList.map(a => a._qualifiedName));\n const el = this._element;\n if (el._namespaceURI === HTML_NS && el._ownerDocument._parsingMode === \"html\") {\n for (const name of names) {\n const lowercaseName = name.toLowerCase();\n if (lowercaseName !== name) {\n names.delete(name);\n }\n }\n }\n return names;\n }\n getNamedItem(qualifiedName) {\n return attributes.getAttributeByName(this._element, qualifiedName);\n }\n getNamedItemNS(namespace, localName) {\n return attributes.getAttributeByNameNS(this._element, namespace, localName);\n }\n setNamedItem(attr) {\n // eslint-disable-next-line no-restricted-properties\n return attributes.setAttribute(this._element, attr);\n }\n setNamedItemNS(attr) {\n // eslint-disable-next-line no-restricted-properties\n return attributes.setAttribute(this._element, attr);\n }\n removeNamedItem(qualifiedName) {\n const attr = attributes.removeAttributeByName(this._element, qualifiedName);\n if (attr === null) {\n throw DOMException.create(this._globalObject, [\n \"Tried to remove an attribute that was not present\",\n \"NotFoundError\"\n ]);\n }\n return attr;\n }\n removeNamedItemNS(namespace, localName) {\n const attr = attributes.removeAttributeByNameNS(this._element, namespace, localName);\n if (attr === null) {\n throw DOMException.create(this._globalObject, [\n \"Tried to remove an attribute that was not present\",\n \"NotFoundError\"\n ]);\n }\n return attr;\n }\n};\n","\"use strict\";\n\nconst SVGGraphicsElementImpl = require(\"./SVGGraphicsElement-impl\").implementation;\n\nclass SVGDefsElementImpl extends SVGGraphicsElementImpl {}\n\nmodule.exports = {\n implementation: SVGDefsElementImpl\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenType = void 0;\nexports.getTokenAttr = getTokenAttr;\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"CHARACTER\"] = 0] = \"CHARACTER\";\n TokenType[TokenType[\"NULL_CHARACTER\"] = 1] = \"NULL_CHARACTER\";\n TokenType[TokenType[\"WHITESPACE_CHARACTER\"] = 2] = \"WHITESPACE_CHARACTER\";\n TokenType[TokenType[\"START_TAG\"] = 3] = \"START_TAG\";\n TokenType[TokenType[\"END_TAG\"] = 4] = \"END_TAG\";\n TokenType[TokenType[\"COMMENT\"] = 5] = \"COMMENT\";\n TokenType[TokenType[\"DOCTYPE\"] = 6] = \"DOCTYPE\";\n TokenType[TokenType[\"EOF\"] = 7] = \"EOF\";\n TokenType[TokenType[\"HIBERNATION\"] = 8] = \"HIBERNATION\";\n})(TokenType || (exports.TokenType = TokenType = {}));\nfunction getTokenAttr(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n return null;\n}\n","\"use strict\";\n\nconst DOMException = require(\"../generated/DOMException\");\n\nclass SVGNumberImpl {\n constructor(globalObject, args, privateData) {\n // Delegate to parent List object for (almost) everything related to reflection.\n this._parentList = privateData.parentList;\n this._value = 0;\n }\n\n get _readOnly() {\n if (this._parentList !== undefined) {\n return this._parentList._readOnly;\n }\n return false;\n }\n\n _synchronize() {\n if (this._parentList !== undefined) {\n this._parentList._synchronize();\n }\n }\n\n _reserialize() {\n if (this._parentList !== undefined) {\n this._parentList._reserialize();\n }\n }\n\n get value() {\n this._synchronize();\n return this._value;\n }\n\n set value(value) {\n if (this._readOnly) {\n throw DOMException.create(this._globalObject, [\n \"Attempting to modify a read-only SVGNumber\",\n \"NoModificationAllowedError\"\n ]);\n }\n this._value = value;\n this._reserialize();\n }\n}\n\nexports.implementation = SVGNumberImpl;\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"DOMStringMap\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'DOMStringMap'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"DOMStringMap\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class DOMStringMap {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n }\n Object.defineProperties(DOMStringMap.prototype, {\n [Symbol.toStringTag]: { value: \"DOMStringMap\", configurable: true }\n });\n ctorRegistry[interfaceName] = DOMStringMap;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: DOMStringMap\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyNames]) {\n if (!utils.hasOwn(target, key)) {\n keys.add(`${key}`);\n }\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n const namedValue = target[implSymbol][utils.namedGet](P);\n\n if (namedValue !== undefined && !utils.hasOwn(target, P) && !ignoreNamedProps) {\n return {\n writable: true,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(namedValue)\n };\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n\n if (typeof P === \"string\") {\n let namedValue = V;\n\n namedValue = conversions[\"DOMString\"](namedValue, {\n context: \"Failed to set the '\" + P + \"' property on 'DOMStringMap': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const creating = !(target[implSymbol][utils.namedGet](P) !== undefined);\n if (creating) {\n target[implSymbol][utils.namedSetNew](P, namedValue);\n } else {\n target[implSymbol][utils.namedSetExisting](P, namedValue);\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n\n return true;\n }\n }\n let ownDesc;\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (desc.get || desc.set) {\n return false;\n }\n\n let namedValue = desc.value;\n\n namedValue = conversions[\"DOMString\"](namedValue, {\n context: \"Failed to set the '\" + P + \"' property on 'DOMStringMap': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const creating = !(target[implSymbol][utils.namedGet](P) !== undefined);\n if (creating) {\n target[implSymbol][utils.namedSetNew](P, namedValue);\n } else {\n target[implSymbol][utils.namedSetExisting](P, namedValue);\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n\n return true;\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (target[implSymbol][utils.namedGet](P) !== undefined && !utils.hasOwn(target, P)) {\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n target[implSymbol][utils.namedDelete](P);\n return true;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../nodes/DOMStringMap-impl.js\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLDialogElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLDialogElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLDialogElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLDialogElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get open() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get open' called on an object that is not a valid instance of HTMLDialogElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n return esValue[implSymbol]._reflectGetTheContentAttribute(\"open\") !== null;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set open(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set open' called on an object that is not a valid instance of HTMLDialogElement.\"\n );\n }\n\n V = conversions[\"boolean\"](V, {\n context: \"Failed to set the 'open' property on 'HTMLDialogElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n if (V) {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"open\", \"\");\n } else {\n esValue[implSymbol]._reflectDeleteTheContentAttribute(\"open\");\n }\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLDialogElement.prototype, {\n open: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLDialogElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLDialogElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLDialogElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLDialogElement-impl.js\");\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n commaRoundTrip: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n filter: void undefined,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\\./g, '%2E') : String(prefix);\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && key && typeof key.value !== 'undefined'\n ? key.value\n : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\\./g, '%2E') : String(key);\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: !!opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = obj[key];\n\n if (options.skipNulls && value === null) {\n continue;\n }\n pushToArray(keys, stringify(\n value,\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","\"use strict\";\n\nconst enumerationValues = new Set([\"subtitles\", \"captions\", \"descriptions\", \"chapters\", \"metadata\"]);\nexports.enumerationValues = enumerationValues;\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n const string = `${value}`;\n if (!enumerationValues.has(string)) {\n throw new globalObject.TypeError(`${context} '${string}' is not a valid enumeration value for TextTrackKind`);\n }\n return string;\n};\n","\"use strict\";\nconst cssom = require(\"rrweb-cssom\");\nconst { CSSStyleDeclaration } = require(\"cssstyle\");\nconst defaultStyleSheet = require(\"../../browser/default-stylesheet\");\nconst { getSpecifiedColor, getComputedOrUsedColor } = require(\"./colors\");\nconst { matchesDontThrow } = require(\"./selectors\");\n\nconst { forEach, indexOf } = Array.prototype;\n\nlet parsedDefaultStyleSheet;\n\n// Properties for which getResolvedValue is implemented. This is less than\n// every supported property.\n// https://drafts.csswg.org/indexes/#properties\nexports.propertiesWithResolvedValueImplemented = {\n \"__proto__\": null,\n\n // https://drafts.csswg.org/css2/visufx.html#visibility\n \"visibility\": {\n inherited: true,\n initial: \"visible\",\n computedValue: \"as-specified\"\n },\n // https://svgwg.org/svg2-draft/interact.html#PointerEventsProperty\n \"pointer-events\": {\n inherited: true,\n initial: \"auto\",\n computedValue: \"as-specified\"\n },\n // https://drafts.csswg.org/css-backgrounds-3/#propdef-background-color\n \"background-color\": {\n inherited: false,\n initial: \"transparent\",\n computedValue: \"computed-color\"\n },\n // https://drafts.csswg.org/css-logical-1/#propdef-border-block-end-color\n \"border-block-start-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n \"border-block-end-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n \"border-inline-start-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n \"border-inline-end-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n // https://drafts.csswg.org/css-backgrounds-3/#propdef-border-bottom-color\n \"border-top-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n \"border-right-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n \"border-bottom-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n \"border-left-color\": {\n inherited: false,\n initial: \"currentcolor\",\n computedValue: \"computed-color\"\n },\n // https://drafts.csswg.org/css-ui-4/#propdef-caret-color\n \"caret-color\": {\n inherited: true,\n initial: \"auto\",\n computedValue: \"computed-color\"\n },\n // https://drafts.csswg.org/css-color-4/#propdef-color\n \"color\": {\n inherited: true,\n initial: \"CanvasText\",\n computedValue: \"computed-color\"\n },\n // https://drafts.csswg.org/css-ui-4/#propdef-outline-color\n \"outline-color\": {\n inherited: false,\n initial: \"invert\",\n computedValue: \"computed-color\"\n }\n};\n\nfunction forEachMatchingSheetRuleOfElement(elementImpl, handleRule) {\n function handleSheet(sheet) {\n forEach.call(sheet.cssRules, rule => {\n if (rule.media) {\n if (indexOf.call(rule.media, \"screen\") !== -1) {\n forEach.call(rule.cssRules, innerRule => {\n if (matches(innerRule, elementImpl)) {\n handleRule(innerRule);\n }\n });\n }\n } else if (matches(rule, elementImpl)) {\n handleRule(rule);\n }\n });\n }\n\n if (!parsedDefaultStyleSheet) {\n parsedDefaultStyleSheet = cssom.parse(defaultStyleSheet);\n }\n\n handleSheet(parsedDefaultStyleSheet);\n forEach.call(elementImpl._ownerDocument.styleSheets._list, handleSheet);\n}\n\nexports.invalidateStyleCache = elementImpl => {\n if (elementImpl._attached) {\n elementImpl._ownerDocument._styleCache = null;\n }\n};\n\nexports.getDeclarationForElement = elementImpl => {\n let styleCache = elementImpl._ownerDocument._styleCache;\n if (!styleCache) {\n styleCache = elementImpl._ownerDocument._styleCache = new WeakMap();\n }\n\n const cachedDeclaration = styleCache.get(elementImpl);\n if (cachedDeclaration) {\n return cachedDeclaration;\n }\n\n const declaration = new CSSStyleDeclaration();\n\n function handleProperty(style, property) {\n const value = style.getPropertyValue(property);\n // https://drafts.csswg.org/css-cascade-4/#valdef-all-unset\n if (value === \"unset\") {\n declaration.removeProperty(property);\n } else {\n declaration.setProperty(\n property,\n value,\n style.getPropertyPriority(property)\n );\n }\n }\n\n forEachMatchingSheetRuleOfElement(elementImpl, rule => {\n forEach.call(rule.style, property => {\n handleProperty(rule.style, property);\n });\n });\n\n forEach.call(elementImpl.style, property => {\n handleProperty(elementImpl.style, property);\n });\n\n styleCache.set(elementImpl, declaration);\n\n return declaration;\n};\n\nfunction matches(rule, element) {\n return matchesDontThrow(element, rule.selectorText);\n}\n\n// Naive implementation of https://drafts.csswg.org/css-cascade-4/#cascading\n// based on the previous jsdom implementation of getComputedStyle.\n// Does not implement https://drafts.csswg.org/css-cascade-4/#cascade-specificity,\n// or rather specificity is only implemented by the order in which the matching\n// rules appear. The last rule is the most specific while the first rule is\n// the least specific.\nfunction getCascadedPropertyValue(element, property) {\n return exports.getDeclarationForElement(element).getPropertyValue(property);\n}\n\n// https://drafts.csswg.org/css-cascade-4/#specified-value\nfunction getSpecifiedValue(element, property) {\n const { initial, inherited, computedValue } = exports.propertiesWithResolvedValueImplemented[property];\n const cascade = getCascadedPropertyValue(element, property);\n\n if (cascade !== \"\") {\n if (computedValue === \"computed-color\") {\n return getSpecifiedColor(cascade);\n }\n\n return cascade;\n }\n\n // Defaulting\n if (inherited && element.parentElement !== null) {\n return getComputedValue(element.parentElement, property);\n }\n\n // root element without parent element or inherited property\n return initial;\n}\n\n// https://drafts.csswg.org/css-cascade-4/#computed-value\nfunction getComputedValue(element, property) {\n const { computedValue, initial } = exports.propertiesWithResolvedValueImplemented[property];\n if (computedValue === \"as-specified\") {\n return getSpecifiedValue(element, property);\n } else if (computedValue === \"computed-color\") {\n const specifiedValue = getSpecifiedValue(element, property);\n\n // https://drafts.csswg.org/css-color-4/#resolving-other-colors\n if (specifiedValue === \"currentcolor\") {\n if (property === \"color\") {\n if (element.parentElement !== null) {\n return getComputedValue(element.parentElement, \"color\");\n }\n return initial;\n }\n\n return getComputedValue(element, \"color\");\n }\n\n return getComputedOrUsedColor(specifiedValue);\n }\n\n throw new TypeError(`Internal error: unrecognized computed value instruction '${computedValue}'`);\n}\n\n// https://drafts.csswg.org/cssom/#resolved-value\n// Only implements the properties that are defined in propertiesWithResolvedValueImplemented.\nexports.getResolvedValue = (element, property) => {\n // We can always use the computed value with the current set of propertiesWithResolvedValueImplemented:\n // * Color properties end up with the used value, but we don't implement any actual differences between used and\n // computed that https://drafts.csswg.org/css-cascade-5/#used-value gestures at.\n // * The other properties fall back to the \"any other property: The resolved value is the computed value.\" case.\n return getComputedValue(element, property);\n};\n\nexports.SHADOW_DOM_PSEUDO_REGEXP = /^::(?:part|slotted)\\(/i;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Blob = require(\"./Blob.js\");\nconst FilePropertyBag = require(\"./FilePropertyBag.js\");\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"File\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'File'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"File\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n Blob._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class File extends globalObject.Blob {\n constructor(fileBits, fileName) {\n if (arguments.length < 2) {\n throw new globalObject.TypeError(\n `Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n if (!utils.isObject(curArg)) {\n throw new globalObject.TypeError(\"Failed to construct 'File': parameter 1\" + \" is not an iterable object.\");\n } else {\n const V = [];\n const tmp = curArg;\n for (let nextItem of tmp) {\n if (Blob.is(nextItem)) {\n nextItem = utils.implForWrapper(nextItem);\n } else if (utils.isArrayBuffer(nextItem)) {\n } else if (ArrayBuffer.isView(nextItem)) {\n } else {\n nextItem = conversions[\"USVString\"](nextItem, {\n context: \"Failed to construct 'File': parameter 1\" + \"'s element\",\n globals: globalObject\n });\n }\n V.push(nextItem);\n }\n curArg = V;\n }\n args.push(curArg);\n }\n {\n let curArg = arguments[1];\n curArg = conversions[\"USVString\"](curArg, {\n context: \"Failed to construct 'File': parameter 2\",\n globals: globalObject\n });\n args.push(curArg);\n }\n {\n let curArg = arguments[2];\n curArg = FilePropertyBag.convert(globalObject, curArg, { context: \"Failed to construct 'File': parameter 3\" });\n args.push(curArg);\n }\n return exports.setup(Object.create(new.target.prototype), globalObject, args);\n }\n\n get name() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get name' called on an object that is not a valid instance of File.\");\n }\n\n return esValue[implSymbol][\"name\"];\n }\n\n get lastModified() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get lastModified' called on an object that is not a valid instance of File.\"\n );\n }\n\n return esValue[implSymbol][\"lastModified\"];\n }\n }\n Object.defineProperties(File.prototype, {\n name: { enumerable: true },\n lastModified: { enumerable: true },\n [Symbol.toStringTag]: { value: \"File\", configurable: true }\n });\n ctorRegistry[interfaceName] = File;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: File\n });\n};\n\nconst Impl = require(\"../file-api/File-impl.js\");\n","\"use strict\";\n\nconst prepareValue = require(\"../parsers\").prepareValue;\n\nmodule.exports.getPropertyDescriptor = function getPropertyDescriptor(property) {\n return {\n set(v) {\n this._setProperty(property, prepareValue(v));\n },\n get() {\n return this.getPropertyValue(property);\n },\n enumerable: true,\n configurable: true\n };\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst HTMLConstructor_helpers_html_constructor = require(\"../helpers/html-constructor.js\").HTMLConstructor;\nconst ceReactionsPreSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPreSteps;\nconst ceReactionsPostSteps_helpers_custom_elements = require(\"../helpers/custom-elements.js\").ceReactionsPostSteps;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\nconst HTMLElement = require(\"./HTMLElement.js\");\n\nconst interfaceName = \"HTMLTableCaptionElement\";\n\nexports.is = value => {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'HTMLTableCaptionElement'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"HTMLTableCaptionElement\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {\n HTMLElement._internalSetup(wrapper, globalObject);\n};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n const wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class HTMLTableCaptionElement extends globalObject.HTMLElement {\n constructor() {\n return HTMLConstructor_helpers_html_constructor(globalObject, interfaceName, new.target);\n }\n\n get align() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'get align' called on an object that is not a valid instance of HTMLTableCaptionElement.\"\n );\n }\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n const value = esValue[implSymbol]._reflectGetTheContentAttribute(\"align\");\n return value === null ? \"\" : value;\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n\n set align(V) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\n \"'set align' called on an object that is not a valid instance of HTMLTableCaptionElement.\"\n );\n }\n\n V = conversions[\"DOMString\"](V, {\n context: \"Failed to set the 'align' property on 'HTMLTableCaptionElement': The provided value\",\n globals: globalObject\n });\n\n ceReactionsPreSteps_helpers_custom_elements(globalObject);\n try {\n esValue[implSymbol]._reflectSetTheContentAttribute(\"align\", V);\n } finally {\n ceReactionsPostSteps_helpers_custom_elements(globalObject);\n }\n }\n }\n Object.defineProperties(HTMLTableCaptionElement.prototype, {\n align: { enumerable: true },\n [Symbol.toStringTag]: { value: \"HTMLTableCaptionElement\", configurable: true }\n });\n ctorRegistry[interfaceName] = HTMLTableCaptionElement;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: HTMLTableCaptionElement\n });\n};\n\nconst Impl = require(\"../nodes/HTMLTableCaptionElement-impl.js\");\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\n/** @type {undefined | false | null | GeneratorFunctionConstructor} */\nvar GeneratorFunction;\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t? /** @type {GeneratorFunctionConstructor} */ (getProto(generatorFunc))\n\t\t\t: false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","\"use strict\";class ParseError extends Error{sourceStart;sourceEnd;parserState;constructor(e,n,o,t){super(e),this.name=\"ParseError\",this.sourceStart=n,this.sourceEnd=o,this.parserState=t}}class ParseErrorWithToken extends ParseError{token;constructor(e,n,o,t,r){super(e,n,o,t),this.token=r}}const e={UnexpectedNewLineInString:\"Unexpected newline while consuming a string token.\",UnexpectedEOFInString:\"Unexpected EOF while consuming a string token.\",UnexpectedEOFInComment:\"Unexpected EOF while consuming a comment.\",UnexpectedEOFInURL:\"Unexpected EOF while consuming a url token.\",UnexpectedEOFInEscapedCodePoint:\"Unexpected EOF while consuming an escaped code point.\",UnexpectedCharacterInURL:\"Unexpected character while consuming a url token.\",InvalidEscapeSequenceInURL:\"Invalid escape sequence while consuming a url token.\",InvalidEscapeSequenceAfterBackslash:'Invalid escape sequence after \"\\\\\"'},n=\"undefined\"!=typeof globalThis&&\"structuredClone\"in globalThis;const o=13,t=45,r=10,s=43,i=65533;function checkIfFourCodePointsWouldStartCDO(e){return 60===e.source.codePointAt(e.cursor)&&33===e.source.codePointAt(e.cursor+1)&&e.source.codePointAt(e.cursor+2)===t&&e.source.codePointAt(e.cursor+3)===t}function isDigitCodePoint(e){return e>=48&&e<=57}function isUppercaseLetterCodePoint(e){return e>=65&&e<=90}function isLowercaseLetterCodePoint(e){return e>=97&&e<=122}function isHexDigitCodePoint(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function isLetterCodePoint(e){return isLowercaseLetterCodePoint(e)||isUppercaseLetterCodePoint(e)}function isIdentStartCodePoint(e){return isLetterCodePoint(e)||isNonASCII_IdentCodePoint(e)||95===e}function isIdentCodePoint(e){return isIdentStartCodePoint(e)||isDigitCodePoint(e)||e===t}function isNonASCII_IdentCodePoint(e){return 183===e||8204===e||8205===e||8255===e||8256===e||8204===e||(192<=e&&e<=214||216<=e&&e<=246||248<=e&&e<=893||895<=e&&e<=8191||8304<=e&&e<=8591||11264<=e&&e<=12271||12289<=e&&e<=55295||63744<=e&&e<=64975||65008<=e&&e<=65533||(0===e||(!!isSurrogate(e)||e>=65536)))}function isNewLine(e){return e===r||e===o||12===e}function isWhitespace(e){return 32===e||e===r||9===e||e===o||12===e}function isSurrogate(e){return e>=55296&&e<=57343}function checkIfTwoCodePointsAreAValidEscape(e){return 92===e.source.codePointAt(e.cursor)&&!isNewLine(e.source.codePointAt(e.cursor+1)??-1)}function checkIfThreeCodePointsWouldStartAnIdentSequence(e,n){return n.source.codePointAt(n.cursor)===t?n.source.codePointAt(n.cursor+1)===t||(!!isIdentStartCodePoint(n.source.codePointAt(n.cursor+1)??-1)||92===n.source.codePointAt(n.cursor+1)&&!isNewLine(n.source.codePointAt(n.cursor+2)??-1)):!!isIdentStartCodePoint(n.source.codePointAt(n.cursor)??-1)||checkIfTwoCodePointsAreAValidEscape(n)}function checkIfThreeCodePointsWouldStartANumber(e){return e.source.codePointAt(e.cursor)===s||e.source.codePointAt(e.cursor)===t?!!isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1)||46===e.source.codePointAt(e.cursor+1)&&isDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1):46===e.source.codePointAt(e.cursor)?isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1):isDigitCodePoint(e.source.codePointAt(e.cursor)??-1)}function checkIfTwoCodePointsStartAComment(e){return 47===e.source.codePointAt(e.cursor)&&42===e.source.codePointAt(e.cursor+1)}function checkIfThreeCodePointsWouldStartCDC(e){return e.source.codePointAt(e.cursor)===t&&e.source.codePointAt(e.cursor+1)===t&&62===e.source.codePointAt(e.cursor+2)}var c,a,u;function consumeComment(n,o){for(o.advanceCodePoint(2);;){const t=o.readCodePoint();if(void 0===t){const t=[exports.TokenType.Comment,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInComment,o.representationStart,o.representationEnd,[\"4.3.2. Consume comments\",\"Unexpected EOF\"],t)),t}if(42===t&&(void 0!==o.source.codePointAt(o.cursor)&&47===o.source.codePointAt(o.cursor))){o.advanceCodePoint();break}}return[exports.TokenType.Comment,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0]}function consumeEscapedCodePoint(n,t){const s=t.readCodePoint();if(void 0===s)return n.onParseError(new ParseError(e.UnexpectedEOFInEscapedCodePoint,t.representationStart,t.representationEnd,[\"4.3.7. Consume an escaped code point\",\"Unexpected EOF\"])),i;if(isHexDigitCodePoint(s)){const e=[s];let n;for(;void 0!==(n=t.source.codePointAt(t.cursor))&&isHexDigitCodePoint(n)&&e.length<6;)e.push(n),t.advanceCodePoint();isWhitespace(t.source.codePointAt(t.cursor)??-1)&&(t.source.codePointAt(t.cursor)===o&&t.source.codePointAt(t.cursor+1)===r&&t.advanceCodePoint(),t.advanceCodePoint());const c=parseInt(String.fromCodePoint(...e),16);return 0===c||isSurrogate(c)||c>1114111?i:c}return 0===s||isSurrogate(s)?i:s}function consumeIdentSequence(e,n){const o=[];for(;;){const t=n.source.codePointAt(n.cursor)??-1;if(0===t||isSurrogate(t))o.push(i),n.advanceCodePoint(+(t>65535)+1);else if(isIdentCodePoint(t))o.push(t),n.advanceCodePoint(+(t>65535)+1);else{if(!checkIfTwoCodePointsAreAValidEscape(n))return o;n.advanceCodePoint(),o.push(consumeEscapedCodePoint(e,n))}}}function consumeHashToken(e,n){n.advanceCodePoint();const o=n.source.codePointAt(n.cursor);if(void 0!==o&&(isIdentCodePoint(o)||checkIfTwoCodePointsAreAValidEscape(n))){let o=exports.HashType.Unrestricted;checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)&&(o=exports.HashType.ID);const t=consumeIdentSequence(e,n);return[exports.TokenType.Hash,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t),type:o}]}return[exports.TokenType.Delim,\"#\",n.representationStart,n.representationEnd,{value:\"#\"}]}function consumeNumber(e,n){let o=exports.NumberType.Integer;for(n.source.codePointAt(n.cursor)!==s&&n.source.codePointAt(n.cursor)!==t||n.advanceCodePoint();isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(46===n.source.codePointAt(n.cursor)&&isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint(2),o=exports.NumberType.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(101===n.source.codePointAt(n.cursor)||69===n.source.codePointAt(n.cursor)){if(isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))n.advanceCodePoint(2);else{if(n.source.codePointAt(n.cursor+1)!==t&&n.source.codePointAt(n.cursor+1)!==s||!isDigitCodePoint(n.source.codePointAt(n.cursor+2)??-1))return o;n.advanceCodePoint(3)}for(o=exports.NumberType.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint()}return o}function consumeNumericToken(e,n){let o;{const e=n.source.codePointAt(n.cursor);e===t?o=\"-\":e===s&&(o=\"+\")}const r=consumeNumber(0,n),i=parseFloat(n.source.slice(n.representationStart,n.representationEnd+1));if(checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)){const t=consumeIdentSequence(e,n);return[exports.TokenType.Dimension,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:i,signCharacter:o,type:r,unit:String.fromCodePoint(...t)}]}return 37===n.source.codePointAt(n.cursor)?(n.advanceCodePoint(),[exports.TokenType.Percentage,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:i,signCharacter:o}]):[exports.TokenType.Number,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:i,signCharacter:o,type:r}]}function consumeWhiteSpace(e){for(;isWhitespace(e.source.codePointAt(e.cursor)??-1);)e.advanceCodePoint();return[exports.TokenType.Whitespace,e.source.slice(e.representationStart,e.representationEnd+1),e.representationStart,e.representationEnd,void 0]}exports.TokenType=void 0,(c=exports.TokenType||(exports.TokenType={})).Comment=\"comment\",c.AtKeyword=\"at-keyword-token\",c.BadString=\"bad-string-token\",c.BadURL=\"bad-url-token\",c.CDC=\"CDC-token\",c.CDO=\"CDO-token\",c.Colon=\"colon-token\",c.Comma=\"comma-token\",c.Delim=\"delim-token\",c.Dimension=\"dimension-token\",c.EOF=\"EOF-token\",c.Function=\"function-token\",c.Hash=\"hash-token\",c.Ident=\"ident-token\",c.Number=\"number-token\",c.Percentage=\"percentage-token\",c.Semicolon=\"semicolon-token\",c.String=\"string-token\",c.URL=\"url-token\",c.Whitespace=\"whitespace-token\",c.OpenParen=\"(-token\",c.CloseParen=\")-token\",c.OpenSquare=\"[-token\",c.CloseSquare=\"]-token\",c.OpenCurly=\"{-token\",c.CloseCurly=\"}-token\",c.UnicodeRange=\"unicode-range-token\",exports.NumberType=void 0,(a=exports.NumberType||(exports.NumberType={})).Integer=\"integer\",a.Number=\"number\",exports.HashType=void 0,(u=exports.HashType||(exports.HashType={})).Unrestricted=\"unrestricted\",u.ID=\"id\";class Reader{cursor=0;source=\"\";representationStart=0;representationEnd=-1;constructor(e){this.source=e}advanceCodePoint(e=1){this.cursor=this.cursor+e,this.representationEnd=this.cursor-1}readCodePoint(){const e=this.source.codePointAt(this.cursor);if(void 0!==e)return this.cursor=this.cursor+1,this.representationEnd=this.cursor-1,e}unreadCodePoint(e=1){this.cursor=this.cursor-e,this.representationEnd=this.cursor-1}resetRepresentation(){this.representationStart=this.cursor,this.representationEnd=-1}}function consumeStringToken(n,t){let s=\"\";const c=t.readCodePoint();for(;;){const a=t.readCodePoint();if(void 0===a){const o=[exports.TokenType.String,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:s}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInString,t.representationStart,t.representationEnd,[\"4.3.5. Consume a string token\",\"Unexpected EOF\"],o)),o}if(isNewLine(a)){t.unreadCodePoint();const s=[exports.TokenType.BadString,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedNewLineInString,t.representationStart,t.source.codePointAt(t.cursor)===o&&t.source.codePointAt(t.cursor+1)===r?t.representationEnd+2:t.representationEnd+1,[\"4.3.5. Consume a string token\",\"Unexpected newline\"],s)),s}if(a===c)return[exports.TokenType.String,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:s}];if(92!==a)0===a||isSurrogate(a)?s+=String.fromCodePoint(i):s+=String.fromCodePoint(a);else{if(void 0===t.source.codePointAt(t.cursor))continue;if(isNewLine(t.source.codePointAt(t.cursor)??-1)){t.source.codePointAt(t.cursor)===o&&t.source.codePointAt(t.cursor+1)===r&&t.advanceCodePoint(),t.advanceCodePoint();continue}s+=String.fromCodePoint(consumeEscapedCodePoint(n,t))}}}function checkIfCodePointsMatchURLIdent(e){return!(3!==e.length||117!==e[0]&&85!==e[0]||114!==e[1]&&82!==e[1]||108!==e[2]&&76!==e[2])}function consumeBadURL(e,n){for(;;){const o=n.source.codePointAt(n.cursor);if(void 0===o)return;if(41===o)return void n.advanceCodePoint();checkIfTwoCodePointsAreAValidEscape(n)?(n.advanceCodePoint(),consumeEscapedCodePoint(e,n)):n.advanceCodePoint()}}function consumeUrlToken(n,o){for(;isWhitespace(o.source.codePointAt(o.cursor)??-1);)o.advanceCodePoint();let t=\"\";for(;;){if(void 0===o.source.codePointAt(o.cursor)){const r=[exports.TokenType.URL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:t}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,o.representationStart,o.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected EOF\"],r)),r}if(41===o.source.codePointAt(o.cursor))return o.advanceCodePoint(),[exports.TokenType.URL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:t}];if(isWhitespace(o.source.codePointAt(o.cursor)??-1)){for(o.advanceCodePoint();isWhitespace(o.source.codePointAt(o.cursor)??-1);)o.advanceCodePoint();if(void 0===o.source.codePointAt(o.cursor)){const r=[exports.TokenType.URL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:t}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,o.representationStart,o.representationEnd,[\"4.3.6. Consume a url token\",\"Consume as much whitespace as possible\",\"Unexpected EOF\"],r)),r}return 41===o.source.codePointAt(o.cursor)?(o.advanceCodePoint(),[exports.TokenType.URL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:t}]):(consumeBadURL(n,o),[exports.TokenType.BadURL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0])}const s=o.source.codePointAt(o.cursor);if(34===s||39===s||40===s||(11===(r=s??-1)||127===r||0<=r&&r<=8||14<=r&&r<=31)){consumeBadURL(n,o);const t=[exports.TokenType.BadURL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedCharacterInURL,o.representationStart,o.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected U+0022 QUOTATION MARK (\\\"), U+0027 APOSTROPHE ('), U+0028 LEFT PARENTHESIS (() or non-printable code point\"],t)),t}if(92===s){if(checkIfTwoCodePointsAreAValidEscape(o)){o.advanceCodePoint(),t+=String.fromCodePoint(consumeEscapedCodePoint(n,o));continue}consumeBadURL(n,o);const r=[exports.TokenType.BadURL,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceInURL,o.representationStart,o.representationEnd,[\"4.3.6. Consume a url token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],r)),r}0===o.source.codePointAt(o.cursor)||isSurrogate(o.source.codePointAt(o.cursor)??-1)?(t+=String.fromCodePoint(i),o.advanceCodePoint()):(t+=o.source[o.cursor],o.advanceCodePoint())}var r}function consumeIdentLikeToken(e,n){const o=consumeIdentSequence(e,n);if(40!==n.source.codePointAt(n.cursor))return[exports.TokenType.Ident,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o)}];if(checkIfCodePointsMatchURLIdent(o)){n.advanceCodePoint();let t=0;for(;;){const e=isWhitespace(n.source.codePointAt(n.cursor)??-1),r=isWhitespace(n.source.codePointAt(n.cursor+1)??-1);if(e&&r){t+=1,n.advanceCodePoint(1);continue}const s=e?n.source.codePointAt(n.cursor+1):n.source.codePointAt(n.cursor);if(34===s||39===s)return t>0&&n.unreadCodePoint(t),[exports.TokenType.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o)}];break}return consumeUrlToken(e,n)}return n.advanceCodePoint(),[exports.TokenType.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o)}]}function checkIfThreeCodePointsWouldStartAUnicodeRange(e){return!(117!==e.source.codePointAt(e.cursor)&&85!==e.source.codePointAt(e.cursor)||e.source.codePointAt(e.cursor+1)!==s||63!==e.source.codePointAt(e.cursor+2)&&!isHexDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1))}function consumeUnicodeRangeToken(e,n){n.advanceCodePoint(2);const o=[],r=[];let s;for(;void 0!==(s=n.source.codePointAt(n.cursor))&&o.length<6&&isHexDigitCodePoint(s);)o.push(s),n.advanceCodePoint();for(;void 0!==(s=n.source.codePointAt(n.cursor))&&o.length<6&&63===s;)0===r.length&&r.push(...o),o.push(48),r.push(70),n.advanceCodePoint();if(!r.length&&n.source.codePointAt(n.cursor)===t&&isHexDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint();void 0!==(s=n.source.codePointAt(n.cursor))&&r.length<6&&isHexDigitCodePoint(s);)r.push(s),n.advanceCodePoint();if(!r.length){const e=parseInt(String.fromCodePoint(...o),16);return[exports.TokenType.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:e,endOfRange:e}]}const i=parseInt(String.fromCodePoint(...o),16),c=parseInt(String.fromCodePoint(...r),16);return[exports.TokenType.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:i,endOfRange:c}]}function tokenizer(n,i){const c=n.css.valueOf(),a=n.unicodeRangesAllowed??!1,u=new Reader(c),d={onParseError:i?.onParseError??noop};return{nextToken:function nextToken(){u.resetRepresentation();const n=u.source.codePointAt(u.cursor);if(void 0===n)return[exports.TokenType.EOF,\"\",-1,-1,void 0];if(47===n&&checkIfTwoCodePointsStartAComment(u))return consumeComment(d,u);if(a&&(117===n||85===n)&&checkIfThreeCodePointsWouldStartAUnicodeRange(u))return consumeUnicodeRangeToken(0,u);if(isIdentStartCodePoint(n))return consumeIdentLikeToken(d,u);if(isDigitCodePoint(n))return consumeNumericToken(d,u);switch(n){case 44:return u.advanceCodePoint(),[exports.TokenType.Comma,\",\",u.representationStart,u.representationEnd,void 0];case 58:return u.advanceCodePoint(),[exports.TokenType.Colon,\":\",u.representationStart,u.representationEnd,void 0];case 59:return u.advanceCodePoint(),[exports.TokenType.Semicolon,\";\",u.representationStart,u.representationEnd,void 0];case 40:return u.advanceCodePoint(),[exports.TokenType.OpenParen,\"(\",u.representationStart,u.representationEnd,void 0];case 41:return u.advanceCodePoint(),[exports.TokenType.CloseParen,\")\",u.representationStart,u.representationEnd,void 0];case 91:return u.advanceCodePoint(),[exports.TokenType.OpenSquare,\"[\",u.representationStart,u.representationEnd,void 0];case 93:return u.advanceCodePoint(),[exports.TokenType.CloseSquare,\"]\",u.representationStart,u.representationEnd,void 0];case 123:return u.advanceCodePoint(),[exports.TokenType.OpenCurly,\"{\",u.representationStart,u.representationEnd,void 0];case 125:return u.advanceCodePoint(),[exports.TokenType.CloseCurly,\"}\",u.representationStart,u.representationEnd,void 0];case 39:case 34:return consumeStringToken(d,u);case 35:return consumeHashToken(d,u);case s:case 46:return checkIfThreeCodePointsWouldStartANumber(u)?consumeNumericToken(d,u):(u.advanceCodePoint(),[exports.TokenType.Delim,u.source[u.representationStart],u.representationStart,u.representationEnd,{value:u.source[u.representationStart]}]);case r:case o:case 12:case 9:case 32:return consumeWhiteSpace(u);case t:return checkIfThreeCodePointsWouldStartANumber(u)?consumeNumericToken(d,u):checkIfThreeCodePointsWouldStartCDC(u)?(u.advanceCodePoint(3),[exports.TokenType.CDC,\"--\\x3e\",u.representationStart,u.representationEnd,void 0]):checkIfThreeCodePointsWouldStartAnIdentSequence(0,u)?consumeIdentLikeToken(d,u):(u.advanceCodePoint(),[exports.TokenType.Delim,\"-\",u.representationStart,u.representationEnd,{value:\"-\"}]);case 60:return checkIfFourCodePointsWouldStartCDO(u)?(u.advanceCodePoint(4),[exports.TokenType.CDO,\"\\x3c!--\",u.representationStart,u.representationEnd,void 0]):(u.advanceCodePoint(),[exports.TokenType.Delim,\"<\",u.representationStart,u.representationEnd,{value:\"<\"}]);case 64:if(u.advanceCodePoint(),checkIfThreeCodePointsWouldStartAnIdentSequence(0,u)){const e=consumeIdentSequence(d,u);return[exports.TokenType.AtKeyword,u.source.slice(u.representationStart,u.representationEnd+1),u.representationStart,u.representationEnd,{value:String.fromCodePoint(...e)}]}return[exports.TokenType.Delim,\"@\",u.representationStart,u.representationEnd,{value:\"@\"}];case 92:{if(checkIfTwoCodePointsAreAValidEscape(u))return consumeIdentLikeToken(d,u);u.advanceCodePoint();const n=[exports.TokenType.Delim,\"\\\\\",u.representationStart,u.representationEnd,{value:\"\\\\\"}];return d.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceAfterBackslash,u.representationStart,u.representationEnd,[\"4.3.1. Consume a token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],n)),n}}return u.advanceCodePoint(),[exports.TokenType.Delim,u.source[u.representationStart],u.representationStart,u.representationEnd,{value:u.source[u.representationStart]}]},endOfFile:function endOfFile(){return void 0===u.source.codePointAt(u.cursor)}}}function noop(){}function serializeIdent(e){let n=0;if(0===e[0])e.splice(0,1,i),n=1;else if(e[0]===t&&e[1]===t)n=2;else if(e[0]===t&&e[1])n=2,isIdentStartCodePoint(e[1])||(n+=insertEscapedCodePoint(e,1,e[1]));else{if(e[0]===t&&!e[1])return[92,e[0]];isIdentStartCodePoint(e[0])?n=1:(n=1,n+=insertEscapedCodePoint(e,0,e[0]))}for(let o=n;o {\n return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n if (exports.is(value)) {\n return utils.implForWrapper(value);\n }\n throw new globalObject.TypeError(`${context} is not of type 'FileList'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n let proto;\n if (newTarget !== undefined) {\n proto = newTarget.prototype;\n }\n\n if (!utils.isObject(proto)) {\n proto = globalObject[ctorRegistrySymbol][\"FileList\"].prototype;\n }\n\n return Object.create(proto);\n}\n\nfunction makeProxy(wrapper, globalObject) {\n let proxyHandler = proxyHandlerCache.get(globalObject);\n if (proxyHandler === undefined) {\n proxyHandler = new ProxyHandler(globalObject);\n proxyHandlerCache.set(globalObject, proxyHandler);\n }\n return new Proxy(wrapper, proxyHandler);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n const wrapper = makeWrapper(globalObject);\n return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n const wrapper = exports.create(globalObject, constructorArgs, privateData);\n return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n privateData.wrapper = wrapper;\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: new Impl.implementation(globalObject, constructorArgs, privateData),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n let wrapper = makeWrapper(globalObject, newTarget);\n\n exports._internalSetup(wrapper, globalObject);\n Object.defineProperty(wrapper, implSymbol, {\n value: Object.create(Impl.implementation.prototype),\n configurable: true\n });\n\n wrapper = makeProxy(wrapper, globalObject);\n\n wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n if (Impl.init) {\n Impl.init(wrapper[implSymbol]);\n }\n return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n if (!globalNames.some(globalName => exposed.has(globalName))) {\n return;\n }\n\n const ctorRegistry = utils.initCtorRegistry(globalObject);\n class FileList {\n constructor() {\n throw new globalObject.TypeError(\"Illegal constructor\");\n }\n\n item(index) {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'item' called on an object that is not a valid instance of FileList.\");\n }\n\n if (arguments.length < 1) {\n throw new globalObject.TypeError(\n `Failed to execute 'item' on 'FileList': 1 argument required, but only ${arguments.length} present.`\n );\n }\n const args = [];\n {\n let curArg = arguments[0];\n curArg = conversions[\"unsigned long\"](curArg, {\n context: \"Failed to execute 'item' on 'FileList': parameter 1\",\n globals: globalObject\n });\n args.push(curArg);\n }\n return utils.tryWrapperForImpl(esValue[implSymbol].item(...args));\n }\n\n get length() {\n const esValue = this !== null && this !== undefined ? this : globalObject;\n\n if (!exports.is(esValue)) {\n throw new globalObject.TypeError(\"'get length' called on an object that is not a valid instance of FileList.\");\n }\n\n return esValue[implSymbol][\"length\"];\n }\n }\n Object.defineProperties(FileList.prototype, {\n item: { enumerable: true },\n length: { enumerable: true },\n [Symbol.toStringTag]: { value: \"FileList\", configurable: true },\n [Symbol.iterator]: { value: globalObject.Array.prototype[Symbol.iterator], configurable: true, writable: true }\n });\n ctorRegistry[interfaceName] = FileList;\n\n Object.defineProperty(globalObject, interfaceName, {\n configurable: true,\n writable: true,\n value: FileList\n });\n};\n\nconst proxyHandlerCache = new WeakMap();\nclass ProxyHandler {\n constructor(globalObject) {\n this._globalObject = globalObject;\n }\n\n get(target, P, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.get(target, P, receiver);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc === undefined) {\n const parent = Object.getPrototypeOf(target);\n if (parent === null) {\n return undefined;\n }\n return Reflect.get(target, P, receiver);\n }\n if (!desc.get && !desc.set) {\n return desc.value;\n }\n const getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return Reflect.apply(getter, receiver, []);\n }\n\n has(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.has(target, P);\n }\n const desc = this.getOwnPropertyDescriptor(target, P);\n if (desc !== undefined) {\n return true;\n }\n const parent = Object.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.has(parent, P);\n }\n return false;\n }\n\n ownKeys(target) {\n const keys = new Set();\n\n for (const key of target[implSymbol][utils.supportedPropertyIndices]) {\n keys.add(`${key}`);\n }\n\n for (const key of Reflect.ownKeys(target)) {\n keys.add(key);\n }\n return [...keys];\n }\n\n getOwnPropertyDescriptor(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n let ignoreNamedProps = false;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n return {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n ignoreNamedProps = true;\n }\n\n return Reflect.getOwnPropertyDescriptor(target, P);\n }\n\n set(target, P, V, receiver) {\n if (typeof P === \"symbol\") {\n return Reflect.set(target, P, V, receiver);\n }\n // The `receiver` argument refers to the Proxy exotic object or an object\n // that inherits from it, whereas `target` refers to the Proxy target:\n if (target[implSymbol][utils.wrapperSymbol] === receiver) {\n const globalObject = this._globalObject;\n }\n let ownDesc;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n const indexedValue = target[implSymbol].item(index);\n if (indexedValue !== null) {\n ownDesc = {\n writable: false,\n enumerable: true,\n configurable: true,\n value: utils.tryWrapperForImpl(indexedValue)\n };\n }\n }\n\n if (ownDesc === undefined) {\n ownDesc = Reflect.getOwnPropertyDescriptor(target, P);\n }\n if (ownDesc === undefined) {\n const parent = Reflect.getPrototypeOf(target);\n if (parent !== null) {\n return Reflect.set(parent, P, V, receiver);\n }\n ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };\n }\n if (!ownDesc.writable) {\n return false;\n }\n if (!utils.isObject(receiver)) {\n return false;\n }\n const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);\n let valueDesc;\n if (existingDesc !== undefined) {\n if (existingDesc.get || existingDesc.set) {\n return false;\n }\n if (!existingDesc.writable) {\n return false;\n }\n valueDesc = { value: V };\n } else {\n valueDesc = { writable: true, enumerable: true, configurable: true, value: V };\n }\n return Reflect.defineProperty(receiver, P, valueDesc);\n }\n\n defineProperty(target, P, desc) {\n if (typeof P === \"symbol\") {\n return Reflect.defineProperty(target, P, desc);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n return false;\n }\n\n return Reflect.defineProperty(target, P, desc);\n }\n\n deleteProperty(target, P) {\n if (typeof P === \"symbol\") {\n return Reflect.deleteProperty(target, P);\n }\n\n const globalObject = this._globalObject;\n\n if (utils.isArrayIndexPropName(P)) {\n const index = P >>> 0;\n return !(target[implSymbol].item(index) !== null);\n }\n\n return Reflect.deleteProperty(target, P);\n }\n\n preventExtensions() {\n return false;\n }\n}\n\nconst Impl = require(\"../file-api/FileList-impl.js\");\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","/**\n * These are commonly used parsers for CSS Values they take a string to parse\n * and return a string after it's been converted, if needed\n */\n\"use strict\";\n\nconst { resolve: resolveColor, utils } = require(\"@asamuzakjp/css-color\");\nconst { asciiLowercase } = require(\"./utils/strings\");\n\nconst { cssCalc, isColor, isGradient, splitValue } = utils;\n\n// CSS global values\n// @see https://drafts.csswg.org/css-cascade-5/#defaulting-keywords\nconst GLOBAL_VALUE = Object.freeze([\"initial\", \"inherit\", \"unset\", \"revert\", \"revert-layer\"]);\n\n// Numeric data types\nconst NUM_TYPE = Object.freeze({\n UNDEFINED: 0,\n VAR: 1,\n NUMBER: 2,\n PERCENT: 4,\n LENGTH: 8,\n ANGLE: 0x10,\n CALC: 0x20\n});\n\n// System colors\n// @see https://drafts.csswg.org/css-color/#css-system-colors\n// @see https://drafts.csswg.org/css-color/#deprecated-system-colors\nconst SYS_COLOR = Object.freeze([\n \"accentcolor\",\n \"accentcolortext\",\n \"activeborder\",\n \"activecaption\",\n \"activetext\",\n \"appworkspace\",\n \"background\",\n \"buttonborder\",\n \"buttonface\",\n \"buttonhighlight\",\n \"buttonshadow\",\n \"buttontext\",\n \"canvas\",\n \"canvastext\",\n \"captiontext\",\n \"field\",\n \"fieldtext\",\n \"graytext\",\n \"highlight\",\n \"highlighttext\",\n \"inactiveborder\",\n \"inactivecaption\",\n \"inactivecaptiontext\",\n \"infobackground\",\n \"infotext\",\n \"linktext\",\n \"mark\",\n \"marktext\",\n \"menu\",\n \"menutext\",\n \"scrollbar\",\n \"selecteditem\",\n \"selecteditemtext\",\n \"threeddarkshadow\",\n \"threedface\",\n \"threedhighlight\",\n \"threedlightshadow\",\n \"threedshadow\",\n \"visitedtext\",\n \"window\",\n \"windowframe\",\n \"windowtext\"\n]);\n\n// Regular expressions\nconst DIGIT = \"(?:0|[1-9]\\\\d*)\";\nconst NUMBER = `[+-]?(?:${DIGIT}(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:e-?${DIGIT})?`;\nconst unitRegEx = new RegExp(`^(${NUMBER})([a-z]+|%)?$`, \"i\");\nconst urlRegEx = /^url\\(\\s*((?:[^)]|\\\\\\))*)\\s*\\)$/;\nconst keywordRegEx = /^[a-z]+(?:-[a-z]+)*$/i;\nconst stringRegEx = /^(\"[^\"]*\"|'[^']*')$/;\nconst varRegEx = /^var\\(/;\nconst varContainedRegEx = /(?<=[*/\\s(])var\\(/;\nconst calcRegEx =\n /^(?:a?(?:cos|sin|tan)|abs|atan2|calc|clamp|exp|hypot|log|max|min|mod|pow|rem|round|sign|sqrt)\\(/;\nconst functionRegEx = /^([a-z][a-z\\d]*(?:-[a-z\\d]+)*)\\(/i;\n\nconst getNumericType = function getNumericType(val) {\n if (varRegEx.test(val)) {\n return NUM_TYPE.VAR;\n }\n if (calcRegEx.test(val)) {\n return NUM_TYPE.CALC;\n }\n if (unitRegEx.test(val)) {\n const [, , unit] = unitRegEx.exec(val);\n if (!unit) {\n return NUM_TYPE.NUMBER;\n }\n if (unit === \"%\") {\n return NUM_TYPE.PERCENT;\n }\n if (/^(?:[cm]m|[dls]?v(?:[bhiw]|max|min)|in|p[ctx]|q|r?(?:[cl]h|cap|e[mx]|ic))$/i.test(unit)) {\n return NUM_TYPE.LENGTH;\n }\n if (/^(?:deg|g?rad|turn)$/i.test(unit)) {\n return NUM_TYPE.ANGLE;\n }\n }\n return NUM_TYPE.UNDEFINED;\n};\n\n// Prepare stringified value.\nexports.prepareValue = function prepareValue(value, globalObject = globalThis) {\n // `null` is converted to an empty string.\n // @see https://webidl.spec.whatwg.org/#LegacyNullToEmptyString\n if (value === null) {\n return \"\";\n }\n const type = typeof value;\n switch (type) {\n case \"string\":\n return value.trim();\n case \"number\":\n return value.toString();\n case \"undefined\":\n return \"undefined\";\n case \"symbol\":\n throw new globalObject.TypeError(\"Can not convert symbol to string.\");\n default: {\n const str = value.toString();\n if (typeof str === \"string\") {\n return str;\n }\n throw new globalObject.TypeError(`Can not convert ${type} to string.`);\n }\n }\n};\n\nexports.hasVarFunc = function hasVarFunc(val) {\n return varRegEx.test(val) || varContainedRegEx.test(val);\n};\n\nexports.parseNumber = function parseNumber(val, restrictToPositive = false) {\n if (val === \"\") {\n return \"\";\n }\n const type = getNumericType(val);\n switch (type) {\n case NUM_TYPE.VAR:\n return val;\n case NUM_TYPE.CALC:\n return cssCalc(val, {\n format: \"specifiedValue\"\n });\n case NUM_TYPE.NUMBER: {\n const num = parseFloat(val);\n if (restrictToPositive && num < 0) {\n return;\n }\n return `${num}`;\n }\n default:\n if (varContainedRegEx.test(val)) {\n return val;\n }\n }\n};\n\nexports.parseLength = function parseLength(val, restrictToPositive = false) {\n if (val === \"\") {\n return \"\";\n }\n const type = getNumericType(val);\n switch (type) {\n case NUM_TYPE.VAR:\n return val;\n case NUM_TYPE.CALC:\n return cssCalc(val, {\n format: \"specifiedValue\"\n });\n case NUM_TYPE.NUMBER:\n if (parseFloat(val) === 0) {\n return \"0px\";\n }\n return;\n case NUM_TYPE.LENGTH: {\n const [, numVal, unit] = unitRegEx.exec(val);\n const num = parseFloat(numVal);\n if (restrictToPositive && num < 0) {\n return;\n }\n return `${num}${asciiLowercase(unit)}`;\n }\n default:\n if (varContainedRegEx.test(val)) {\n return val;\n }\n }\n};\n\nexports.parsePercent = function parsePercent(val, restrictToPositive = false) {\n if (val === \"\") {\n return \"\";\n }\n const type = getNumericType(val);\n switch (type) {\n case NUM_TYPE.VAR:\n return val;\n case NUM_TYPE.CALC:\n return cssCalc(val, {\n format: \"specifiedValue\"\n });\n case NUM_TYPE.NUMBER:\n if (parseFloat(val) === 0) {\n return \"0%\";\n }\n return;\n case NUM_TYPE.PERCENT: {\n const [, numVal, unit] = unitRegEx.exec(val);\n const num = parseFloat(numVal);\n if (restrictToPositive && num < 0) {\n return;\n }\n return `${num}${asciiLowercase(unit)}`;\n }\n default:\n if (varContainedRegEx.test(val)) {\n return val;\n }\n }\n};\n\n// Either a length or a percent.\nexports.parseMeasurement = function parseMeasurement(val, restrictToPositive = false) {\n if (val === \"\") {\n return \"\";\n }\n const type = getNumericType(val);\n switch (type) {\n case NUM_TYPE.VAR:\n return val;\n case NUM_TYPE.CALC:\n return cssCalc(val, {\n format: \"specifiedValue\"\n });\n case NUM_TYPE.NUMBER:\n if (parseFloat(val) === 0) {\n return \"0px\";\n }\n return;\n case NUM_TYPE.LENGTH:\n case NUM_TYPE.PERCENT: {\n const [, numVal, unit] = unitRegEx.exec(val);\n const num = parseFloat(numVal);\n if (restrictToPositive && num < 0) {\n return;\n }\n return `${num}${asciiLowercase(unit)}`;\n }\n default:\n if (varContainedRegEx.test(val)) {\n return val;\n }\n }\n};\n\nexports.parseAngle = function parseAngle(val, normalizeDeg = false) {\n if (val === \"\") {\n return \"\";\n }\n const type = getNumericType(val);\n switch (type) {\n case NUM_TYPE.VAR:\n return val;\n case NUM_TYPE.CALC:\n return cssCalc(val, {\n format: \"specifiedValue\"\n });\n case NUM_TYPE.NUMBER:\n if (parseFloat(val) === 0) {\n return \"0deg\";\n }\n return;\n case NUM_TYPE.ANGLE: {\n let [, numVal, unit] = unitRegEx.exec(val);\n numVal = parseFloat(numVal);\n unit = asciiLowercase(unit);\n if (unit === \"deg\") {\n if (normalizeDeg && numVal < 0) {\n while (numVal < 0) {\n numVal += 360;\n }\n }\n numVal %= 360;\n }\n return `${numVal}${unit}`;\n }\n default:\n if (varContainedRegEx.test(val)) {\n return val;\n }\n }\n};\n\nexports.parseUrl = function parseUrl(val) {\n if (val === \"\") {\n return val;\n }\n const res = urlRegEx.exec(val);\n if (!res) {\n return;\n }\n let str = res[1];\n // If it starts with single or double quotes, does it end with the same?\n if ((str[0] === '\"' || str[0] === \"'\") && str[0] !== str[str.length - 1]) {\n return;\n }\n if (str[0] === '\"' || str[0] === \"'\") {\n str = str.substr(1, str.length - 2);\n }\n let urlstr = \"\";\n let escaped = false;\n for (let i = 0; i < str.length; i++) {\n switch (str[i]) {\n case \"\\\\\":\n if (escaped) {\n urlstr += \"\\\\\\\\\";\n escaped = false;\n } else {\n escaped = true;\n }\n break;\n case \"(\":\n case \")\":\n case \" \":\n case \"\\t\":\n case \"\\n\":\n case \"'\":\n if (!escaped) {\n return;\n }\n urlstr += str[i];\n escaped = false;\n break;\n case '\"':\n if (!escaped) {\n return;\n }\n urlstr += '\\\\\"';\n escaped = false;\n break;\n default:\n urlstr += str[i];\n escaped = false;\n }\n }\n return `url(\"${urlstr}\")`;\n};\n\nexports.parseString = function parseString(val) {\n if (val === \"\") {\n return \"\";\n }\n if (!stringRegEx.test(val)) {\n return;\n }\n val = val.substr(1, val.length - 2);\n let str = \"\";\n let escaped = false;\n for (let i = 0; i < val.length; i++) {\n switch (val[i]) {\n case \"\\\\\":\n if (escaped) {\n str += \"\\\\\\\\\";\n escaped = false;\n } else {\n escaped = true;\n }\n break;\n case '\"':\n str += '\\\\\"';\n escaped = false;\n break;\n default:\n str += val[i];\n escaped = false;\n }\n }\n return `\"${str}\"`;\n};\n\nexports.parseKeyword = function parseKeyword(val, validKeywords = []) {\n if (val === \"\") {\n return \"\";\n }\n if (varRegEx.test(val)) {\n return val;\n }\n val = asciiLowercase(val.toString());\n if (validKeywords.includes(val) || GLOBAL_VALUE.includes(val)) {\n return val;\n }\n};\n\nexports.parseColor = function parseColor(val) {\n if (val === \"\") {\n return \"\";\n }\n if (varRegEx.test(val)) {\n return val;\n }\n if (/^[a-z]+$/i.test(val)) {\n const v = asciiLowercase(val);\n if (SYS_COLOR.includes(v)) {\n return v;\n }\n }\n const res = resolveColor(val, {\n format: \"specifiedValue\"\n });\n if (res) {\n return res;\n }\n return exports.parseKeyword(val);\n};\n\nexports.parseImage = function parseImage(val) {\n if (val === \"\") {\n return \"\";\n }\n if (varRegEx.test(val)) {\n return val;\n }\n if (keywordRegEx.test(val)) {\n return exports.parseKeyword(val, [\"none\"]);\n }\n const values = splitValue(val, {\n delimiter: \",\",\n preserveComment: varContainedRegEx.test(val)\n });\n let isImage = Boolean(values.length);\n for (let i = 0; i < values.length; i++) {\n const image = values[i];\n if (image === \"\") {\n return \"\";\n }\n if (isGradient(image) || /^(?:none|inherit)$/i.test(image)) {\n continue;\n }\n const imageUrl = exports.parseUrl(image);\n if (imageUrl) {\n values[i] = imageUrl;\n } else {\n isImage = false;\n break;\n }\n }\n if (isImage) {\n return values.join(\", \");\n }\n};\n\nexports.parseFunction = function parseFunction(val) {\n if (val === \"\") {\n return {\n name: null,\n value: \"\"\n };\n }\n if (functionRegEx.test(val) && val.endsWith(\")\")) {\n if (varRegEx.test(val) || varContainedRegEx.test(val)) {\n return {\n name: \"var\",\n value: val\n };\n }\n const [, name] = functionRegEx.exec(val);\n const value = val\n .replace(new RegExp(`^${name}\\\\(`), \"\")\n .replace(/\\)$/, \"\")\n .trim();\n return {\n name,\n value\n };\n }\n};\n\nexports.parseShorthand = function parseShorthand(val, shorthandFor, preserve = false) {\n const obj = {};\n if (val === \"\" || exports.hasVarFunc(val)) {\n for (const [property] of shorthandFor) {\n obj[property] = \"\";\n }\n return obj;\n }\n const key = exports.parseKeyword(val);\n if (key) {\n if (key === \"inherit\") {\n return obj;\n }\n return;\n }\n const parts = splitValue(val);\n const shorthandArr = [...shorthandFor];\n for (const part of parts) {\n let partValid = false;\n for (let i = 0; i < shorthandArr.length; i++) {\n const [property, value] = shorthandArr[i];\n if (value.isValid(part)) {\n partValid = true;\n obj[property] = value.parse(part);\n if (!preserve) {\n shorthandArr.splice(i, 1);\n break;\n }\n }\n }\n if (!partValid) {\n return;\n }\n }\n return obj;\n};\n\n// Returns `false` for global values, e.g. \"inherit\".\nexports.isValidColor = function isValidColor(val) {\n if (SYS_COLOR.includes(asciiLowercase(val))) {\n return true;\n }\n return isColor(val);\n};\n\n// Splits value into an array.\n// @see https://github.com/asamuzaK/cssColor/blob/main/src/js/util.ts\nexports.splitValue = splitValue;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","\"use strict\";\nconst { solelyContainsHTTPTokenCodePoints } = require(\"./utils.js\");\n\nmodule.exports = mimeType => {\n let serialization = `${mimeType.type}/${mimeType.subtype}`;\n\n if (mimeType.parameters.size === 0) {\n return serialization;\n }\n\n for (let [name, value] of mimeType.parameters) {\n serialization += \";\";\n serialization += name;\n serialization += \"=\";\n\n if (!solelyContainsHTTPTokenCodePoints(value) || value.length === 0) {\n value = value.replace(/([\"\\\\])/ug, \"\\\\$1\");\n value = `\"${value}\"`;\n }\n\n serialization += value;\n }\n\n return serialization;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","\"use strict\";\nconst SymbolTree = require(\"symbol-tree\");\n\nexports.cloningSteps = Symbol(\"cloning steps\");\n\n// TODO: the many underscore-prefixed hooks should move here\n// E.g. _attrModified (which maybe should be split into its per-spec variants)\n\n/**\n * This SymbolTree is used to build the tree for all Node in a document\n */\nexports.domSymbolTree = new SymbolTree(\"DOM SymbolTree\");\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports._convertInherit = (globalObject, obj, ret, { context = \"The provided value\" } = {}) => {\n {\n const key = \"composed\";\n let value = obj === undefined || obj === null ? undefined : obj[key];\n if (value !== undefined) {\n value = conversions[\"boolean\"](value, {\n context: context + \" has member 'composed' that\",\n globals: globalObject\n });\n\n ret[key] = value;\n } else {\n ret[key] = false;\n }\n }\n};\n\nexports.convert = (globalObject, obj, { context = \"The provided value\" } = {}) => {\n if (obj !== undefined && typeof obj !== \"object\" && typeof obj !== \"function\") {\n throw new globalObject.TypeError(`${context} is not an object.`);\n }\n\n const ret = Object.create(null);\n exports._convertInherit(globalObject, obj, ret, { context });\n return ret;\n};\n","\"use strict\";\n\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\n\nclass HTMLModElementImpl extends HTMLElementImpl {}\n\nmodule.exports = {\n implementation: HTMLModElementImpl\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenizerMode = exports.Tokenizer = exports.Token = exports.html = exports.foreignContent = exports.ErrorCodes = exports.serializeOuter = exports.serialize = exports.Parser = exports.defaultTreeAdapter = void 0;\nexports.parse = parse;\nexports.parseFragment = parseFragment;\nconst index_js_1 = require(\"./parser/index.js\");\nvar default_js_1 = require(\"./tree-adapters/default.js\");\nObject.defineProperty(exports, \"defaultTreeAdapter\", { enumerable: true, get: function () { return default_js_1.defaultTreeAdapter; } });\nvar index_js_2 = require(\"./parser/index.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return index_js_2.Parser; } });\nvar index_js_3 = require(\"./serializer/index.js\");\nObject.defineProperty(exports, \"serialize\", { enumerable: true, get: function () { return index_js_3.serialize; } });\nObject.defineProperty(exports, \"serializeOuter\", { enumerable: true, get: function () { return index_js_3.serializeOuter; } });\nvar error_codes_js_1 = require(\"./common/error-codes.js\");\nObject.defineProperty(exports, \"ErrorCodes\", { enumerable: true, get: function () { return error_codes_js_1.ERR; } });\n/** @internal */\nexports.foreignContent = require(\"./common/foreign-content.js\");\nexports.html = require(\"./common/html.js\");\nexports.Token = require(\"./common/token.js\");\n/** @internal */\nvar index_js_4 = require(\"./tokenizer/index.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return index_js_4.Tokenizer; } });\nObject.defineProperty(exports, \"TokenizerMode\", { enumerable: true, get: function () { return index_js_4.TokenizerMode; } });\n// Shorthands\n/**\n * Parses an HTML string.\n *\n * @param html Input HTML string.\n * @param options Parsing options.\n * @returns Document\n *\n * @example\n *\n * ```js\n * const parse5 = require('parse5');\n *\n * const document = parse5.parse('Hi there!');\n *\n * console.log(document.childNodes[1].tagName); //> 'html'\n *```\n */\nfunction parse(html, options) {\n return index_js_1.Parser.parse(html, options);\n}\nfunction parseFragment(fragmentContext, html, options) {\n if (typeof fragmentContext === 'string') {\n options = html;\n html = fragmentContext;\n fragmentContext = null;\n }\n const parser = index_js_1.Parser.getFragmentParser(fragmentContext, options);\n parser.tokenizer.write(html, true);\n return parser.getFragment();\n}\n","\"use strict\";\nconst HTMLElementImpl = require(\"./HTMLElement-impl\").implementation;\nconst { removeStylesheet, createStylesheet } = require(\"../helpers/stylesheets\");\nconst { childTextContent } = require(\"../helpers/text\");\nconst { asciiCaseInsensitiveMatch } = require(\"../helpers/strings\");\n\nclass HTMLStyleElementImpl extends HTMLElementImpl {\n constructor(globalObject, args, privateData) {\n super(globalObject, args, privateData);\n\n this.sheet = null;\n this._isOnStackOfOpenElements = false;\n }\n\n _attach() {\n super._attach();\n if (!this._isOnStackOfOpenElements) {\n this._updateAStyleBlock();\n }\n }\n\n _detach() {\n super._detach();\n if (!this._isOnStackOfOpenElements) {\n this._updateAStyleBlock();\n }\n }\n\n _childTextContentChangeSteps() {\n super._childTextContentChangeSteps();\n\n // This guard is not required by the spec, but should be unobservable (since you can't run script during the middle\n // of parsing a \"),\n currentlyRenderingBoundaryHasStylesToHoist = !1,\n destinationHasCapacity = !0;\nfunction flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules,\n hrefs = styleQueue.hrefs,\n i = 0;\n if (hrefs.length) {\n writeChunk(this, lateStyleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n for (writeChunk(this, lateStyleTagResourceOpen2); i < hrefs.length - 1; i++)\n writeChunk(this, hrefs[i]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[i]);\n writeChunk(this, lateStyleTagResourceOpen3);\n for (i = 0; i < rules.length; i++) writeChunk(this, rules[i]);\n destinationHasCapacity = writeChunkAndReturn(\n this,\n lateStyleTagTemplateClose\n );\n currentlyRenderingBoundaryHasStylesToHoist = !0;\n rules.length = 0;\n hrefs.length = 0;\n }\n}\nfunction hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state\n ? (currentlyRenderingBoundaryHasStylesToHoist = !0)\n : !1;\n}\nfunction writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = !1;\n destinationHasCapacity = !0;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist &&\n (renderState.stylesToHoist = !0);\n return destinationHasCapacity;\n}\nfunction flushResource(resource) {\n for (var i = 0; i < resource.length; i++) writeChunk(this, resource[i]);\n resource.length = 0;\n}\nvar stylesheetFlushingQueue = [];\nfunction flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n writeChunk(this, stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n}\nvar styleTagResourceOpen1 = stringToPrecomputedChunk(\n '\");\nfunction flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules,\n hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n writeChunk(this, styleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (\n writeChunk(this, styleTagResourceOpen2);\n styleQueue < hrefs.length - 1;\n styleQueue++\n )\n writeChunk(this, hrefs[styleQueue]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[styleQueue]);\n }\n writeChunk(this, styleTagResourceOpen3);\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n writeChunk(this, rules[styleQueue]);\n writeChunk(this, styleTagResourceClose);\n rules.length = 0;\n hrefs.length = 0;\n }\n}\nfunction preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (\n stylesheet = 0;\n stylesheet < stylesheetFlushingQueue.length;\n stylesheet++\n )\n writeChunk(this, stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n}\nfunction preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n}\nvar arrayFirstOpenBracket = stringToPrecomputedChunk(\"[\"),\n arraySubsequentOpenBracket = stringToPrecomputedChunk(\",[\"),\n arrayInterstitial = stringToPrecomputedChunk(\",\"),\n arrayCloseBracket = stringToPrecomputedChunk(\"]\");\nfunction writeStyleResourceDependenciesInJS(destination, hoistableState) {\n writeChunk(destination, arrayFirstOpenBracket);\n var nextArrayOpenBrackChunk = arrayFirstOpenBracket;\n hoistableState.stylesheets.forEach(function (resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n writeChunk(destination, nextArrayOpenBrackChunk),\n writeChunk(\n destination,\n stringToChunk(\n escapeJSObjectForInstructionScripts(\"\" + resource.props.href)\n )\n ),\n writeChunk(destination, arrayCloseBracket),\n (nextArrayOpenBrackChunk = arraySubsequentOpenBracket);\n else {\n writeChunk(destination, nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"],\n props = resource.props,\n coercedHref = sanitizeURL(\"\" + resource.props.href);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(coercedHref))\n );\n precedence = \"\" + precedence;\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(precedence))\n );\n for (var propKey in props)\n if (\n hasOwnProperty.call(props, propKey) &&\n ((precedence = props[propKey]), null != precedence)\n )\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n writeChunk(destination, arrayCloseBracket);\n nextArrayOpenBrackChunk = arraySubsequentOpenBracket;\n resource.state = 3;\n }\n });\n writeChunk(destination, arrayCloseBracket);\n}\nfunction writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (!1 === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (\n (2 < name.length &&\n (\"o\" === name[0] || \"O\" === name[0]) &&\n (\"n\" === name[1] || \"N\" === name[1])) ||\n !isAttributeNameSafe(name)\n )\n return;\n name = \"\" + value;\n }\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(attributeName))\n );\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(name))\n );\n}\nfunction createHoistableState() {\n return { styles: new Set(), stylesheets: new Set() };\n}\nfunction prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (\n (JSCompiler_temp =\n resumableState && 0 < resumableState.remainingCapacity)\n )\n JSCompiler_temp =\n ((header =\n \"<\" +\n (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) +\n \">; rel=dns-prefetch\"),\n 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp\n ? ((renderState.resets.dns[href] = null),\n resumableState.preconnects && (resumableState.preconnects += \", \"),\n (resumableState.preconnects += header))\n : ((header = []),\n pushLinkImpl(header, { href: href, rel: \"dns-prefetch\" }),\n renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n}\nfunction preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket =\n \"use-credentials\" === crossOrigin\n ? \"credentials\"\n : \"string\" === typeof crossOrigin\n ? \"anonymous\"\n : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (\n (JSCompiler_temp =\n resumableState && 0 < resumableState.remainingCapacity)\n ) {\n JSCompiler_temp =\n \"<\" +\n (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) +\n \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp =\n ((header = JSCompiler_temp),\n 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp\n ? ((renderState.resets.connect[bucket][href] = null),\n resumableState.preconnects && (resumableState.preconnects += \", \"),\n (resumableState.preconnects += header))\n : ((bucket = []),\n pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href: href,\n crossOrigin: crossOrigin\n }),\n renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n}\nfunction preload(href, as, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options) {\n var imageSrcSet = options.imageSrcSet;\n var imageSizes = options.imageSizes;\n var fetchPriority = options.fetchPriority;\n }\n var key = imageSrcSet\n ? imageSrcSet + \"\\n\" + (imageSizes || \"\")\n : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState &&\n 0 < resumableState.remainingCapacity &&\n \"string\" !== typeof imageSrcSet &&\n \"high\" === fetchPriority &&\n ((header = getPreloadAsHeader(href, as, options)),\n 0 <= (resumableState.remainingCapacity -= header.length + 2))\n ? ((renderState.resets.image[key] = PRELOAD_NO_CREDS),\n resumableState.highImagePreloads &&\n (resumableState.highImagePreloads += \", \"),\n (resumableState.highImagePreloads += header))\n : ((resumableState = []),\n pushLinkImpl(\n resumableState,\n assign(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as: as },\n options\n )\n ),\n \"high\" === fetchPriority\n ? renderState.highImagePreloads.add(resumableState)\n : (renderState.bulkPreloads.add(resumableState),\n renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign({ rel: \"preload\", href: href, as: as }, options)\n );\n resumableState.styleResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign({ rel: \"preload\", href: href, as: as }, options)\n );\n resumableState.scriptResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (\n ((imageSrcSet = resumableState.unknownResources[as]),\n imageSrcSet.hasOwnProperty(href))\n )\n return;\n } else\n (imageSrcSet = {}),\n (resumableState.unknownResources[as] = imageSrcSet);\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if (\n (resumableState = renderState.headers) &&\n 0 < resumableState.remainingCapacity &&\n \"font\" === as &&\n ((key = getPreloadAsHeader(href, as, options)),\n 0 <= (resumableState.remainingCapacity -= key.length + 2))\n )\n (renderState.resets.font[href] = PRELOAD_NO_CREDS),\n resumableState.fontPreloads &&\n (resumableState.fontPreloads += \", \"),\n (resumableState.fontPreloads += key);\n else\n switch (\n ((resumableState = []),\n (href = assign({ rel: \"preload\", href: href, as: as }, options)),\n pushLinkImpl(resumableState, href),\n as)\n ) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options);\n}\nfunction preloadModule(href, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (href) {\n var as =\n options && \"string\" === typeof options.as ? options.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n (resources = {}),\n (resumableState.moduleUnknownResources[as] = resources);\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign({ rel: \"modulepreload\", href: href }, options));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options);\n}\nfunction preinitStyle(href, precedence, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence),\n resourceState = resumableState.styleResources.hasOwnProperty(href)\n ? resumableState.styleResources[href]\n : void 0;\n null !== resourceState &&\n ((resumableState.styleResources[href] = null),\n styleQueue ||\n ((styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence, styleQueue)),\n (precedence = {\n state: 0,\n props: assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n )\n }),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(precedence.props, resourceState),\n (renderState = renderState.preloads.stylesheets.get(href)) &&\n 0 < renderState.length\n ? (renderState.length = 0)\n : (precedence.state = 1)),\n styleQueue.sheets.set(href, precedence),\n enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options);\n}\nfunction preinitScript(src, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src)\n ? resumableState.scriptResources[src]\n : void 0;\n null !== resourceState &&\n ((resumableState.scriptResources[src] = null),\n (options = assign({ src: src, async: !0 }, options)),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(options, resourceState),\n (src = renderState.preloads.scripts.get(src))) &&\n (src.length = 0),\n (src = []),\n renderState.scripts.add(src),\n pushScriptImpl(src, options),\n enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options);\n}\nfunction preinitModuleScript(src, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n )\n ? resumableState.moduleScriptResources[src]\n : void 0;\n null !== resourceState &&\n ((resumableState.moduleScriptResources[src] = null),\n (options = assign({ src: src, type: \"module\", async: !0 }, options)),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(options, resourceState),\n (src = renderState.preloads.moduleScripts.get(src))) &&\n (src.length = 0),\n (src = []),\n renderState.scripts.add(src),\n pushScriptImpl(src, options),\n enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options);\n}\nfunction adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n}\nfunction getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) &&\n ((href = params[paramName]),\n \"string\" === typeof href &&\n (as +=\n \"; \" +\n paramName.toLowerCase() +\n '=\"' +\n (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) +\n '\"'));\n return as;\n}\nvar regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\nfunction escapeHrefForLinkHeaderURLContextReplacer(match) {\n switch (match) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n}\nvar regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\nfunction escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) {\n switch (match) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n}\nfunction hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n}\nfunction hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n}\nvar bind = Function.prototype.bind,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar emptyContextObject = {},\n currentActiveSnapshot = null;\nfunction popToNearestCommonAncestor(prev, next) {\n if (prev !== next) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n var parentNext = next.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next.context._currentValue = next.value;\n }\n}\nfunction popAllPrevious(prev) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n}\nfunction pushAllNext(next) {\n var parentNext = next.parent;\n null !== parentNext && pushAllNext(parentNext);\n next.context._currentValue = next.value;\n}\nfunction popPreviousToCommonLevel(prev, next) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage(402));\n prev.depth === next.depth\n ? popToNearestCommonAncestor(prev, next)\n : popPreviousToCommonLevel(prev, next);\n}\nfunction popNextToCommonLevel(prev, next) {\n var parentNext = next.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage(402));\n prev.depth === parentNext.depth\n ? popToNearestCommonAncestor(prev, parentNext)\n : popNextToCommonLevel(prev, parentNext);\n next.context._currentValue = next.value;\n}\nfunction switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot &&\n (null === prev\n ? pushAllNext(newSnapshot)\n : null === newSnapshot\n ? popAllPrevious(prev)\n : prev.depth === newSnapshot.depth\n ? popToNearestCommonAncestor(prev, newSnapshot)\n : prev.depth > newSnapshot.depth\n ? popPreviousToCommonLevel(prev, newSnapshot)\n : popNextToCommonLevel(prev, newSnapshot),\n (currentActiveSnapshot = newSnapshot));\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function (inst, payload) {\n inst = inst._reactInternals;\n inst.replace = !0;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function () {}\n },\n emptyTreeContext = { id: 1, overflow: \"\" };\nfunction pushTreeContext(baseContext, totalChildren, index) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id:\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: (1 << length) | (index << baseLength) | baseIdWithLeadingBit,\n overflow: baseContext\n };\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar SuspenseException = Error(formatProdErrorMessage(460));\nfunction noop$2() {}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$2, noop$2), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status\n ? thenable.then(noop$2, noop$2)\n : ((thenableState = thenable),\n (thenableState.status = \"pending\"),\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n ));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n currentlyRenderingComponent = null,\n currentlyRenderingTask = null,\n currentlyRenderingRequest = null,\n currentlyRenderingKeyPath = null,\n firstWorkInProgressHook = null,\n workInProgressHook = null,\n isReRender = !1,\n didScheduleRenderPhaseUpdate = !1,\n localIdCounter = 0,\n actionStateCounter = 0,\n actionStateMatchingIndex = -1,\n thenableIndexCounter = 0,\n thenableState = null,\n renderPhaseUpdates = null,\n numberOfReRenders = 0;\nfunction resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage(321));\n return currentlyRenderingComponent;\n}\nfunction createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage(312));\n return { memoizedState: null, queue: null, next: null };\n}\nfunction createWorkInProgressHook() {\n null === workInProgressHook\n ? null === firstWorkInProgressHook\n ? ((isReRender = !1),\n (firstWorkInProgressHook = workInProgressHook = createHook()))\n : ((isReRender = !0), (workInProgressHook = firstWorkInProgressHook))\n : null === workInProgressHook.next\n ? ((isReRender = !1),\n (workInProgressHook = workInProgressHook.next = createHook()))\n : ((isReRender = !0), (workInProgressHook = workInProgressHook.next));\n return workInProgressHook;\n}\nfunction getThenableStateAfterSuspending() {\n var state = thenableState;\n thenableState = null;\n return state;\n}\nfunction resetHooksState() {\n currentlyRenderingKeyPath =\n currentlyRenderingRequest =\n currentlyRenderingTask =\n currentlyRenderingComponent =\n null;\n didScheduleRenderPhaseUpdate = !1;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction useReducer(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (\n null !== renderPhaseUpdates &&\n ((init = renderPhaseUpdates.get(queue)), void 0 !== init)\n ) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do (queue = reducer(queue, init.action)), (init = init.next);\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer =\n reducer === basicStateReducer\n ? \"function\" === typeof initialArg\n ? initialArg()\n : initialArg\n : void 0 !== init\n ? init(initialArg)\n : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n}\nfunction useMemo(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = !1;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = !1;\n break a;\n }\n prevDeps = !0;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n}\nfunction dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (\n ((didScheduleRenderPhaseUpdate = !0),\n (componentIdentity = { action: action, next: null }),\n null === renderPhaseUpdates && (renderPhaseUpdates = new Map()),\n (action = renderPhaseUpdates.get(queue)),\n void 0 === action)\n )\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n}\nfunction unsupportedStartTransition() {\n throw Error(formatProdErrorMessage(394));\n}\nfunction unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage(479));\n}\nfunction useActionState(action, initialState, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++,\n request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null,\n componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) &&\n ((nextPostbackStateKey =\n void 0 !== permalink\n ? \"p\" + permalink\n : \"k\" +\n murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n )),\n postbackKey === nextPostbackStateKey &&\n ((actionStateMatchingIndex = actionStateHookIndex),\n (initialState = request[0])));\n }\n var boundAction = action.bind(null, initialState);\n action = function (payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION &&\n (action.$$FORM_ACTION = function (prefix) {\n prefix = boundAction.$$FORM_ACTION(prefix);\n void 0 !== permalink &&\n ((permalink += \"\"), (prefix.action = permalink));\n var formData = prefix.data;\n formData &&\n (null === nextPostbackStateKey &&\n (nextPostbackStateKey =\n void 0 !== permalink\n ? \"p\" + permalink\n : \"k\" +\n murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )),\n formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix;\n });\n return [initialState, action, !1];\n }\n var boundAction$22 = action.bind(null, initialState);\n return [\n initialState,\n function (payload) {\n boundAction$22(payload);\n },\n !1\n ];\n}\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index);\n}\nfunction unsupportedRefresh() {\n throw Error(formatProdErrorMessage(393));\n}\nfunction noop$1() {}\nvar HooksDispatcher = {\n readContext: function (context) {\n return context._currentValue;\n },\n use: function (usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue;\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n },\n useContext: function (context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue;\n },\n useMemo: useMemo,\n useReducer: useReducer,\n useRef: function (initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef\n ? ((initialValue = { current: initialValue }),\n (workInProgressHook.memoizedState = initialValue))\n : previousRef;\n },\n useState: function (initialState) {\n return useReducer(basicStateReducer, initialState);\n },\n useInsertionEffect: noop$1,\n useLayoutEffect: noop$1,\n useCallback: function (callback, deps) {\n return useMemo(function () {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop$1,\n useEffect: noop$1,\n useDebugValue: noop$1,\n useDeferredValue: function (value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function () {\n resolveCurrentlyRenderingComponent();\n return [!1, unsupportedStartTransition];\n },\n useId: function () {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result =\n (\n JSCompiler_inline_result &\n ~(1 << (32 - clz32(JSCompiler_inline_result) - 1))\n ).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result =\n \"\\u00ab\" + resumableState.idPrefix + \"R\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"\\u00bb\";\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n return getServerSnapshot();\n },\n useOptimistic: function (passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState: useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function () {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function (size) {\n for (var data = Array(size), i = 0; i < size; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function () {\n return unsupportedRefresh;\n }\n },\n currentResumableState = null,\n DefaultAsyncDispatcher = {\n getCacheForType: function () {\n throw Error(formatProdErrorMessage(248));\n }\n },\n prefix,\n suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent\n ? describeNativeComponentFrame(type, !0)\n : describeNativeComponentFrame(type, !1);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeNativeComponentFrame(type.render, !1);\n case REACT_MEMO_TYPE:\n return describeNativeComponentFrame(type.type, !1);\n case REACT_LAZY_TYPE:\n var lazyComponent = type,\n payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name)\n return (\n (payload = type.env),\n describeBuiltInComponentFrame(\n type.name + (payload ? \" [\" + payload + \"]\" : \"\")\n )\n );\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n}\nfunction defaultErrorHandler(error) {\n if (\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.environmentName\n ) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0]\n ? error.splice(\n 0,\n 1,\n \"%c%s%c \" + error[0],\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n )\n : error.splice(\n 0,\n 0,\n \"%c%s%c \",\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n );\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n}\nfunction noop() {}\nfunction RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n) {\n var abortSet = new Set();\n this.destination = null;\n this.flushScheduled = !1;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize =\n void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError ? defaultErrorHandler : onError;\n this.onPostpone = void 0 === onPostpone ? noop : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop : onShellReady;\n this.onShellError = void 0 === onShellError ? noop : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n}\nfunction createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n !1,\n !1\n );\n renderState.parentFlushed = !0;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n !1\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n}\nfunction createPrerenderRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n) {\n children = createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n void 0\n );\n children.trackedPostpones = {\n workingMap: new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n}\nvar currentRequest = null;\nfunction pingTask(request, task) {\n request.pingedTasks.push(task);\n 1 === request.pingedTasks.length &&\n ((request.flushScheduled = null !== request.destination),\n null !== request.trackedPostpones || 10 === request.status\n ? scheduleMicrotask(function () {\n return performWork(request);\n })\n : scheduleWork(function () {\n return performWork(request);\n }));\n}\nfunction createSuspenseBoundary(\n request,\n fallbackAbortableTasks,\n contentPreamble,\n fallbackPreamble\n) {\n return {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: !1,\n pendingTasks: 0,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks: fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble: contentPreamble,\n fallbackPreamble: fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n}\nfunction createRenderTask(\n request,\n thenableState,\n node,\n childIndex,\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n componentStack,\n isFallback\n) {\n request.allPendingTasks++;\n null === blockedBoundary\n ? request.pendingRootTasks++\n : blockedBoundary.pendingTasks++;\n var task = {\n replay: null,\n node: node,\n childIndex: childIndex,\n ping: function () {\n return pingTask(request, task);\n },\n blockedBoundary: blockedBoundary,\n blockedSegment: blockedSegment,\n blockedPreamble: blockedPreamble,\n hoistableState: hoistableState,\n abortSet: abortSet,\n keyPath: keyPath,\n formatContext: formatContext,\n context: context,\n treeContext: treeContext,\n componentStack: componentStack,\n thenableState: thenableState,\n isFallback: isFallback\n };\n abortSet.add(task);\n return task;\n}\nfunction createReplayTask(\n request,\n thenableState,\n replay,\n node,\n childIndex,\n blockedBoundary,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n componentStack,\n isFallback\n) {\n request.allPendingTasks++;\n null === blockedBoundary\n ? request.pendingRootTasks++\n : blockedBoundary.pendingTasks++;\n replay.pendingTasks++;\n var task = {\n replay: replay,\n node: node,\n childIndex: childIndex,\n ping: function () {\n return pingTask(request, task);\n },\n blockedBoundary: blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState: hoistableState,\n abortSet: abortSet,\n keyPath: keyPath,\n formatContext: formatContext,\n context: context,\n treeContext: treeContext,\n componentStack: componentStack,\n thenableState: thenableState,\n isFallback: isFallback\n };\n abortSet.add(task);\n return task;\n}\nfunction createPendingSegment(\n request,\n index,\n boundary,\n parentFormatContext,\n lastPushedText,\n textEmbedded\n) {\n return {\n status: 0,\n parentFlushed: !1,\n id: -1,\n index: index,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext: parentFormatContext,\n boundary: boundary,\n lastPushedText: lastPushedText,\n textEmbedded: textEmbedded\n };\n}\nfunction pushComponentStack(task) {\n var node = task.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task.componentStack = { parent: task.componentStack, type: node.type };\n }\n}\nfunction getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 &&\n Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: !0,\n enumerable: !0,\n get: function () {\n try {\n var info = \"\",\n node = node$jscomp$0;\n do\n (info += describeComponentStackByType(node.type)),\n (node = node.parent);\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x) {\n JSCompiler_inline_result =\n \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n}\nfunction logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n}\nfunction fatalError(request, error) {\n var onShellError = request.onShellError,\n onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination\n ? ((request.status = 14), closeWithError(request.destination, error))\n : ((request.status = 13), (request.fatalError = error));\n}\nfunction renderWithHooks(request, task, keyPath, Component, props, secondArg) {\n var prevThenableState = task.thenableState;\n task.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; )\n (didScheduleRenderPhaseUpdate = !1),\n (actionStateCounter = localIdCounter = 0),\n (actionStateMatchingIndex = -1),\n (thenableIndexCounter = 0),\n (numberOfReRenders += 1),\n (workInProgressHook = null),\n (request = Component(props, secondArg));\n resetHooksState();\n return request;\n}\nfunction finishFunctionComponent(\n request,\n task,\n keyPath,\n children,\n hasId,\n actionStateCount,\n actionStateMatchingIndex\n) {\n var didEmitActionStateMarkers = !1;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = !0;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex\n ? segment.push(formStateMarkerIsMatching)\n : segment.push(formStateMarkerIsNotMatching);\n }\n }\n actionStateCount = task.keyPath;\n task.keyPath = keyPath;\n hasId\n ? ((keyPath = task.treeContext),\n (task.treeContext = pushTreeContext(keyPath, 1, 0)),\n renderNode(request, task, children, -1),\n (task.treeContext = keyPath))\n : didEmitActionStateMarkers\n ? renderNode(request, task, children, -1)\n : renderNodeDestructive(request, task, children, -1);\n task.keyPath = actionStateCount;\n}\nfunction renderElement(request, task, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps = type.defaultProps;\n if (defaultProps) {\n newProps === props && (newProps = assign({}, newProps, props));\n for (var propName$33 in defaultProps)\n void 0 === newProps[propName$33] &&\n (newProps[propName$33] = defaultProps[propName$33]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps = type.contextType;\n \"object\" === typeof defaultProps &&\n null !== defaultProps &&\n (newProps = defaultProps._currentValue);\n newProps = new type(props, newProps);\n var initialState = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState;\n defaultProps = { queue: [], replace: !1 };\n newProps._reactInternals = defaultProps;\n ref = type.contextType;\n newProps.context =\n \"object\" === typeof ref && null !== ref\n ? ref._currentValue\n : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref &&\n ((ref = ref(props, initialState)),\n (initialState =\n null === ref || void 0 === ref\n ? initialState\n : assign({}, initialState, ref)),\n (newProps.state = initialState));\n if (\n \"function\" !== typeof type.getDerivedStateFromProps &&\n \"function\" !== typeof newProps.getSnapshotBeforeUpdate &&\n (\"function\" === typeof newProps.UNSAFE_componentWillMount ||\n \"function\" === typeof newProps.componentWillMount)\n )\n if (\n ((type = newProps.state),\n \"function\" === typeof newProps.componentWillMount &&\n newProps.componentWillMount(),\n \"function\" === typeof newProps.UNSAFE_componentWillMount &&\n newProps.UNSAFE_componentWillMount(),\n type !== newProps.state &&\n classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ),\n null !== defaultProps.queue && 0 < defaultProps.queue.length)\n )\n if (\n ((type = defaultProps.queue),\n (ref = defaultProps.replace),\n (defaultProps.queue = null),\n (defaultProps.replace = !1),\n ref && 1 === type.length)\n )\n newProps.state = type[0];\n else {\n defaultProps = ref ? type[0] : newProps.state;\n initialState = !0;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n (propName$33 = type[ref]),\n (propName$33 =\n \"function\" === typeof propName$33\n ? propName$33.call(newProps, defaultProps, props, void 0)\n : propName$33),\n null != propName$33 &&\n (initialState\n ? ((initialState = !1),\n (defaultProps = assign({}, defaultProps, propName$33)))\n : assign(defaultProps, propName$33));\n newProps.state = defaultProps;\n }\n else defaultProps.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, type, -1);\n task.keyPath = props;\n } else {\n type = renderWithHooks(request, task, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (((newProps = task.blockedSegment), null === newProps))\n (newProps = props.children),\n (defaultProps = task.formatContext),\n (initialState = task.keyPath),\n (task.formatContext = getChildFormatContext(defaultProps, type, props)),\n (task.keyPath = keyPath),\n renderNode(request, task, newProps, -1),\n (task.formatContext = defaultProps),\n (task.keyPath = initialState);\n else {\n ref = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task.blockedPreamble,\n task.hoistableState,\n task.formatContext,\n newProps.lastPushedText,\n task.isFallback\n );\n newProps.lastPushedText = !1;\n defaultProps = task.formatContext;\n initialState = task.keyPath;\n task.keyPath = keyPath;\n 3 ===\n (task.formatContext = getChildFormatContext(defaultProps, type, props))\n .insertionMode\n ? ((keyPath = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n )),\n newProps.preambleChildren.push(keyPath),\n (keyPath = createRenderTask(\n request,\n null,\n ref,\n -1,\n task.blockedBoundary,\n keyPath,\n task.blockedPreamble,\n task.hoistableState,\n request.abortableTasks,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.componentStack,\n task.isFallback\n )),\n pushComponentStack(keyPath),\n request.pingedTasks.push(keyPath))\n : renderNode(request, task, ref, -1);\n task.formatContext = defaultProps;\n task.keyPath = initialState;\n a: {\n task = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps.insertionMode) {\n request.hasBody = !0;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps.insertionMode) {\n request.hasHtml = !0;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps.insertionMode) break a;\n }\n task.push(endChunkForTag(type));\n }\n newProps.lastPushedText = !1;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, props.children, -1);\n task.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n \"hidden\" !== props.mode &&\n ((type = task.keyPath),\n (task.keyPath = keyPath),\n renderNodeDestructive(request, task, props.children, -1),\n (task.keyPath = type));\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n type = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, props.children, -1);\n task.keyPath = type;\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task.replay) {\n type = task.keyPath;\n task.keyPath = keyPath;\n keyPath = props.children;\n try {\n renderNode(request, task, keyPath, -1);\n } finally {\n task.keyPath = type;\n }\n } else {\n type = task.keyPath;\n var parentBoundary = task.blockedBoundary;\n ref = task.blockedPreamble;\n var parentHoistableState = task.hoistableState;\n propName$33 = task.blockedSegment;\n propName = props.fallback;\n props = props.children;\n var fallbackAbortSet = new Set();\n var newBoundary =\n 2 > task.formatContext.insertionMode\n ? createSuspenseBoundary(\n request,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n )\n : createSuspenseBoundary(request, fallbackAbortSet, null, null);\n null !== request.trackedPostpones &&\n (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n propName$33.chunks.length,\n newBoundary,\n task.formatContext,\n !1,\n !1\n );\n propName$33.children.push(boundarySegment);\n propName$33.lastPushedText = !1;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n contentRootSegment.parentFlushed = !0;\n if (null !== request.trackedPostpones) {\n newProps = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n defaultProps = [newProps[1], newProps[2], [], null];\n request.trackedPostpones.workingMap.set(newProps, defaultProps);\n newBoundary.trackedFallbackNode = defaultProps;\n task.blockedSegment = boundarySegment;\n task.blockedPreamble = newBoundary.fallbackPreamble;\n task.keyPath = newProps;\n boundarySegment.status = 6;\n try {\n renderNode(request, task, propName, -1),\n boundarySegment.lastPushedText &&\n boundarySegment.textEmbedded &&\n boundarySegment.chunks.push(textSeparator),\n (boundarySegment.status = 1);\n } catch (thrownValue) {\n throw (\n ((boundarySegment.status = 12 === request.status ? 3 : 4),\n thrownValue)\n );\n } finally {\n (task.blockedSegment = propName$33),\n (task.blockedPreamble = ref),\n (task.keyPath = type);\n }\n task = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task.abortSet,\n keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.componentStack,\n task.isFallback\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n } else {\n task.blockedBoundary = newBoundary;\n task.blockedPreamble = newBoundary.contentPreamble;\n task.hoistableState = newBoundary.contentState;\n task.blockedSegment = contentRootSegment;\n task.keyPath = keyPath;\n contentRootSegment.status = 6;\n try {\n if (\n (renderNode(request, task, props, -1),\n contentRootSegment.lastPushedText &&\n contentRootSegment.textEmbedded &&\n contentRootSegment.chunks.push(textSeparator),\n (contentRootSegment.status = 1),\n queueCompletedSegment(newBoundary, contentRootSegment),\n 0 === newBoundary.pendingTasks && 0 === newBoundary.status)\n ) {\n newBoundary.status = 1;\n 0 === request.pendingRootTasks &&\n task.blockedPreamble &&\n preparePreamble(request);\n break a;\n }\n } catch (thrownValue$28) {\n (newBoundary.status = 4),\n 12 === request.status\n ? ((contentRootSegment.status = 3),\n (newProps = request.fatalError))\n : ((contentRootSegment.status = 4),\n (newProps = thrownValue$28)),\n (defaultProps = getThrownInfo(task.componentStack)),\n (initialState = logRecoverableError(\n request,\n newProps,\n defaultProps\n )),\n (newBoundary.errorDigest = initialState),\n untrackBoundary(request, newBoundary);\n } finally {\n (task.blockedBoundary = parentBoundary),\n (task.blockedPreamble = ref),\n (task.hoistableState = parentHoistableState),\n (task.blockedSegment = propName$33),\n (task.keyPath = type);\n }\n task = createRenderTask(\n request,\n null,\n propName,\n -1,\n parentBoundary,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n task.formatContext,\n task.context,\n task.treeContext,\n task.componentStack,\n !0\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n if (\"ref\" in props)\n for (newBoundary in ((newProps = {}), props))\n \"ref\" !== newBoundary &&\n (newProps[newBoundary] = props[newBoundary]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE:\n renderElement(request, task, keyPath, type.type, props, ref);\n return;\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n defaultProps = props.children;\n newProps = task.keyPath;\n props = props.value;\n initialState = type._currentValue;\n type._currentValue = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState,\n value: props\n };\n task.context = type;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, defaultProps, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage(403));\n request.context._currentValue = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task.context = request;\n task.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue);\n props = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, type, -1);\n task.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage(130, null == type ? type : typeof type, \"\")\n );\n }\n}\nfunction resumeNode(request, task, segmentId, node, childIndex) {\n var prevReplay = task.replay,\n blockedBoundary = task.blockedBoundary,\n resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = !0;\n try {\n (task.replay = null),\n (task.blockedSegment = resumedSegment),\n renderNode(request, task, node, childIndex),\n (resumedSegment.status = 1),\n null === blockedBoundary\n ? (request.completedRootSegment = resumedSegment)\n : (queueCompletedSegment(blockedBoundary, resumedSegment),\n blockedBoundary.parentFlushed &&\n request.partialBoundaries.push(blockedBoundary));\n } finally {\n (task.replay = prevReplay), (task.blockedSegment = null);\n }\n}\nfunction renderNodeDestructive(request, task, node, childIndex) {\n null !== task.replay && \"number\" === typeof task.replay.slots\n ? resumeNode(request, task, task.replay.slots, node, childIndex)\n : ((task.node = node),\n (task.childIndex = childIndex),\n (node = task.componentStack),\n pushComponentStack(task),\n retryNode(request, task),\n (task.componentStack = node));\n}\nfunction retryNode(request, task) {\n var node = task.node,\n childIndex = task.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type,\n key = node.key,\n props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null,\n name = getComponentNameFromType(type),\n keyOrIndex =\n null == key ? (-1 === childIndex ? 0 : childIndex) : key;\n key = [task.keyPath, name, keyOrIndex];\n if (null !== task.replay)\n a: {\n var replay = task.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task.node;\n task.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task, key, type, props, ref);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n (x === SuspenseException ||\n \"function\" === typeof x.then)\n )\n throw (\n (task.node === keyOrIndex && (task.replay = replay),\n x)\n );\n task.replay.pendingTasks--;\n props = getThrownInfo(task.componentStack);\n key = task.blockedBoundary;\n type = x;\n props = logRecoverableError(request, type, props);\n abortRemainingReplayNodes(\n request,\n key,\n childNodes,\n name,\n type,\n props\n );\n }\n task.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex =\n null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 =\n null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task.keyPath,\n previousReplaySet = task.replay,\n parentBoundary = task.blockedBoundary,\n parentHoistableState = task.hoistableState,\n content = props.children,\n fallback = props.fallback,\n fallbackAbortSet = new Set();\n props =\n 2 > task.formatContext.insertionMode\n ? createSuspenseBoundary(\n request,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n )\n : createSuspenseBoundary(\n request,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = !0;\n props.rootSegmentID = type;\n task.blockedBoundary = props;\n task.hoistableState = props.contentState;\n task.keyPath = key;\n task.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task, content, -1);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n (props.status = 4),\n (childNodes = getThrownInfo(task.componentStack)),\n (replay = logRecoverableError(\n request,\n error,\n childNodes\n )),\n (props.errorDigest = replay),\n task.replay.pendingTasks--,\n request.clientRenderedBoundaries.push(props);\n } finally {\n (task.blockedBoundary = parentBoundary),\n (task.hoistableState = parentHoistableState),\n (task.replay = previousReplaySet),\n (task.keyPath = prevKeyPath);\n }\n task = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n task.formatContext,\n task.context,\n task.treeContext,\n task.componentStack,\n !0\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task, node, childIndex);\n return;\n }\n null === node || \"object\" !== typeof node\n ? (childNodes = null)\n : ((childNodes =\n (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||\n node[\"@@iterator\"]),\n (childNodes = \"function\" === typeof childNodes ? childNodes : null));\n if (childNodes && (childNodes = childNodes.call(node))) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do props.push(node.value), (node = childNodes.next());\n while (!node.done);\n renderChildrenArray(request, task, props, childIndex);\n }\n return;\n }\n if (\"function\" === typeof node.then)\n return (\n (task.thenableState = null),\n renderNodeDestructive(request, task, unwrapThenable(node), childIndex)\n );\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task,\n node._currentValue,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === childIndex\n ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\"\n : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n (childIndex = task.blockedSegment),\n null !== childIndex &&\n (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n (childIndex = task.blockedSegment),\n null !== childIndex &&\n (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n}\nfunction renderChildrenArray(request, task, children, childIndex) {\n var prevKeyPath = task.keyPath;\n if (\n -1 !== childIndex &&\n ((task.keyPath = [task.keyPath, \"Fragment\", childIndex]),\n null !== task.replay)\n ) {\n for (\n var replay = task.replay, replayNodes = replay.nodes, j = 0;\n j < replayNodes.length;\n j++\n ) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task, children, -1);\n if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length)\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n (x === SuspenseException || \"function\" === typeof x.then)\n )\n throw x;\n task.replay.pendingTasks--;\n children = getThrownInfo(task.componentStack);\n var boundary = task.blockedBoundary,\n error = x;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task.keyPath = prevKeyPath;\n return;\n }\n replay = task.treeContext;\n replayNodes = children.length;\n if (\n null !== task.replay &&\n ((j = task.replay.slots), null !== j && \"object\" === typeof j)\n ) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n (node = children[childIndex]),\n (task.treeContext = pushTreeContext(replay, replayNodes, childIndex)),\n (boundary = j[childIndex]),\n \"number\" === typeof boundary\n ? (resumeNode(request, task, boundary, node, childIndex),\n delete j[childIndex])\n : renderNode(request, task, node, childIndex);\n task.treeContext = replay;\n task.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n (childIndex = children[j]),\n (task.treeContext = pushTreeContext(replay, replayNodes, j)),\n renderNode(request, task, childIndex, j);\n task.treeContext = replay;\n task.keyPath = prevKeyPath;\n}\nfunction untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request &&\n ((boundary = boundary.trackedContentKeyPath),\n null !== boundary &&\n ((boundary = request.workingMap.get(boundary)),\n void 0 !== boundary &&\n ((boundary.length = 4), (boundary[2] = []), (boundary[3] = null))));\n}\nfunction spawnNewSuspendedReplayTask(request, task, thenableState) {\n return createReplayTask(\n request,\n thenableState,\n task.replay,\n task.node,\n task.childIndex,\n task.blockedBoundary,\n task.hoistableState,\n task.abortSet,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.componentStack,\n task.isFallback\n );\n}\nfunction spawnNewSuspendedRenderTask(request, task, thenableState) {\n var segment = task.blockedSegment,\n newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task.formatContext,\n segment.lastPushedText,\n !0\n );\n segment.children.push(newSegment);\n segment.lastPushedText = !1;\n return createRenderTask(\n request,\n thenableState,\n task.node,\n task.childIndex,\n task.blockedBoundary,\n newSegment,\n task.blockedPreamble,\n task.hoistableState,\n task.abortSet,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.componentStack,\n task.isFallback\n );\n}\nfunction renderNode(request, task, node, childIndex) {\n var previousFormatContext = task.formatContext,\n previousContext = task.context,\n previousKeyPath = task.keyPath,\n previousTreeContext = task.treeContext,\n previousComponentStack = task.componentStack,\n segment = task.blockedSegment;\n if (null === segment)\n try {\n return renderNodeDestructive(request, task, node, childIndex);\n } catch (thrownValue) {\n if (\n (resetHooksState(),\n (node =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : thrownValue),\n \"object\" === typeof node && null !== node)\n ) {\n if (\"function\" === typeof node.then) {\n childIndex = getThenableStateAfterSuspending();\n request = spawnNewSuspendedReplayTask(request, task, childIndex).ping;\n node.then(request, request);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node = getThenableStateAfterSuspending();\n node = spawnNewSuspendedReplayTask(request, task, node);\n request.pingedTasks.push(node);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n else {\n var childrenLength = segment.children.length,\n chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task, node, childIndex);\n } catch (thrownValue$48) {\n if (\n (resetHooksState(),\n (segment.children.length = childrenLength),\n (segment.chunks.length = chunkLength),\n (node =\n thrownValue$48 === SuspenseException\n ? getSuspendedThenable()\n : thrownValue$48),\n \"object\" === typeof node && null !== node)\n ) {\n if (\"function\" === typeof node.then) {\n childIndex = getThenableStateAfterSuspending();\n request = spawnNewSuspendedRenderTask(request, task, childIndex).ping;\n node.then(request, request);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node = getThenableStateAfterSuspending();\n node = spawnNewSuspendedRenderTask(request, task, node);\n request.pingedTasks.push(node);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n}\nfunction abortTaskSoft(task) {\n var boundary = task.blockedBoundary;\n task = task.blockedSegment;\n null !== task && ((task.status = 3), finishedTask(this, boundary, task));\n}\nfunction abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n nodes,\n slots,\n error,\n errorDigest$jscomp$0\n) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0,\n errorDigest = errorDigest$jscomp$0,\n resumedBoundary = createSuspenseBoundary(\n request,\n new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = !0;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed &&\n request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage(487));\n 4 !== boundary.status &&\n ((boundary.status = 4),\n (boundary.errorDigest = errorDigest$jscomp$0),\n boundary.parentFlushed &&\n request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index in slots) delete slots[index];\n }\n}\nfunction abortTask(task, request, error) {\n var boundary = task.blockedBoundary,\n segment = task.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n segment = getThrownInfo(task.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task.replay;\n if (null === boundary) {\n logRecoverableError(request, error, segment);\n fatalError(request, error);\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks &&\n 0 < boundary.nodes.length &&\n ((task = logRecoverableError(request, error, segment)),\n abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n task\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else\n boundary.pendingTasks--,\n 4 !== boundary.status &&\n ((boundary.status = 4),\n (task = logRecoverableError(request, error, segment)),\n (boundary.status = 4),\n (boundary.errorDigest = task),\n untrackBoundary(request, boundary),\n boundary.parentFlushed &&\n request.clientRenderedBoundaries.push(boundary)),\n boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }),\n boundary.fallbackAbortableTasks.clear();\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n}\nfunction safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState,\n onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads &&\n (linkHeader && (linkHeader += \", \"),\n (linkHeader += headers.fontPreloads));\n headers.highImagePreloads &&\n (linkHeader && (linkHeader += \", \"),\n (linkHeader += headers.highImagePreloads));\n if (!shellComplete) {\n var queueIter = renderState.styles.values(),\n queueStep = queueIter.next();\n b: for (\n ;\n 0 < headers.remainingCapacity && !queueStep.done;\n queueStep = queueIter.next()\n )\n for (\n var sheetIter = queueStep.value.sheets.values(),\n sheetStep = sheetIter.next();\n 0 < headers.remainingCapacity && !sheetStep.done;\n sheetStep = sheetIter.next()\n ) {\n var sheet = sheetStep.value,\n props = sheet.props,\n key = props.href,\n props$jscomp$0 = sheet.props,\n header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n (renderState.resets.style[key] = PRELOAD_NO_CREDS),\n linkHeader && (linkHeader += \", \"),\n (linkHeader += header),\n (renderState.resets.style[key] =\n \"string\" === typeof props.crossOrigin ||\n \"string\" === typeof props.integrity\n ? [props.crossOrigin, props.integrity]\n : PRELOAD_NO_CREDS);\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n}\nfunction completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, !0);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop;\n request = request.onShellReady;\n request();\n}\nfunction completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones\n ? !0\n : null === request.completedRootSegment ||\n 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n}\nfunction queueCompletedSegment(boundary, segment) {\n if (\n 0 === segment.chunks.length &&\n 1 === segment.children.length &&\n null === segment.children[0].boundary &&\n -1 === segment.children[0].id\n ) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = !0;\n 1 === childSegment.status && queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n}\nfunction finishedTask(request, boundary, segment) {\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else\n boundary.pendingTasks--,\n 4 !== boundary.status &&\n (0 === boundary.pendingTasks\n ? (0 === boundary.status && (boundary.status = 1),\n null !== segment &&\n segment.parentFlushed &&\n 1 === segment.status &&\n queueCompletedSegment(boundary, segment),\n boundary.parentFlushed &&\n request.completedBoundaries.push(boundary),\n 1 === boundary.status &&\n (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request),\n boundary.fallbackAbortableTasks.clear(),\n 0 === request.pendingRootTasks &&\n null === request.trackedPostpones &&\n null !== boundary.contentPreamble &&\n preparePreamble(request)))\n : null !== segment &&\n segment.parentFlushed &&\n 1 === segment.status &&\n (queueCompletedSegment(boundary, segment),\n 1 === boundary.completedSegments.length &&\n boundary.parentFlushed &&\n request.partialBoundaries.push(boundary)));\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n}\nfunction performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot,\n prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks,\n i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task = pingedTasks[i],\n request = request$jscomp$2,\n segment = task.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task.replay.pendingTasks) {\n switchContext(task.context);\n try {\n \"number\" === typeof task.replay.slots\n ? resumeNode(\n request$jscomp$0,\n task,\n task.replay.slots,\n task.node,\n task.childIndex\n )\n : retryNode(request$jscomp$0, task);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n task.abortSet.delete(task);\n finishedTask(request$jscomp$0, task.blockedBoundary, null);\n } catch (thrownValue) {\n resetHooksState();\n var x =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : thrownValue;\n if (\n \"object\" === typeof x &&\n null !== x &&\n \"function\" === typeof x.then\n ) {\n var ping = task.ping;\n x.then(ping, ping);\n task.thenableState = getThenableStateAfterSuspending();\n } else {\n task.replay.pendingTasks--;\n task.abortSet.delete(task);\n var errorInfo = getThrownInfo(task.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0,\n boundary = task.blockedBoundary,\n error$jscomp$0 =\n 12 === request$jscomp$0.status\n ? request$jscomp$0.fatalError\n : x,\n replayNodes = task.replay.nodes,\n resumeSlots = task.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks &&\n completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks &&\n completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (\n ((request$jscomp$0 = void 0),\n (request$jscomp$1 = segment),\n 0 === request$jscomp$1.status)\n ) {\n request$jscomp$1.status = 6;\n switchContext(task.context);\n var childrenLength = request$jscomp$1.children.length,\n chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task),\n request$jscomp$1.lastPushedText &&\n request$jscomp$1.textEmbedded &&\n request$jscomp$1.chunks.push(textSeparator),\n task.abortSet.delete(task),\n (request$jscomp$1.status = 1),\n finishedTask(request, task.blockedBoundary, request$jscomp$1);\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : 12 === request.status\n ? request.fatalError\n : thrownValue;\n if (\n \"object\" === typeof x$jscomp$0 &&\n null !== x$jscomp$0 &&\n \"function\" === typeof x$jscomp$0.then\n ) {\n request$jscomp$1.status = 0;\n task.thenableState = getThenableStateAfterSuspending();\n var ping$jscomp$0 = task.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task.componentStack);\n task.abortSet.delete(task);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task.blockedBoundary;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n null === boundary$jscomp$0\n ? fatalError(request, x$jscomp$0)\n : (boundary$jscomp$0.pendingTasks--,\n 4 !== boundary$jscomp$0.status &&\n ((boundary$jscomp$0.status = 4),\n (boundary$jscomp$0.errorDigest = request$jscomp$0),\n untrackBoundary(request, boundary$jscomp$0),\n boundary$jscomp$0.parentFlushed &&\n request.clientRenderedBoundaries.push(boundary$jscomp$0),\n 0 === request.pendingRootTasks &&\n null === request.trackedPostpones &&\n null !== boundary$jscomp$0.contentPreamble &&\n preparePreamble(request)));\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination &&\n flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}),\n fatalError(request$jscomp$2, error);\n } finally {\n (currentResumableState = prevResumableState),\n (ReactSharedInternals.H = prevDispatcher),\n (ReactSharedInternals.A = prevAsyncDispatcher),\n prevDispatcher === HooksDispatcher && switchContext(prevContext),\n (currentRequest = prevRequest);\n }\n }\n}\nfunction preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n) {\n segment.preambleChildren.length &&\n collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = !1, i = 0; i < segment.children.length; i++)\n pendingPreambles =\n preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n}\nfunction preparePreambleFromSegment(\n request,\n segment,\n collectedPreambleSegments\n) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble,\n fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return !1;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return !0;\n case 4:\n if (1 === segment.status)\n return (\n hoistPreambleState(request.renderState, fallbackPreamble),\n preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n )\n );\n default:\n return !0;\n }\n}\nfunction preparePreamble(request) {\n if (\n request.completedRootSegment &&\n null === request.completedPreambleSegments\n ) {\n var collectedPreambleSegments = [],\n hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ),\n preamble = request.renderState.preamble;\n if (\n !1 === hasPendingPreambles ||\n (preamble.headChunks && preamble.bodyChunks)\n )\n request.completedPreambleSegments = collectedPreambleSegments;\n }\n}\nfunction flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = !0;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return (\n (hoistableState = segment.id),\n (segment.lastPushedText = !1),\n (segment.textEmbedded = !1),\n (request = request.renderState),\n writeChunk(destination, placeholder1),\n writeChunk(destination, request.placeholderPrefix),\n (request = stringToChunk(hoistableState.toString(16))),\n writeChunk(destination, request),\n writeChunkAndReturn(destination, placeholder2)\n );\n case 1:\n segment.status = 2;\n var r = !0,\n chunks = segment.chunks,\n chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n r = flushSegment(request, destination, r, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n chunkIdx < chunks.length &&\n (r = writeChunkAndReturn(destination, chunks[chunkIdx]));\n return r;\n default:\n throw Error(formatProdErrorMessage(390));\n }\n}\nfunction flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = !0;\n if (4 === boundary.status) {\n var errorDigest = boundary.errorDigest;\n writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);\n writeChunk(destination, clientRenderedSuspenseBoundaryError1);\n errorDigest &&\n (writeChunk(destination, clientRenderedSuspenseBoundaryError1A),\n writeChunk(destination, stringToChunk(escapeTextForBrowser(errorDigest))),\n writeChunk(\n destination,\n clientRenderedSuspenseBoundaryErrorAttrInterstitial\n ));\n writeChunkAndReturn(destination, clientRenderedSuspenseBoundaryError2);\n flushSubtree(request, destination, segment, hoistableState);\n (request = boundary.fallbackPreamble) &&\n writePreambleContribution(destination, request);\n return writeChunkAndReturn(destination, endSuspenseBoundary);\n }\n if (1 !== boundary.status)\n return (\n 0 === boundary.status &&\n (boundary.rootSegmentID = request.nextSegmentId++),\n 0 < boundary.completedSegments.length &&\n request.partialBoundaries.push(boundary),\n writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ),\n hoistableState &&\n ((boundary = boundary.fallbackState),\n boundary.styles.forEach(hoistStyleQueueDependency, hoistableState),\n boundary.stylesheets.forEach(\n hoistStylesheetDependency,\n hoistableState\n )),\n flushSubtree(request, destination, segment, hoistableState),\n writeChunkAndReturn(destination, endSuspenseBoundary)\n );\n if (boundary.byteSize > request.progressiveChunkSize)\n return (\n (boundary.rootSegmentID = request.nextSegmentId++),\n request.completedBoundaries.push(boundary),\n writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ),\n flushSubtree(request, destination, segment, hoistableState),\n writeChunkAndReturn(destination, endSuspenseBoundary)\n );\n hoistableState &&\n ((segment = boundary.contentState),\n segment.styles.forEach(hoistStyleQueueDependency, hoistableState),\n segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));\n writeChunkAndReturn(destination, startCompletedSuspenseBoundary);\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage(391));\n flushSegment(request, destination, segment[0], hoistableState);\n (request = boundary.contentPreamble) &&\n writePreambleContribution(destination, request);\n return writeChunkAndReturn(destination, endSuspenseBoundary);\n}\nfunction flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n}\nfunction flushCompletedBoundary(request, destination, boundary) {\n for (\n var completedSegments = boundary.completedSegments, i = 0;\n i < completedSegments.length;\n i++\n )\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = !1;\n writeChunk(destination, request.startInlineScript);\n requiresStyleInsertion\n ? 0 === (completedSegments.instructions & 2)\n ? ((completedSegments.instructions |= 10),\n writeChunk(destination, completeBoundaryWithStylesScript1FullBoth))\n : 0 === (completedSegments.instructions & 8)\n ? ((completedSegments.instructions |= 8),\n writeChunk(destination, completeBoundaryWithStylesScript1FullPartial))\n : writeChunk(destination, completeBoundaryWithStylesScript1Partial)\n : 0 === (completedSegments.instructions & 2)\n ? ((completedSegments.instructions |= 2),\n writeChunk(destination, completeBoundaryScript1Full))\n : writeChunk(destination, completeBoundaryScript1Partial);\n completedSegments = stringToChunk(i.toString(16));\n writeChunk(destination, request.boundaryPrefix);\n writeChunk(destination, completedSegments);\n writeChunk(destination, completeBoundaryScript2);\n writeChunk(destination, request.segmentPrefix);\n writeChunk(destination, completedSegments);\n requiresStyleInsertion\n ? (writeChunk(destination, completeBoundaryScript3a),\n writeStyleResourceDependenciesInJS(destination, boundary))\n : writeChunk(destination, completeBoundaryScript3b);\n boundary = writeChunkAndReturn(destination, completeBoundaryScriptEnd);\n return writeBootstrap(destination, request) && boundary;\n}\nfunction flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n segment\n) {\n if (2 === segment.status) return !0;\n var hoistableState = boundary.contentState,\n segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n writeChunk(destination, request.startInlineScript);\n 0 === (boundary.instructions & 1)\n ? ((boundary.instructions |= 1),\n writeChunk(destination, completeSegmentScript1Full))\n : writeChunk(destination, completeSegmentScript1Partial);\n writeChunk(destination, request.segmentPrefix);\n segmentID = stringToChunk(segmentID.toString(16));\n writeChunk(destination, segmentID);\n writeChunk(destination, completeSegmentScript2);\n writeChunk(destination, request.placeholderPrefix);\n writeChunk(destination, segmentID);\n destination = writeChunkAndReturn(destination, completeSegmentScriptEnd);\n return destination;\n}\nfunction flushCompletedQueues(request, destination) {\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i,\n completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n var renderState = request.renderState,\n preamble = renderState.preamble,\n htmlChunks = preamble.htmlChunks,\n headChunks = preamble.headChunks,\n i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n writeChunk(destination, htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n else\n writeChunk(destination, startChunkForTag(\"head\")),\n writeChunk(destination, endOfStartTag);\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n writeChunk(destination, charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n writeChunk(destination, viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n renderState.styles.forEach(flushStylesInPreamble, destination);\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n writeChunk(destination, importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n writeChunk(destination, hoistableChunks[i$jscomp$0]);\n for (\n renderState = hoistableChunks.length = 0;\n renderState < completedPreambleSegments.length;\n renderState++\n ) {\n var segments = completedPreambleSegments[renderState];\n for (preamble = 0; preamble < segments.length; preamble++)\n flushSegment(request, destination, segments[preamble], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble,\n headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) &&\n writeChunk(destination, endChunkForTag(\"head\"));\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (\n completedPreambleSegments = 0;\n completedPreambleSegments < bodyChunks.length;\n completedPreambleSegments++\n )\n writeChunk(destination, bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n writeBootstrap(destination, request.renderState);\n }\n var renderState$jscomp$0 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$0.viewportChunks;\n for (\n completedRootSegment = 0;\n completedRootSegment < viewportChunks$jscomp$0.length;\n completedRootSegment++\n )\n writeChunk(destination, viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$0.preconnects.forEach(flushResource, destination);\n renderState$jscomp$0.preconnects.clear();\n renderState$jscomp$0.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$0.fontPreloads.clear();\n renderState$jscomp$0.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$0.highImagePreloads.clear();\n renderState$jscomp$0.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$0.scripts.forEach(flushResource, destination);\n renderState$jscomp$0.scripts.clear();\n renderState$jscomp$0.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$0.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$0.hoistableChunks;\n for (\n completedRootSegment = 0;\n completedRootSegment < hoistableChunks$jscomp$0.length;\n completedRootSegment++\n )\n writeChunk(destination, hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$0 = destination;\n var resumableState = request.resumableState,\n renderState$jscomp$1 = request.renderState,\n id = boundary.rootSegmentID,\n errorDigest = boundary.errorDigest;\n writeChunk(\n renderState$jscomp$0,\n renderState$jscomp$1.startInlineScript\n );\n 0 === (resumableState.instructions & 4)\n ? ((resumableState.instructions |= 4),\n writeChunk(renderState$jscomp$0, clientRenderScript1Full))\n : writeChunk(renderState$jscomp$0, clientRenderScript1Partial);\n writeChunk(renderState$jscomp$0, renderState$jscomp$1.boundaryPrefix);\n writeChunk(renderState$jscomp$0, stringToChunk(id.toString(16)));\n writeChunk(renderState$jscomp$0, clientRenderScript1A);\n errorDigest &&\n (writeChunk(\n renderState$jscomp$0,\n clientRenderErrorScriptArgInterstitial\n ),\n writeChunk(\n renderState$jscomp$0,\n stringToChunk(\n escapeJSStringsForInstructionScripts(errorDigest || \"\")\n )\n ));\n var JSCompiler_inline_result = writeChunkAndReturn(\n renderState$jscomp$0,\n clientRenderScriptEnd\n );\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (\n !flushCompletedBoundary(request, destination, completedBoundaries[i])\n ) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n completeWriting(destination);\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$51 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n var completedSegments = boundary$51.completedSegments;\n for (\n JSCompiler_inline_result = 0;\n JSCompiler_inline_result < completedSegments.length;\n JSCompiler_inline_result++\n )\n if (\n !flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$51,\n completedSegments[JSCompiler_inline_result]\n )\n ) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = !1;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$51.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n 0 === request.allPendingTasks &&\n 0 === request.pingedTasks.length &&\n 0 === request.clientRenderedBoundaries.length &&\n 0 === request.completedBoundaries.length\n ? ((request.flushScheduled = !1),\n (i = request.resumableState),\n i.hasBody && writeChunk(destination, endChunkForTag(\"body\")),\n i.hasHtml && writeChunk(destination, endChunkForTag(\"html\")),\n completeWriting(destination),\n (request.status = 14),\n destination.close(),\n (request.destination = null))\n : completeWriting(destination);\n }\n}\nfunction startWork(request) {\n request.flushScheduled = null !== request.destination;\n scheduleMicrotask(function () {\n return performWork(request);\n });\n scheduleWork(function () {\n 10 === request.status && (request.status = 11);\n null === request.trackedPostpones &&\n safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);\n });\n}\nfunction enqueueFlush(request) {\n !1 === request.flushScheduled &&\n 0 === request.pingedTasks.length &&\n null !== request.destination &&\n ((request.flushScheduled = !0),\n scheduleWork(function () {\n var destination = request.destination;\n destination\n ? flushCompletedQueues(request, destination)\n : (request.flushScheduled = !1);\n }));\n}\nfunction startFlowing(request, destination) {\n if (13 === request.status)\n (request.status = 14), closeWithError(destination, request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n}\nfunction abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error =\n void 0 === reason\n ? Error(formatProdErrorMessage(432))\n : \"object\" === typeof reason &&\n null !== reason &&\n \"function\" === typeof reason.then\n ? Error(formatProdErrorMessage(530))\n : reason;\n request.fatalError = error;\n abortableTasks.forEach(function (task) {\n return abortTask(task, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination &&\n flushCompletedQueues(request, request.destination);\n } catch (error$53) {\n logRecoverableError(request, error$53, {}), fatalError(request, error$53);\n }\n}\nfunction ensureCorrectIsomorphicReactVersion() {\n var isomorphicReactPackageVersion = React.version;\n if (\"19.1.1\" !== isomorphicReactPackageVersion)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion,\n \"19.1.1\"\n )\n );\n}\nensureCorrectIsomorphicReactVersion();\nensureCorrectIsomorphicReactVersion();\nexports.prerender = function (children, options) {\n return new Promise(function (resolve, reject) {\n var onHeaders = options ? options.onHeaders : void 0,\n onHeadersImpl;\n onHeaders &&\n (onHeadersImpl = function (headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resources = createResumableState(\n options ? options.identifierPrefix : void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.bootstrapScriptContent : void 0,\n options ? options.bootstrapScripts : void 0,\n options ? options.bootstrapModules : void 0\n ),\n request = createPrerenderRequest(\n children,\n resources,\n createRenderState(\n resources,\n void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.importMap : void 0,\n onHeadersImpl,\n options ? options.maxHeadersLength : void 0\n ),\n createRootFormatContext(options ? options.namespaceURI : void 0),\n options ? options.progressiveChunkSize : void 0,\n options ? options.onError : void 0,\n function () {\n var result = {\n prelude: new ReadableStream(\n {\n type: \"bytes\",\n pull: function (controller) {\n startFlowing(request, controller);\n },\n cancel: function (reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n )\n };\n resolve(result);\n },\n void 0,\n void 0,\n reject,\n options ? options.onPostpone : void 0\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener = function () {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n startWork(request);\n });\n};\nexports.renderToReadableStream = function (children, options) {\n return new Promise(function (resolve, reject) {\n var onFatalError,\n onAllReady,\n allReady = new Promise(function (res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }),\n onHeaders = options ? options.onHeaders : void 0,\n onHeadersImpl;\n onHeaders &&\n (onHeadersImpl = function (headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resumableState = createResumableState(\n options ? options.identifierPrefix : void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.bootstrapScriptContent : void 0,\n options ? options.bootstrapScripts : void 0,\n options ? options.bootstrapModules : void 0\n ),\n request = createRequest(\n children,\n resumableState,\n createRenderState(\n resumableState,\n options ? options.nonce : void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.importMap : void 0,\n onHeadersImpl,\n options ? options.maxHeadersLength : void 0\n ),\n createRootFormatContext(options ? options.namespaceURI : void 0),\n options ? options.progressiveChunkSize : void 0,\n options ? options.onError : void 0,\n onAllReady,\n function () {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function (controller) {\n startFlowing(request, controller);\n },\n cancel: function (reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function (error) {\n allReady.catch(function () {});\n reject(error);\n },\n onFatalError,\n options ? options.onPostpone : void 0,\n options ? options.formState : void 0\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener = function () {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n startWork(request);\n });\n};\nexports.version = \"19.1.1\";\n","const React = require('react');\nconst { renderToString } = require('react-dom/server');\nconst { WineList } = require('./components.cjs');\nconst { WINE_DATA } = require(\"./wine-data.cjs\");\n\nfunction renderTest() {\n const start = performance.now();\n const html = renderToString();\n const end = performance.now(start);\n\n const duration = end - start;\n console.log(`renderToString took ${duration.toFixed(2)}ms`);\n\n return {\n duration,\n html: html,\n };\n}\n\nmodule.exports = {\n renderTest\n};\n","// This is free and unencumbered software released into the public domain.\n// See LICENSE.md for more information.\n\n/**\n * @fileoverview Global |this| required for resolving indexes in node.\n * @suppress {globalThis}\n */\n(function(global) {\n 'use strict';\n\n // If we're in node require encoding-indexes and attach it to the global.\n if (typeof module !== \"undefined\" && module.exports &&\n !global[\"encoding-indexes\"]) {\n global[\"encoding-indexes\"] =\n require(\"./encoding-indexes.js\")[\"encoding-indexes\"];\n }\n\n //\n // Utilities\n //\n\n /**\n * @param {number} a The number to test.\n * @param {number} min The minimum value in the range, inclusive.\n * @param {number} max The maximum value in the range, inclusive.\n * @return {boolean} True if a >= min and a <= max.\n */\n function inRange(a, min, max) {\n return min <= a && a <= max;\n }\n\n /**\n * @param {!Array.<*>} array The array to check.\n * @param {*} item The item to look for in the array.\n * @return {boolean} True if the item appears in the array.\n */\n function includes(array, item) {\n return array.indexOf(item) !== -1;\n }\n\n var floor = Math.floor;\n\n /**\n * @param {*} o\n * @return {Object}\n */\n function ToDictionary(o) {\n if (o === undefined) return {};\n if (o === Object(o)) return o;\n throw TypeError('Could not convert argument to dictionary');\n }\n\n /**\n * @param {string} string Input string of UTF-16 code units.\n * @return {!Array.} Code points.\n */\n function stringToCodePoints(string) {\n // https://heycam.github.io/webidl/#dfn-obtain-unicode\n\n // 1. Let S be the DOMString value.\n var s = String(string);\n\n // 2. Let n be the length of S.\n var n = s.length;\n\n // 3. Initialize i to 0.\n var i = 0;\n\n // 4. Initialize U to be an empty sequence of Unicode characters.\n var u = [];\n\n // 5. While i < n:\n while (i < n) {\n\n // 1. Let c be the code unit in S at index i.\n var c = s.charCodeAt(i);\n\n // 2. Depending on the value of c:\n\n // c < 0xD800 or c > 0xDFFF\n if (c < 0xD800 || c > 0xDFFF) {\n // Append to U the Unicode character with code point c.\n u.push(c);\n }\n\n // 0xDC00 ≤ c ≤ 0xDFFF\n else if (0xDC00 <= c && c <= 0xDFFF) {\n // Append to U a U+FFFD REPLACEMENT CHARACTER.\n u.push(0xFFFD);\n }\n\n // 0xD800 ≤ c ≤ 0xDBFF\n else if (0xD800 <= c && c <= 0xDBFF) {\n // 1. If i = n−1, then append to U a U+FFFD REPLACEMENT\n // CHARACTER.\n if (i === n - 1) {\n u.push(0xFFFD);\n }\n // 2. Otherwise, i < n−1:\n else {\n // 1. Let d be the code unit in S at index i+1.\n var d = s.charCodeAt(i + 1);\n\n // 2. If 0xDC00 ≤ d ≤ 0xDFFF, then:\n if (0xDC00 <= d && d <= 0xDFFF) {\n // 1. Let a be c & 0x3FF.\n var a = c & 0x3FF;\n\n // 2. Let b be d & 0x3FF.\n var b = d & 0x3FF;\n\n // 3. Append to U the Unicode character with code point\n // 2^16+2^10*a+b.\n u.push(0x10000 + (a << 10) + b);\n\n // 4. Set i to i+1.\n i += 1;\n }\n\n // 3. Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a\n // U+FFFD REPLACEMENT CHARACTER.\n else {\n u.push(0xFFFD);\n }\n }\n }\n\n // 3. Set i to i+1.\n i += 1;\n }\n\n // 6. Return U.\n return u;\n }\n\n /**\n * @param {!Array.} code_points Array of code points.\n * @return {string} string String of UTF-16 code units.\n */\n function codePointsToString(code_points) {\n var s = '';\n for (var i = 0; i < code_points.length; ++i) {\n var cp = code_points[i];\n if (cp <= 0xFFFF) {\n s += String.fromCharCode(cp);\n } else {\n cp -= 0x10000;\n s += String.fromCharCode((cp >> 10) + 0xD800,\n (cp & 0x3FF) + 0xDC00);\n }\n }\n return s;\n }\n\n\n //\n // Implementation of Encoding specification\n // https://encoding.spec.whatwg.org/\n //\n\n //\n // 4. Terminology\n //\n\n /**\n * An ASCII byte is a byte in the range 0x00 to 0x7F, inclusive.\n * @param {number} a The number to test.\n * @return {boolean} True if a is in the range 0x00 to 0x7F, inclusive.\n */\n function isASCIIByte(a) {\n return 0x00 <= a && a <= 0x7F;\n }\n\n /**\n * An ASCII code point is a code point in the range U+0000 to\n * U+007F, inclusive.\n */\n var isASCIICodePoint = isASCIIByte;\n\n\n /**\n * End-of-stream is a special token that signifies no more tokens\n * are in the stream.\n * @const\n */ var end_of_stream = -1;\n\n /**\n * A stream represents an ordered sequence of tokens.\n *\n * @constructor\n * @param {!(Array.|Uint8Array)} tokens Array of tokens that provide\n * the stream.\n */\n function Stream(tokens) {\n /** @type {!Array.} */\n this.tokens = [].slice.call(tokens);\n // Reversed as push/pop is more efficient than shift/unshift.\n this.tokens.reverse();\n }\n\n Stream.prototype = {\n /**\n * @return {boolean} True if end-of-stream has been hit.\n */\n endOfStream: function() {\n return !this.tokens.length;\n },\n\n /**\n * When a token is read from a stream, the first token in the\n * stream must be returned and subsequently removed, and\n * end-of-stream must be returned otherwise.\n *\n * @return {number} Get the next token from the stream, or\n * end_of_stream.\n */\n read: function() {\n if (!this.tokens.length)\n return end_of_stream;\n return this.tokens.pop();\n },\n\n /**\n * When one or more tokens are prepended to a stream, those tokens\n * must be inserted, in given order, before the first token in the\n * stream.\n *\n * @param {(number|!Array.)} token The token(s) to prepend to the\n * stream.\n */\n prepend: function(token) {\n if (Array.isArray(token)) {\n var tokens = /**@type {!Array.}*/(token);\n while (tokens.length)\n this.tokens.push(tokens.pop());\n } else {\n this.tokens.push(token);\n }\n },\n\n /**\n * When one or more tokens are pushed to a stream, those tokens\n * must be inserted, in given order, after the last token in the\n * stream.\n *\n * @param {(number|!Array.)} token The tokens(s) to push to the\n * stream.\n */\n push: function(token) {\n if (Array.isArray(token)) {\n var tokens = /**@type {!Array.}*/(token);\n while (tokens.length)\n this.tokens.unshift(tokens.shift());\n } else {\n this.tokens.unshift(token);\n }\n }\n };\n\n //\n // 5. Encodings\n //\n\n // 5.1 Encoders and decoders\n\n /** @const */\n var finished = -1;\n\n /**\n * @param {boolean} fatal If true, decoding errors raise an exception.\n * @param {number=} opt_code_point Override the standard fallback code point.\n * @return {number} The code point to insert on a decoding error.\n */\n function decoderError(fatal, opt_code_point) {\n if (fatal)\n throw TypeError('Decoder error');\n return opt_code_point || 0xFFFD;\n }\n\n /**\n * @param {number} code_point The code point that could not be encoded.\n * @return {number} Always throws, no value is actually returned.\n */\n function encoderError(code_point) {\n throw TypeError('The code point ' + code_point + ' could not be encoded.');\n }\n\n /** @interface */\n function Decoder() {}\n Decoder.prototype = {\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point, or |finished|.\n */\n handler: function(stream, bite) {}\n };\n\n /** @interface */\n function Encoder() {}\n Encoder.prototype = {\n /**\n * @param {Stream} stream The stream of code points being encoded.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit, or |finished|.\n */\n handler: function(stream, code_point) {}\n };\n\n // 5.2 Names and labels\n\n // TODO: Define @typedef for Encoding: {name:string,labels:Array.}\n // https://github.com/google/closure-compiler/issues/247\n\n /**\n * @param {string} label The encoding label.\n * @return {?{name:string,labels:Array.}}\n */\n function getEncoding(label) {\n // 1. Remove any leading and trailing ASCII whitespace from label.\n label = String(label).trim().toLowerCase();\n\n // 2. If label is an ASCII case-insensitive match for any of the\n // labels listed in the table below, return the corresponding\n // encoding, and failure otherwise.\n if (Object.prototype.hasOwnProperty.call(label_to_encoding, label)) {\n return label_to_encoding[label];\n }\n return null;\n }\n\n /**\n * Encodings table: https://encoding.spec.whatwg.org/encodings.json\n * @const\n * @type {!Array.<{\n * heading: string,\n * encodings: Array.<{name:string,labels:Array.}>\n * }>}\n */\n var encodings = [\n {\n \"encodings\": [\n {\n \"labels\": [\n \"unicode-1-1-utf-8\",\n \"utf-8\",\n \"utf8\"\n ],\n \"name\": \"UTF-8\"\n }\n ],\n \"heading\": \"The Encoding\"\n },\n {\n \"encodings\": [\n {\n \"labels\": [\n \"866\",\n \"cp866\",\n \"csibm866\",\n \"ibm866\"\n ],\n \"name\": \"IBM866\"\n },\n {\n \"labels\": [\n \"csisolatin2\",\n \"iso-8859-2\",\n \"iso-ir-101\",\n \"iso8859-2\",\n \"iso88592\",\n \"iso_8859-2\",\n \"iso_8859-2:1987\",\n \"l2\",\n \"latin2\"\n ],\n \"name\": \"ISO-8859-2\"\n },\n {\n \"labels\": [\n \"csisolatin3\",\n \"iso-8859-3\",\n \"iso-ir-109\",\n \"iso8859-3\",\n \"iso88593\",\n \"iso_8859-3\",\n \"iso_8859-3:1988\",\n \"l3\",\n \"latin3\"\n ],\n \"name\": \"ISO-8859-3\"\n },\n {\n \"labels\": [\n \"csisolatin4\",\n \"iso-8859-4\",\n \"iso-ir-110\",\n \"iso8859-4\",\n \"iso88594\",\n \"iso_8859-4\",\n \"iso_8859-4:1988\",\n \"l4\",\n \"latin4\"\n ],\n \"name\": \"ISO-8859-4\"\n },\n {\n \"labels\": [\n \"csisolatincyrillic\",\n \"cyrillic\",\n \"iso-8859-5\",\n \"iso-ir-144\",\n \"iso8859-5\",\n \"iso88595\",\n \"iso_8859-5\",\n \"iso_8859-5:1988\"\n ],\n \"name\": \"ISO-8859-5\"\n },\n {\n \"labels\": [\n \"arabic\",\n \"asmo-708\",\n \"csiso88596e\",\n \"csiso88596i\",\n \"csisolatinarabic\",\n \"ecma-114\",\n \"iso-8859-6\",\n \"iso-8859-6-e\",\n \"iso-8859-6-i\",\n \"iso-ir-127\",\n \"iso8859-6\",\n \"iso88596\",\n \"iso_8859-6\",\n \"iso_8859-6:1987\"\n ],\n \"name\": \"ISO-8859-6\"\n },\n {\n \"labels\": [\n \"csisolatingreek\",\n \"ecma-118\",\n \"elot_928\",\n \"greek\",\n \"greek8\",\n \"iso-8859-7\",\n \"iso-ir-126\",\n \"iso8859-7\",\n \"iso88597\",\n \"iso_8859-7\",\n \"iso_8859-7:1987\",\n \"sun_eu_greek\"\n ],\n \"name\": \"ISO-8859-7\"\n },\n {\n \"labels\": [\n \"csiso88598e\",\n \"csisolatinhebrew\",\n \"hebrew\",\n \"iso-8859-8\",\n \"iso-8859-8-e\",\n \"iso-ir-138\",\n \"iso8859-8\",\n \"iso88598\",\n \"iso_8859-8\",\n \"iso_8859-8:1988\",\n \"visual\"\n ],\n \"name\": \"ISO-8859-8\"\n },\n {\n \"labels\": [\n \"csiso88598i\",\n \"iso-8859-8-i\",\n \"logical\"\n ],\n \"name\": \"ISO-8859-8-I\"\n },\n {\n \"labels\": [\n \"csisolatin6\",\n \"iso-8859-10\",\n \"iso-ir-157\",\n \"iso8859-10\",\n \"iso885910\",\n \"l6\",\n \"latin6\"\n ],\n \"name\": \"ISO-8859-10\"\n },\n {\n \"labels\": [\n \"iso-8859-13\",\n \"iso8859-13\",\n \"iso885913\"\n ],\n \"name\": \"ISO-8859-13\"\n },\n {\n \"labels\": [\n \"iso-8859-14\",\n \"iso8859-14\",\n \"iso885914\"\n ],\n \"name\": \"ISO-8859-14\"\n },\n {\n \"labels\": [\n \"csisolatin9\",\n \"iso-8859-15\",\n \"iso8859-15\",\n \"iso885915\",\n \"iso_8859-15\",\n \"l9\"\n ],\n \"name\": \"ISO-8859-15\"\n },\n {\n \"labels\": [\n \"iso-8859-16\"\n ],\n \"name\": \"ISO-8859-16\"\n },\n {\n \"labels\": [\n \"cskoi8r\",\n \"koi\",\n \"koi8\",\n \"koi8-r\",\n \"koi8_r\"\n ],\n \"name\": \"KOI8-R\"\n },\n {\n \"labels\": [\n \"koi8-ru\",\n \"koi8-u\"\n ],\n \"name\": \"KOI8-U\"\n },\n {\n \"labels\": [\n \"csmacintosh\",\n \"mac\",\n \"macintosh\",\n \"x-mac-roman\"\n ],\n \"name\": \"macintosh\"\n },\n {\n \"labels\": [\n \"dos-874\",\n \"iso-8859-11\",\n \"iso8859-11\",\n \"iso885911\",\n \"tis-620\",\n \"windows-874\"\n ],\n \"name\": \"windows-874\"\n },\n {\n \"labels\": [\n \"cp1250\",\n \"windows-1250\",\n \"x-cp1250\"\n ],\n \"name\": \"windows-1250\"\n },\n {\n \"labels\": [\n \"cp1251\",\n \"windows-1251\",\n \"x-cp1251\"\n ],\n \"name\": \"windows-1251\"\n },\n {\n \"labels\": [\n \"ansi_x3.4-1968\",\n \"ascii\",\n \"cp1252\",\n \"cp819\",\n \"csisolatin1\",\n \"ibm819\",\n \"iso-8859-1\",\n \"iso-ir-100\",\n \"iso8859-1\",\n \"iso88591\",\n \"iso_8859-1\",\n \"iso_8859-1:1987\",\n \"l1\",\n \"latin1\",\n \"us-ascii\",\n \"windows-1252\",\n \"x-cp1252\"\n ],\n \"name\": \"windows-1252\"\n },\n {\n \"labels\": [\n \"cp1253\",\n \"windows-1253\",\n \"x-cp1253\"\n ],\n \"name\": \"windows-1253\"\n },\n {\n \"labels\": [\n \"cp1254\",\n \"csisolatin5\",\n \"iso-8859-9\",\n \"iso-ir-148\",\n \"iso8859-9\",\n \"iso88599\",\n \"iso_8859-9\",\n \"iso_8859-9:1989\",\n \"l5\",\n \"latin5\",\n \"windows-1254\",\n \"x-cp1254\"\n ],\n \"name\": \"windows-1254\"\n },\n {\n \"labels\": [\n \"cp1255\",\n \"windows-1255\",\n \"x-cp1255\"\n ],\n \"name\": \"windows-1255\"\n },\n {\n \"labels\": [\n \"cp1256\",\n \"windows-1256\",\n \"x-cp1256\"\n ],\n \"name\": \"windows-1256\"\n },\n {\n \"labels\": [\n \"cp1257\",\n \"windows-1257\",\n \"x-cp1257\"\n ],\n \"name\": \"windows-1257\"\n },\n {\n \"labels\": [\n \"cp1258\",\n \"windows-1258\",\n \"x-cp1258\"\n ],\n \"name\": \"windows-1258\"\n },\n {\n \"labels\": [\n \"x-mac-cyrillic\",\n \"x-mac-ukrainian\"\n ],\n \"name\": \"x-mac-cyrillic\"\n }\n ],\n \"heading\": \"Legacy single-byte encodings\"\n },\n {\n \"encodings\": [\n {\n \"labels\": [\n \"chinese\",\n \"csgb2312\",\n \"csiso58gb231280\",\n \"gb2312\",\n \"gb_2312\",\n \"gb_2312-80\",\n \"gbk\",\n \"iso-ir-58\",\n \"x-gbk\"\n ],\n \"name\": \"GBK\"\n },\n {\n \"labels\": [\n \"gb18030\"\n ],\n \"name\": \"gb18030\"\n }\n ],\n \"heading\": \"Legacy multi-byte Chinese (simplified) encodings\"\n },\n {\n \"encodings\": [\n {\n \"labels\": [\n \"big5\",\n \"big5-hkscs\",\n \"cn-big5\",\n \"csbig5\",\n \"x-x-big5\"\n ],\n \"name\": \"Big5\"\n }\n ],\n \"heading\": \"Legacy multi-byte Chinese (traditional) encodings\"\n },\n {\n \"encodings\": [\n {\n \"labels\": [\n \"cseucpkdfmtjapanese\",\n \"euc-jp\",\n \"x-euc-jp\"\n ],\n \"name\": \"EUC-JP\"\n },\n {\n \"labels\": [\n \"csiso2022jp\",\n \"iso-2022-jp\"\n ],\n \"name\": \"ISO-2022-JP\"\n },\n {\n \"labels\": [\n \"csshiftjis\",\n \"ms932\",\n \"ms_kanji\",\n \"shift-jis\",\n \"shift_jis\",\n \"sjis\",\n \"windows-31j\",\n \"x-sjis\"\n ],\n \"name\": \"Shift_JIS\"\n }\n ],\n \"heading\": \"Legacy multi-byte Japanese encodings\"\n },\n {\n \"encodings\": [\n {\n \"labels\": [\n \"cseuckr\",\n \"csksc56011987\",\n \"euc-kr\",\n \"iso-ir-149\",\n \"korean\",\n \"ks_c_5601-1987\",\n \"ks_c_5601-1989\",\n \"ksc5601\",\n \"ksc_5601\",\n \"windows-949\"\n ],\n \"name\": \"EUC-KR\"\n }\n ],\n \"heading\": \"Legacy multi-byte Korean encodings\"\n },\n {\n \"encodings\": [\n {\n \"labels\": [\n \"csiso2022kr\",\n \"hz-gb-2312\",\n \"iso-2022-cn\",\n \"iso-2022-cn-ext\",\n \"iso-2022-kr\"\n ],\n \"name\": \"replacement\"\n },\n {\n \"labels\": [\n \"utf-16be\"\n ],\n \"name\": \"UTF-16BE\"\n },\n {\n \"labels\": [\n \"utf-16\",\n \"utf-16le\"\n ],\n \"name\": \"UTF-16LE\"\n },\n {\n \"labels\": [\n \"x-user-defined\"\n ],\n \"name\": \"x-user-defined\"\n }\n ],\n \"heading\": \"Legacy miscellaneous encodings\"\n }\n ];\n\n // Label to encoding registry.\n /** @type {Object.}>} */\n var label_to_encoding = {};\n encodings.forEach(function(category) {\n category.encodings.forEach(function(encoding) {\n encoding.labels.forEach(function(label) {\n label_to_encoding[label] = encoding;\n });\n });\n });\n\n // Registry of of encoder/decoder factories, by encoding name.\n /** @type {Object.} */\n var encoders = {};\n /** @type {Object.} */\n var decoders = {};\n\n //\n // 6. Indexes\n //\n\n /**\n * @param {number} pointer The |pointer| to search for.\n * @param {(!Array.|undefined)} index The |index| to search within.\n * @return {?number} The code point corresponding to |pointer| in |index|,\n * or null if |code point| is not in |index|.\n */\n function indexCodePointFor(pointer, index) {\n if (!index) return null;\n return index[pointer] || null;\n }\n\n /**\n * @param {number} code_point The |code point| to search for.\n * @param {!Array.} index The |index| to search within.\n * @return {?number} The first pointer corresponding to |code point| in\n * |index|, or null if |code point| is not in |index|.\n */\n function indexPointerFor(code_point, index) {\n var pointer = index.indexOf(code_point);\n return pointer === -1 ? null : pointer;\n }\n\n /**\n * @param {string} name Name of the index.\n * @return {(!Array.|!Array.>)}\n * */\n function index(name) {\n if (!('encoding-indexes' in global)) {\n throw Error(\"Indexes missing.\" +\n \" Did you forget to include encoding-indexes.js first?\");\n }\n return global['encoding-indexes'][name];\n }\n\n /**\n * @param {number} pointer The |pointer| to search for in the gb18030 index.\n * @return {?number} The code point corresponding to |pointer| in |index|,\n * or null if |code point| is not in the gb18030 index.\n */\n function indexGB18030RangesCodePointFor(pointer) {\n // 1. If pointer is greater than 39419 and less than 189000, or\n // pointer is greater than 1237575, return null.\n if ((pointer > 39419 && pointer < 189000) || (pointer > 1237575))\n return null;\n\n // 2. If pointer is 7457, return code point U+E7C7.\n if (pointer === 7457) return 0xE7C7;\n\n // 3. Let offset be the last pointer in index gb18030 ranges that\n // is equal to or less than pointer and let code point offset be\n // its corresponding code point.\n var offset = 0;\n var code_point_offset = 0;\n var idx = index('gb18030-ranges');\n var i;\n for (i = 0; i < idx.length; ++i) {\n /** @type {!Array.} */\n var entry = idx[i];\n if (entry[0] <= pointer) {\n offset = entry[0];\n code_point_offset = entry[1];\n } else {\n break;\n }\n }\n\n // 4. Return a code point whose value is code point offset +\n // pointer − offset.\n return code_point_offset + pointer - offset;\n }\n\n /**\n * @param {number} code_point The |code point| to locate in the gb18030 index.\n * @return {number} The first pointer corresponding to |code point| in the\n * gb18030 index.\n */\n function indexGB18030RangesPointerFor(code_point) {\n // 1. If code point is U+E7C7, return pointer 7457.\n if (code_point === 0xE7C7) return 7457;\n\n // 2. Let offset be the last code point in index gb18030 ranges\n // that is equal to or less than code point and let pointer offset\n // be its corresponding pointer.\n var offset = 0;\n var pointer_offset = 0;\n var idx = index('gb18030-ranges');\n var i;\n for (i = 0; i < idx.length; ++i) {\n /** @type {!Array.} */\n var entry = idx[i];\n if (entry[1] <= code_point) {\n offset = entry[1];\n pointer_offset = entry[0];\n } else {\n break;\n }\n }\n\n // 3. Return a pointer whose value is pointer offset + code point\n // − offset.\n return pointer_offset + code_point - offset;\n }\n\n /**\n * @param {number} code_point The |code_point| to search for in the Shift_JIS\n * index.\n * @return {?number} The code point corresponding to |pointer| in |index|,\n * or null if |code point| is not in the Shift_JIS index.\n */\n function indexShiftJISPointerFor(code_point) {\n // 1. Let index be index jis0208 excluding all entries whose\n // pointer is in the range 8272 to 8835, inclusive.\n shift_jis_index = shift_jis_index ||\n index('jis0208').map(function(code_point, pointer) {\n return inRange(pointer, 8272, 8835) ? null : code_point;\n });\n var index_ = shift_jis_index;\n\n // 2. Return the index pointer for code point in index.\n return index_.indexOf(code_point);\n }\n var shift_jis_index;\n\n /**\n * @param {number} code_point The |code_point| to search for in the big5\n * index.\n * @return {?number} The code point corresponding to |pointer| in |index|,\n * or null if |code point| is not in the big5 index.\n */\n function indexBig5PointerFor(code_point) {\n // 1. Let index be index Big5 excluding all entries whose pointer\n big5_index_no_hkscs = big5_index_no_hkscs ||\n index('big5').map(function(code_point, pointer) {\n return (pointer < (0xA1 - 0x81) * 157) ? null : code_point;\n });\n var index_ = big5_index_no_hkscs;\n\n // 2. If code point is U+2550, U+255E, U+2561, U+256A, U+5341, or\n // U+5345, return the last pointer corresponding to code point in\n // index.\n if (code_point === 0x2550 || code_point === 0x255E ||\n code_point === 0x2561 || code_point === 0x256A ||\n code_point === 0x5341 || code_point === 0x5345) {\n return index_.lastIndexOf(code_point);\n }\n\n // 3. Return the index pointer for code point in index.\n return indexPointerFor(code_point, index_);\n }\n var big5_index_no_hkscs;\n\n //\n // 8. API\n //\n\n /** @const */ var DEFAULT_ENCODING = 'utf-8';\n\n // 8.1 Interface TextDecoder\n\n /**\n * @constructor\n * @param {string=} label The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\n function TextDecoder(label, options) {\n // Web IDL conventions\n if (!(this instanceof TextDecoder))\n throw TypeError('Called as a function. Did you forget \\'new\\'?');\n label = label !== undefined ? String(label) : DEFAULT_ENCODING;\n options = ToDictionary(options);\n\n // A TextDecoder object has an associated encoding, decoder,\n // stream, ignore BOM flag (initially unset), BOM seen flag\n // (initially unset), error mode (initially replacement), and do\n // not flush flag (initially unset).\n\n /** @private */\n this._encoding = null;\n /** @private @type {?Decoder} */\n this._decoder = null;\n /** @private @type {boolean} */\n this._ignoreBOM = false;\n /** @private @type {boolean} */\n this._BOMseen = false;\n /** @private @type {string} */\n this._error_mode = 'replacement';\n /** @private @type {boolean} */\n this._do_not_flush = false;\n\n\n // 1. Let encoding be the result of getting an encoding from\n // label.\n var encoding = getEncoding(label);\n\n // 2. If encoding is failure or replacement, throw a RangeError.\n if (encoding === null || encoding.name === 'replacement')\n throw RangeError('Unknown encoding: ' + label);\n if (!decoders[encoding.name]) {\n throw Error('Decoder not present.' +\n ' Did you forget to include encoding-indexes.js first?');\n }\n\n // 3. Let dec be a new TextDecoder object.\n var dec = this;\n\n // 4. Set dec's encoding to encoding.\n dec._encoding = encoding;\n\n // 5. If options's fatal member is true, set dec's error mode to\n // fatal.\n if (Boolean(options['fatal']))\n dec._error_mode = 'fatal';\n\n // 6. If options's ignoreBOM member is true, set dec's ignore BOM\n // flag.\n if (Boolean(options['ignoreBOM']))\n dec._ignoreBOM = true;\n\n // For pre-ES5 runtimes:\n if (!Object.defineProperty) {\n this.encoding = dec._encoding.name.toLowerCase();\n this.fatal = dec._error_mode === 'fatal';\n this.ignoreBOM = dec._ignoreBOM;\n }\n\n // 7. Return dec.\n return dec;\n }\n\n if (Object.defineProperty) {\n // The encoding attribute's getter must return encoding's name.\n Object.defineProperty(TextDecoder.prototype, 'encoding', {\n /** @this {TextDecoder} */\n get: function() { return this._encoding.name.toLowerCase(); }\n });\n\n // The fatal attribute's getter must return true if error mode\n // is fatal, and false otherwise.\n Object.defineProperty(TextDecoder.prototype, 'fatal', {\n /** @this {TextDecoder} */\n get: function() { return this._error_mode === 'fatal'; }\n });\n\n // The ignoreBOM attribute's getter must return true if ignore\n // BOM flag is set, and false otherwise.\n Object.defineProperty(TextDecoder.prototype, 'ignoreBOM', {\n /** @this {TextDecoder} */\n get: function() { return this._ignoreBOM; }\n });\n }\n\n /**\n * @param {BufferSource=} input The buffer of bytes to decode.\n * @param {Object=} options\n * @return {string} The decoded string.\n */\n TextDecoder.prototype.decode = function decode(input, options) {\n var bytes;\n if (typeof input === 'object' && input instanceof ArrayBuffer) {\n bytes = new Uint8Array(input);\n } else if (typeof input === 'object' && 'buffer' in input &&\n input.buffer instanceof ArrayBuffer) {\n bytes = new Uint8Array(input.buffer,\n input.byteOffset,\n input.byteLength);\n } else {\n bytes = new Uint8Array(0);\n }\n\n options = ToDictionary(options);\n\n // 1. If the do not flush flag is unset, set decoder to a new\n // encoding's decoder, set stream to a new stream, and unset the\n // BOM seen flag.\n if (!this._do_not_flush) {\n this._decoder = decoders[this._encoding.name]({\n fatal: this._error_mode === 'fatal'});\n this._BOMseen = false;\n }\n\n // 2. If options's stream is true, set the do not flush flag, and\n // unset the do not flush flag otherwise.\n this._do_not_flush = Boolean(options['stream']);\n\n // 3. If input is given, push a copy of input to stream.\n // TODO: Align with spec algorithm - maintain stream on instance.\n var input_stream = new Stream(bytes);\n\n // 4. Let output be a new stream.\n var output = [];\n\n /** @type {?(number|!Array.)} */\n var result;\n\n // 5. While true:\n while (true) {\n // 1. Let token be the result of reading from stream.\n var token = input_stream.read();\n\n // 2. If token is end-of-stream and the do not flush flag is\n // set, return output, serialized.\n // TODO: Align with spec algorithm.\n if (token === end_of_stream)\n break;\n\n // 3. Otherwise, run these subsubsteps:\n\n // 1. Let result be the result of processing token for decoder,\n // stream, output, and error mode.\n result = this._decoder.handler(input_stream, token);\n\n // 2. If result is finished, return output, serialized.\n if (result === finished)\n break;\n\n if (result !== null) {\n if (Array.isArray(result))\n output.push.apply(output, /**@type {!Array.}*/(result));\n else\n output.push(result);\n }\n\n // 3. Otherwise, if result is error, throw a TypeError.\n // (Thrown in handler)\n\n // 4. Otherwise, do nothing.\n }\n // TODO: Align with spec algorithm.\n if (!this._do_not_flush) {\n do {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (result === null)\n continue;\n if (Array.isArray(result))\n output.push.apply(output, /**@type {!Array.}*/(result));\n else\n output.push(result);\n } while (!input_stream.endOfStream());\n this._decoder = null;\n }\n\n // A TextDecoder object also has an associated serialize stream\n // algorithm...\n /**\n * @param {!Array.} stream\n * @return {string}\n * @this {TextDecoder}\n */\n function serializeStream(stream) {\n // 1. Let token be the result of reading from stream.\n // (Done in-place on array, rather than as a stream)\n\n // 2. If encoding is UTF-8, UTF-16BE, or UTF-16LE, and ignore\n // BOM flag and BOM seen flag are unset, run these subsubsteps:\n if (includes(['UTF-8', 'UTF-16LE', 'UTF-16BE'], this._encoding.name) &&\n !this._ignoreBOM && !this._BOMseen) {\n if (stream.length > 0 && stream[0] === 0xFEFF) {\n // 1. If token is U+FEFF, set BOM seen flag.\n this._BOMseen = true;\n stream.shift();\n } else if (stream.length > 0) {\n // 2. Otherwise, if token is not end-of-stream, set BOM seen\n // flag and append token to stream.\n this._BOMseen = true;\n } else {\n // 3. Otherwise, if token is not end-of-stream, append token\n // to output.\n // (no-op)\n }\n }\n // 4. Otherwise, return output.\n return codePointsToString(stream);\n }\n\n return serializeStream.call(this, output);\n };\n\n // 8.2 Interface TextEncoder\n\n /**\n * @constructor\n * @param {string=} label The label of the encoding. NONSTANDARD.\n * @param {Object=} options NONSTANDARD.\n */\n function TextEncoder(label, options) {\n // Web IDL conventions\n if (!(this instanceof TextEncoder))\n throw TypeError('Called as a function. Did you forget \\'new\\'?');\n options = ToDictionary(options);\n\n // A TextEncoder object has an associated encoding and encoder.\n\n /** @private */\n this._encoding = null;\n /** @private @type {?Encoder} */\n this._encoder = null;\n\n // Non-standard\n /** @private @type {boolean} */\n this._do_not_flush = false;\n /** @private @type {string} */\n this._fatal = Boolean(options['fatal']) ? 'fatal' : 'replacement';\n\n // 1. Let enc be a new TextEncoder object.\n var enc = this;\n\n // 2. Set enc's encoding to UTF-8's encoder.\n if (Boolean(options['NONSTANDARD_allowLegacyEncoding'])) {\n // NONSTANDARD behavior.\n label = label !== undefined ? String(label) : DEFAULT_ENCODING;\n var encoding = getEncoding(label);\n if (encoding === null || encoding.name === 'replacement')\n throw RangeError('Unknown encoding: ' + label);\n if (!encoders[encoding.name]) {\n throw Error('Encoder not present.' +\n ' Did you forget to include encoding-indexes.js first?');\n }\n enc._encoding = encoding;\n } else {\n // Standard behavior.\n enc._encoding = getEncoding('utf-8');\n\n if (label !== undefined && 'console' in global) {\n console.warn('TextEncoder constructor called with encoding label, '\n + 'which is ignored.');\n }\n }\n\n // For pre-ES5 runtimes:\n if (!Object.defineProperty)\n this.encoding = enc._encoding.name.toLowerCase();\n\n // 3. Return enc.\n return enc;\n }\n\n if (Object.defineProperty) {\n // The encoding attribute's getter must return encoding's name.\n Object.defineProperty(TextEncoder.prototype, 'encoding', {\n /** @this {TextEncoder} */\n get: function() { return this._encoding.name.toLowerCase(); }\n });\n }\n\n /**\n * @param {string=} opt_string The string to encode.\n * @param {Object=} options\n * @return {!Uint8Array} Encoded bytes, as a Uint8Array.\n */\n TextEncoder.prototype.encode = function encode(opt_string, options) {\n opt_string = opt_string === undefined ? '' : String(opt_string);\n options = ToDictionary(options);\n\n // NOTE: This option is nonstandard. None of the encodings\n // permitted for encoding (i.e. UTF-8, UTF-16) are stateful when\n // the input is a USVString so streaming is not necessary.\n if (!this._do_not_flush)\n this._encoder = encoders[this._encoding.name]({\n fatal: this._fatal === 'fatal'});\n this._do_not_flush = Boolean(options['stream']);\n\n // 1. Convert input to a stream.\n var input = new Stream(stringToCodePoints(opt_string));\n\n // 2. Let output be a new stream\n var output = [];\n\n /** @type {?(number|!Array.)} */\n var result;\n // 3. While true, run these substeps:\n while (true) {\n // 1. Let token be the result of reading from input.\n var token = input.read();\n if (token === end_of_stream)\n break;\n // 2. Let result be the result of processing token for encoder,\n // input, output.\n result = this._encoder.handler(input, token);\n if (result === finished)\n break;\n if (Array.isArray(result))\n output.push.apply(output, /**@type {!Array.}*/(result));\n else\n output.push(result);\n }\n // TODO: Align with spec algorithm.\n if (!this._do_not_flush) {\n while (true) {\n result = this._encoder.handler(input, input.read());\n if (result === finished)\n break;\n if (Array.isArray(result))\n output.push.apply(output, /**@type {!Array.}*/(result));\n else\n output.push(result);\n }\n this._encoder = null;\n }\n // 3. If result is finished, convert output into a byte sequence,\n // and then return a Uint8Array object wrapping an ArrayBuffer\n // containing output.\n return new Uint8Array(output);\n };\n\n\n //\n // 9. The encoding\n //\n\n // 9.1 utf-8\n\n // 9.1.1 utf-8 decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function UTF8Decoder(options) {\n var fatal = options.fatal;\n\n // utf-8's decoder's has an associated utf-8 code point, utf-8\n // bytes seen, and utf-8 bytes needed (all initially 0), a utf-8\n // lower boundary (initially 0x80), and a utf-8 upper boundary\n // (initially 0xBF).\n var /** @type {number} */ utf8_code_point = 0,\n /** @type {number} */ utf8_bytes_seen = 0,\n /** @type {number} */ utf8_bytes_needed = 0,\n /** @type {number} */ utf8_lower_boundary = 0x80,\n /** @type {number} */ utf8_upper_boundary = 0xBF;\n\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and utf-8 bytes needed is not 0,\n // set utf-8 bytes needed to 0 and return error.\n if (bite === end_of_stream && utf8_bytes_needed !== 0) {\n utf8_bytes_needed = 0;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream, return finished.\n if (bite === end_of_stream)\n return finished;\n\n // 3. If utf-8 bytes needed is 0, based on byte:\n if (utf8_bytes_needed === 0) {\n\n // 0x00 to 0x7F\n if (inRange(bite, 0x00, 0x7F)) {\n // Return a code point whose value is byte.\n return bite;\n }\n\n // 0xC2 to 0xDF\n else if (inRange(bite, 0xC2, 0xDF)) {\n // 1. Set utf-8 bytes needed to 1.\n utf8_bytes_needed = 1;\n\n // 2. Set UTF-8 code point to byte & 0x1F.\n utf8_code_point = bite & 0x1F;\n }\n\n // 0xE0 to 0xEF\n else if (inRange(bite, 0xE0, 0xEF)) {\n // 1. If byte is 0xE0, set utf-8 lower boundary to 0xA0.\n if (bite === 0xE0)\n utf8_lower_boundary = 0xA0;\n // 2. If byte is 0xED, set utf-8 upper boundary to 0x9F.\n if (bite === 0xED)\n utf8_upper_boundary = 0x9F;\n // 3. Set utf-8 bytes needed to 2.\n utf8_bytes_needed = 2;\n // 4. Set UTF-8 code point to byte & 0xF.\n utf8_code_point = bite & 0xF;\n }\n\n // 0xF0 to 0xF4\n else if (inRange(bite, 0xF0, 0xF4)) {\n // 1. If byte is 0xF0, set utf-8 lower boundary to 0x90.\n if (bite === 0xF0)\n utf8_lower_boundary = 0x90;\n // 2. If byte is 0xF4, set utf-8 upper boundary to 0x8F.\n if (bite === 0xF4)\n utf8_upper_boundary = 0x8F;\n // 3. Set utf-8 bytes needed to 3.\n utf8_bytes_needed = 3;\n // 4. Set UTF-8 code point to byte & 0x7.\n utf8_code_point = bite & 0x7;\n }\n\n // Otherwise\n else {\n // Return error.\n return decoderError(fatal);\n }\n\n // Return continue.\n return null;\n }\n\n // 4. If byte is not in the range utf-8 lower boundary to utf-8\n // upper boundary, inclusive, run these substeps:\n if (!inRange(bite, utf8_lower_boundary, utf8_upper_boundary)) {\n\n // 1. Set utf-8 code point, utf-8 bytes needed, and utf-8\n // bytes seen to 0, set utf-8 lower boundary to 0x80, and set\n // utf-8 upper boundary to 0xBF.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF;\n\n // 2. Prepend byte to stream.\n stream.prepend(bite);\n\n // 3. Return error.\n return decoderError(fatal);\n }\n\n // 5. Set utf-8 lower boundary to 0x80 and utf-8 upper boundary\n // to 0xBF.\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF;\n\n // 6. Set UTF-8 code point to (UTF-8 code point << 6) | (byte &\n // 0x3F)\n utf8_code_point = (utf8_code_point << 6) | (bite & 0x3F);\n\n // 7. Increase utf-8 bytes seen by one.\n utf8_bytes_seen += 1;\n\n // 8. If utf-8 bytes seen is not equal to utf-8 bytes needed,\n // continue.\n if (utf8_bytes_seen !== utf8_bytes_needed)\n return null;\n\n // 9. Let code point be utf-8 code point.\n var code_point = utf8_code_point;\n\n // 10. Set utf-8 code point, utf-8 bytes needed, and utf-8 bytes\n // seen to 0.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n\n // 11. Return a code point whose value is code point.\n return code_point;\n };\n }\n\n // 9.1.2 utf-8 encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function UTF8Encoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. Set count and offset based on the range code point is in:\n var count, offset;\n // U+0080 to U+07FF, inclusive:\n if (inRange(code_point, 0x0080, 0x07FF)) {\n // 1 and 0xC0\n count = 1;\n offset = 0xC0;\n }\n // U+0800 to U+FFFF, inclusive:\n else if (inRange(code_point, 0x0800, 0xFFFF)) {\n // 2 and 0xE0\n count = 2;\n offset = 0xE0;\n }\n // U+10000 to U+10FFFF, inclusive:\n else if (inRange(code_point, 0x10000, 0x10FFFF)) {\n // 3 and 0xF0\n count = 3;\n offset = 0xF0;\n }\n\n // 4. Let bytes be a byte sequence whose first byte is (code\n // point >> (6 × count)) + offset.\n var bytes = [(code_point >> (6 * count)) + offset];\n\n // 5. Run these substeps while count is greater than 0:\n while (count > 0) {\n\n // 1. Set temp to code point >> (6 × (count − 1)).\n var temp = code_point >> (6 * (count - 1));\n\n // 2. Append to bytes 0x80 | (temp & 0x3F).\n bytes.push(0x80 | (temp & 0x3F));\n\n // 3. Decrease count by one.\n count -= 1;\n }\n\n // 6. Return bytes bytes, in order.\n return bytes;\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['UTF-8'] = function(options) {\n return new UTF8Encoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['UTF-8'] = function(options) {\n return new UTF8Decoder(options);\n };\n\n //\n // 10. Legacy single-byte encodings\n //\n\n // 10.1 single-byte decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {!Array.} index The encoding index.\n * @param {{fatal: boolean}} options\n */\n function SingleByteDecoder(index, options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream, return finished.\n if (bite === end_of_stream)\n return finished;\n\n // 2. If byte is an ASCII byte, return a code point whose value\n // is byte.\n if (isASCIIByte(bite))\n return bite;\n\n // 3. Let code point be the index code point for byte − 0x80 in\n // index single-byte.\n var code_point = index[bite - 0x80];\n\n // 4. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 5. Return a code point whose value is code point.\n return code_point;\n };\n }\n\n // 10.2 single-byte encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {!Array.} index The encoding index.\n * @param {{fatal: boolean}} options\n */\n function SingleByteEncoder(index, options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. Let pointer be the index pointer for code point in index\n // single-byte.\n var pointer = indexPointerFor(code_point, index);\n\n // 4. If pointer is null, return error with code point.\n if (pointer === null)\n encoderError(code_point);\n\n // 5. Return a byte whose value is pointer + 0x80.\n return pointer + 0x80;\n };\n }\n\n (function() {\n if (!('encoding-indexes' in global))\n return;\n encodings.forEach(function(category) {\n if (category.heading !== 'Legacy single-byte encodings')\n return;\n category.encodings.forEach(function(encoding) {\n var name = encoding.name;\n var idx = index(name.toLowerCase());\n /** @param {{fatal: boolean}} options */\n decoders[name] = function(options) {\n return new SingleByteDecoder(idx, options);\n };\n /** @param {{fatal: boolean}} options */\n encoders[name] = function(options) {\n return new SingleByteEncoder(idx, options);\n };\n });\n });\n }());\n\n //\n // 11. Legacy multi-byte Chinese (simplified) encodings\n //\n\n // 11.1 gbk\n\n // 11.1.1 gbk decoder\n // gbk's decoder is gb18030's decoder.\n /** @param {{fatal: boolean}} options */\n decoders['GBK'] = function(options) {\n return new GB18030Decoder(options);\n };\n\n // 11.1.2 gbk encoder\n // gbk's encoder is gb18030's encoder with its gbk flag set.\n /** @param {{fatal: boolean}} options */\n encoders['GBK'] = function(options) {\n return new GB18030Encoder(options, true);\n };\n\n // 11.2 gb18030\n\n // 11.2.1 gb18030 decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function GB18030Decoder(options) {\n var fatal = options.fatal;\n // gb18030's decoder has an associated gb18030 first, gb18030\n // second, and gb18030 third (all initially 0x00).\n var /** @type {number} */ gb18030_first = 0x00,\n /** @type {number} */ gb18030_second = 0x00,\n /** @type {number} */ gb18030_third = 0x00;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and gb18030 first, gb18030\n // second, and gb18030 third are 0x00, return finished.\n if (bite === end_of_stream && gb18030_first === 0x00 &&\n gb18030_second === 0x00 && gb18030_third === 0x00) {\n return finished;\n }\n // 2. If byte is end-of-stream, and gb18030 first, gb18030\n // second, or gb18030 third is not 0x00, set gb18030 first,\n // gb18030 second, and gb18030 third to 0x00, and return error.\n if (bite === end_of_stream &&\n (gb18030_first !== 0x00 || gb18030_second !== 0x00 ||\n gb18030_third !== 0x00)) {\n gb18030_first = 0x00;\n gb18030_second = 0x00;\n gb18030_third = 0x00;\n decoderError(fatal);\n }\n var code_point;\n // 3. If gb18030 third is not 0x00, run these substeps:\n if (gb18030_third !== 0x00) {\n // 1. Let code point be null.\n code_point = null;\n // 2. If byte is in the range 0x30 to 0x39, inclusive, set\n // code point to the index gb18030 ranges code point for\n // (((gb18030 first − 0x81) × 10 + gb18030 second − 0x30) ×\n // 126 + gb18030 third − 0x81) × 10 + byte − 0x30.\n if (inRange(bite, 0x30, 0x39)) {\n code_point = indexGB18030RangesCodePointFor(\n (((gb18030_first - 0x81) * 10 + gb18030_second - 0x30) * 126 +\n gb18030_third - 0x81) * 10 + bite - 0x30);\n }\n\n // 3. Let buffer be a byte sequence consisting of gb18030\n // second, gb18030 third, and byte, in order.\n var buffer = [gb18030_second, gb18030_third, bite];\n\n // 4. Set gb18030 first, gb18030 second, and gb18030 third to\n // 0x00.\n gb18030_first = 0x00;\n gb18030_second = 0x00;\n gb18030_third = 0x00;\n\n // 5. If code point is null, prepend buffer to stream and\n // return error.\n if (code_point === null) {\n stream.prepend(buffer);\n return decoderError(fatal);\n }\n\n // 6. Return a code point whose value is code point.\n return code_point;\n }\n\n // 4. If gb18030 second is not 0x00, run these substeps:\n if (gb18030_second !== 0x00) {\n\n // 1. If byte is in the range 0x81 to 0xFE, inclusive, set\n // gb18030 third to byte and return continue.\n if (inRange(bite, 0x81, 0xFE)) {\n gb18030_third = bite;\n return null;\n }\n\n // 2. Prepend gb18030 second followed by byte to stream, set\n // gb18030 first and gb18030 second to 0x00, and return error.\n stream.prepend([gb18030_second, bite]);\n gb18030_first = 0x00;\n gb18030_second = 0x00;\n return decoderError(fatal);\n }\n\n // 5. If gb18030 first is not 0x00, run these substeps:\n if (gb18030_first !== 0x00) {\n\n // 1. If byte is in the range 0x30 to 0x39, inclusive, set\n // gb18030 second to byte and return continue.\n if (inRange(bite, 0x30, 0x39)) {\n gb18030_second = bite;\n return null;\n }\n\n // 2. Let lead be gb18030 first, let pointer be null, and set\n // gb18030 first to 0x00.\n var lead = gb18030_first;\n var pointer = null;\n gb18030_first = 0x00;\n\n // 3. Let offset be 0x40 if byte is less than 0x7F and 0x41\n // otherwise.\n var offset = bite < 0x7F ? 0x40 : 0x41;\n\n // 4. If byte is in the range 0x40 to 0x7E, inclusive, or 0x80\n // to 0xFE, inclusive, set pointer to (lead − 0x81) × 190 +\n // (byte − offset).\n if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0x80, 0xFE))\n pointer = (lead - 0x81) * 190 + (bite - offset);\n\n // 5. Let code point be null if pointer is null and the index\n // code point for pointer in index gb18030 otherwise.\n code_point = pointer === null ? null :\n indexCodePointFor(pointer, index('gb18030'));\n\n // 6. If code point is null and byte is an ASCII byte, prepend\n // byte to stream.\n if (code_point === null && isASCIIByte(bite))\n stream.prepend(bite);\n\n // 7. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 8. Return a code point whose value is code point.\n return code_point;\n }\n\n // 6. If byte is an ASCII byte, return a code point whose value\n // is byte.\n if (isASCIIByte(bite))\n return bite;\n\n // 7. If byte is 0x80, return code point U+20AC.\n if (bite === 0x80)\n return 0x20AC;\n\n // 8. If byte is in the range 0x81 to 0xFE, inclusive, set\n // gb18030 first to byte and return continue.\n if (inRange(bite, 0x81, 0xFE)) {\n gb18030_first = bite;\n return null;\n }\n\n // 9. Return error.\n return decoderError(fatal);\n };\n }\n\n // 11.2.2 gb18030 encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n * @param {boolean=} gbk_flag\n */\n function GB18030Encoder(options, gbk_flag) {\n var fatal = options.fatal;\n // gb18030's decoder has an associated gbk flag (initially unset).\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. If code point is U+E5E5, return error with code point.\n if (code_point === 0xE5E5)\n return encoderError(code_point);\n\n // 4. If the gbk flag is set and code point is U+20AC, return\n // byte 0x80.\n if (gbk_flag && code_point === 0x20AC)\n return 0x80;\n\n // 5. Let pointer be the index pointer for code point in index\n // gb18030.\n var pointer = indexPointerFor(code_point, index('gb18030'));\n\n // 6. If pointer is not null, run these substeps:\n if (pointer !== null) {\n\n // 1. Let lead be floor(pointer / 190) + 0x81.\n var lead = floor(pointer / 190) + 0x81;\n\n // 2. Let trail be pointer % 190.\n var trail = pointer % 190;\n\n // 3. Let offset be 0x40 if trail is less than 0x3F and 0x41 otherwise.\n var offset = trail < 0x3F ? 0x40 : 0x41;\n\n // 4. Return two bytes whose values are lead and trail + offset.\n return [lead, trail + offset];\n }\n\n // 7. If gbk flag is set, return error with code point.\n if (gbk_flag)\n return encoderError(code_point);\n\n // 8. Set pointer to the index gb18030 ranges pointer for code\n // point.\n pointer = indexGB18030RangesPointerFor(code_point);\n\n // 9. Let byte1 be floor(pointer / 10 / 126 / 10).\n var byte1 = floor(pointer / 10 / 126 / 10);\n\n // 10. Set pointer to pointer − byte1 × 10 × 126 × 10.\n pointer = pointer - byte1 * 10 * 126 * 10;\n\n // 11. Let byte2 be floor(pointer / 10 / 126).\n var byte2 = floor(pointer / 10 / 126);\n\n // 12. Set pointer to pointer − byte2 × 10 × 126.\n pointer = pointer - byte2 * 10 * 126;\n\n // 13. Let byte3 be floor(pointer / 10).\n var byte3 = floor(pointer / 10);\n\n // 14. Let byte4 be pointer − byte3 × 10.\n var byte4 = pointer - byte3 * 10;\n\n // 15. Return four bytes whose values are byte1 + 0x81, byte2 +\n // 0x30, byte3 + 0x81, byte4 + 0x30.\n return [byte1 + 0x81,\n byte2 + 0x30,\n byte3 + 0x81,\n byte4 + 0x30];\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['gb18030'] = function(options) {\n return new GB18030Encoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['gb18030'] = function(options) {\n return new GB18030Decoder(options);\n };\n\n\n //\n // 12. Legacy multi-byte Chinese (traditional) encodings\n //\n\n // 12.1 Big5\n\n // 12.1.1 Big5 decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function Big5Decoder(options) {\n var fatal = options.fatal;\n // Big5's decoder has an associated Big5 lead (initially 0x00).\n var /** @type {number} */ Big5_lead = 0x00;\n\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and Big5 lead is not 0x00, set\n // Big5 lead to 0x00 and return error.\n if (bite === end_of_stream && Big5_lead !== 0x00) {\n Big5_lead = 0x00;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream and Big5 lead is 0x00, return\n // finished.\n if (bite === end_of_stream && Big5_lead === 0x00)\n return finished;\n\n // 3. If Big5 lead is not 0x00, let lead be Big5 lead, let\n // pointer be null, set Big5 lead to 0x00, and then run these\n // substeps:\n if (Big5_lead !== 0x00) {\n var lead = Big5_lead;\n var pointer = null;\n Big5_lead = 0x00;\n\n // 1. Let offset be 0x40 if byte is less than 0x7F and 0x62\n // otherwise.\n var offset = bite < 0x7F ? 0x40 : 0x62;\n\n // 2. If byte is in the range 0x40 to 0x7E, inclusive, or 0xA1\n // to 0xFE, inclusive, set pointer to (lead − 0x81) × 157 +\n // (byte − offset).\n if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0xA1, 0xFE))\n pointer = (lead - 0x81) * 157 + (bite - offset);\n\n // 3. If there is a row in the table below whose first column\n // is pointer, return the two code points listed in its second\n // column\n // Pointer | Code points\n // --------+--------------\n // 1133 | U+00CA U+0304\n // 1135 | U+00CA U+030C\n // 1164 | U+00EA U+0304\n // 1166 | U+00EA U+030C\n switch (pointer) {\n case 1133: return [0x00CA, 0x0304];\n case 1135: return [0x00CA, 0x030C];\n case 1164: return [0x00EA, 0x0304];\n case 1166: return [0x00EA, 0x030C];\n }\n\n // 4. Let code point be null if pointer is null and the index\n // code point for pointer in index Big5 otherwise.\n var code_point = (pointer === null) ? null :\n indexCodePointFor(pointer, index('big5'));\n\n // 5. If code point is null and byte is an ASCII byte, prepend\n // byte to stream.\n if (code_point === null && isASCIIByte(bite))\n stream.prepend(bite);\n\n // 6. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 7. Return a code point whose value is code point.\n return code_point;\n }\n\n // 4. If byte is an ASCII byte, return a code point whose value\n // is byte.\n if (isASCIIByte(bite))\n return bite;\n\n // 5. If byte is in the range 0x81 to 0xFE, inclusive, set Big5\n // lead to byte and return continue.\n if (inRange(bite, 0x81, 0xFE)) {\n Big5_lead = bite;\n return null;\n }\n\n // 6. Return error.\n return decoderError(fatal);\n };\n }\n\n // 12.1.2 Big5 encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function Big5Encoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. Let pointer be the index Big5 pointer for code point.\n var pointer = indexBig5PointerFor(code_point);\n\n // 4. If pointer is null, return error with code point.\n if (pointer === null)\n return encoderError(code_point);\n\n // 5. Let lead be floor(pointer / 157) + 0x81.\n var lead = floor(pointer / 157) + 0x81;\n\n // 6. If lead is less than 0xA1, return error with code point.\n if (lead < 0xA1)\n return encoderError(code_point);\n\n // 7. Let trail be pointer % 157.\n var trail = pointer % 157;\n\n // 8. Let offset be 0x40 if trail is less than 0x3F and 0x62\n // otherwise.\n var offset = trail < 0x3F ? 0x40 : 0x62;\n\n // Return two bytes whose values are lead and trail + offset.\n return [lead, trail + offset];\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['Big5'] = function(options) {\n return new Big5Encoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['Big5'] = function(options) {\n return new Big5Decoder(options);\n };\n\n\n //\n // 13. Legacy multi-byte Japanese encodings\n //\n\n // 13.1 euc-jp\n\n // 13.1.1 euc-jp decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function EUCJPDecoder(options) {\n var fatal = options.fatal;\n\n // euc-jp's decoder has an associated euc-jp jis0212 flag\n // (initially unset) and euc-jp lead (initially 0x00).\n var /** @type {boolean} */ eucjp_jis0212_flag = false,\n /** @type {number} */ eucjp_lead = 0x00;\n\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and euc-jp lead is not 0x00, set\n // euc-jp lead to 0x00, and return error.\n if (bite === end_of_stream && eucjp_lead !== 0x00) {\n eucjp_lead = 0x00;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream and euc-jp lead is 0x00, return\n // finished.\n if (bite === end_of_stream && eucjp_lead === 0x00)\n return finished;\n\n // 3. If euc-jp lead is 0x8E and byte is in the range 0xA1 to\n // 0xDF, inclusive, set euc-jp lead to 0x00 and return a code\n // point whose value is 0xFF61 − 0xA1 + byte.\n if (eucjp_lead === 0x8E && inRange(bite, 0xA1, 0xDF)) {\n eucjp_lead = 0x00;\n return 0xFF61 - 0xA1 + bite;\n }\n\n // 4. If euc-jp lead is 0x8F and byte is in the range 0xA1 to\n // 0xFE, inclusive, set the euc-jp jis0212 flag, set euc-jp lead\n // to byte, and return continue.\n if (eucjp_lead === 0x8F && inRange(bite, 0xA1, 0xFE)) {\n eucjp_jis0212_flag = true;\n eucjp_lead = bite;\n return null;\n }\n\n // 5. If euc-jp lead is not 0x00, let lead be euc-jp lead, set\n // euc-jp lead to 0x00, and run these substeps:\n if (eucjp_lead !== 0x00) {\n var lead = eucjp_lead;\n eucjp_lead = 0x00;\n\n // 1. Let code point be null.\n var code_point = null;\n\n // 2. If lead and byte are both in the range 0xA1 to 0xFE,\n // inclusive, set code point to the index code point for (lead\n // − 0xA1) × 94 + byte − 0xA1 in index jis0208 if the euc-jp\n // jis0212 flag is unset and in index jis0212 otherwise.\n if (inRange(lead, 0xA1, 0xFE) && inRange(bite, 0xA1, 0xFE)) {\n code_point = indexCodePointFor(\n (lead - 0xA1) * 94 + (bite - 0xA1),\n index(!eucjp_jis0212_flag ? 'jis0208' : 'jis0212'));\n }\n\n // 3. Unset the euc-jp jis0212 flag.\n eucjp_jis0212_flag = false;\n\n // 4. If byte is not in the range 0xA1 to 0xFE, inclusive,\n // prepend byte to stream.\n if (!inRange(bite, 0xA1, 0xFE))\n stream.prepend(bite);\n\n // 5. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 6. Return a code point whose value is code point.\n return code_point;\n }\n\n // 6. If byte is an ASCII byte, return a code point whose value\n // is byte.\n if (isASCIIByte(bite))\n return bite;\n\n // 7. If byte is 0x8E, 0x8F, or in the range 0xA1 to 0xFE,\n // inclusive, set euc-jp lead to byte and return continue.\n if (bite === 0x8E || bite === 0x8F || inRange(bite, 0xA1, 0xFE)) {\n eucjp_lead = bite;\n return null;\n }\n\n // 8. Return error.\n return decoderError(fatal);\n };\n }\n\n // 13.1.2 euc-jp encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function EUCJPEncoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. If code point is U+00A5, return byte 0x5C.\n if (code_point === 0x00A5)\n return 0x5C;\n\n // 4. If code point is U+203E, return byte 0x7E.\n if (code_point === 0x203E)\n return 0x7E;\n\n // 5. If code point is in the range U+FF61 to U+FF9F, inclusive,\n // return two bytes whose values are 0x8E and code point −\n // 0xFF61 + 0xA1.\n if (inRange(code_point, 0xFF61, 0xFF9F))\n return [0x8E, code_point - 0xFF61 + 0xA1];\n\n // 6. If code point is U+2212, set it to U+FF0D.\n if (code_point === 0x2212)\n code_point = 0xFF0D;\n\n // 7. Let pointer be the index pointer for code point in index\n // jis0208.\n var pointer = indexPointerFor(code_point, index('jis0208'));\n\n // 8. If pointer is null, return error with code point.\n if (pointer === null)\n return encoderError(code_point);\n\n // 9. Let lead be floor(pointer / 94) + 0xA1.\n var lead = floor(pointer / 94) + 0xA1;\n\n // 10. Let trail be pointer % 94 + 0xA1.\n var trail = pointer % 94 + 0xA1;\n\n // 11. Return two bytes whose values are lead and trail.\n return [lead, trail];\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['EUC-JP'] = function(options) {\n return new EUCJPEncoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['EUC-JP'] = function(options) {\n return new EUCJPDecoder(options);\n };\n\n // 13.2 iso-2022-jp\n\n // 13.2.1 iso-2022-jp decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function ISO2022JPDecoder(options) {\n var fatal = options.fatal;\n /** @enum */\n var states = {\n ASCII: 0,\n Roman: 1,\n Katakana: 2,\n LeadByte: 3,\n TrailByte: 4,\n EscapeStart: 5,\n Escape: 6\n };\n // iso-2022-jp's decoder has an associated iso-2022-jp decoder\n // state (initially ASCII), iso-2022-jp decoder output state\n // (initially ASCII), iso-2022-jp lead (initially 0x00), and\n // iso-2022-jp output flag (initially unset).\n var /** @type {number} */ iso2022jp_decoder_state = states.ASCII,\n /** @type {number} */ iso2022jp_decoder_output_state = states.ASCII,\n /** @type {number} */ iso2022jp_lead = 0x00,\n /** @type {boolean} */ iso2022jp_output_flag = false;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // switching on iso-2022-jp decoder state:\n switch (iso2022jp_decoder_state) {\n default:\n case states.ASCII:\n // ASCII\n // Based on byte:\n\n // 0x1B\n if (bite === 0x1B) {\n // Set iso-2022-jp decoder state to escape start and return\n // continue.\n iso2022jp_decoder_state = states.EscapeStart;\n return null;\n }\n\n // 0x00 to 0x7F, excluding 0x0E, 0x0F, and 0x1B\n if (inRange(bite, 0x00, 0x7F) && bite !== 0x0E\n && bite !== 0x0F && bite !== 0x1B) {\n // Unset the iso-2022-jp output flag and return a code point\n // whose value is byte.\n iso2022jp_output_flag = false;\n return bite;\n }\n\n // end-of-stream\n if (bite === end_of_stream) {\n // Return finished.\n return finished;\n }\n\n // Otherwise\n // Unset the iso-2022-jp output flag and return error.\n iso2022jp_output_flag = false;\n return decoderError(fatal);\n\n case states.Roman:\n // Roman\n // Based on byte:\n\n // 0x1B\n if (bite === 0x1B) {\n // Set iso-2022-jp decoder state to escape start and return\n // continue.\n iso2022jp_decoder_state = states.EscapeStart;\n return null;\n }\n\n // 0x5C\n if (bite === 0x5C) {\n // Unset the iso-2022-jp output flag and return code point\n // U+00A5.\n iso2022jp_output_flag = false;\n return 0x00A5;\n }\n\n // 0x7E\n if (bite === 0x7E) {\n // Unset the iso-2022-jp output flag and return code point\n // U+203E.\n iso2022jp_output_flag = false;\n return 0x203E;\n }\n\n // 0x00 to 0x7F, excluding 0x0E, 0x0F, 0x1B, 0x5C, and 0x7E\n if (inRange(bite, 0x00, 0x7F) && bite !== 0x0E && bite !== 0x0F\n && bite !== 0x1B && bite !== 0x5C && bite !== 0x7E) {\n // Unset the iso-2022-jp output flag and return a code point\n // whose value is byte.\n iso2022jp_output_flag = false;\n return bite;\n }\n\n // end-of-stream\n if (bite === end_of_stream) {\n // Return finished.\n return finished;\n }\n\n // Otherwise\n // Unset the iso-2022-jp output flag and return error.\n iso2022jp_output_flag = false;\n return decoderError(fatal);\n\n case states.Katakana:\n // Katakana\n // Based on byte:\n\n // 0x1B\n if (bite === 0x1B) {\n // Set iso-2022-jp decoder state to escape start and return\n // continue.\n iso2022jp_decoder_state = states.EscapeStart;\n return null;\n }\n\n // 0x21 to 0x5F\n if (inRange(bite, 0x21, 0x5F)) {\n // Unset the iso-2022-jp output flag and return a code point\n // whose value is 0xFF61 − 0x21 + byte.\n iso2022jp_output_flag = false;\n return 0xFF61 - 0x21 + bite;\n }\n\n // end-of-stream\n if (bite === end_of_stream) {\n // Return finished.\n return finished;\n }\n\n // Otherwise\n // Unset the iso-2022-jp output flag and return error.\n iso2022jp_output_flag = false;\n return decoderError(fatal);\n\n case states.LeadByte:\n // Lead byte\n // Based on byte:\n\n // 0x1B\n if (bite === 0x1B) {\n // Set iso-2022-jp decoder state to escape start and return\n // continue.\n iso2022jp_decoder_state = states.EscapeStart;\n return null;\n }\n\n // 0x21 to 0x7E\n if (inRange(bite, 0x21, 0x7E)) {\n // Unset the iso-2022-jp output flag, set iso-2022-jp lead\n // to byte, iso-2022-jp decoder state to trail byte, and\n // return continue.\n iso2022jp_output_flag = false;\n iso2022jp_lead = bite;\n iso2022jp_decoder_state = states.TrailByte;\n return null;\n }\n\n // end-of-stream\n if (bite === end_of_stream) {\n // Return finished.\n return finished;\n }\n\n // Otherwise\n // Unset the iso-2022-jp output flag and return error.\n iso2022jp_output_flag = false;\n return decoderError(fatal);\n\n case states.TrailByte:\n // Trail byte\n // Based on byte:\n\n // 0x1B\n if (bite === 0x1B) {\n // Set iso-2022-jp decoder state to escape start and return\n // continue.\n iso2022jp_decoder_state = states.EscapeStart;\n return decoderError(fatal);\n }\n\n // 0x21 to 0x7E\n if (inRange(bite, 0x21, 0x7E)) {\n // 1. Set the iso-2022-jp decoder state to lead byte.\n iso2022jp_decoder_state = states.LeadByte;\n\n // 2. Let pointer be (iso-2022-jp lead − 0x21) × 94 + byte − 0x21.\n var pointer = (iso2022jp_lead - 0x21) * 94 + bite - 0x21;\n\n // 3. Let code point be the index code point for pointer in\n // index jis0208.\n var code_point = indexCodePointFor(pointer, index('jis0208'));\n\n // 4. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 5. Return a code point whose value is code point.\n return code_point;\n }\n\n // end-of-stream\n if (bite === end_of_stream) {\n // Set the iso-2022-jp decoder state to lead byte, prepend\n // byte to stream, and return error.\n iso2022jp_decoder_state = states.LeadByte;\n stream.prepend(bite);\n return decoderError(fatal);\n }\n\n // Otherwise\n // Set iso-2022-jp decoder state to lead byte and return\n // error.\n iso2022jp_decoder_state = states.LeadByte;\n return decoderError(fatal);\n\n case states.EscapeStart:\n // Escape start\n\n // 1. If byte is either 0x24 or 0x28, set iso-2022-jp lead to\n // byte, iso-2022-jp decoder state to escape, and return\n // continue.\n if (bite === 0x24 || bite === 0x28) {\n iso2022jp_lead = bite;\n iso2022jp_decoder_state = states.Escape;\n return null;\n }\n\n // 2. Prepend byte to stream.\n stream.prepend(bite);\n\n // 3. Unset the iso-2022-jp output flag, set iso-2022-jp\n // decoder state to iso-2022-jp decoder output state, and\n // return error.\n iso2022jp_output_flag = false;\n iso2022jp_decoder_state = iso2022jp_decoder_output_state;\n return decoderError(fatal);\n\n case states.Escape:\n // Escape\n\n // 1. Let lead be iso-2022-jp lead and set iso-2022-jp lead to\n // 0x00.\n var lead = iso2022jp_lead;\n iso2022jp_lead = 0x00;\n\n // 2. Let state be null.\n var state = null;\n\n // 3. If lead is 0x28 and byte is 0x42, set state to ASCII.\n if (lead === 0x28 && bite === 0x42)\n state = states.ASCII;\n\n // 4. If lead is 0x28 and byte is 0x4A, set state to Roman.\n if (lead === 0x28 && bite === 0x4A)\n state = states.Roman;\n\n // 5. If lead is 0x28 and byte is 0x49, set state to Katakana.\n if (lead === 0x28 && bite === 0x49)\n state = states.Katakana;\n\n // 6. If lead is 0x24 and byte is either 0x40 or 0x42, set\n // state to lead byte.\n if (lead === 0x24 && (bite === 0x40 || bite === 0x42))\n state = states.LeadByte;\n\n // 7. If state is non-null, run these substeps:\n if (state !== null) {\n // 1. Set iso-2022-jp decoder state and iso-2022-jp decoder\n // output state to states.\n iso2022jp_decoder_state = iso2022jp_decoder_state = state;\n\n // 2. Let output flag be the iso-2022-jp output flag.\n var output_flag = iso2022jp_output_flag;\n\n // 3. Set the iso-2022-jp output flag.\n iso2022jp_output_flag = true;\n\n // 4. Return continue, if output flag is unset, and error\n // otherwise.\n return !output_flag ? null : decoderError(fatal);\n }\n\n // 8. Prepend lead and byte to stream.\n stream.prepend([lead, bite]);\n\n // 9. Unset the iso-2022-jp output flag, set iso-2022-jp\n // decoder state to iso-2022-jp decoder output state and\n // return error.\n iso2022jp_output_flag = false;\n iso2022jp_decoder_state = iso2022jp_decoder_output_state;\n return decoderError(fatal);\n }\n };\n }\n\n // 13.2.2 iso-2022-jp encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function ISO2022JPEncoder(options) {\n var fatal = options.fatal;\n // iso-2022-jp's encoder has an associated iso-2022-jp encoder\n // state which is one of ASCII, Roman, and jis0208 (initially\n // ASCII).\n /** @enum */\n var states = {\n ASCII: 0,\n Roman: 1,\n jis0208: 2\n };\n var /** @type {number} */ iso2022jp_state = states.ASCII;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream and iso-2022-jp encoder\n // state is not ASCII, prepend code point to stream, set\n // iso-2022-jp encoder state to ASCII, and return three bytes\n // 0x1B 0x28 0x42.\n if (code_point === end_of_stream &&\n iso2022jp_state !== states.ASCII) {\n stream.prepend(code_point);\n iso2022jp_state = states.ASCII;\n return [0x1B, 0x28, 0x42];\n }\n\n // 2. If code point is end-of-stream and iso-2022-jp encoder\n // state is ASCII, return finished.\n if (code_point === end_of_stream && iso2022jp_state === states.ASCII)\n return finished;\n\n // 3. If ISO-2022-JP encoder state is ASCII or Roman, and code\n // point is U+000E, U+000F, or U+001B, return error with U+FFFD.\n if ((iso2022jp_state === states.ASCII ||\n iso2022jp_state === states.Roman) &&\n (code_point === 0x000E || code_point === 0x000F ||\n code_point === 0x001B)) {\n return encoderError(0xFFFD);\n }\n\n // 4. If iso-2022-jp encoder state is ASCII and code point is an\n // ASCII code point, return a byte whose value is code point.\n if (iso2022jp_state === states.ASCII &&\n isASCIICodePoint(code_point))\n return code_point;\n\n // 5. If iso-2022-jp encoder state is Roman and code point is an\n // ASCII code point, excluding U+005C and U+007E, or is U+00A5\n // or U+203E, run these substeps:\n if (iso2022jp_state === states.Roman &&\n ((isASCIICodePoint(code_point) &&\n code_point !== 0x005C && code_point !== 0x007E) ||\n (code_point == 0x00A5 || code_point == 0x203E))) {\n\n // 1. If code point is an ASCII code point, return a byte\n // whose value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 2. If code point is U+00A5, return byte 0x5C.\n if (code_point === 0x00A5)\n return 0x5C;\n\n // 3. If code point is U+203E, return byte 0x7E.\n if (code_point === 0x203E)\n return 0x7E;\n }\n\n // 6. If code point is an ASCII code point, and iso-2022-jp\n // encoder state is not ASCII, prepend code point to stream, set\n // iso-2022-jp encoder state to ASCII, and return three bytes\n // 0x1B 0x28 0x42.\n if (isASCIICodePoint(code_point) &&\n iso2022jp_state !== states.ASCII) {\n stream.prepend(code_point);\n iso2022jp_state = states.ASCII;\n return [0x1B, 0x28, 0x42];\n }\n\n // 7. If code point is either U+00A5 or U+203E, and iso-2022-jp\n // encoder state is not Roman, prepend code point to stream, set\n // iso-2022-jp encoder state to Roman, and return three bytes\n // 0x1B 0x28 0x4A.\n if ((code_point === 0x00A5 || code_point === 0x203E) &&\n iso2022jp_state !== states.Roman) {\n stream.prepend(code_point);\n iso2022jp_state = states.Roman;\n return [0x1B, 0x28, 0x4A];\n }\n\n // 8. If code point is U+2212, set it to U+FF0D.\n if (code_point === 0x2212)\n code_point = 0xFF0D;\n\n // 9. Let pointer be the index pointer for code point in index\n // jis0208.\n var pointer = indexPointerFor(code_point, index('jis0208'));\n\n // 10. If pointer is null, return error with code point.\n if (pointer === null)\n return encoderError(code_point);\n\n // 11. If iso-2022-jp encoder state is not jis0208, prepend code\n // point to stream, set iso-2022-jp encoder state to jis0208,\n // and return three bytes 0x1B 0x24 0x42.\n if (iso2022jp_state !== states.jis0208) {\n stream.prepend(code_point);\n iso2022jp_state = states.jis0208;\n return [0x1B, 0x24, 0x42];\n }\n\n // 12. Let lead be floor(pointer / 94) + 0x21.\n var lead = floor(pointer / 94) + 0x21;\n\n // 13. Let trail be pointer % 94 + 0x21.\n var trail = pointer % 94 + 0x21;\n\n // 14. Return two bytes whose values are lead and trail.\n return [lead, trail];\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['ISO-2022-JP'] = function(options) {\n return new ISO2022JPEncoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['ISO-2022-JP'] = function(options) {\n return new ISO2022JPDecoder(options);\n };\n\n // 13.3 Shift_JIS\n\n // 13.3.1 Shift_JIS decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function ShiftJISDecoder(options) {\n var fatal = options.fatal;\n // Shift_JIS's decoder has an associated Shift_JIS lead (initially\n // 0x00).\n var /** @type {number} */ Shift_JIS_lead = 0x00;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and Shift_JIS lead is not 0x00,\n // set Shift_JIS lead to 0x00 and return error.\n if (bite === end_of_stream && Shift_JIS_lead !== 0x00) {\n Shift_JIS_lead = 0x00;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream and Shift_JIS lead is 0x00,\n // return finished.\n if (bite === end_of_stream && Shift_JIS_lead === 0x00)\n return finished;\n\n // 3. If Shift_JIS lead is not 0x00, let lead be Shift_JIS lead,\n // let pointer be null, set Shift_JIS lead to 0x00, and then run\n // these substeps:\n if (Shift_JIS_lead !== 0x00) {\n var lead = Shift_JIS_lead;\n var pointer = null;\n Shift_JIS_lead = 0x00;\n\n // 1. Let offset be 0x40, if byte is less than 0x7F, and 0x41\n // otherwise.\n var offset = (bite < 0x7F) ? 0x40 : 0x41;\n\n // 2. Let lead offset be 0x81, if lead is less than 0xA0, and\n // 0xC1 otherwise.\n var lead_offset = (lead < 0xA0) ? 0x81 : 0xC1;\n\n // 3. If byte is in the range 0x40 to 0x7E, inclusive, or 0x80\n // to 0xFC, inclusive, set pointer to (lead − lead offset) ×\n // 188 + byte − offset.\n if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0x80, 0xFC))\n pointer = (lead - lead_offset) * 188 + bite - offset;\n\n // 4. If pointer is in the range 8836 to 10715, inclusive,\n // return a code point whose value is 0xE000 − 8836 + pointer.\n if (inRange(pointer, 8836, 10715))\n return 0xE000 - 8836 + pointer;\n\n // 5. Let code point be null, if pointer is null, and the\n // index code point for pointer in index jis0208 otherwise.\n var code_point = (pointer === null) ? null :\n indexCodePointFor(pointer, index('jis0208'));\n\n // 6. If code point is null and byte is an ASCII byte, prepend\n // byte to stream.\n if (code_point === null && isASCIIByte(bite))\n stream.prepend(bite);\n\n // 7. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 8. Return a code point whose value is code point.\n return code_point;\n }\n\n // 4. If byte is an ASCII byte or 0x80, return a code point\n // whose value is byte.\n if (isASCIIByte(bite) || bite === 0x80)\n return bite;\n\n // 5. If byte is in the range 0xA1 to 0xDF, inclusive, return a\n // code point whose value is 0xFF61 − 0xA1 + byte.\n if (inRange(bite, 0xA1, 0xDF))\n return 0xFF61 - 0xA1 + bite;\n\n // 6. If byte is in the range 0x81 to 0x9F, inclusive, or 0xE0\n // to 0xFC, inclusive, set Shift_JIS lead to byte and return\n // continue.\n if (inRange(bite, 0x81, 0x9F) || inRange(bite, 0xE0, 0xFC)) {\n Shift_JIS_lead = bite;\n return null;\n }\n\n // 7. Return error.\n return decoderError(fatal);\n };\n }\n\n // 13.3.2 Shift_JIS encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function ShiftJISEncoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point or U+0080, return a\n // byte whose value is code point.\n if (isASCIICodePoint(code_point) || code_point === 0x0080)\n return code_point;\n\n // 3. If code point is U+00A5, return byte 0x5C.\n if (code_point === 0x00A5)\n return 0x5C;\n\n // 4. If code point is U+203E, return byte 0x7E.\n if (code_point === 0x203E)\n return 0x7E;\n\n // 5. If code point is in the range U+FF61 to U+FF9F, inclusive,\n // return a byte whose value is code point − 0xFF61 + 0xA1.\n if (inRange(code_point, 0xFF61, 0xFF9F))\n return code_point - 0xFF61 + 0xA1;\n\n // 6. If code point is U+2212, set it to U+FF0D.\n if (code_point === 0x2212)\n code_point = 0xFF0D;\n\n // 7. Let pointer be the index Shift_JIS pointer for code point.\n var pointer = indexShiftJISPointerFor(code_point);\n\n // 8. If pointer is null, return error with code point.\n if (pointer === null)\n return encoderError(code_point);\n\n // 9. Let lead be floor(pointer / 188).\n var lead = floor(pointer / 188);\n\n // 10. Let lead offset be 0x81, if lead is less than 0x1F, and\n // 0xC1 otherwise.\n var lead_offset = (lead < 0x1F) ? 0x81 : 0xC1;\n\n // 11. Let trail be pointer % 188.\n var trail = pointer % 188;\n\n // 12. Let offset be 0x40, if trail is less than 0x3F, and 0x41\n // otherwise.\n var offset = (trail < 0x3F) ? 0x40 : 0x41;\n\n // 13. Return two bytes whose values are lead + lead offset and\n // trail + offset.\n return [lead + lead_offset, trail + offset];\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['Shift_JIS'] = function(options) {\n return new ShiftJISEncoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['Shift_JIS'] = function(options) {\n return new ShiftJISDecoder(options);\n };\n\n //\n // 14. Legacy multi-byte Korean encodings\n //\n\n // 14.1 euc-kr\n\n // 14.1.1 euc-kr decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function EUCKRDecoder(options) {\n var fatal = options.fatal;\n\n // euc-kr's decoder has an associated euc-kr lead (initially 0x00).\n var /** @type {number} */ euckr_lead = 0x00;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and euc-kr lead is not 0x00, set\n // euc-kr lead to 0x00 and return error.\n if (bite === end_of_stream && euckr_lead !== 0) {\n euckr_lead = 0x00;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream and euc-kr lead is 0x00, return\n // finished.\n if (bite === end_of_stream && euckr_lead === 0)\n return finished;\n\n // 3. If euc-kr lead is not 0x00, let lead be euc-kr lead, let\n // pointer be null, set euc-kr lead to 0x00, and then run these\n // substeps:\n if (euckr_lead !== 0x00) {\n var lead = euckr_lead;\n var pointer = null;\n euckr_lead = 0x00;\n\n // 1. If byte is in the range 0x41 to 0xFE, inclusive, set\n // pointer to (lead − 0x81) × 190 + (byte − 0x41).\n if (inRange(bite, 0x41, 0xFE))\n pointer = (lead - 0x81) * 190 + (bite - 0x41);\n\n // 2. Let code point be null, if pointer is null, and the\n // index code point for pointer in index euc-kr otherwise.\n var code_point = (pointer === null)\n ? null : indexCodePointFor(pointer, index('euc-kr'));\n\n // 3. If code point is null and byte is an ASCII byte, prepend\n // byte to stream.\n if (pointer === null && isASCIIByte(bite))\n stream.prepend(bite);\n\n // 4. If code point is null, return error.\n if (code_point === null)\n return decoderError(fatal);\n\n // 5. Return a code point whose value is code point.\n return code_point;\n }\n\n // 4. If byte is an ASCII byte, return a code point whose value\n // is byte.\n if (isASCIIByte(bite))\n return bite;\n\n // 5. If byte is in the range 0x81 to 0xFE, inclusive, set\n // euc-kr lead to byte and return continue.\n if (inRange(bite, 0x81, 0xFE)) {\n euckr_lead = bite;\n return null;\n }\n\n // 6. Return error.\n return decoderError(fatal);\n };\n }\n\n // 14.1.2 euc-kr encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function EUCKREncoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. Let pointer be the index pointer for code point in index\n // euc-kr.\n var pointer = indexPointerFor(code_point, index('euc-kr'));\n\n // 4. If pointer is null, return error with code point.\n if (pointer === null)\n return encoderError(code_point);\n\n // 5. Let lead be floor(pointer / 190) + 0x81.\n var lead = floor(pointer / 190) + 0x81;\n\n // 6. Let trail be pointer % 190 + 0x41.\n var trail = (pointer % 190) + 0x41;\n\n // 7. Return two bytes whose values are lead and trail.\n return [lead, trail];\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['EUC-KR'] = function(options) {\n return new EUCKREncoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['EUC-KR'] = function(options) {\n return new EUCKRDecoder(options);\n };\n\n\n //\n // 15. Legacy miscellaneous encodings\n //\n\n // 15.1 replacement\n\n // Not needed - API throws RangeError\n\n // 15.2 Common infrastructure for utf-16be and utf-16le\n\n /**\n * @param {number} code_unit\n * @param {boolean} utf16be\n * @return {!Array.} bytes\n */\n function convertCodeUnitToBytes(code_unit, utf16be) {\n // 1. Let byte1 be code unit >> 8.\n var byte1 = code_unit >> 8;\n\n // 2. Let byte2 be code unit & 0x00FF.\n var byte2 = code_unit & 0x00FF;\n\n // 3. Then return the bytes in order:\n // utf-16be flag is set: byte1, then byte2.\n if (utf16be)\n return [byte1, byte2];\n // utf-16be flag is unset: byte2, then byte1.\n return [byte2, byte1];\n }\n\n // 15.2.1 shared utf-16 decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {boolean} utf16_be True if big-endian, false if little-endian.\n * @param {{fatal: boolean}} options\n */\n function UTF16Decoder(utf16_be, options) {\n var fatal = options.fatal;\n var /** @type {?number} */ utf16_lead_byte = null,\n /** @type {?number} */ utf16_lead_surrogate = null;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and either utf-16 lead byte or\n // utf-16 lead surrogate is not null, set utf-16 lead byte and\n // utf-16 lead surrogate to null, and return error.\n if (bite === end_of_stream && (utf16_lead_byte !== null ||\n utf16_lead_surrogate !== null)) {\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream and utf-16 lead byte and utf-16\n // lead surrogate are null, return finished.\n if (bite === end_of_stream && utf16_lead_byte === null &&\n utf16_lead_surrogate === null) {\n return finished;\n }\n\n // 3. If utf-16 lead byte is null, set utf-16 lead byte to byte\n // and return continue.\n if (utf16_lead_byte === null) {\n utf16_lead_byte = bite;\n return null;\n }\n\n // 4. Let code unit be the result of:\n var code_unit;\n if (utf16_be) {\n // utf-16be decoder flag is set\n // (utf-16 lead byte << 8) + byte.\n code_unit = (utf16_lead_byte << 8) + bite;\n } else {\n // utf-16be decoder flag is unset\n // (byte << 8) + utf-16 lead byte.\n code_unit = (bite << 8) + utf16_lead_byte;\n }\n // Then set utf-16 lead byte to null.\n utf16_lead_byte = null;\n\n // 5. If utf-16 lead surrogate is not null, let lead surrogate\n // be utf-16 lead surrogate, set utf-16 lead surrogate to null,\n // and then run these substeps:\n if (utf16_lead_surrogate !== null) {\n var lead_surrogate = utf16_lead_surrogate;\n utf16_lead_surrogate = null;\n\n // 1. If code unit is in the range U+DC00 to U+DFFF,\n // inclusive, return a code point whose value is 0x10000 +\n // ((lead surrogate − 0xD800) << 10) + (code unit − 0xDC00).\n if (inRange(code_unit, 0xDC00, 0xDFFF)) {\n return 0x10000 + (lead_surrogate - 0xD800) * 0x400 +\n (code_unit - 0xDC00);\n }\n\n // 2. Prepend the sequence resulting of converting code unit\n // to bytes using utf-16be decoder flag to stream and return\n // error.\n stream.prepend(convertCodeUnitToBytes(code_unit, utf16_be));\n return decoderError(fatal);\n }\n\n // 6. If code unit is in the range U+D800 to U+DBFF, inclusive,\n // set utf-16 lead surrogate to code unit and return continue.\n if (inRange(code_unit, 0xD800, 0xDBFF)) {\n utf16_lead_surrogate = code_unit;\n return null;\n }\n\n // 7. If code unit is in the range U+DC00 to U+DFFF, inclusive,\n // return error.\n if (inRange(code_unit, 0xDC00, 0xDFFF))\n return decoderError(fatal);\n\n // 8. Return code point code unit.\n return code_unit;\n };\n }\n\n // 15.2.2 shared utf-16 encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {boolean} utf16_be True if big-endian, false if little-endian.\n * @param {{fatal: boolean}} options\n */\n function UTF16Encoder(utf16_be, options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is in the range U+0000 to U+FFFF, inclusive,\n // return the sequence resulting of converting code point to\n // bytes using utf-16be encoder flag.\n if (inRange(code_point, 0x0000, 0xFFFF))\n return convertCodeUnitToBytes(code_point, utf16_be);\n\n // 3. Let lead be ((code point − 0x10000) >> 10) + 0xD800,\n // converted to bytes using utf-16be encoder flag.\n var lead = convertCodeUnitToBytes(\n ((code_point - 0x10000) >> 10) + 0xD800, utf16_be);\n\n // 4. Let trail be ((code point − 0x10000) & 0x3FF) + 0xDC00,\n // converted to bytes using utf-16be encoder flag.\n var trail = convertCodeUnitToBytes(\n ((code_point - 0x10000) & 0x3FF) + 0xDC00, utf16_be);\n\n // 5. Return a byte sequence of lead followed by trail.\n return lead.concat(trail);\n };\n }\n\n // 15.3 utf-16be\n // 15.3.1 utf-16be decoder\n /** @param {{fatal: boolean}} options */\n encoders['UTF-16BE'] = function(options) {\n return new UTF16Encoder(true, options);\n };\n // 15.3.2 utf-16be encoder\n /** @param {{fatal: boolean}} options */\n decoders['UTF-16BE'] = function(options) {\n return new UTF16Decoder(true, options);\n };\n\n // 15.4 utf-16le\n // 15.4.1 utf-16le decoder\n /** @param {{fatal: boolean}} options */\n encoders['UTF-16LE'] = function(options) {\n return new UTF16Encoder(false, options);\n };\n // 15.4.2 utf-16le encoder\n /** @param {{fatal: boolean}} options */\n decoders['UTF-16LE'] = function(options) {\n return new UTF16Decoder(false, options);\n };\n\n // 15.5 x-user-defined\n\n // 15.5.1 x-user-defined decoder\n /**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n function XUserDefinedDecoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream, return finished.\n if (bite === end_of_stream)\n return finished;\n\n // 2. If byte is an ASCII byte, return a code point whose value\n // is byte.\n if (isASCIIByte(bite))\n return bite;\n\n // 3. Return a code point whose value is 0xF780 + byte − 0x80.\n return 0xF780 + bite - 0x80;\n };\n }\n\n // 15.5.2 x-user-defined encoder\n /**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n function XUserDefinedEncoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1.If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is an ASCII code point, return a byte whose\n // value is code point.\n if (isASCIICodePoint(code_point))\n return code_point;\n\n // 3. If code point is in the range U+F780 to U+F7FF, inclusive,\n // return a byte whose value is code point − 0xF780 + 0x80.\n if (inRange(code_point, 0xF780, 0xF7FF))\n return code_point - 0xF780 + 0x80;\n\n // 4. Return error with code point.\n return encoderError(code_point);\n };\n }\n\n /** @param {{fatal: boolean}} options */\n encoders['x-user-defined'] = function(options) {\n return new XUserDefinedEncoder(options);\n };\n /** @param {{fatal: boolean}} options */\n decoders['x-user-defined'] = function(options) {\n return new XUserDefinedDecoder(options);\n };\n\n if (!global['TextEncoder'])\n global['TextEncoder'] = TextEncoder;\n if (!global['TextDecoder'])\n global['TextDecoder'] = TextDecoder;\n\n if (typeof module !== \"undefined\" && module.exports) {\n module.exports = {\n TextEncoder: global['TextEncoder'],\n TextDecoder: global['TextDecoder'],\n EncodingIndexes: global[\"encoding-indexes\"]\n };\n }\n\n// For strict environments where `this` inside the global scope\n// is `undefined`, take a pure object instead\n}(this || {}));","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null, V: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, createDeps, update) {\n var dispatcher = ReactSharedInternals.H;\n if (\"function\" === typeof update)\n throw Error(\n \"useEffect CRUD overload is not enabled in this build of React.\"\n );\n return dispatcher.useEffect(create, createDeps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nvar l, s;\nif (process.env.NODE_ENV === 'production') {\n l = require('./cjs/react-dom-server-legacy.browser.production.js');\n s = require('./cjs/react-dom-server.browser.production.js');\n} else {\n l = require('./cjs/react-dom-server-legacy.browser.development.js');\n s = require('./cjs/react-dom-server.browser.development.js');\n}\n\nexports.version = l.version;\nexports.renderToString = l.renderToString;\nexports.renderToStaticMarkup = l.renderToStaticMarkup;\nexports.renderToReadableStream = s.renderToReadableStream;\nif (s.resume) {\n exports.resume = s.resume;\n}\n","class MessagePort {\n constructor() {\n this._otherPort = null;\n this._listeners = new Set();\n this.onmessage = null;\n }\n\n _link(port) {\n this._otherPort = port;\n }\n\n _dispatchMessage(data) {\n const event = { data };\n queueMicrotask(() => {\n if (typeof this.onmessage === 'function') {\n this.onmessage(event);\n }\n for (const listener of this._listeners) {\n listener(event);\n }\n });\n }\n\n postMessage(data) {\n if (!this._otherPort) {\n throw new Error(\"Port is not connected.\");\n }\n const clonedData = JSON.parse(JSON.stringify(data));\n this._otherPort._dispatchMessage(clonedData);\n }\n\n addEventListener(eventName, listener) {\n if (eventName === 'message' && typeof listener === 'function') {\n this._listeners.add(listener);\n }\n }\n\n removeEventListener(eventName, listener) {\n if (eventName === 'message') {\n this._listeners.delete(listener);\n }\n }\n\n start() { }\n close() { }\n}\n\nclass MessageChannel {\n constructor() {\n this.port1 = new MessagePort();\n this.port2 = new MessagePort();\n this.port1._link(this.port2);\n this.port2._link(this.port1);\n }\n}\n\nmodule.exports = {\n MessageChannel,\n};","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","(function(global) {\n 'use strict';\n\n if (typeof module !== \"undefined\" && module.exports) {\n module.exports = global;\n }\n\n global[\"encoding-indexes\"] =\n{\n \"big5\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,13759,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,170000,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,36218,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14000,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132000,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22000,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21000,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,30000,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,21040,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23000,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,31359,31361,31487,31485,31869,32002,32005,32000,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36000,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26000,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,23913,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,36050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,36996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37000,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39000,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38000,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28000,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,30767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,31075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35000,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,37380,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27000,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,33966,33963,33977,33972,33985,33997,33962,33946,33969,34000,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,22126,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25000,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,36997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24000,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,40000,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,29966,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],\n \"euc-kr\":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46000,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,46386,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48000,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49000,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,49741,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,50000,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51000,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,52779,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45000,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47000,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52000,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55000,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53000,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,53812,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54000,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32000,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37000,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36000,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26000,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21000,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39000,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,30000,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64000,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27000,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\n \"gb18030\":[19970,19972,19973,19974,19983,19986,19991,19999,20000,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22000,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,22626,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24000,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,26496,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,28901,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29000,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59000,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,29741,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,30965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31000,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,31083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,31680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25000,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32000,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,30000,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,34551,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35000,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36000,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21000,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34000,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28000,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37000,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23000,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38000,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27000,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33000,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26000,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39000,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,40000,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,57971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58000,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],\n \"gb18030-ranges\":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189000,65536]],\n \"jis0208\":[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21000,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39000,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32000,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,30000,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26000,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36000,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27000,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34000,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38000,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\n \"jis0212\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,22026,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25000,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,30023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,35057,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37000,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\n \"ibm866\":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],\n \"iso-8859-2\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],\n \"iso-8859-3\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],\n \"iso-8859-4\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],\n \"iso-8859-5\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],\n \"iso-8859-6\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],\n \"iso-8859-7\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],\n \"iso-8859-8\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],\n \"iso-8859-10\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],\n \"iso-8859-13\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],\n \"iso-8859-14\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],\n \"iso-8859-15\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],\n \"iso-8859-16\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],\n \"koi8-r\":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],\n \"koi8-u\":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],\n \"macintosh\":[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],\n \"windows-874\":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],\n \"windows-1250\":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],\n \"windows-1251\":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],\n \"windows-1252\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],\n \"windows-1253\":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],\n \"windows-1254\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],\n \"windows-1255\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],\n \"windows-1256\":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],\n \"windows-1257\":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],\n \"windows-1258\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],\n \"x-mac-cyrillic\":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]\n};\n\n// For strict environments where `this` inside the global scope\n// is `undefined`, take a pure object instead\n}(this || {}));","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.1\";\n","const React = require('react');\nconst { countryFlags } = require('./country-flags.cjs');\n\nconst Review = ({ review }) => (\n
\n

{review.user} ({review.rating}/100)

\n

{review.comment}

\n
\n);\n\nconst Grape = ({ grape }) => (\n
  • \n {grape.grape} ({grape.percentage}%)\n
    \n
    \n
    \n
  • \n);\n\nconst GrapeComposition = ({ composition }) => (\n
      \n {composition.map(g => (\n \n ))}\n
    \n);\n\nconst WineName = ({ name, hasHighRating }) => (\n

    {name} {hasHighRating && '⭐'}

    \n);\n\nconst Winemaker = ({ winemaker }) => (\n
    \n

    {winemaker.name}

    \n

    {winemaker.description}

    \n

    Established: {winemaker.establishedDate}

    \n
    \n);\n\nconst Region = ({ region }) => (\n

    \n {region.name} - {region.province},\n {region.country}\n {countryFlags[region.country]}\n

    \n);\n\nconst Tag = ({ tag }) => (\n
  • {tag}
  • \n);\n\nconst Tags = ({ tags }) => (\n
      \n {tags.map(t => (\n \n ))}\n
    \n);\n\nconst Vintage = ({ vintage }) => (\n

    Vintage: {vintage}

    \n);\n\nconst getSaleInfo = (price, salePrice) => {\n const onSale = salePrice && salePrice < price;\n const percentageDiff = onSale ? Math.round(((price - salePrice) / price) * 100) : 0;\n return { onSale, percentageDiff };\n};\n\nconst getPriceRating = (price) => {\n if (price < 100) return \"€\";\n if (price < 1000) return \"€€\";\n return \"€€€\";\n};\n\nconst PriceRating = ({ price }) => (\n {getPriceRating(price)}\n);\n\nconst Price = ({ price, salePrice }) => {\n const onSale = salePrice && salePrice < price;\n\n if (onSale) {\n return (\n \n ${price} ${salePrice}\n \n );\n }\n return ${price};\n};\n\nconst Bottle750 = ({ bottle }) => {\n const { quantity, price, salePrice } = bottle;\n const { onSale, percentageDiff } = getSaleInfo(price, salePrice);\n\n return (\n
  • \n 750ml: {quantity} {quantity < 10 && '(Low stock)'} - \n {onSale && ❗({percentageDiff}% off)}\n
  • \n );\n};\n\nconst BottleMagnum = ({ bottle }) => {\n const { quantity, price, salePrice } = bottle;\n const { onSale, percentageDiff } = getSaleInfo(price, salePrice);\n\n return (\n
  • \n Magnum: {quantity} {quantity < 10 && '(Low stock)'} - \n {onSale && ❗({percentageDiff}% off)}\n
  • \n );\n};\n\nconst BottleBalthazar = ({ bottle }) => {\n const { quantity, price, salePrice } = bottle;\n const { onSale, percentageDiff } = getSaleInfo(price, salePrice);\n\n return (\n
  • \n Balthazar: {quantity} {quantity < 10 && '(Low stock)'} - \n {onSale && ❗({percentageDiff}% off)}\n
  • \n );\n};\n\nconst Stock = ({ stock }) => (\n
    \n

    Stock

    \n {stock && Object.values(stock).some(s => s.quantity > 0) ? (\n
      \n {stock[\"750ml\"] && }\n {stock[\"magnum\"] && }\n {stock[\"balthazar\"] && }\n
    \n ) : (\n

    Out of stock

    \n )}\n
    \n);\n\nconst Wine = ({ wine }) => (\n
    \n r.rating > 90)} />\n \n \n \n

    Tasting Notes

    \n

    {wine.tastingNotes}

    \n \n

    Grape Composition

    \n \n \n

    Reviews

    \n {wine.reviews.map((review, i) => (\n \n ))}\n
    \n);\n\nconst WineList = ({ wines }) => (\n
    \n

    Complex Wine List

    \n {wines.map((wine, i) => (\n \n ))}\n
    \n);\n\nmodule.exports = {\n Review,\n Grape,\n GrapeComposition,\n WineName,\n Winemaker,\n Region,\n Tag,\n Tags,\n Vintage,\n Price,\n PriceRating,\n Bottle750,\n BottleMagnum,\n BottleBalthazar,\n Stock,\n Wine,\n WineList,\n};\n","/**\n * @license React\n * react-dom-server-legacy.browser.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n\n\n JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n\n Copyright (c) 2011 Gary Court\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\"use strict\";\nvar React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_SCOPE_TYPE = Symbol.for(\"react.scope\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_LEGACY_HIDDEN_TYPE = Symbol.for(\"react.legacy_hidden\"),\n REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n isArrayImpl = Array.isArray;\nfunction murmurhash3_32_gc(key, seed) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed;\n for (seed = 0; seed < bytes; ) {\n var k1 =\n (key.charCodeAt(seed) & 255) |\n ((key.charCodeAt(++seed) & 255) << 8) |\n ((key.charCodeAt(++seed) & 255) << 16) |\n ((key.charCodeAt(++seed) & 255) << 24);\n ++seed;\n k1 =\n (3432918353 * (k1 & 65535) +\n (((3432918353 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 =\n (461845907 * (k1 & 65535) + (((461845907 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n h1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n h1 = (5 * (h1 & 65535) + (((5 * (h1 >>> 16)) & 65535) << 16)) & 4294967295;\n h1 = (h1 & 65535) + 27492 + ((((h1 >>> 16) + 58964) & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed + 1) & 255) << 8;\n case 1:\n (k1 ^= key.charCodeAt(seed) & 255),\n (k1 =\n (3432918353 * (k1 & 65535) +\n (((3432918353 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295),\n (k1 = (k1 << 15) | (k1 >>> 17)),\n (h1 ^=\n (461845907 * (k1 & 65535) +\n (((461845907 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295);\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 =\n (2246822507 * (h1 & 65535) + (((2246822507 * (h1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n h1 ^= h1 >>> 13;\n h1 =\n (3266489909 * (h1 & 65535) + (((3266489909 * (h1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n return (h1 ^ (h1 >>> 16)) >>> 0;\n}\nvar assign = Object.assign,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n ),\n aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n matchHtmlRegExp = /[\"'&<>]/;\nfunction escapeTextForBrowser(text) {\n if (\n \"boolean\" === typeof text ||\n \"number\" === typeof text ||\n \"bigint\" === typeof text\n )\n return \"\" + text;\n text = \"\" + text;\n var match = matchHtmlRegExp.exec(text);\n if (match) {\n var html = \"\",\n index,\n lastIndex = 0;\n for (index = match.index; index < text.length; index++) {\n switch (text.charCodeAt(index)) {\n case 34:\n match = \""\";\n break;\n case 38:\n match = \"&\";\n break;\n case 39:\n match = \"'\";\n break;\n case 60:\n match = \"<\";\n break;\n case 62:\n match = \">\";\n break;\n default:\n continue;\n }\n lastIndex !== index && (html += text.slice(lastIndex, index));\n lastIndex = index + 1;\n html += match;\n }\n text = lastIndex !== index ? html + text.slice(lastIndex, index) : html;\n }\n return text;\n}\nvar uppercasePattern = /([A-Z])/g,\n msPattern = /^ms-/,\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nvar PRELOAD_NO_CREDS = [],\n scriptRegex = /(<\\/|<)(s)(cript)/gi;\nfunction scriptReplacer(match, prefix, s, suffix) {\n return \"\" + prefix + (\"s\" === s ? \"\\\\u0073\" : \"\\\\u0053\") + suffix;\n}\nfunction createResumableState(\n identifierPrefix,\n externalRuntimeConfig,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules\n) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent: bootstrapScriptContent,\n bootstrapScripts: bootstrapScripts,\n bootstrapModules: bootstrapModules,\n instructions: 0,\n hasBody: !1,\n hasHtml: !1,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n}\nfunction createPreambleState() {\n return {\n htmlChunks: null,\n headChunks: null,\n bodyChunks: null,\n contribution: 0\n };\n}\nfunction createFormatContext(insertionMode, selectedValue, tagScope) {\n return {\n insertionMode: insertionMode,\n selectedValue: selectedValue,\n tagScope: tagScope\n };\n}\nfunction getChildFormatContext(parentContext, type, props) {\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, parentContext.tagScope | 1);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n parentContext.tagScope\n );\n case \"svg\":\n return createFormatContext(4, null, parentContext.tagScope);\n case \"picture\":\n return createFormatContext(2, null, parentContext.tagScope | 2);\n case \"math\":\n return createFormatContext(5, null, parentContext.tagScope);\n case \"foreignObject\":\n return createFormatContext(2, null, parentContext.tagScope);\n case \"table\":\n return createFormatContext(6, null, parentContext.tagScope);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, parentContext.tagScope);\n case \"colgroup\":\n return createFormatContext(9, null, parentContext.tagScope);\n case \"tr\":\n return createFormatContext(8, null, parentContext.tagScope);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, parentContext.tagScope);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, parentContext.tagScope);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode\n ? createFormatContext(2, null, parentContext.tagScope)\n : parentContext;\n}\nvar styleNameCache = new Map();\nfunction pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage(62));\n var isFirst = !0,\n styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (\n null != styleValue &&\n \"boolean\" !== typeof styleValue &&\n \"\" !== styleValue\n ) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = escapeTextForBrowser(styleName);\n styleValue = escapeTextForBrowser((\"\" + styleValue).trim());\n } else\n (nameChunk = styleNameCache.get(styleName)),\n void 0 === nameChunk &&\n ((nameChunk = escapeTextForBrowser(\n styleName\n .replace(uppercasePattern, \"-$1\")\n .toLowerCase()\n .replace(msPattern, \"-ms-\")\n )),\n styleNameCache.set(styleName, nameChunk)),\n (styleValue =\n \"number\" === typeof styleValue\n ? 0 === styleValue || unitlessNumbers.has(styleName)\n ? \"\" + styleValue\n : styleValue + \"px\"\n : escapeTextForBrowser((\"\" + styleValue).trim()));\n isFirst\n ? ((isFirst = !1),\n target.push(' style=\"', nameChunk, \":\", styleValue))\n : target.push(\";\", nameChunk, \":\", styleValue);\n }\n }\n isFirst || target.push('\"');\n}\nfunction pushBooleanAttribute(target, name, value) {\n value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"\"');\n}\nfunction pushStringAttribute(target, name, value) {\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n \"boolean\" !== typeof value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n}\nvar actionJavaScriptURL = escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n);\nfunction pushAdditionalFormField(value, key) {\n this.push('\");\n}\nfunction validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage(480));\n}\nfunction getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x) {\n if (\"object\" === typeof x && null !== x && \"function\" === typeof x.then)\n throw x;\n }\n }\n return null;\n}\nfunction pushFormActionAttribute(\n target,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields\n ? ((name = customFields.name),\n (formAction = customFields.action || \"\"),\n (formEncType = customFields.encType),\n (formMethod = customFields.method),\n (formTarget = customFields.target),\n (formData = customFields.data))\n : (target.push(\" \", \"formAction\", '=\"', actionJavaScriptURL, '\"'),\n (formTarget = formMethod = formEncType = formAction = name = null),\n injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n}\nfunction pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n )\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n )\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", \"xlink:href\", '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"\"');\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? target.push(\" \", name, '=\"\"')\n : !1 !== value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value) ||\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (\n !(2 < name.length) ||\n (\"o\" !== name[0] && \"O\" !== name[0]) ||\n (\"n\" !== name[1] && \"N\" !== name[1])\n )\n if (((name = aliases.get(name) || name), isAttributeNameSafe(name))) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n }\n }\n}\nfunction pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML && void 0 !== innerHTML && target.push(\"\" + innerHTML);\n }\n}\nfunction flattenOptionChildren(children) {\n var content = \"\";\n React.Children.forEach(children, function (child) {\n null != child && (content += child);\n });\n return content;\n}\nfunction injectFormReplayingRuntime(resumableState, renderState) {\n 0 === (resumableState.instructions & 16) &&\n ((resumableState.instructions |= 16),\n renderState.bootstrapChunks.unshift(\n renderState.startInlineScript,\n 'addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error(\\'React form unexpectedly submitted.\\')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});',\n \"\\x3c/script>\"\n ));\n}\nfunction pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n}\nvar styleRegex = /(<\\/|<)(s)(tyle)/gi;\nfunction styleReplacer(match, prefix, s, suffix) {\n return \"\" + prefix + (\"s\" === s ? \"\\\\73 \" : \"\\\\53 \") + suffix;\n}\nfunction pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n}\nfunction pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n props = Array.isArray(children)\n ? 2 > children.length\n ? children[0]\n : null\n : children;\n \"function\" !== typeof props &&\n \"symbol\" !== typeof props &&\n null !== props &&\n void 0 !== props &&\n target.push(escapeTextForBrowser(\"\" + props));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n}\nfunction pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children &&\n target.push((\"\" + children).replace(scriptRegex, scriptReplacer));\n target.push(endChunkForTag(\"script\"));\n return null;\n}\nfunction pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = (tag = null),\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n}\nfunction pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = (tag = null),\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag\n ? (target.push(escapeTextForBrowser(tag)), null)\n : tag;\n}\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,\n validatedTagCache = new Map();\nfunction startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage(65, tag));\n tagStartChunk = \"<\" + tag;\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n}\nfunction pushStartInstance(\n target$jscomp$0,\n type,\n props,\n resumableState,\n renderState,\n preambleState,\n hoistableState,\n formatContext,\n textEmbedded,\n isFallback\n) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue\n ? pushStringAttribute(target$jscomp$0, \"href\", \"\")\n : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(escapeTextForBrowser(children));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null,\n innerHTML$jscomp$0 = null,\n propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null,\n value = null,\n selected = null,\n innerHTML$jscomp$1 = null,\n propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue =\n null !== value\n ? \"\" + value\n : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(' selected=\"\"');\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue &&\n target$jscomp$0.push(' selected=\"\"');\n } else selected && target$jscomp$0.push(' selected=\"\"');\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null,\n defaultValue = null,\n children$jscomp$2 = null,\n propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 &&\n null !== defaultValue &&\n (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(\">\");\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 &&\n \"\\n\" === value$jscomp$0[0] &&\n target$jscomp$0.push(\"\\n\");\n null !== value$jscomp$0 &&\n target$jscomp$0.push(escapeTextForBrowser(\"\" + value$jscomp$0));\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null,\n formAction = null,\n formEncType = null,\n formMethod = null,\n formTarget = null,\n value$jscomp$1 = null,\n defaultValue$jscomp$0 = null,\n checked = null,\n defaultChecked = null,\n propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked\n ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked)\n : null !== defaultChecked &&\n pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1\n ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1)\n : null !== defaultValue$jscomp$0 &&\n pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(\"/>\");\n null != formData &&\n formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null,\n innerHTML$jscomp$2 = null,\n name$jscomp$0 = null,\n formAction$jscomp$0 = null,\n formEncType$jscomp$0 = null,\n formMethod$jscomp$0 = null,\n formTarget$jscomp$0 = null,\n propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(\">\");\n null != formData$jscomp$0 &&\n formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3));\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null,\n innerHTML$jscomp$3 = null,\n formAction$jscomp$1 = null,\n formEncType$jscomp$1 = null,\n formMethod$jscomp$1 = null,\n formTarget$jscomp$1 = null,\n propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null,\n formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields\n ? ((formAction$jscomp$1 = customFields.action || \"\"),\n (formEncType$jscomp$1 = customFields.encType),\n (formMethod$jscomp$1 = customFields.method),\n (formTarget$jscomp$1 = customFields.target),\n (formData$jscomp$1 = customFields.data),\n (formActionName = customFields.name))\n : (target$jscomp$0.push(\n \" \",\n \"action\",\n '=\"',\n actionJavaScriptURL,\n '\"'\n ),\n (formTarget$jscomp$1 =\n formMethod$jscomp$1 =\n formEncType$jscomp$1 =\n formAction$jscomp$1 =\n null),\n injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(\">\");\n null !== formActionName &&\n (target$jscomp$0.push('\"),\n null != formData$jscomp$1 &&\n formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4));\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(\">\");\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null,\n innerHTML$jscomp$4 = null,\n propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n \" \",\n \"data\",\n '=\"',\n escapeTextForBrowser(sanitizedValue),\n '\"'\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5));\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n if (\n 4 === formatContext.insertionMode ||\n formatContext.tagScope & 1 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback\n ? (JSCompiler_inline_result$jscomp$3 = null)\n : (pushTitleImpl(renderState.hoistableChunks, props),\n (JSCompiler_inline_result$jscomp$3 = void 0));\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var rel = props.rel,\n href = props.href,\n precedence = props.precedence;\n if (\n 4 === formatContext.insertionMode ||\n formatContext.tagScope & 1 ||\n null != props.itemProp ||\n \"string\" !== typeof rel ||\n \"string\" !== typeof href ||\n \"\" === href\n ) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\n \"string\" !== typeof precedence ||\n null != props.disabled ||\n props.onLoad ||\n props.onError\n )\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence),\n resourceState = resumableState.styleResources.hasOwnProperty(href)\n ? resumableState.styleResources[href]\n : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue ||\n ((styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length &&\n adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length\n ? (preloadResource.length = 0)\n : (resource.state = 1);\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 &&\n hoistableState &&\n hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\");\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError\n ? (JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ))\n : (textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\"),\n (JSCompiler_inline_result$jscomp$4 = isFallback\n ? null\n : pushLinkImpl(renderState.hoistableChunks, props)));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var asyncProp = props.async;\n if (\n \"string\" !== typeof props.src ||\n !props.src ||\n !asyncProp ||\n \"function\" === typeof asyncProp ||\n \"symbol\" === typeof asyncProp ||\n props.onLoad ||\n props.onError ||\n 4 === formatContext.insertionMode ||\n formatContext.tagScope & 1 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n (resources = resumableState.scriptResources),\n (preloads = renderState.preloads.scripts);\n var resourceState$jscomp$0 = resources.hasOwnProperty(key)\n ? resources[key]\n : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length &&\n ((scriptProps = assign({}, props)),\n adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\");\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var precedence$jscomp$0 = props.precedence,\n href$jscomp$0 = props.href;\n if (\n 4 === formatContext.insertionMode ||\n formatContext.tagScope & 1 ||\n null != props.itemProp ||\n \"string\" !== typeof precedence$jscomp$0 ||\n \"string\" !== typeof href$jscomp$0 ||\n \"\" === href$jscomp$0\n ) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null,\n innerHTML$jscomp$5 = null,\n propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(\">\");\n var child = Array.isArray(children$jscomp$6)\n ? 2 > children$jscomp$6.length\n ? children$jscomp$6[0]\n : null\n : children$jscomp$6;\n \"function\" !== typeof child &&\n \"symbol\" !== typeof child &&\n null !== child &&\n void 0 !== child &&\n target$jscomp$0.push((\"\" + child).replace(styleRegex, styleReplacer));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (\n null !==\n (resumableState.styleResources.hasOwnProperty(href$jscomp$0)\n ? resumableState.styleResources[href$jscomp$0]\n : void 0)\n ) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0\n ? styleQueue$jscomp$0.hrefs.push(\n escapeTextForBrowser(href$jscomp$0)\n )\n : ((styleQueue$jscomp$0 = {\n precedence: escapeTextForBrowser(precedence$jscomp$0),\n rules: [],\n hrefs: [escapeTextForBrowser(href$jscomp$0)],\n sheets: new Map()\n }),\n renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var target = styleQueue$jscomp$0.rules,\n children$jscomp$7 = null,\n innerHTML$jscomp$6 = null,\n propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7)\n ? 2 > children$jscomp$7.length\n ? children$jscomp$7[0]\n : null\n : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 &&\n \"symbol\" !== typeof child$jscomp$0 &&\n null !== child$jscomp$0 &&\n void 0 !== child$jscomp$0 &&\n target.push(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n styleQueue$jscomp$0 &&\n hoistableState &&\n hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\");\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n if (\n 4 === formatContext.insertionMode ||\n formatContext.tagScope & 1 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\"),\n (JSCompiler_inline_result$jscomp$7 = isFallback\n ? null\n : \"string\" === typeof props.charSet\n ? pushSelfClosing(renderState.charsetChunks, props, \"meta\")\n : \"viewport\" === props.name\n ? pushSelfClosing(renderState.viewportChunks, props, \"meta\")\n : pushSelfClosing(renderState.hoistableChunks, props, \"meta\"));\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null,\n innerHTML$jscomp$7 = null,\n propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(\">\");\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage(60));\n if (\n \"object\" !== typeof innerHTML$jscomp$7 ||\n !(\"__html\" in innerHTML$jscomp$7)\n )\n throw Error(formatProdErrorMessage(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html &&\n void 0 !== html &&\n (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0]\n ? target$jscomp$0.push(\"\\n\", html)\n : target$jscomp$0.push(\"\" + html));\n }\n \"string\" === typeof children$jscomp$8 &&\n \"\\n\" === children$jscomp$8[0] &&\n target$jscomp$0.push(\"\\n\");\n return children$jscomp$8;\n case \"img\":\n var src = props.src,\n srcSet = props.srcSet;\n if (\n !(\n \"lazy\" === props.loading ||\n (!src && !srcSet) ||\n (\"string\" !== typeof src && null != src) ||\n (\"string\" !== typeof srcSet && null != srcSet)\n ) &&\n \"low\" !== props.fetchPriority &&\n !1 === !!(formatContext.tagScope & 3) &&\n (\"string\" !== typeof src ||\n \":\" !== src[4] ||\n (\"d\" !== src[0] && \"D\" !== src[0]) ||\n (\"a\" !== src[1] && \"A\" !== src[1]) ||\n (\"t\" !== src[2] && \"T\" !== src[2]) ||\n (\"a\" !== src[3] && \"A\" !== src[3])) &&\n (\"string\" !== typeof srcSet ||\n \":\" !== srcSet[4] ||\n (\"d\" !== srcSet[0] && \"D\" !== srcSet[0]) ||\n (\"a\" !== srcSet[1] && \"A\" !== srcSet[1]) ||\n (\"t\" !== srcSet[2] && \"T\" !== srcSet[2]) ||\n (\"a\" !== srcSet[3] && \"A\" !== srcSet[3]))\n ) {\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0,\n key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src,\n promotablePreloads = renderState.preloads.images,\n resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\n \"high\" === props.fetchPriority ||\n 10 > renderState.highImagePreloads.size\n )\n promotablePreloads.delete(key$jscomp$0),\n renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (\n !resumableState.imageResources.hasOwnProperty(key$jscomp$0)\n ) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 =\n \"string\" === typeof input\n ? \"use-credentials\" === input\n ? input\n : \"\"\n : void 0;\n var headers = renderState.headers,\n header;\n headers &&\n 0 < headers.remainingCapacity &&\n \"string\" !== typeof props.srcSet &&\n (\"high\" === props.fetchPriority ||\n 500 > headers.highImagePreloads.length) &&\n ((header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n })),\n 0 <= (headers.remainingCapacity -= header.length + 2))\n ? ((renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS),\n headers.highImagePreloads && (headers.highImagePreloads += \", \"),\n (headers.highImagePreloads += header))\n : ((resource$jscomp$1 = []),\n pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }),\n \"high\" === props.fetchPriority ||\n 10 > renderState.highImagePreloads.size\n ? renderState.highImagePreloads.add(resource$jscomp$1)\n : (renderState.bulkPreloads.add(resource$jscomp$1),\n promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage(545, \"``\"));\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage(545, \"``\"));\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage(545, \"``\"));\n preamble$jscomp$1.htmlChunks = [\"\"];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null,\n innerHTML$jscomp$8 = null,\n propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (\n isAttributeNameSafe(propKey$jscomp$11) &&\n \"function\" !== typeof propValue$jscomp$11 &&\n \"symbol\" !== typeof propValue$jscomp$11 &&\n !1 !== propValue$jscomp$11\n ) {\n if (!0 === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n \" \",\n attributeName,\n '=\"',\n escapeTextForBrowser(propValue$jscomp$11),\n '\"'\n );\n }\n }\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n}\nvar endTagCache = new Map();\nfunction endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk && ((chunk = \"\"), endTagCache.set(tag, chunk));\n return chunk;\n}\nfunction hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks &&\n preambleState.htmlChunks &&\n ((renderState.htmlChunks = preambleState.htmlChunks),\n (preambleState.contribution |= 1));\n null === renderState.headChunks &&\n preambleState.headChunks &&\n ((renderState.headChunks = preambleState.headChunks),\n (preambleState.contribution |= 4));\n null === renderState.bodyChunks &&\n preambleState.bodyChunks &&\n ((renderState.bodyChunks = preambleState.bodyChunks),\n (preambleState.contribution |= 2));\n}\nfunction writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n destination.push(renderState[i]);\n return i < renderState.length\n ? ((i = renderState[i]), (renderState.length = 0), destination.push(i))\n : !0;\n}\nfunction writeStartPendingSuspenseBoundary(destination, renderState, id) {\n destination.push('\\x3c!--$?--\\x3e');\n}\nfunction writePreambleContribution(destination, preambleState) {\n preambleState = preambleState.contribution;\n 0 !== preambleState &&\n (destination.push(\"\\x3c!--\"),\n destination.push(\"\" + preambleState),\n destination.push(\"--\\x3e\"));\n}\nfunction writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return (\n destination.push('